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:
parent
facbf47224
commit
c4f77d943a
|
@ -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>
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue