From 5d91bdd3126f507d5c338bcd6f252b2cc814fe4a Mon Sep 17 00:00:00 2001 From: Peter Marheine Date: Wed, 1 Sep 2021 13:14:55 +1000 Subject: 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/57298 Reviewed-by: Furquan Shaikh Reviewed-by: Edward O'Callaghan Tested-by: build bot (Jenkins) --- .../zork/variants/baseboard/devicetree_trembyle.cb | 4 ++-- .../google/zork/variants/berknip/overridetree.cb | 20 ++++++++++++++++---- .../google/zork/variants/morphius/overridetree.cb | 20 ++++++++++++++++---- .../google/zork/variants/trembyle/overridetree.cb | 20 ++++++++++++++++---- .../google/zork/variants/woomax/overridetree.cb | 20 ++++++++++++++++---- 5 files changed, 66 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb b/src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb index 824a007eec3c..f8e5d9ad7838 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 793be783dc81..434d4b3b3b60 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 bb5e0e7c82f3..c5507e90e3e8 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 394b3bceb978..c4ddc577a225 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 82a060f7b722..dd2bddd82f20 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 -- cgit v1.2.3