summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Brockus <dbrockus@google.com>2021-04-27 14:11:07 -0600
committerCommit Bot <commit-bot@chromium.org>2021-05-13 17:10:59 +0000
commitc326589f9ba1f0b8a3a58020a4421c4ea8e66b6d (patch)
tree477a2e131545f2d3d1754aeebaf3114850e557c3
parent87c7879c6848263c56cdc29e6bf53cef1e50e936 (diff)
downloadchrome-ec-c326589f9ba1f0b8a3a58020a4421c4ea8e66b6d.tar.gz
zephyr: asurada: Enable I2C
Hold off on merging this until https://chromium-review.googlesource.com/#/q/2859183 and https://chromium-review.googlesource.com/#/q/2857993 or their equivalent have been landed by ITE BUG=b:180980668,b:186673243 BRANCH=none TEST=i2c shell "i2c scan I2C_0" Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I6c8bbe9e6aef1ab24fc25797e379b0e5cf8a070f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2855217 Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Yuval Peress <peress@chromium.org>
-rw-r--r--zephyr/Kconfig1
-rw-r--r--zephyr/dts/bindings/gpio/gpio-enum-name.yaml4
-rw-r--r--zephyr/projects/asurada/boards/riscv/asurada/asurada.dts101
-rw-r--r--zephyr/projects/asurada/hayato/gpio.dts28
-rw-r--r--zephyr/projects/asurada/hayato/prj.conf5
5 files changed, 122 insertions, 17 deletions
diff --git a/zephyr/Kconfig b/zephyr/Kconfig
index c52a72de9d..31df8475e8 100644
--- a/zephyr/Kconfig
+++ b/zephyr/Kconfig
@@ -346,6 +346,7 @@ config PLATFORM_EC_I2C
bool "I2C shim"
default n if ARCH_POSIX
default y
+ imply I2C
help
Enable compilation of the EC i2c module. Once enabled, it will be
possible to make calls using the old platform/ec i2c APIs defined
diff --git a/zephyr/dts/bindings/gpio/gpio-enum-name.yaml b/zephyr/dts/bindings/gpio/gpio-enum-name.yaml
index 8da4c82b47..6efbb5d6dd 100644
--- a/zephyr/dts/bindings/gpio/gpio-enum-name.yaml
+++ b/zephyr/dts/bindings/gpio/gpio-enum-name.yaml
@@ -77,14 +77,14 @@ properties:
- GPIO_ENABLE_BACKLIGHT
- GPIO_ENTERING_RW
- GPIO_HIBERNATE_L
- - GPIO_I2C_A_SCL
- - GPIO_I2C_A_SDA
- GPIO_I2C_B_SCL
- GPIO_I2C_B_SDA
- GPIO_I2C_C_SCL
- GPIO_I2C_C_SDA
- GPIO_I2C_E_SCL
- GPIO_I2C_E_SDA
+ - GPIO_I2C_F_SCL
+ - GPIO_I2C_F_SDA
- GPIO_KBD_KSO2
- GPIO_LID_ACCEL_INT_L
- GPIO_LID_OPEN
diff --git a/zephyr/projects/asurada/boards/riscv/asurada/asurada.dts b/zephyr/projects/asurada/boards/riscv/asurada/asurada.dts
index 58c3cdcf40..7193272f3d 100644
--- a/zephyr/projects/asurada/boards/riscv/asurada/asurada.dts
+++ b/zephyr/projects/asurada/boards/riscv/asurada/asurada.dts
@@ -21,6 +21,83 @@
named-i2c-ports {
compatible = "named-i2c-ports";
+
+ power {
+ i2c-port = <&i2c0>;
+ enum-name = "I2C_PORT_POWER";
+ label = "POWER";
+ config {
+ frequency = <100>;
+ scl {
+ enum-name = "GPIO_I2C_B_SCL";
+ };
+ sda {
+ enum-name = "GPIO_I2C_B_SDA";
+ };
+ };
+ };
+ battery {
+ i2c-port = <&i2c0>;
+ enum-name = "I2C_PORT_BATTERY";
+ label = "BATTERY";
+ };
+ eeprom {
+ i2c-port = <&i2c0>;
+ enum-name = "I2C_PORT_EEPROM";
+ label = "EEPROM";
+ };
+ charger {
+ i2c-port = <&i2c0>;
+ enum-name = "I2C_PORT_CHARGER";
+ label = "CHARGER";
+ };
+ i2c_sensor: sensor {
+ i2c-port = <&i2c1>;
+ enum-name = "I2C_PORT_SENSOR";
+ label = "SENSOR";
+ config {
+ frequency = <400>;
+ scl {
+ enum-name = "GPIO_I2C_C_SCL";
+ };
+ sda {
+ enum-name = "GPIO_I2C_C_SDA";
+ };
+ };
+ };
+ i2c-accel {
+ i2c-port = <&i2c1>;
+ enum-name = "I2C_PORT_ACCEL";
+ label = "ACCEL";
+ };
+ usb-c0 {
+ i2c-port = <&i2c2>;
+ enum-name = "I2C_PORT_USB_C0";
+ label = "USB_C0";
+ config {
+ frequency = <400>;
+ scl {
+ enum-name = "GPIO_I2C_F_SCL";
+ };
+ sda {
+ enum-name = "GPIO_I2C_F_SDA";
+ };
+ };
+ };
+ usb-c1 {
+ i2c-port = <&i2c4>;
+ enum-name = "I2C_PORT_USB_C1";
+ label = "USB_C1";
+ config {
+ frequency = <400>;
+ scl {
+ enum-name = "GPIO_I2C_E_SCL";
+ };
+ sda {
+ enum-name = "GPIO_I2C_E_SDA";
+ };
+ };
+ };
};
};
@@ -29,3 +106,27 @@
current-speed = <115200>;
clock-frequency = <1804800>;
};
+
+&i2c0 {
+ /* EC_I2C_PWR_CBI */
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_STANDARD>;
+};
+
+&i2c1 {
+ /* EC_I2C_SENSOR */
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+};
+
+&i2c2 {
+ /* EC_I2C_USB_C0 */
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+};
+
+&i2c4{
+ /* EC_I2C_USB_C1 */
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+};
diff --git a/zephyr/projects/asurada/hayato/gpio.dts b/zephyr/projects/asurada/hayato/gpio.dts
index c2d891c0b4..8322058127 100644
--- a/zephyr/projects/asurada/hayato/gpio.dts
+++ b/zephyr/projects/asurada/hayato/gpio.dts
@@ -197,33 +197,23 @@
enum-name = "GPIO_EN_5V_USM";
label = "EN_5V_USM";
};
- i2c_a_scl {
- gpios = <&gpiob 3 GPIO_INPUT>;
- enum-name = "GPIO_I2C_A_SCL";
- label = "I2C_A_SCL";
- };
- i2c_a_sda {
- gpios = <&gpiob 4 GPIO_INPUT>;
- enum-name = "GPIO_I2C_A_SDA";
- label = "I2C_A_SDA";
- };
i2c_b_scl {
- gpios = <&gpioc 1 GPIO_INPUT>;
+ gpios = <&gpiob 3 GPIO_INPUT>;
enum-name = "GPIO_I2C_B_SCL";
label = "I2C_B_SCL";
};
i2c_b_sda {
- gpios = <&gpioc 2 GPIO_INPUT>;
+ gpios = <&gpiob 4 GPIO_INPUT>;
enum-name = "GPIO_I2C_B_SDA";
label = "I2C_B_SDA";
};
i2c_c_scl {
- gpios = <&gpiof 6 GPIO_INPUT>;
+ gpios = <&gpioc 1 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
enum-name = "GPIO_I2C_C_SCL";
label = "I2C_C_SCL";
};
i2c_c_sda {
- gpios = <&gpiof 7 GPIO_INPUT>;
+ gpios = <&gpioc 2 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
enum-name = "GPIO_I2C_C_SDA";
label = "I2C_C_SDA";
};
@@ -237,6 +227,16 @@
enum-name = "GPIO_I2C_E_SDA";
label = "I2C_E_SDA";
};
+ i2c_f_scl {
+ gpios = <&gpiof 6 GPIO_INPUT>;
+ enum-name = "GPIO_I2C_F_SCL";
+ label = "I2C_F_SCL";
+ };
+ i2c_f_sda {
+ gpios = <&gpiof 7 GPIO_INPUT>;
+ enum-name = "GPIO_I2C_F_SDA";
+ label = "I2C_F_SDA";
+ };
ec_x_gpio1 {
gpios = <&gpioh 4 GPIO_OUT_LOW>;
enum-name = "GPIO_EC_X_GPIO1";
diff --git a/zephyr/projects/asurada/hayato/prj.conf b/zephyr/projects/asurada/hayato/prj.conf
index fe04424690..e30ceeecee 100644
--- a/zephyr/projects/asurada/hayato/prj.conf
+++ b/zephyr/projects/asurada/hayato/prj.conf
@@ -10,6 +10,10 @@ CONFIG_SHIMMED_TASKS=y
# Flash
CONFIG_PLATFORM_EC_FLASH_CROS=y
+# I2C
+CONFIG_I2C_ITE_IT8XXX2=y
+CONFIG_PLATFORM_EC_I2C=y
+
# TODO(b/180980668): bring these features up
CONFIG_LTO=n
CONFIG_PLATFORM_EC_ADC=n
@@ -17,7 +21,6 @@ CONFIG_PLATFORM_EC_BACKLIGHT_LID=n
CONFIG_PLATFORM_EC_BOARD_VERSION=n
CONFIG_PLATFORM_EC_CONSOLE_CMD_SYSINFO=n
CONFIG_PLATFORM_EC_HOSTCMD=y
-CONFIG_PLATFORM_EC_I2C=n
CONFIG_PLATFORM_EC_KEYBOARD=n
CONFIG_PLATFORM_EC_LID_SWITCH=n
CONFIG_PLATFORM_EC_SWITCH=n