summaryrefslogtreecommitdiff
path: root/zephyr/projects/volteer/boards/arm
diff options
context:
space:
mode:
authorYuval Peress <peress@chromium.org>2021-04-07 00:17:55 -0600
committerCommit Bot <commit-bot@chromium.org>2021-04-09 07:06:52 +0000
commitc4d1b01bc345557ea9be3793f724d7d35ddbf174 (patch)
tree67a82f814ef889de07b6ed819dbe2f0ee0beca21 /zephyr/projects/volteer/boards/arm
parent41aeb59c43bfb94ac7d34a4a796aa245759ee8e3 (diff)
downloadchrome-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/arm')
-rw-r--r--zephyr/projects/volteer/boards/arm/volteer/volteer.dts54
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>;