Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/35737 )
Change subject: sb/intel/i82801gx: Use symbolic name for register, code rework
......................................................................
sb/intel/i82801gx: Use symbolic name for register, code rework
An original code had a wrong register address 0x27 for AHCI BAR.
The value was aligned incidentally by the code specific of
the pci_read_config32 function to the correct address 0x24.
All 0x24 values in sata.c were changed to the symbolic name
PCI_BASE_ADDRESS_5 and the code was optimized.
An equivalent code was tested on a real hardware.
Signed-off-by: Petr Cvek <petrcvekcz(a)gmail.com>
Change-Id: I33509befe86ff6e333c559c87a0f45886d737df9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/35737
Reviewed-by: Arthur Heymans <arthur(a)aheymans.xyz>
Tested-by: build bot (Jenkins) <no-reply(a)coreboot.org>
---
M src/southbridge/intel/i82801gx/sata.c
1 file changed, 7 insertions(+), 5 deletions(-)
Approvals:
build bot (Jenkins): Verified
Arthur Heymans: Looks good to me, approved
diff --git a/src/southbridge/intel/i82801gx/sata.c b/src/southbridge/intel/i82801gx/sata.c
index 24dbf7c..47c35ba 100644
--- a/src/southbridge/intel/i82801gx/sata.c
+++ b/src/southbridge/intel/i82801gx/sata.c
@@ -94,7 +94,6 @@
{
u32 reg32;
u16 reg16;
- u32 *ahci_bar;
u8 ports;
/* Get the chip configuration */
@@ -117,7 +116,7 @@
case SATA_MODE_IDE_LEGACY_COMBINED:
printk(BIOS_DEBUG, "SATA controller in combined mode.\n");
/* No AHCI: clear AHCI base */
- pci_write_config32(dev, 0x24, 0x00000000);
+ pci_write_config32(dev, PCI_BASE_ADDRESS_5, 0x00000000);
/* And without AHCI BAR no memory decoding */
reg16 = pci_read_config16(dev, PCI_COMMAND);
reg16 &= ~PCI_COMMAND_MEMORY;
@@ -155,8 +154,11 @@
/* Interrupt Pin is set by D31IP.PIP */
pci_write_config8(dev, INTR_LN, 0x0a);
- ahci_bar = (u32 *)(pci_read_config32(dev, 0x27) & ~0x3ff);
- ahci_bar[3] = config->sata_ports_implemented;
+ struct resource *ahci_res = find_resource(dev, PCI_BASE_ADDRESS_5);
+ if (ahci_res != NULL)
+ /* write AHCI GHC_PI register */
+ write32(res2mmio(ahci_res, 0xc, 0),
+ config->sata_ports_implemented);
break;
default:
case SATA_MODE_IDE_PLAIN:
@@ -165,7 +167,7 @@
pci_write_config8(dev, SATA_MAP, 0x00);
/* No AHCI: clear AHCI base */
- pci_write_config32(dev, 0x24, 0x00000000);
+ pci_write_config32(dev, PCI_BASE_ADDRESS_5, 0x00000000);
/* And without AHCI BAR no memory decoding */
reg16 = pci_read_config16(dev, PCI_COMMAND);
--
To view, visit https://review.coreboot.org/c/coreboot/+/35737
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I33509befe86ff6e333c559c87a0f45886d737df9
Gerrit-Change-Number: 35737
Gerrit-PatchSet: 5
Gerrit-Owner: Petr Cvek <petrcvekcz(a)gmail.com>
Gerrit-Reviewer: Arthur Heymans <arthur(a)aheymans.xyz>
Gerrit-Reviewer: HAOUAS Elyes <ehaouas(a)noos.fr>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: Petr Cvek <petrcvekcz(a)gmail.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-MessageType: merged
Hello Patrick Rudolph, Subrata Banik, Balaji Manigandan, Aamir Bohra, Rizwan Qureshi, V Sowmya, build bot (Jenkins), Andrey Petrov, Patrick Georgi, Martin Roth, Furquan Shaikh,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/35403
to look at the new patch set (#13).
Change subject: soc/intel/common/basecode: Implement CSE update flow
......................................................................
soc/intel/common/basecode: Implement CSE update flow
This is the core patch that implement CSE FW update flow.
To enable the FW update flow the following are required:
* Descriptor change to accommodate a larger CSME region
The CSME size is 6MB for the POC.
* FMAP changes to accommodate ME update binary in RW CBFSes.
Due to the increased CSME binary size and to accommodate the extra
CSME RW binaries (which are ~2.5 MB) in RW CBFSes, the board FMAP has
to be modified.
* The new CSE binary with new partitions and respective RW area binaries.
The following changes have been done in this patch:
* Implement Update flow
Get the partition info containing version of ME RW using GET_BOOT_PARTITION_INFO HECI command
Get the me_rw.version from the currently selected RW slot.
If the version from the above 2 locations don't match start the update
Set the CSE's next boot partition to RO using SET_BOOT_PARTITION HECI command.
Enable HMRFPO (Host ME Region Flash Protection Override) using the HMRFPO_ENABLE HECI command
Send global reset command to reset only the CSME.
Wait for CSME to enter SECOVR_MEI_MSG operation mode (indicated by HFSTS1 register bit 19:16)
Erase and Copy the CBFS ME RW to ME RW partition.
Trigger global reset.
The system should boot with the Updated ME.
Verified that the basic update flows are working on Cometlake RVP and hatch.
Change-Id: I12f6bba3324069d65edabaccd234006b0840e700
Signed-off-by: Rizwan Qureshi <rizwan.qureshi(a)intel.com>
Signed-off-by: V Sowmya <v.sowmya(a)intel.com>
Signed-off-by: Sridhar Siricilla <sridhar.siricilla(a)intel.com>
---
A src/soc/intel/common/basecode/fw_update/Kconfig
A src/soc/intel/common/basecode/fw_update/Makefile.inc
A src/soc/intel/common/basecode/fw_update/cse_update.c
A src/soc/intel/common/basecode/include/intelbasecode/cse_update.h
4 files changed, 442 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/03/35403/13
--
To view, visit https://review.coreboot.org/c/coreboot/+/35403
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I12f6bba3324069d65edabaccd234006b0840e700
Gerrit-Change-Number: 35403
Gerrit-PatchSet: 13
Gerrit-Owner: Sridhar Siricilla <sridhar.siricilla(a)intel.com>
Gerrit-Reviewer: Aamir Bohra <aamir.bohra(a)intel.com>
Gerrit-Reviewer: Andrey Petrov <anpetrov(a)fb.com>
Gerrit-Reviewer: Balaji Manigandan <balaji.manigandan(a)intel.com>
Gerrit-Reviewer: Furquan Shaikh <furquan(a)google.com>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: Rizwan Qureshi <rizwan.qureshi(a)intel.com>
Gerrit-Reviewer: Sridhar Siricilla <sridhar.siricilla(a)intel.com>
Gerrit-Reviewer: Subrata Banik <subrata.banik(a)intel.com>
Gerrit-Reviewer: V Sowmya <v.sowmya(a)intel.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-MessageType: newpatchset
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/29474 )
Change subject: device: Use scan_static_bus() over scan_lpc_bus()
......................................................................
Patch Set 8: Code-Review+2
--
To view, visit https://review.coreboot.org/c/coreboot/+/29474
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I0eb005e41b9168fffc344ee8e666d43b605a30ba
Gerrit-Change-Number: 29474
Gerrit-PatchSet: 8
Gerrit-Owner: Nico Huber <nico.h(a)gmx.de>
Gerrit-Reviewer: Aaron Durbin <adurbin(a)chromium.org>
Gerrit-Reviewer: David Guckian <david.guckian(a)intel.com>
Gerrit-Reviewer: Huang Jin <huang.jin(a)intel.com>
Gerrit-Reviewer: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Gerrit-Reviewer: Nico Huber <nico.h(a)gmx.de>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: Philipp Deppenwiese <zaolin.daisuki(a)gmail.com>
Gerrit-Reviewer: Thomas Heijligen <src(a)posteo.de>
Gerrit-Reviewer: Vanny E <vanessa.f.eusebio(a)intel.com>
Gerrit-Reviewer: York Yang <yyang024(a)gmail.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-Comment-Date: Thu, 03 Oct 2019 14:38:40 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/29474 )
Change subject: device: Use scan_static_bus() over scan_lpc_bus()
......................................................................
Patch Set 8:
(1 comment)
https://review.coreboot.org/c/coreboot/+/29474/8/src/device/root_device.c
File src/device/root_device.c:
https://review.coreboot.org/c/coreboot/+/29474/8/src/device/root_device.c@63
PS8, Line 63: static int bus_max = 0;
Off-topic: This should be forced into the context of bus path type. Does not look right if both smbus and spi paths increment the same value.
--
To view, visit https://review.coreboot.org/c/coreboot/+/29474
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I0eb005e41b9168fffc344ee8e666d43b605a30ba
Gerrit-Change-Number: 29474
Gerrit-PatchSet: 8
Gerrit-Owner: Nico Huber <nico.h(a)gmx.de>
Gerrit-Reviewer: Aaron Durbin <adurbin(a)chromium.org>
Gerrit-Reviewer: David Guckian <david.guckian(a)intel.com>
Gerrit-Reviewer: Huang Jin <huang.jin(a)intel.com>
Gerrit-Reviewer: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Gerrit-Reviewer: Nico Huber <nico.h(a)gmx.de>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: Philipp Deppenwiese <zaolin.daisuki(a)gmail.com>
Gerrit-Reviewer: Thomas Heijligen <src(a)posteo.de>
Gerrit-Reviewer: Vanny E <vanessa.f.eusebio(a)intel.com>
Gerrit-Reviewer: York Yang <yyang024(a)gmail.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-Comment-Date: Thu, 03 Oct 2019 14:37:30 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Frans Hendriks has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/35064 )
Change subject: mb/facebook/fbg1701/devicetree.cb: Use 64MB framebuffer size
......................................................................
mb/facebook/fbg1701/devicetree.cb: Use 64MB framebuffer size
Connected 4K monitor is not configured at max resolution. The
framebuffer size is too small.
Increase the framebuffer size to 64MB. This is sufficient for max
configuration of 1 HDMI monitor combined with internal LCD panel.
BUG=N/A
TEST=4K HDMI monitor and LCD working fine on Facebook FBG-1701
Change-Id: I25d2cd696830fc5bda84ea2b87538f526373998e
Signed-off-by: Frans Hendriks <fhendriks(a)eltan.com>
---
M src/mainboard/facebook/fbg1701/devicetree.cb
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/64/35064/1
diff --git a/src/mainboard/facebook/fbg1701/devicetree.cb b/src/mainboard/facebook/fbg1701/devicetree.cb
index 3c82a03..a1999d8 100644
--- a/src/mainboard/facebook/fbg1701/devicetree.cb
+++ b/src/mainboard/facebook/fbg1701/devicetree.cb
@@ -9,7 +9,7 @@
register "PcdMrcInitMmioSize" = "0x0800"
register "PcdMrcInitSpdAddr1" = "0xa0"
register "PcdMrcInitSpdAddr2" = "0xa2"
- register "PcdIgdDvmt50PreAlloc" = "1"
+ register "PcdIgdDvmt50PreAlloc" = "2"
register "PcdApertureSize" = "2"
register "PcdGttSize" = "1"
register "PcdDvfsEnable" = "0"
--
To view, visit https://review.coreboot.org/c/coreboot/+/35064
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I25d2cd696830fc5bda84ea2b87538f526373998e
Gerrit-Change-Number: 35064
Gerrit-PatchSet: 1
Gerrit-Owner: Frans Hendriks <fhendriks(a)eltan.com>
Gerrit-MessageType: newchange
Pavlushka has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/33842
Change subject: src/superio/nuvoton/common/early_serial.c: Add symbol to select COM port for NCT5539D
......................................................................
src/superio/nuvoton/common/early_serial.c: Add symbol to select COM port for NCT5539D
src/superio/nuvoton/Makefile.inc: Add definition for NCT5539D
src/superio/nuvoton: Add support for NCT5539D
Signed-off-by: Pavel Sayekat <pavelsayekat(a)gmail.com>
Change-Id: I7e979bde53ce3dac1a4f74e7e51a3c6a0149051c
---
M src/superio/nuvoton/Makefile.inc
M src/superio/nuvoton/common/early_serial.c
A src/superio/nuvoton/nct5539d/Kconfig
A src/superio/nuvoton/nct5539d/Makefile.inc
A src/superio/nuvoton/nct5539d/nct5539d.h
A src/superio/nuvoton/nct5539d/superio.c
6 files changed, 197 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/42/33842/1
diff --git a/src/superio/nuvoton/Makefile.inc b/src/superio/nuvoton/Makefile.inc
index de4e99c..7306242 100644
--- a/src/superio/nuvoton/Makefile.inc
+++ b/src/superio/nuvoton/Makefile.inc
@@ -24,3 +24,4 @@
subdirs-$(CONFIG_SUPERIO_NUVOTON_NCT6779D) += nct6779d
subdirs-$(CONFIG_SUPERIO_NUVOTON_NCT6791D) += nct6791d
subdirs-$(CONFIG_SUPERIO_NUVOTON_NPCD378) += npcd378
+subdirs-$(CONFIG_SUPERIO_NUVOTON_NCT5539D) += nct5539d
diff --git a/src/superio/nuvoton/common/early_serial.c b/src/superio/nuvoton/common/early_serial.c
index eaa3c5a..aaa0c63 100644
--- a/src/superio/nuvoton/common/early_serial.c
+++ b/src/superio/nuvoton/common/early_serial.c
@@ -73,6 +73,10 @@
/* Route COM A to GPIO8 pin group */
pnp_write_config(dev, 0x2a, 0x00);
+ if (CONFIG(SUPERIO_NUVOTON_NCT5539D_COM_A))
+ /* Route COM A to GPIO8 pin group */
+ pnp_write_config(dev, 0x2a, 0x40);
+
pnp_set_logical_device(dev);
pnp_set_enable(dev, 0);
pnp_set_iobase(dev, PNP_IDX_IO0, iobase);
diff --git a/src/superio/nuvoton/nct5539d/Kconfig b/src/superio/nuvoton/nct5539d/Kconfig
new file mode 100644
index 0000000..0dd1402
--- /dev/null
+++ b/src/superio/nuvoton/nct5539d/Kconfig
@@ -0,0 +1,23 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2019 Pavel Sayekat <pavelsayekat(a)gmail.com>
+##
+## 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; version 2 of the License.
+##
+## 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.
+##
+
+config SUPERIO_NUVOTON_NCT5539D
+ bool
+ select SUPERIO_NUVOTON_COMMON_PRE_RAM
+
+config SUPERIO_NUVOTON_NCT5539D_COM_A
+ bool
+ depends on SUPERIO_NUVOTON_NCT5539D
+ default n
diff --git a/src/superio/nuvoton/nct5539d/Makefile.inc b/src/superio/nuvoton/nct5539d/Makefile.inc
new file mode 100644
index 0000000..6e3fdf2
--- /dev/null
+++ b/src/superio/nuvoton/nct5539d/Makefile.inc
@@ -0,0 +1,16 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2019 Pavel Sayekat <pavelsayekat(a)gmail.com>
+##
+## 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; version 2 of the License.
+##
+## 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.
+##
+
+ramstage-$(CONFIG_SUPERIO_NUVOTON_NCT5539D) += superio.c
diff --git a/src/superio/nuvoton/nct5539d/nct5539d.h b/src/superio/nuvoton/nct5539d/nct5539d.h
new file mode 100644
index 0000000..f34660c
--- /dev/null
+++ b/src/superio/nuvoton/nct5539d/nct5539d.h
@@ -0,0 +1,56 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2019 Pavel Sayekat <pavelsayekat(a)gmail.com>
+ *
+ * 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.
+ */
+
+#ifndef SUPERIO_NUVOTON_NCT5539D_H
+#define SUPERIO_NUVOTON_NCT5539D_H
+
+/* Logical Device Numbers (LDN). */
+#define NCT5539D_SP1 0x02 /* UART A */
+#define NCT5539D_KBC 0x05 /* Keyboard Controller */
+#define NCT5539D_CIR 0x06 /* Consumer IR */
+#define NCT5539D_GPIO78 0x07 /* GPIO 7 & 8 */
+#define NCT5539D_WDT1_WDT3_GPIO0 0x08 /* WDT1, WDT3, GPIO 0 & KBC P20 */
+#define NCT5539D_GPIO2345 0x09 /* GPIO 2, 3, 4 & 5 */
+#define NCT5539D_ACPI 0x0A /* ACPI */
+#define NCT5539D_HWM_FPLED 0x0B /* HW Monitor, Front Panel LED */
+#define NCT5539D_BCLK_WDT2 0x0D /* BCLK, WDT2 */
+#define NCT5539D_CIRWUP 0x0E /* CIR Wake-Up */
+#define NCT5539D_GPIO_PP_OD 0x0F /* GPIO Push-Pull/Open-Drain */
+#define NCT5539D_GPIO_PSO 0x11/*GPIO, RI PSOUT Wake-Up Status*/
+#define NCT5539D_SWEC 0x12/*SW Error Control*/
+#define NCT5539D_FLED 0x15 /* Fading LED */
+#define NCT5539D_DS 0x16 /* Deep Sleep */
+
+/* Virtual LDNs */
+#define NCT5539D_WDT1 ((0 << 8) | NCT5539D_WDT1_WDT3_GPIO0)
+#define NCT5539D_WDT3 ((4 << 8) | NCT5539D_WDT1_WDT3_GPIO0)
+#define NCT5539D_GPIOBASE ((3 << 8) | NCT5539D_WDT1_WDT3_GPIO0)
+#define NCT5539D_GPIO0 ((1 << 8) | NCT5539D_WDT1_WDT3_GPIO0)
+#define NCT5539D_GPIO2 ((0 << 8) | NCT5539D_GPIO2345)
+#define NCT5539D_GPIO3 ((1 << 8) | NCT5539D_GPIO2345)
+#define NCT5539D_GPIO4 ((2 << 8) | NCT5539D_GPIO2345)
+#define NCT5539D_GPIO5 ((3 << 8) | NCT5539D_GPIO2345)
+#define NCT5539D_GPIO7 ((1 << 8) | NCT5539D_GPIO78)
+#define NCT5539D_GPIO8 ((2 << 8) | NCT5539D_GPIO78)
+#define NCT5539D_DS5 ((0 << 8) | NCT5539D_DS)
+#define NCT5539D_DS3 ((1 << 8) | NCT5539D_DS)
+#define NCT5539D_PCHDSW ((3 << 8) | NCT5539D_DS)
+#define NCT5539D_DSWWOPT ((4 << 8) | NCT5539D_DS)
+#define NCT5539D_DS3OPT ((5 << 8) | NCT5539D_DS)
+#define NCT5539D_DSDSS ((6 << 8) | NCT5539D_DS)
+#define NCT5539D_DSPU ((7 << 8) | NCT5539D_DS)
+
+#endif /* SUPERIO_NUVOTON_NCT5539D_H */
diff --git a/src/superio/nuvoton/nct5539d/superio.c b/src/superio/nuvoton/nct5539d/superio.c
new file mode 100644
index 0000000..4cec976
--- /dev/null
+++ b/src/superio/nuvoton/nct5539d/superio.c
@@ -0,0 +1,97 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ * Copyright (C) 2014 Felix Held <felix-coreboot(a)felixheld.de>
+ * Copyright (C) 2014 Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
+ * Copyright (C) 2015 Matt DeVillier <matt.devillier(a)gmail.com>
+ * Copyright (C) 2016 Omar Pakker <omarpakker+coreboot(a)gmail.com>
+* Copyright (C) 2019 Pavel Sayekat <pavelsayekat(a)gmail.com>
+ *
+ * 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.
+ */
+
+#include <device/device.h>
+#include <device/pnp.h>
+#include <pc80/keyboard.h>
+#include <stdlib.h>
+#include <superio/conf_mode.h>
+
+#include "nct5539d.h"
+
+
+static void nct5539d_init(struct device *dev)
+{
+ if (!dev->enabled)
+ return;
+
+ switch (dev->path.pnp.device) {
+ case NCT5539D_KBC:
+ pc_keyboard_init(NO_AUX_DEVICE);
+ break;
+ }
+}
+
+static struct device_operations ops = {
+ .read_resources = pnp_read_resources,
+ .set_resources = pnp_set_resources,
+ .enable_resources = pnp_enable_resources,
+ .enable = pnp_alt_enable,
+ .init = nct5539d_init,
+ .ops_pnp_mode = &pnp_conf_mode_8787_aa,
+};
+
+static struct pnp_info pnp_dev_info[] = {
+ { NULL, NCT5539D_SP1, PNP_IO0 | PNP_IRQ0,
+ 0x0ff8, },
+ { NULL, NCT5539D_KBC, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_IRQ1,
+ 0x0fff, 0x0fff, },
+ { NULL, NCT5539D_CIR, PNP_IO0 | PNP_IRQ0,
+ 0x0ff8, },
+ { NULL, NCT5539D_ACPI},
+ { NULL, NCT5539D_HWM_FPLED, PNP_IO0 | PNP_IO1 | PNP_IRQ0,
+ 0x0ffe, 0x0ffe, },
+ { NULL, NCT5539D_BCLK_WDT2},
+ { NULL, NCT5539D_CIRWUP, PNP_IO0 | PNP_IRQ0,
+ 0x0ff8, },
+ { NULL, NCT5539D_GPIO_PP_OD},
+ { NULL, NCT5539D_WDT1},
+ { NULL, NCT5539D_WDT3},
+ { NULL, NCT5539D_GPIOBASE, PNP_IO0,
+ 0x0ff8, },
+ { NULL, NCT5539D_GPIO0},
+ { NULL, NCT5539D_GPIO2},
+ { NULL, NCT5539D_GPIO3},
+ { NULL, NCT5539D_GPIO4},
+ { NULL, NCT5539D_GPIO5},
+ { NULL, NCT5539D_GPIO7},
+ { NULL, NCT5539D_GPIO8},
+ { NULL, NCT5539D_GPIO_PSO},
+ { NULL, NCT5539D_SWEC},
+ { NULL, NCT5539D_FLED},
+ { NULL, NCT5539D_DS5},
+ { NULL, NCT5539D_DS3},
+ { NULL, NCT5539D_PCHDSW},
+ { NULL, NCT5539D_DSWWOPT},
+ { NULL, NCT5539D_DS3OPT},
+ { NULL, NCT5539D_DSDSS},
+ { NULL, NCT5539D_DSPU},
+};
+
+static void enable_dev(struct device *dev)
+{
+ pnp_enable_devices(dev, &ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
+}
+
+struct chip_operations superio_nuvoton_nct5539d_ops = {
+ CHIP_NAME("NUVOTON NCT5539D Super I/O")
+ .enable_dev = enable_dev,
+};
--
To view, visit https://review.coreboot.org/c/coreboot/+/33842
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I7e979bde53ce3dac1a4f74e7e51a3c6a0149051c
Gerrit-Change-Number: 33842
Gerrit-PatchSet: 1
Gerrit-Owner: Pavlushka
Gerrit-MessageType: newchange