diff options
author | Yuval Peress <peress@chromium.org> | 2021-04-07 00:17:55 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-04-09 07:06:52 +0000 |
commit | c4d1b01bc345557ea9be3793f724d7d35ddbf174 (patch) | |
tree | 67a82f814ef889de07b6ed819dbe2f0ee0beca21 /zephyr/projects/volteer/boards | |
parent | 41aeb59c43bfb94ac7d34a4a796aa245759ee8e3 (diff) | |
download | chrome-ec-c4d1b01bc345557ea9be3793f724d7d35ddbf174.tar.gz |
zephyr: volteer: init i2c_ports
Populate i2c_ports[] and set i2c_ports_used correctly.
Add child bindings for named i2c ports that allow configurations. A
configured named i2c node MUST have a kbps property and 2 child nodes
for `scl` and `sda` which will use the same enums as the named gpios.
This provides a compile-time check to make sure that the overlay
gpio.dts defined a named gpio using the SCL/SDA enums. This means
that if the i2c port config uses a valid enum from gpio-enum-name.yaml
but the overlay did not define a node using that same enum, the build
will break (because the gpio_signal enum will not have that enum
defined).
BRANCH=none
BUG=b:184269641
TEST=zmake testall
TEST=run firmware_ECCbiEeprom FAFT on volteer
Signed-off-by: Yuval Peress <peress@chromium.org>
Change-Id: I7f46ab8f8b4079cf6ae5287869e6844fea38a100
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2810333
Commit-Queue: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'zephyr/projects/volteer/boards')
-rw-r--r-- | zephyr/projects/volteer/boards/arm/volteer/volteer.dts | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/zephyr/projects/volteer/boards/arm/volteer/volteer.dts b/zephyr/projects/volteer/boards/arm/volteer/volteer.dts index ee28ed26b8..5a28c0c1c2 100644 --- a/zephyr/projects/volteer/boards/arm/volteer/volteer.dts +++ b/zephyr/projects/volteer/boards/arm/volteer/volteer.dts @@ -52,6 +52,15 @@ i2c-port = <&i2c0_0>; enum-name = "I2C_PORT_SENSOR"; label = "SENSOR"; + config { + frequency = <400>; + scl { + enum-name = "GPIO_EC_I2C0_SENSOR_SCL"; + }; + sda { + enum-name = "GPIO_EC_I2C0_SENSOR_SDA"; + }; + }; }; i2c-accel { i2c-port = <&i2c0_0>; @@ -62,21 +71,57 @@ i2c-port = <&i2c1_0>; enum-name = "I2C_PORT_USB_C0"; label = "USB_C0"; + config { + frequency = <1000>; + scl { + enum-name = "GPIO_EC_I2C1_USB_C0_SCL"; + }; + sda { + enum-name = "GPIO_EC_I2C1_USB_C0_SDA"; + }; + }; }; usb-c1 { i2c-port = <&i2c2_0>; enum-name = "I2C_PORT_USB_C1"; label = "USB_C1"; + config { + frequency = <1000>; + scl { + enum-name = "GPIO_EC_I2C2_USB_C1_SCL"; + }; + sda { + enum-name = "GPIO_EC_I2C2_USB_C1_SDA"; + }; + }; }; usb1-mix { i2c-port = <&i2c3_0>; enum-name = "I2C_PORT_USB_1_MIX"; label = "USB_1_MIX"; + config { + frequency = <100>; + scl { + enum-name = "GPIO_EC_I2C3_USB_1_MIX_SCL"; + }; + sda { + enum-name = "GPIO_EC_I2C3_USB_1_MIX_SDA"; + }; + }; }; power { i2c-port = <&i2c5_0>; enum-name = "I2C_PORT_POWER"; label = "POWER"; + config { + frequency = <100>; + scl { + enum-name = "GPIO_EC_I2C5_BATTERY_SCL"; + }; + sda { + enum-name = "GPIO_EC_I2C5_BATTERY_SDA"; + }; + }; }; battery { i2c-port = <&i2c5_0>; @@ -89,6 +134,15 @@ enum-name = "I2C_PORT_EEPROM"; addr-flags = <0x50>; label = "EEPROM"; + config { + frequency = <100>; + scl { + enum-name = "GPIO_EC_I2C7_EEPROM_PWR_SCL_R"; + }; + sda { + enum-name = "GPIO_EC_I2C7_EEPROM_PWR_SDA_R"; + }; + }; }; charger { i2c-port = <&i2c7_0>; |