diff options
author | Peter Marheine <pmarheine@chromium.org> | 2021-09-01 13:14:55 +1000 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2021-09-02 14:53:59 +0000 |
commit | 5d91bdd3126f507d5c338bcd6f252b2cc814fe4a (patch) | |
tree | 33260c76796a024e2591262dc22668d5e8447508 /src/mainboard | |
parent | 4a359401370d179b6b37dd6a6ff0c87ca8e1d241 (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')
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 |