summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Held <felix-coreboot@felixheld.de>2023-11-18 17:47:22 +0100
committerFelix Held <felix-coreboot@felixheld.de>2023-12-05 15:06:03 +0000
commit372dfe0e20f7e56ba2acf872392da41f5ee28633 (patch)
treed67a9d94b29ac12c03da6946939cdae45e7c3b42
parent1a066312437fc2f8ac8bfad0dcfeb08e46c931ec (diff)
sb/intel/bd82x6x: assign PCH LPC bridge ops in chipset devicetree
Since the LPC bridge in the PCH is always on the same device function, the device operations can be statically assigned in the devicetree and there's no need to bind the LPC bridge device operations to the PCI device during runtime via a list of PCI IDs. Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Change-Id: I366226be4aba75b98e45e4832bfe129fac14dbfa Reviewed-on: https://review.coreboot.org/c/coreboot/+/79167 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
-rw-r--r--src/northbridge/intel/sandybridge/chipset.cb2
-rw-r--r--src/southbridge/intel/bd82x6x/lpc.c25
2 files changed, 2 insertions, 25 deletions
diff --git a/src/northbridge/intel/sandybridge/chipset.cb b/src/northbridge/intel/sandybridge/chipset.cb
index a08b1bd2cb..83680c12e9 100644
--- a/src/northbridge/intel/sandybridge/chipset.cb
+++ b/src/northbridge/intel/sandybridge/chipset.cb
@@ -37,7 +37,7 @@ chip northbridge/intel/sandybridge
device pci 1c.7 alias pcie_rp8 off ops bd82x6x_pcie_rp_ops end # PCIe Port #8
device pci 1d.0 alias ehci1 off end # USB2 EHCI #1
device pci 1e.0 alias pci_bridge off end # PCI bridge
- device pci 1f.0 alias lpc on end # LPC bridge
+ device pci 1f.0 alias lpc on ops bd82x6x_lpc_bridge_ops end
device pci 1f.2 alias sata1 off end # SATA Controller 1
device pci 1f.3 alias smbus on end # SMBus
device pci 1f.5 alias sata2 off end # SATA Controller 2
diff --git a/src/southbridge/intel/bd82x6x/lpc.c b/src/southbridge/intel/bd82x6x/lpc.c
index 0cf7b9c433..5d1a7bf68a 100644
--- a/src/southbridge/intel/bd82x6x/lpc.c
+++ b/src/southbridge/intel/bd82x6x/lpc.c
@@ -658,7 +658,7 @@ void intel_southbridge_override_spi(
memcpy(spi_config, &config->spi, sizeof(*spi_config));
}
-static struct device_operations device_ops = {
+struct device_operations bd82x6x_lpc_bridge_ops = {
.read_resources = pch_lpc_read_resources,
.set_resources = pci_dev_set_resources,
.enable_resources = pci_dev_enable_resources,
@@ -671,26 +671,3 @@ static struct device_operations device_ops = {
.scan_bus = scan_static_bus,
.ops_pci = &pci_dev_ops_pci,
};
-
-/* IDs for LPC device of Intel 6 Series Chipset, Intel 7 Series Chipset, and
- * Intel C200 Series Chipset
- */
-
-static const unsigned short pci_device_ids[] = {
- 0x1c40, 0x1c41, 0x1c42, 0x1c43, 0x1c44, 0x1c45, 0x1c46, 0x1c47, 0x1c48,
- 0x1c49, 0x1c4a, 0x1c4b, 0x1c4c, 0x1c4d, 0x1c4e, 0x1c4f, 0x1c50, 0x1c51,
- 0x1c52, 0x1c53, 0x1c54, 0x1c55, 0x1c56, 0x1c57, 0x1c58, 0x1c59, 0x1c5a,
- 0x1c5b, 0x1c5c, 0x1c5d, 0x1c5e, 0x1c5f,
-
- 0x1e41, 0x1e42, 0x1e43, 0x1e44, 0x1e45, 0x1e46, 0x1e47, 0x1e48, 0x1e49,
- 0x1e4a, 0x1e4b, 0x1e4c, 0x1e4d, 0x1e4e, 0x1e4f, 0x1e50, 0x1e51, 0x1e52,
- 0x1e53, 0x1e54, 0x1e55, 0x1e56, 0x1e57, 0x1e58, 0x1e59, 0x1e5a, 0x1e5b,
- 0x1e5c, 0x1e5d, 0x1e5e, 0x1e5f,
-
- 0 };
-
-static const struct pci_driver pch_lpc __pci_driver = {
- .ops = &device_ops,
- .vendor = PCI_VID_INTEL,
- .devices = pci_device_ids,
-};