summaryrefslogtreecommitdiff
path: root/zephyr/boards
diff options
context:
space:
mode:
authorDino Li <Dino.Li@ite.com.tw>2021-07-07 15:55:04 +0800
committerCommit Bot <commit-bot@chromium.org>2021-07-22 19:54:04 +0000
commit154f661f50d08adc3a546360be020a7e0321fe2e (patch)
tree0a85a77f8aa5215595a91cf9c5d3c39972387c27 /zephyr/boards
parent506a1ee872aad4ef21d7c90717f1917963dec6b1 (diff)
downloadchrome-ec-154f661f50d08adc3a546360be020a7e0321fe2e.tar.gz
zephyr: i2c: protect physical port
If i2c devices are connected to the same port, they should use the same mutex_lock() index. So the new transaction won't break the ongoing transaction. BRANCH=none BUG=b:189855648 TEST=Enable CONFIG_SMBUS_PEC and voltage regulator function on asurada. No i2c transaction is broken. Change-Id: Ib848e3c2e60b99ce66ad5fd2fc7095f90820a15d Signed-off-by: Dino Li <Dino.Li@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3010920 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'zephyr/boards')
-rw-r--r--zephyr/boards/riscv/asurada/asurada.dts12
1 files changed, 12 insertions, 0 deletions
diff --git a/zephyr/boards/riscv/asurada/asurada.dts b/zephyr/boards/riscv/asurada/asurada.dts
index f5c4cc3cfe..e759080996 100644
--- a/zephyr/boards/riscv/asurada/asurada.dts
+++ b/zephyr/boards/riscv/asurada/asurada.dts
@@ -72,62 +72,74 @@
i2c-port = <&i2c0>;
enum-name = "I2C_PORT_POWER";
label = "POWER";
+ physical-port = <0>;
};
battery {
i2c-port = <&i2c0>;
remote-port = <0>;
enum-name = "I2C_PORT_BATTERY";
label = "BATTERY";
+ physical-port = <0>;
};
eeprom {
i2c-port = <&i2c0>;
enum-name = "I2C_PORT_EEPROM";
label = "EEPROM";
+ physical-port = <0>;
};
charger {
i2c-port = <&i2c0>;
enum-name = "I2C_PORT_CHARGER";
label = "CHARGER";
+ physical-port = <0>;
};
i2c_sensor: sensor {
i2c-port = <&i2c1>;
enum-name = "I2C_PORT_SENSOR";
label = "SENSOR";
+ physical-port = <1>;
};
i2c-accel {
i2c-port = <&i2c1>;
enum-name = "I2C_PORT_ACCEL";
label = "ACCEL";
+ physical-port = <1>;
};
ppc0 {
i2c-port = <&i2c2>;
enum-name = "I2C_PORT_PPC0";
label = "PPC0";
+ physical-port = <2>;
};
ppc1 {
i2c-port = <&i2c4>;
enum-name = "I2C_PORT_PPC1";
label = "PPC1";
+ physical-port = <4>;
};
usb-c0 {
i2c-port = <&i2c2>;
enum-name = "I2C_PORT_USB_C0";
label = "USB_C0";
+ physical-port = <2>;
};
usb-c1 {
i2c-port = <&i2c4>;
enum-name = "I2C_PORT_USB_C1";
label = "USB_C1";
+ physical-port = <4>;
};
usb-mux0 {
i2c-port = <&i2c2>;
enum-name = "I2C_PORT_USB_MUX0";
label = "USB_MUX0";
+ physical-port = <2>;
};
usb-mux1 {
i2c-port = <&i2c4>;
enum-name = "I2C_PORT_USB_MUX1";
label = "USB_MUX1";
+ physical-port = <4>;
};
};