summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorPeter Marheine <pmarheine@chromium.org>2021-09-01 13:14:55 +1000
committerFelix Held <felix-coreboot@felixheld.de>2021-09-02 14:53:59 +0000
commit5d91bdd3126f507d5c338bcd6f252b2cc814fe4a (patch)
tree33260c76796a024e2591262dc22668d5e8447508 /src/mainboard
parent4a359401370d179b6b37dd6a6ff0c87ca8e1d241 (diff)
mb/google/zork: correct MST probes
It turns out that putting a device ref in an overridetree at a different point in the tree will generate a duplicate device definition, such that the change introducing this support was ignoring the device presence specified by overridetree.cb and only using the baseboard configuration. I believe testing of that change was not redone after the baseboard was changed to disable the MST, so that conflicting behavior was not noticed. The incorrect behavior generated a disabled device for the MST at the location specified by the baseboard, and one with the probe as a child of the soc. At runtime this did a fw_config probe of the "I2C 00:4a" device, and later probed a different "I2C 00:4a" which was already disabled. As the disabled one came later, it seems to have completely disabled the MST, discarding the results of the variant-specific probe. BUG=b:185862297 TEST=10EC2141 device is now present on a Dali berknip BRANCH=zork Change-Id: I2a8feb544f3fc198fe6313b226ad8995aad31c3e Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/57298 Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb4
-rw-r--r--src/mainboard/google/zork/variants/berknip/overridetree.cb20
-rw-r--r--src/mainboard/google/zork/variants/morphius/overridetree.cb20
-rw-r--r--src/mainboard/google/zork/variants/trembyle/overridetree.cb20
-rw-r--r--src/mainboard/google/zork/variants/woomax/overridetree.cb20
5 files changed, 66 insertions, 18 deletions
diff --git a/src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb b/src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb
index 824a007eec..f8e5d9ad78 100644
--- a/src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb
+++ b/src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb
@@ -372,7 +372,7 @@ chip soc/amd/picasso
end
device ref lpc_bridge on
chip ec/google/chromeec
- device pnp 0c09.0 on
+ device pnp 0c09.0 alias cros_ec on
chip ec/google/chromeec/i2c_tunnel
register "uid" = "0"
register "remote_bus" = "8"
@@ -398,7 +398,7 @@ chip soc/amd/picasso
register "name" = ""MSTH""
register "uid" = "1"
register "remote_bus" = "9"
- device generic 1.0 on
+ device generic 1.0 alias cros_ec_i2c_9 on
chip drivers/i2c/generic
register "hid" = ""10EC2141""
register "name" = ""MSTH""
diff --git a/src/mainboard/google/zork/variants/berknip/overridetree.cb b/src/mainboard/google/zork/variants/berknip/overridetree.cb
index 793be783dc..434d4b3b3b 100644
--- a/src/mainboard/google/zork/variants/berknip/overridetree.cb
+++ b/src/mainboard/google/zork/variants/berknip/overridetree.cb
@@ -104,6 +104,22 @@ chip soc/amd/picasso
# See AMD 55570-B1 Table 13: PCI Device ID Assignments.
device domain 0 on
subsystemid 0x1022 0x1510 inherit
+
+ device ref lpc_bridge on
+ chip ec/google/chromeec
+ device ref cros_ec on
+ chip ec/google/chromeec/i2c_tunnel
+ device ref cros_ec_i2c_9 on
+ chip drivers/i2c/generic
+ device ref db_mst on
+ probe USB_DAUGHTERBOARD BERKNIP_DB_DALI
+ end
+ end
+ end
+ end
+ end
+ end
+ end
end # domain
device ref i2c_2 on
@@ -179,8 +195,4 @@ chip soc/amd/picasso
end
end
- device ref db_mst on
- probe USB_DAUGHTERBOARD BERKNIP_DB_DALI
- end
-
end # chip soc/amd/picasso
diff --git a/src/mainboard/google/zork/variants/morphius/overridetree.cb b/src/mainboard/google/zork/variants/morphius/overridetree.cb
index bb5e0e7c82..c5507e90e3 100644
--- a/src/mainboard/google/zork/variants/morphius/overridetree.cb
+++ b/src/mainboard/google/zork/variants/morphius/overridetree.cb
@@ -80,6 +80,22 @@ chip soc/amd/picasso
# See AMD 55570-B1 Table 13: PCI Device ID Assignments.
device domain 0 on
subsystemid 0x1022 0x1510 inherit
+
+ device ref lpc_bridge on
+ chip ec/google/chromeec
+ device ref cros_ec on
+ chip ec/google/chromeec/i2c_tunnel
+ device ref cros_ec_i2c_9 on
+ chip drivers/i2c/generic
+ device ref db_mst on
+ probe USB_DAUGHTERBOARD MORPHIUS_DB_DALI
+ end
+ end
+ end
+ end
+ end
+ end
+ end
end # domain
device ref i2c_2 on
@@ -144,8 +160,4 @@ chip soc/amd/picasso
end
end
- device ref db_mst on
- probe USB_DAUGHTERBOARD MORPHIUS_DB_DALI
- end
-
end # chip soc/amd/picasso
diff --git a/src/mainboard/google/zork/variants/trembyle/overridetree.cb b/src/mainboard/google/zork/variants/trembyle/overridetree.cb
index 394b3bceb9..c4ddc577a2 100644
--- a/src/mainboard/google/zork/variants/trembyle/overridetree.cb
+++ b/src/mainboard/google/zork/variants/trembyle/overridetree.cb
@@ -53,6 +53,22 @@ chip soc/amd/picasso
# See AMD 55570-B1 Table 13: PCI Device ID Assignments.
device domain 0 on
subsystemid 0x1022 0x1510 inherit
+
+ device ref lpc_bridge on
+ chip ec/google/chromeec
+ device ref cros_ec on
+ chip ec/google/chromeec/i2c_tunnel
+ device ref cros_ec_i2c_9 on
+ chip drivers/i2c/generic
+ device ref db_mst on
+ probe USB_DAUGHTERBOARD TREMBYLE_DB_DALI_HDMI
+ end
+ end
+ end
+ end
+ end
+ end
+ end
end # domain
device ref i2c_2 on
@@ -113,8 +129,4 @@ chip soc/amd/picasso
end
end
- device ref db_mst on
- probe USB_DAUGHTERBOARD TREMBYLE_DB_DALI_HDMI
- end
-
end # chip soc/amd/picasso
diff --git a/src/mainboard/google/zork/variants/woomax/overridetree.cb b/src/mainboard/google/zork/variants/woomax/overridetree.cb
index 82a060f7b7..dd2bddd82f 100644
--- a/src/mainboard/google/zork/variants/woomax/overridetree.cb
+++ b/src/mainboard/google/zork/variants/woomax/overridetree.cb
@@ -87,6 +87,22 @@ chip soc/amd/picasso
chip drivers/usb/acpi
device usb 3.2 off end
end
+
+ device ref lpc_bridge on
+ chip ec/google/chromeec
+ device ref cros_ec on
+ chip ec/google/chromeec/i2c_tunnel
+ device ref cros_ec_i2c_9 on
+ chip drivers/i2c/generic
+ device ref db_mst on
+ probe USB_DAUGHTERBOARD WOOMAX_DB_DALI
+ end
+ end
+ end
+ end
+ end
+ end
+ end
end # domain
device ref i2c_2 on
@@ -117,8 +133,4 @@ chip soc/amd/picasso
end
end
- device ref db_mst on
- probe USB_DAUGHTERBOARD WOOMAX_DB_DALI
- end
-
end # chip soc/amd/picasso