mb/asrock/h110m: use SSDT generator for SuperIO

Modifies the device tree to use the ACPI SSDT generator[1] for NCT6791D
SuperIO, dropping the need to include code from the superio.asl, which
was inherited from another chip (NCT6776) and required fixes. SSDT gen
support for Nuvoton NCT6791D chip was added in the previous patch [2].

[1] https://review.coreboot.org/c/coreboot/+/33033
[2] https://review.coreboot.org/c/coreboot/+/36379

Change-Id: I57b67d10968e5e035536bcb0d8329ce09d50194b
Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36381
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
This commit is contained in:
Maxim Polyakov 2019-10-27 15:07:00 +03:00 committed by Felix Held
parent facbf47224
commit c4f77d943a
2 changed files with 101 additions and 119 deletions

View File

@ -1,26 +1 @@
/*
* This file is part of the coreboot project.
*
* Copyright (C) 2018 Tristan Corrick <tristan@corrick.kiwi>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#define SUPERIO_DEV SIO0
#define SUPERIO_PNP_BASE 0x2e
#define NCT6776_SHOW_PP
#define NCT6776_SHOW_SP1
#define NCT6776_SHOW_KBC
#define NCT6776_SHOW_HWM
#undef NCT6776_SHOW_GPIO
#include <superio/nuvoton/nct6776/acpi/superio.asl>

View File

@ -326,101 +326,108 @@ chip soc/intel/skylake
device pci 1e.6 off end # SDCard device pci 1e.6 off end # SDCard
device pci 1f.0 on # LPC bridge device pci 1f.0 on # LPC bridge
subsystemid 0x1849 0x1a43 subsystemid 0x1849 0x1a43
chip superio/nuvoton/nct6791d
device pnp 2e.0 off end # Floppy
device pnp 2e.1 on
# Global Control Registers
# Device IRQ Polarity
irq 0x13 = 0x00
irq 0x14 = 0x00
# Global Option
irq 0x24 = 0xfb
irq 0x27 = 0x10
# Multi Function
irq 0x1a = 0xb0
irq 0x1b = 0xe6
irq 0x2a = 0x04
irq 0x2c = 0x40
irq 0x2d = 0x03
# Parallel Port chip superio/common
io 0x60 = 0x0378 device pnp 2e.0 on # passes SIO base addr to SSDT gen
irq 0x70 = 7
drq 0x74 = 4 # No DMA chip superio/nuvoton/nct6791d
irq 0xf0 = 0x3c # Printer mode device pnp 2e.1 on
end # Global Control Registers
device pnp 2e.2 on # UART A # Device IRQ Polarity
io 0x60 = 0x03f8 irq 0x13 = 0x00
irq 0x70 = 4 irq 0x14 = 0x00
end # Global Option
device pnp 2e.3 on # IR irq 0x24 = 0xfb
io 0x60 = 0x02f8 irq 0x27 = 0x10
irq 0x70 = 3 # Multi Function
end irq 0x1a = 0xb0
device pnp 2e.5 on # PS/2 KBC irq 0x1b = 0xe6
io 0x60 = 0x0060 irq 0x2a = 0x04
io 0x62 = 0x0064 irq 0x2c = 0x40
irq 0x70 = 1 # Keyboard irq 0x2d = 0x03
irq 0x72 = 12 # Mouse
end # Parallel Port
device pnp 2e.6 off end # CIR io 0x60 = 0x0378
device pnp 2e.7 on # GPIO6 irq 0x70 = 7
irq 0xf6 = 0xff drq 0x74 = 4 # No DMA
irq 0xf7 = 0xff irq 0xf0 = 0x3c # Printer mode
irq 0xf8 = 0xff end
end device pnp 2e.2 on # UART A
device pnp 2e.107 on # GPIO7 io 0x60 = 0x03f8
irq 0xe0 = 0x7f irq 0x70 = 4
irq 0xe1 = 0x0d end
end device pnp 2e.3 on # IR
device pnp 2e.207 on # GPIO8 io 0x60 = 0x02f8
irq 0xe6 = 0xff irq 0x70 = 3
irq 0xe7 = 0xff end
irq 0xed = 0xff device pnp 2e.5 on # PS/2 KBC
end io 0x60 = 0x0060
device pnp 2e.8 off end # WDT io 0x62 = 0x0064
device pnp 2e.108 on end # GPIO0 irq 0x70 = 1 # Keyboard
device pnp 2e.308 off end # GPIO base irq 0x72 = 12 # Mouse
device pnp 2e.408 off end # WDTMEM end
device pnp 2e.708 on end # GPIO1 device pnp 2e.6 off end # CIR
device pnp 2e.9 on end # GPIO2 device pnp 2e.7 on # GPIO6
device pnp 2e.109 on # GPIO3 irq 0xf6 = 0xff
irq 0xe4 = 0x7b irq 0xf7 = 0xff
irq 0xe5 = 0x02 irq 0xf8 = 0xff
irq 0xea = 0x04 end
end device pnp 2e.107 on # GPIO7
device pnp 2e.209 on # GPIO4 irq 0xe0 = 0x7f
irq 0xf0 = 0x7f irq 0xe1 = 0x0d
irq 0xf1 = 0x80 end
end device pnp 2e.207 on # GPIO8
device pnp 2e.309 on # GPIO5 irq 0xe6 = 0xff
irq 0xf4 = 0xdf irq 0xe7 = 0xff
irq 0xf5 = 0xd5 irq 0xed = 0xff
end end
device pnp 2e.a on device pnp 2e.8 off end # WDT
# Power RAM in S3 and let the PCH device pnp 2e.108 on end # GPIO0
# handle power failure actions device pnp 2e.308 off end # GPIO base
irq 0xe4 = 0x70 device pnp 2e.408 off end # WDTMEM
# Set HWM reset source to LRESET# device pnp 2e.708 on end # GPIO1
irq 0xe7 = 0x01 device pnp 2e.9 on end # GPIO2
end # ACPI device pnp 2e.109 on # GPIO3
device pnp 2e.b on # HWM, LED irq 0xe4 = 0x7b
io 0x60 = 0x0290 irq 0xe5 = 0x02
io 0x62 = 0 irq 0xea = 0x04
irq 0x70 = 0 end
end device pnp 2e.209 on # GPIO4
device pnp 2e.d off end # BCLK, WDT2, WDT_MEM irq 0xf0 = 0x7f
device pnp 2e.e off end # CIR wake-up irq 0xf1 = 0x80
device pnp 2e.f off end # GPIO PP/OD end
device pnp 2e.14 off end # SVID, Port 80 UART device pnp 2e.309 on # GPIO5
device pnp 2e.16 off end # DS5 irq 0xf4 = 0xdf
device pnp 2e.116 off end # DS3 irq 0xf5 = 0xd5
device pnp 2e.316 on end # PCHDSW end
device pnp 2e.416 off end # DSWWOPT device pnp 2e.a on
device pnp 2e.516 on end # DS3OPT # Power RAM in S3 and let the PCH
device pnp 2e.616 on end # DSDSS # handle power failure actions
device pnp 2e.716 off end # DSPU irq 0xe4 = 0x70
end # superio/nuvoton/nct6791d # Set HWM reset source to LRESET#
irq 0xe7 = 0x01
end # ACPI
device pnp 2e.b on # HWM, LED
io 0x60 = 0x0290
io 0x62 = 0
irq 0x70 = 0
end
device pnp 2e.d off end # BCLK, WDT2, WDT_MEM
device pnp 2e.e off end # CIR wake-up
device pnp 2e.f off end # GPIO PP/OD
device pnp 2e.14 off end # SVID, Port 80 UART
device pnp 2e.16 off end # DS5
device pnp 2e.116 off end # DS3
device pnp 2e.316 on end # PCHDSW
device pnp 2e.416 off end # DSWWOPT
device pnp 2e.516 on end # DS3OPT
device pnp 2e.616 on end # DSDSS
device pnp 2e.716 off end # DSPU
end # chip superio/nuvoton/nct6791d
end # device pnp 2e.0
end # chip superio/common
chip drivers/pc80/tpm chip drivers/pc80/tpm
device pnp 4e.0 on end # TPM module device pnp 4e.0 on end # TPM module
end end