summaryrefslogtreecommitdiff
path: root/src/soc/amd
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2022-10-05 14:36:55 +0200
committerFelix Held <felix-coreboot@felixheld.de>2022-10-14 20:18:45 +0000
commitfd2bb9b6bc06515f2a42a8575812271765f73313 (patch)
tree65ef4e7844b8f34a9c1e81f4a5025c3cde2bc7f6 /src/soc/amd
parent65d73cc4573a23b4d98e3156cc1c4d0a1b09cb96 (diff)
soc/amd/*: Hook up SMBus ops to devicetree
This removes the need for a PCI driver. Change-Id: Iab75f8c28a247f1370f4425e19cc215678bfa3e5 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/68140 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martin.roth@amd.corp-partner.google.com>
Diffstat (limited to 'src/soc/amd')
-rw-r--r--src/soc/amd/cezanne/chipset.cb2
-rw-r--r--src/soc/amd/common/block/smbus/sm.c10
-rw-r--r--src/soc/amd/mendocino/chipset_mendocino.cb2
-rw-r--r--src/soc/amd/mendocino/chipset_rembrandt.cb2
-rw-r--r--src/soc/amd/morgana/chipset.cb2
-rw-r--r--src/soc/amd/picasso/chipset.cb2
-rw-r--r--src/soc/amd/stoneyridge/chipset_cz.cb2
-rw-r--r--src/soc/amd/stoneyridge/chipset_st.cb2
8 files changed, 8 insertions, 16 deletions
diff --git a/src/soc/amd/cezanne/chipset.cb b/src/soc/amd/cezanne/chipset.cb
index e717fd47c5..f1cc81a44e 100644
--- a/src/soc/amd/cezanne/chipset.cb
+++ b/src/soc/amd/cezanne/chipset.cb
@@ -94,7 +94,7 @@ chip soc/amd/cezanne
device pci 0.2 alias i2s_ac97 off end # I2S/AC'97 Audio
end
- device pci 14.0 alias smbus on end # primary FCH function
+ device pci 14.0 alias smbus on ops amd_smbus_ops end # primary FCH function
device pci 14.3 alias lpc_bridge on end
device pci 18.0 alias data_fabric_0 on ops cezanne_data_fabric_ops end
diff --git a/src/soc/amd/common/block/smbus/sm.c b/src/soc/amd/common/block/smbus/sm.c
index 801a1543b4..9ab31f204d 100644
--- a/src/soc/amd/common/block/smbus/sm.c
+++ b/src/soc/amd/common/block/smbus/sm.c
@@ -3,7 +3,6 @@
#include <amdblocks/acpimmio.h>
#include <device/device.h>
#include <device/pci.h>
-#include <device/pci_ids.h>
#include <device/smbus.h>
#include <device/smbus_host.h>
@@ -64,7 +63,7 @@ static const char *smbus_acpi_name(const struct device *dev)
}
#endif
-static struct device_operations smbus_ops = {
+struct device_operations amd_smbus_ops = {
.read_resources = noop_read_resources,
.set_resources = noop_set_resources,
.enable_resources = pci_dev_enable_resources,
@@ -75,10 +74,3 @@ static struct device_operations smbus_ops = {
.acpi_name = smbus_acpi_name,
#endif
};
-
-static const struct pci_driver smbus_driver __pci_driver = {
- .ops = &smbus_ops,
- .vendor = PCI_VID_AMD,
- /* PCI device ID is used on all integrated FCHs except Family 16h Models 00h-3Fh */
- .device = PCI_DID_AMD_CZ_SMBUS,
-};
diff --git a/src/soc/amd/mendocino/chipset_mendocino.cb b/src/soc/amd/mendocino/chipset_mendocino.cb
index 5692d64563..707ff66164 100644
--- a/src/soc/amd/mendocino/chipset_mendocino.cb
+++ b/src/soc/amd/mendocino/chipset_mendocino.cb
@@ -71,7 +71,7 @@ chip soc/amd/mendocino
device pci 0.0 alias xhci_2 off end # Might also be a dummy device with different PCI DID
end
- device pci 14.0 alias smbus on end # primary FCH function
+ device pci 14.0 alias smbus on ops amd_smbus_ops end # primary FCH function
device pci 14.3 alias lpc_bridge on end
device pci 18.0 alias data_fabric_0 on ops mendocino_data_fabric_ops end
diff --git a/src/soc/amd/mendocino/chipset_rembrandt.cb b/src/soc/amd/mendocino/chipset_rembrandt.cb
index 5692d64563..707ff66164 100644
--- a/src/soc/amd/mendocino/chipset_rembrandt.cb
+++ b/src/soc/amd/mendocino/chipset_rembrandt.cb
@@ -71,7 +71,7 @@ chip soc/amd/mendocino
device pci 0.0 alias xhci_2 off end # Might also be a dummy device with different PCI DID
end
- device pci 14.0 alias smbus on end # primary FCH function
+ device pci 14.0 alias smbus on ops amd_smbus_ops end # primary FCH function
device pci 14.3 alias lpc_bridge on end
device pci 18.0 alias data_fabric_0 on ops mendocino_data_fabric_ops end
diff --git a/src/soc/amd/morgana/chipset.cb b/src/soc/amd/morgana/chipset.cb
index e710ffb2ff..25527d72f6 100644
--- a/src/soc/amd/morgana/chipset.cb
+++ b/src/soc/amd/morgana/chipset.cb
@@ -73,7 +73,7 @@ chip soc/amd/morgana
device pci 0.0 alias xhci_2 off end # Might also be a dummy device with different PCI DID
end
- device pci 14.0 alias smbus on end # primary FCH function
+ device pci 14.0 alias smbus on ops amd_smbus_ops end # primary FCH function
device pci 14.3 alias lpc_bridge on end
device pci 18.0 alias data_fabric_0 on ops morgana_data_fabric_ops end
diff --git a/src/soc/amd/picasso/chipset.cb b/src/soc/amd/picasso/chipset.cb
index 3b44d54725..cf6de84363 100644
--- a/src/soc/amd/picasso/chipset.cb
+++ b/src/soc/amd/picasso/chipset.cb
@@ -34,7 +34,7 @@ chip soc/amd/picasso
device pci 0.1 alias xgbe_0 off end
device pci 0.2 alias xgbe_1 off end
end
- device pci 14.0 alias smbus on end # primary FCH function
+ device pci 14.0 alias smbus on ops amd_smbus_ops end # primary FCH function
device pci 14.3 alias lpc_bridge on end
device pci 14.6 alias sdhci off end
device pci 18.0 alias data_fabric_0 on ops picasso_data_fabric_ops end
diff --git a/src/soc/amd/stoneyridge/chipset_cz.cb b/src/soc/amd/stoneyridge/chipset_cz.cb
index 31b4a4db5d..b55b7b6dd0 100644
--- a/src/soc/amd/stoneyridge/chipset_cz.cb
+++ b/src/soc/amd/stoneyridge/chipset_cz.cb
@@ -28,7 +28,7 @@ chip soc/amd/stoneyridge
device pci 10.0 alias xhci off ops stoneyridge_usb_ops end
device pci 11.0 alias sata off end
device pci 12.0 alias ehci off ops stoneyridge_usb_ops end
- device pci 14.0 alias smbus on end # primary FCH function
+ device pci 14.0 alias smbus on ops amd_smbus_ops end # primary FCH function
device pci 14.3 alias lpc_bridge on end
device pci 14.7 alias sdhci off end
device pci 18.0 alias ht_0 on end
diff --git a/src/soc/amd/stoneyridge/chipset_st.cb b/src/soc/amd/stoneyridge/chipset_st.cb
index 3544ea8267..743822b372 100644
--- a/src/soc/amd/stoneyridge/chipset_st.cb
+++ b/src/soc/amd/stoneyridge/chipset_st.cb
@@ -22,7 +22,7 @@ chip soc/amd/stoneyridge
device pci 10.0 alias xhci off ops stoneyridge_usb_ops end
device pci 11.0 alias sata off end
device pci 12.0 alias ehci off ops stoneyridge_usb_ops end
- device pci 14.0 alias smbus on end # primary FCH function
+ device pci 14.0 alias smbus on ops amd_smbus_ops end # primary FCH function
device pci 14.3 alias lpc_bridge on end
device pci 14.7 alias sdhci off end
device pci 18.0 alias ht_0 on end