summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDawid Niedzwiecki <dn@semihalf.com>2022-08-25 13:31:40 +0200
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-09-01 07:09:15 +0000
commitfda63a334e9eb787649edf049d6ed2a1298d72cf (patch)
treec01099e7be21e500746e402df16d866717885f44
parent4ebd39c76300382b14f6614cc5d7993545d4b99e (diff)
downloadchrome-ec-fda63a334e9eb787649edf049d6ed2a1298d72cf.tar.gz
zephyr: add i2c dts files per board variant
Some boards like krabby/tentacruel share the same i2c dts file, but not all i2c nodes are the same. It requires declaring the i2c nodes in other files like usbc.dts. Create an i2c file per board variant if the variants don't have the same i2c nodes. Also, move the remaining i2c nodes to the i2c files. BUG=b:228240586 TEST=zmake build -a BRANCH=main Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I10f77dcbff6b0116232358ccfd4d3a2cf9e2647f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3858648 Reviewed-by: Adam Mills <adamjmills@google.com> Commit-Queue: Dawid Niedzwiecki <dawidn@google.com> Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r--zephyr/projects/brya/BUILD.py1
-rw-r--r--zephyr/projects/brya/cbi_eeprom.dts15
-rw-r--r--zephyr/projects/brya/i2c.dts9
-rw-r--r--zephyr/projects/corsola/BUILD.py6
-rw-r--r--zephyr/projects/corsola/cbi_eeprom.dts15
-rw-r--r--zephyr/projects/corsola/i2c_kingler.dts11
-rw-r--r--zephyr/projects/corsola/i2c_krabby.dts17
-rw-r--r--zephyr/projects/corsola/i2c_tentacruel.dts147
-rw-r--r--zephyr/projects/corsola/usbc_krabby.dts7
-rw-r--r--zephyr/projects/corsola/usbc_tentacruel.dts7
-rw-r--r--zephyr/projects/herobrine/BUILD.py6
-rw-r--r--zephyr/projects/herobrine/i2c_evoker.dts (renamed from zephyr/projects/herobrine/i2c.dts)13
-rw-r--r--zephyr/projects/herobrine/i2c_herobrine.dts186
-rw-r--r--zephyr/projects/herobrine/i2c_hoglin.dts186
-rw-r--r--zephyr/projects/herobrine/i2c_villager.dts186
-rw-r--r--zephyr/projects/herobrine/usbc_evoker.dts14
-rw-r--r--zephyr/projects/herobrine/usbc_herobrine.dts14
-rw-r--r--zephyr/projects/herobrine/usbc_hoglin.dts14
-rw-r--r--zephyr/projects/herobrine/usbc_villager.dts14
-rw-r--r--zephyr/projects/intelrvp/BUILD.py2
-rw-r--r--zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/adlrvp_npcx.dts9
-rw-r--r--zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/cbi_eeprom.dts15
-rw-r--r--zephyr/projects/intelrvp/mtlrvp/mtlrvpp_npcx/mtlrvp_npcx.dts9
23 files changed, 777 insertions, 126 deletions
diff --git a/zephyr/projects/brya/BUILD.py b/zephyr/projects/brya/BUILD.py
index 054ff85fff..02f9de6a90 100644
--- a/zephyr/projects/brya/BUILD.py
+++ b/zephyr/projects/brya/BUILD.py
@@ -15,7 +15,6 @@ def register_npcx9_variant(
dts_overlays=[
"adc.dts",
"battery.dts",
- "cbi_eeprom.dts",
"fan.dts",
"gpio.dts",
"i2c.dts",
diff --git a/zephyr/projects/brya/cbi_eeprom.dts b/zephyr/projects/brya/cbi_eeprom.dts
deleted file mode 100644
index c86e66bb14..0000000000
--- a/zephyr/projects/brya/cbi_eeprom.dts
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright 2021 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-&i2c7_0 {
- cbi_eeprom: eeprom@50 {
- compatible = "atmel,at24";
- reg = <0x50>;
- size = <2048>;
- pagesize = <16>;
- address-width = <8>;
- timeout = <5>;
- };
-};
diff --git a/zephyr/projects/brya/i2c.dts b/zephyr/projects/brya/i2c.dts
index 887d63099c..85c49883d4 100644
--- a/zephyr/projects/brya/i2c.dts
+++ b/zephyr/projects/brya/i2c.dts
@@ -249,6 +249,15 @@
status = "okay";
reg = <0x9>;
};
+
+ cbi_eeprom: eeprom@50 {
+ compatible = "atmel,at24";
+ reg = <0x50>;
+ size = <2048>;
+ pagesize = <16>;
+ address-width = <8>;
+ timeout = <5>;
+ };
};
&i2c_ctrl7 {
diff --git a/zephyr/projects/corsola/BUILD.py b/zephyr/projects/corsola/BUILD.py
index d10136bd66..ce16e4ff86 100644
--- a/zephyr/projects/corsola/BUILD.py
+++ b/zephyr/projects/corsola/BUILD.py
@@ -39,7 +39,6 @@ register_corsola_project(
here / "gpio_krabby.dts",
here / "i2c_krabby.dts",
here / "interrupts_krabby.dts",
- here / "cbi_eeprom.dts",
here / "led_krabby.dts",
here / "motionsense_krabby.dts",
here / "usbc_krabby.dts",
@@ -59,7 +58,6 @@ register_corsola_project(
here / "host_interface_npcx.dts",
here / "i2c_kingler.dts",
here / "interrupts_kingler.dts",
- here / "cbi_eeprom.dts",
here / "gpio_kingler.dts",
here / "npcx_keyboard.dts",
here / "led_kingler.dts",
@@ -82,7 +80,6 @@ register_corsola_project(
here / "host_interface_npcx.dts",
here / "i2c_kingler.dts",
here / "interrupts_kingler.dts",
- here / "cbi_eeprom.dts",
here / "cbi_steelix.dts",
here / "gpio_steelix.dts",
here / "npcx_keyboard.dts",
@@ -108,9 +105,8 @@ register_corsola_project(
here / "battery_tentacruel.dts",
here / "cbi_tentacruel.dts",
here / "gpio_tentacruel.dts",
- here / "i2c_krabby.dts",
+ here / "i2c_tentacruel.dts",
here / "interrupts_tentacruel.dts",
- here / "cbi_eeprom.dts",
here / "led_tentacruel.dts",
here / "motionsense_tentacruel.dts",
here / "usbc_tentacruel.dts",
diff --git a/zephyr/projects/corsola/cbi_eeprom.dts b/zephyr/projects/corsola/cbi_eeprom.dts
deleted file mode 100644
index 9ee25efe1c..0000000000
--- a/zephyr/projects/corsola/cbi_eeprom.dts
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright 2021 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-&i2c_pwr_cbi {
- cbi_eeprom: eeprom@50 {
- compatible = "atmel,at24";
- reg = <0x50>;
- size = <2048>;
- pagesize = <16>;
- address-width = <8>;
- timeout = <5>;
- };
-};
diff --git a/zephyr/projects/corsola/i2c_kingler.dts b/zephyr/projects/corsola/i2c_kingler.dts
index 23d8028646..67fbab5272 100644
--- a/zephyr/projects/corsola/i2c_kingler.dts
+++ b/zephyr/projects/corsola/i2c_kingler.dts
@@ -129,7 +129,7 @@
status = "okay";
};
-i2c_pwr_cbi: &i2c3_0 {
+&i2c3_0 {
label = "I2C_PWR_CBI";
status = "okay";
clock-frequency = <I2C_BITRATE_FAST>;
@@ -141,6 +141,15 @@ i2c_pwr_cbi: &i2c3_0 {
status = "okay";
reg = <0x9>;
};
+
+ cbi_eeprom: eeprom@50 {
+ compatible = "atmel,at24";
+ reg = <0x50>;
+ size = <2048>;
+ pagesize = <16>;
+ address-width = <8>;
+ timeout = <5>;
+ };
};
&i2c_ctrl3 {
diff --git a/zephyr/projects/corsola/i2c_krabby.dts b/zephyr/projects/corsola/i2c_krabby.dts
index dc24f81d77..c27ad04245 100644
--- a/zephyr/projects/corsola/i2c_krabby.dts
+++ b/zephyr/projects/corsola/i2c_krabby.dts
@@ -45,7 +45,7 @@
};
};
-i2c_pwr_cbi: &i2c0 {
+&i2c0 {
/* EC_I2C_PWR_CBI */
label = "I2C_PWR_CBI";
status = "okay";
@@ -59,6 +59,15 @@ i2c_pwr_cbi: &i2c0 {
status = "okay";
reg = <0x53>;
};
+
+ cbi_eeprom: eeprom@50 {
+ compatible = "atmel,at24";
+ reg = <0x50>;
+ size = <2048>;
+ pagesize = <16>;
+ address-width = <8>;
+ timeout = <5>;
+ };
};
&i2c1 {
@@ -123,10 +132,16 @@ i2c_pwr_cbi: &i2c0 {
reg = <0x53>;
irq = <&int_usb_c1_bc12_charger>;
};
+
ppc_port1: syv682x@40 {
compatible = "silergy,syv682x";
status = "okay";
reg = <0x40>;
frs_en_gpio = <&gpio_ec_x_gpio1>;
};
+
+ tusb1064_mux_1: tusb1064-mux-1@44 {
+ compatible = "ti,tusb1064";
+ reg = <0x44>;
+ };
};
diff --git a/zephyr/projects/corsola/i2c_tentacruel.dts b/zephyr/projects/corsola/i2c_tentacruel.dts
new file mode 100644
index 0000000000..9ce2d7a7f5
--- /dev/null
+++ b/zephyr/projects/corsola/i2c_tentacruel.dts
@@ -0,0 +1,147 @@
+/* Copyright 2022 The ChromiumOS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/ {
+ named-i2c-ports {
+ compatible = "named-i2c-ports";
+
+ battery {
+ i2c-port = <&i2c1>;
+ remote-port = <1>;
+ enum-names = "I2C_PORT_BATTERY",
+ "I2C_PORT_VIRTUAL_BATTERY";
+ };
+ i2c_charger: charger {
+ i2c-port = <&i2c0>;
+ enum-names = "I2C_PORT_CHARGER",
+ "I2C_PORT_EEPROM";
+ };
+ i2c_sensor: sensor {
+ i2c-port = <&i2c3>;
+ enum-names = "I2C_PORT_SENSOR";
+ };
+ i2c_usb_c0: usb-c0 {
+ i2c-port = <&i2c2>;
+ enum-names = "I2C_PORT_USB_C0",
+ "I2C_PORT_USB_MUX0";
+ };
+ i2c_usb_c1: usb-c1 {
+ i2c-port = <&i2c4>;
+ enum-names = "I2C_PORT_USB_C1",
+ "I2C_PORT_USB_MUX1";
+ };
+ };
+
+};
+
+&pinctrl {
+ i2c3_clk_gpf2_sleep: i2c3_clk_gpf2_sleep {
+ pinmuxs = <&pinctrlf 2 IT8XXX2_ALT_DEFAULT>;
+ };
+ i2c3_data_gpf3_sleep: i2c3_data_gpf3_sleep {
+ pinmuxs = <&pinctrlf 3 IT8XXX2_ALT_DEFAULT>;
+ };
+};
+
+&i2c0 {
+ /* EC_I2C_PWR_CBI */
+ label = "I2C_PWR_CBI";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+ pinctrl-0 = <&i2c0_clk_gpb3_default
+ &i2c0_data_gpb4_default>;
+ pinctrl-names = "default";
+
+ charger: rt9490@53 {
+ compatible = "richtek,rt9490";
+ status = "okay";
+ reg = <0x53>;
+ };
+
+ cbi_eeprom: eeprom@50 {
+ compatible = "atmel,at24";
+ reg = <0x50>;
+ size = <2048>;
+ pagesize = <16>;
+ address-width = <8>;
+ timeout = <5>;
+ };
+};
+
+&i2c1 {
+ /* EC_I2C_BATTERY */
+ label = "I2C_BATTERY";
+ status = "okay";
+ clock-frequency = <50000>;
+ pinctrl-0 = <&i2c1_clk_gpc1_default
+ &i2c1_data_gpc2_default>;
+ pinctrl-names = "default";
+};
+
+&i2c2 {
+ /* EC_I2C_USB_C0 */
+ label = "I2C_USB_C0";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+ pinctrl-0 = <&i2c2_clk_gpf6_default
+ &i2c2_data_gpf7_default>;
+ pinctrl-names = "default";
+
+ bc12_ppc_port0: rt1739@70 {
+ compatible = "richtek,rt1739";
+ status = "okay";
+ reg = <0x70>;
+ };
+
+ it5205_mux_0: it5205-mux-0@48 {
+ compatible = "ite,it5205";
+ reg = <0x48>;
+ };
+};
+
+&i2c3 {
+ /* EC_I2C_SENSOR */
+ label = "I2C_SENSOR";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+ scl-gpios = <&gpiof 2 0>;
+ sda-gpios = <&gpiof 3 0>;
+ pinctrl-0 = <&i2c3_clk_gpf2_default
+ &i2c3_data_gpf3_default>;
+ pinctrl-1 = <&i2c3_clk_gpf2_sleep
+ &i2c3_data_gpf3_sleep>;
+ pinctrl-names = "default", "sleep";
+ prescale-scl-low = <1>;
+};
+
+&i2c4 {
+ /* EC_I2C_USB_C1 */
+ label = "I2C_USB_C1";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+ pinctrl-0 = <&i2c4_clk_gpe0_default
+ &i2c4_data_gpe7_default>;
+ pinctrl-names = "default";
+ prescale-scl-low = <1>;
+
+ bc12_port1: rt9490-bc12@53 {
+ compatible = "richtek,rt9490-bc12";
+ status = "okay";
+ reg = <0x53>;
+ irq = <&int_usb_c1_bc12_charger>;
+ };
+
+ ppc_port1: syv682x@40 {
+ compatible = "silergy,syv682x";
+ status = "okay";
+ reg = <0x40>;
+ frs_en_gpio = <&gpio_ec_x_gpio1>;
+ };
+
+ ps8743_mux_1: ps8743-mux-1@10 {
+ compatible = "parade,ps8743";
+ reg = <0x10>;
+ };
+};
diff --git a/zephyr/projects/corsola/usbc_krabby.dts b/zephyr/projects/corsola/usbc_krabby.dts
index e5d94329a7..ac0ba7bdf2 100644
--- a/zephyr/projects/corsola/usbc_krabby.dts
+++ b/zephyr/projects/corsola/usbc_krabby.dts
@@ -39,13 +39,6 @@
};
};
-&i2c4 {
- tusb1064_mux_1: tusb1064-mux-1@44 {
- compatible = "ti,tusb1064";
- reg = <0x44>;
- };
-};
-
&usbpd0 {
status = "okay";
};
diff --git a/zephyr/projects/corsola/usbc_tentacruel.dts b/zephyr/projects/corsola/usbc_tentacruel.dts
index 7500d9a050..671423180c 100644
--- a/zephyr/projects/corsola/usbc_tentacruel.dts
+++ b/zephyr/projects/corsola/usbc_tentacruel.dts
@@ -39,13 +39,6 @@
};
};
-&i2c4 {
- ps8743_mux_1: ps8743-mux-1@10 {
- compatible = "parade,ps8743";
- reg = <0x10>;
- };
-};
-
&usbpd0 {
status = "okay";
};
diff --git a/zephyr/projects/herobrine/BUILD.py b/zephyr/projects/herobrine/BUILD.py
index 1393700e28..fb49223cdb 100644
--- a/zephyr/projects/herobrine/BUILD.py
+++ b/zephyr/projects/herobrine/BUILD.py
@@ -16,7 +16,6 @@ def register_variant(
# Common to all projects.
here / "adc.dts",
here / "common.dts",
- here / "i2c.dts",
here / "interrupts.dts",
here / "keyboard.dts",
here / "default_gpio_pinctrl.dts",
@@ -38,6 +37,7 @@ register_variant(
here / "display.dts",
here / "battery_evoker.dts",
here / "gpio_evoker.dts",
+ here / "i2c_evoker.dts",
here / "led_pins_evoker.dts",
here / "led_policy_evoker.dts",
here / "motionsense.dts",
@@ -53,6 +53,7 @@ register_variant(
here / "display.dts",
here / "battery_herobrine.dts",
here / "gpio.dts",
+ here / "i2c_herobrine.dts",
here / "led_pins_herobrine.dts",
here / "led_policy_herobrine.dts",
here / "motionsense.dts",
@@ -67,6 +68,7 @@ register_variant(
extra_dts_overlays=[
here / "battery_hoglin.dts",
here / "gpio_hoglin.dts",
+ here / "i2c_hoglin.dts",
here / "led_pins_hoglin.dts",
here / "led_policy_hoglin.dts",
here / "motionsense_hoglin.dts",
@@ -81,6 +83,7 @@ register_variant(
extra_dts_overlays=[
here / "battery_villager.dts",
here / "gpio_villager.dts",
+ here / "i2c_villager.dts",
here / "led_pins_villager.dts",
here / "led_policy_villager.dts",
here / "motionsense_villager.dts",
@@ -95,6 +98,7 @@ register_variant(
extra_dts_overlays=[
here / "battery_hoglin.dts",
here / "gpio_hoglin.dts",
+ here / "i2c_hoglin.dts",
here / "led_pins_hoglin.dts",
here / "led_policy_hoglin.dts",
here / "motionsense_hoglin.dts",
diff --git a/zephyr/projects/herobrine/i2c.dts b/zephyr/projects/herobrine/i2c_evoker.dts
index 89438e6584..f8507f427c 100644
--- a/zephyr/projects/herobrine/i2c.dts
+++ b/zephyr/projects/herobrine/i2c_evoker.dts
@@ -84,17 +84,24 @@
clock-frequency = <I2C_BITRATE_FAST_PLUS>;
pinctrl-0 = <&i2c1_0_sda_scl_gp87_90>;
pinctrl-names = "default";
+
ppc_port0: sn5s330@40 {
compatible = "ti,sn5s330";
status = "okay";
reg = <0x40>;
};
+
ppc_port0_alt: syv682x@41 {
compatible = "silergy,syv682x";
status = "okay";
reg = <0x41>;
frs_en_gpio = <&gpio_usb_c0_frs_en>;
};
+
+ tcpc_port0: ps8xxx@b {
+ compatible = "parade,ps8xxx";
+ reg = <0xb>;
+ };
};
&i2c_ctrl1 {
@@ -107,11 +114,17 @@
clock-frequency = <I2C_BITRATE_FAST_PLUS>;
pinctrl-0 = <&i2c2_0_sda_scl_gp91_92>;
pinctrl-names = "default";
+
ppc_port1: sn5s330@40 {
compatible = "ti,sn5s330";
status = "okay";
reg = <0x40>;
};
+
+ tcpc_port1: ps8xxx@b {
+ compatible = "parade,ps8xxx";
+ reg = <0xb>;
+ };
};
&i2c_ctrl2 {
diff --git a/zephyr/projects/herobrine/i2c_herobrine.dts b/zephyr/projects/herobrine/i2c_herobrine.dts
new file mode 100644
index 0000000000..f8507f427c
--- /dev/null
+++ b/zephyr/projects/herobrine/i2c_herobrine.dts
@@ -0,0 +1,186 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/ {
+ aliases {
+ i2c-0 = &i2c0_0;
+ i2c-1 = &i2c1_0;
+ i2c-2 = &i2c2_0;
+ i2c-3 = &i2c3_0;
+ i2c-4 = &i2c4_1;
+ i2c-5 = &i2c5_0;
+ i2c-7 = &i2c7_0;
+ };
+
+ named-i2c-ports {
+ compatible = "named-i2c-ports";
+
+ i2c_power: power {
+ i2c-port = <&i2c0_0>;
+ remote-port = <0>;
+ enum-names = "I2C_PORT_POWER",
+ "I2C_PORT_BATTERY",
+ "I2C_PORT_VIRTUAL_BATTERY",
+ "I2C_PORT_CHARGER";
+ };
+ i2c_tcpc0: tcpc0 {
+ i2c-port = <&i2c1_0>;
+ dynamic-speed;
+ enum-names = "I2C_PORT_TCPC0";
+ };
+ i2c_tcpc1: tcpc1 {
+ i2c-port = <&i2c2_0>;
+ dynamic-speed;
+ enum-names = "I2C_PORT_TCPC1";
+ };
+ rtc {
+ i2c-port = <&i2c4_1>;
+ enum-names = "I2C_PORT_RTC";
+ };
+ i2c_eeprom: eeprom {
+ i2c-port = <&i2c5_0>;
+ enum-names = "I2C_PORT_EEPROM";
+ };
+ i2c_sensor: sensor {
+ i2c-port = <&i2c7_0>;
+ enum-names = "I2C_PORT_SENSOR",
+ "I2C_PORT_ACCEL";
+ };
+ };
+
+
+};
+
+&i2c0_0 {
+ label = "I2C_POWER";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_STANDARD>;
+ pinctrl-0 = <&i2c0_0_sda_scl_gpb4_b5>;
+ pinctrl-names = "default";
+
+ bc12_port0: pi3usb9201@5f {
+ compatible = "pericom,pi3usb9201";
+ status = "okay";
+ reg = <0x5f>;
+ irq = <&int_usb_c0_bc12>;
+ };
+
+ charger: isl923x@9 {
+ compatible = "intersil,isl923x";
+ status = "okay";
+ reg = <0x9>;
+ };
+};
+
+&i2c_ctrl0 {
+ status = "okay";
+};
+
+&i2c1_0 {
+ label = "I2C_USB_C0_PD";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST_PLUS>;
+ pinctrl-0 = <&i2c1_0_sda_scl_gp87_90>;
+ pinctrl-names = "default";
+
+ ppc_port0: sn5s330@40 {
+ compatible = "ti,sn5s330";
+ status = "okay";
+ reg = <0x40>;
+ };
+
+ ppc_port0_alt: syv682x@41 {
+ compatible = "silergy,syv682x";
+ status = "okay";
+ reg = <0x41>;
+ frs_en_gpio = <&gpio_usb_c0_frs_en>;
+ };
+
+ tcpc_port0: ps8xxx@b {
+ compatible = "parade,ps8xxx";
+ reg = <0xb>;
+ };
+};
+
+&i2c_ctrl1 {
+ status = "okay";
+};
+
+&i2c2_0 {
+ label = "I2C_USB_C1_PD";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST_PLUS>;
+ pinctrl-0 = <&i2c2_0_sda_scl_gp91_92>;
+ pinctrl-names = "default";
+
+ ppc_port1: sn5s330@40 {
+ compatible = "ti,sn5s330";
+ status = "okay";
+ reg = <0x40>;
+ };
+
+ tcpc_port1: ps8xxx@b {
+ compatible = "parade,ps8xxx";
+ reg = <0xb>;
+ };
+};
+
+&i2c_ctrl2 {
+ status = "okay";
+};
+
+&i2c3_0 {
+ /* Not used as no WLC connected */
+ clock-frequency = <I2C_BITRATE_FAST>;
+};
+
+&i2c4_1 {
+ label = "I2C_RTC";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+ pinctrl-0 = <&i2c4_1_sda_scl_gpf2_f3>;
+ pinctrl-names = "default";
+
+ pcf85063a: pcf85063a@51 {
+ compatible = "nxp,rtc-pcf85063a";
+ reg = <0x51>;
+ int-pin = <&gpio_rtc_ec_wake_odl>;
+ };
+};
+
+&i2c_ctrl4 {
+ status = "okay";
+};
+
+&i2c5_0 {
+ label = "I2C_EEPROM";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+ pinctrl-0 = <&i2c5_0_sda_scl_gp33_36>;
+ pinctrl-names = "default";
+
+ bc12_port1: pi3usb9201@5f {
+ compatible = "pericom,pi3usb9201";
+ status = "okay";
+ reg = <0x5f>;
+ irq = <&int_usb_c1_bc12>;
+ };
+};
+
+&i2c_ctrl5 {
+ status = "okay";
+};
+
+&i2c7_0 {
+ label = "I2C_SENSOR";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+ pinctrl-0 = <&i2c7_0_sda_scl_gpb2_b3>;
+ pinctrl-names = "default";
+};
+
+&i2c_ctrl7 {
+ status = "okay";
+};
diff --git a/zephyr/projects/herobrine/i2c_hoglin.dts b/zephyr/projects/herobrine/i2c_hoglin.dts
new file mode 100644
index 0000000000..b4e28e9507
--- /dev/null
+++ b/zephyr/projects/herobrine/i2c_hoglin.dts
@@ -0,0 +1,186 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/ {
+ aliases {
+ i2c-0 = &i2c0_0;
+ i2c-1 = &i2c1_0;
+ i2c-2 = &i2c2_0;
+ i2c-3 = &i2c3_0;
+ i2c-4 = &i2c4_1;
+ i2c-5 = &i2c5_0;
+ i2c-7 = &i2c7_0;
+ };
+
+ named-i2c-ports {
+ compatible = "named-i2c-ports";
+
+ i2c_power: power {
+ i2c-port = <&i2c0_0>;
+ remote-port = <0>;
+ enum-names = "I2C_PORT_POWER",
+ "I2C_PORT_BATTERY",
+ "I2C_PORT_VIRTUAL_BATTERY",
+ "I2C_PORT_CHARGER";
+ };
+ i2c_tcpc0: tcpc0 {
+ i2c-port = <&i2c1_0>;
+ dynamic-speed;
+ enum-names = "I2C_PORT_TCPC0";
+ };
+ i2c_tcpc1: tcpc1 {
+ i2c-port = <&i2c2_0>;
+ dynamic-speed;
+ enum-names = "I2C_PORT_TCPC1";
+ };
+ rtc {
+ i2c-port = <&i2c4_1>;
+ enum-names = "I2C_PORT_RTC";
+ };
+ i2c_eeprom: eeprom {
+ i2c-port = <&i2c5_0>;
+ enum-names = "I2C_PORT_EEPROM";
+ };
+ i2c_sensor: sensor {
+ i2c-port = <&i2c7_0>;
+ enum-names = "I2C_PORT_SENSOR",
+ "I2C_PORT_ACCEL";
+ };
+ };
+
+
+};
+
+&i2c0_0 {
+ label = "I2C_POWER";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_STANDARD>;
+ pinctrl-0 = <&i2c0_0_sda_scl_gpb4_b5>;
+ pinctrl-names = "default";
+
+ bc12_port0: pi3usb9201@5f {
+ compatible = "pericom,pi3usb9201";
+ status = "okay";
+ reg = <0x5f>;
+ irq = <&int_usb_c0_bc12>;
+ };
+
+ charger: isl923x@9 {
+ compatible = "intersil,isl923x";
+ status = "okay";
+ reg = <0x9>;
+ };
+};
+
+&i2c_ctrl0 {
+ status = "okay";
+};
+
+&i2c1_0 {
+ label = "I2C_USB_C0_PD";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST_PLUS>;
+ pinctrl-0 = <&i2c1_0_sda_scl_gp87_90>;
+ pinctrl-names = "default";
+
+ ppc_port0: sn5s330@40 {
+ compatible = "ti,sn5s330";
+ status = "okay";
+ reg = <0x40>;
+ };
+
+ ppc_port0_alt: syv682x@41 {
+ compatible = "silergy,syv682x";
+ status = "okay";
+ reg = <0x41>;
+ frs_en_gpio = <&gpio_usb_c0_frs_en>;
+ };
+
+ tcpc_port0: ps8xxx@1b {
+ compatible = "parade,ps8xxx";
+ reg = <0x1b>;
+ };
+};
+
+&i2c_ctrl1 {
+ status = "okay";
+};
+
+&i2c2_0 {
+ label = "I2C_USB_C1_PD";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST_PLUS>;
+ pinctrl-0 = <&i2c2_0_sda_scl_gp91_92>;
+ pinctrl-names = "default";
+
+ ppc_port1: sn5s330@40 {
+ compatible = "ti,sn5s330";
+ status = "okay";
+ reg = <0x40>;
+ };
+
+ tcpc_port1: ps8xxx@1b {
+ compatible = "parade,ps8xxx";
+ reg = <0x1b>;
+ };
+};
+
+&i2c_ctrl2 {
+ status = "okay";
+};
+
+&i2c3_0 {
+ /* Not used as no WLC connected */
+ clock-frequency = <I2C_BITRATE_FAST>;
+};
+
+&i2c4_1 {
+ label = "I2C_RTC";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+ pinctrl-0 = <&i2c4_1_sda_scl_gpf2_f3>;
+ pinctrl-names = "default";
+
+ pcf85063a: pcf85063a@51 {
+ compatible = "nxp,rtc-pcf85063a";
+ reg = <0x51>;
+ int-pin = <&gpio_rtc_ec_wake_odl>;
+ };
+};
+
+&i2c_ctrl4 {
+ status = "okay";
+};
+
+&i2c5_0 {
+ label = "I2C_EEPROM";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+ pinctrl-0 = <&i2c5_0_sda_scl_gp33_36>;
+ pinctrl-names = "default";
+
+ bc12_port1: pi3usb9201@5f {
+ compatible = "pericom,pi3usb9201";
+ status = "okay";
+ reg = <0x5f>;
+ irq = <&int_usb_c1_bc12>;
+ };
+};
+
+&i2c_ctrl5 {
+ status = "okay";
+};
+
+&i2c7_0 {
+ label = "I2C_SENSOR";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+ pinctrl-0 = <&i2c7_0_sda_scl_gpb2_b3>;
+ pinctrl-names = "default";
+};
+
+&i2c_ctrl7 {
+ status = "okay";
+};
diff --git a/zephyr/projects/herobrine/i2c_villager.dts b/zephyr/projects/herobrine/i2c_villager.dts
new file mode 100644
index 0000000000..f8507f427c
--- /dev/null
+++ b/zephyr/projects/herobrine/i2c_villager.dts
@@ -0,0 +1,186 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/ {
+ aliases {
+ i2c-0 = &i2c0_0;
+ i2c-1 = &i2c1_0;
+ i2c-2 = &i2c2_0;
+ i2c-3 = &i2c3_0;
+ i2c-4 = &i2c4_1;
+ i2c-5 = &i2c5_0;
+ i2c-7 = &i2c7_0;
+ };
+
+ named-i2c-ports {
+ compatible = "named-i2c-ports";
+
+ i2c_power: power {
+ i2c-port = <&i2c0_0>;
+ remote-port = <0>;
+ enum-names = "I2C_PORT_POWER",
+ "I2C_PORT_BATTERY",
+ "I2C_PORT_VIRTUAL_BATTERY",
+ "I2C_PORT_CHARGER";
+ };
+ i2c_tcpc0: tcpc0 {
+ i2c-port = <&i2c1_0>;
+ dynamic-speed;
+ enum-names = "I2C_PORT_TCPC0";
+ };
+ i2c_tcpc1: tcpc1 {
+ i2c-port = <&i2c2_0>;
+ dynamic-speed;
+ enum-names = "I2C_PORT_TCPC1";
+ };
+ rtc {
+ i2c-port = <&i2c4_1>;
+ enum-names = "I2C_PORT_RTC";
+ };
+ i2c_eeprom: eeprom {
+ i2c-port = <&i2c5_0>;
+ enum-names = "I2C_PORT_EEPROM";
+ };
+ i2c_sensor: sensor {
+ i2c-port = <&i2c7_0>;
+ enum-names = "I2C_PORT_SENSOR",
+ "I2C_PORT_ACCEL";
+ };
+ };
+
+
+};
+
+&i2c0_0 {
+ label = "I2C_POWER";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_STANDARD>;
+ pinctrl-0 = <&i2c0_0_sda_scl_gpb4_b5>;
+ pinctrl-names = "default";
+
+ bc12_port0: pi3usb9201@5f {
+ compatible = "pericom,pi3usb9201";
+ status = "okay";
+ reg = <0x5f>;
+ irq = <&int_usb_c0_bc12>;
+ };
+
+ charger: isl923x@9 {
+ compatible = "intersil,isl923x";
+ status = "okay";
+ reg = <0x9>;
+ };
+};
+
+&i2c_ctrl0 {
+ status = "okay";
+};
+
+&i2c1_0 {
+ label = "I2C_USB_C0_PD";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST_PLUS>;
+ pinctrl-0 = <&i2c1_0_sda_scl_gp87_90>;
+ pinctrl-names = "default";
+
+ ppc_port0: sn5s330@40 {
+ compatible = "ti,sn5s330";
+ status = "okay";
+ reg = <0x40>;
+ };
+
+ ppc_port0_alt: syv682x@41 {
+ compatible = "silergy,syv682x";
+ status = "okay";
+ reg = <0x41>;
+ frs_en_gpio = <&gpio_usb_c0_frs_en>;
+ };
+
+ tcpc_port0: ps8xxx@b {
+ compatible = "parade,ps8xxx";
+ reg = <0xb>;
+ };
+};
+
+&i2c_ctrl1 {
+ status = "okay";
+};
+
+&i2c2_0 {
+ label = "I2C_USB_C1_PD";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST_PLUS>;
+ pinctrl-0 = <&i2c2_0_sda_scl_gp91_92>;
+ pinctrl-names = "default";
+
+ ppc_port1: sn5s330@40 {
+ compatible = "ti,sn5s330";
+ status = "okay";
+ reg = <0x40>;
+ };
+
+ tcpc_port1: ps8xxx@b {
+ compatible = "parade,ps8xxx";
+ reg = <0xb>;
+ };
+};
+
+&i2c_ctrl2 {
+ status = "okay";
+};
+
+&i2c3_0 {
+ /* Not used as no WLC connected */
+ clock-frequency = <I2C_BITRATE_FAST>;
+};
+
+&i2c4_1 {
+ label = "I2C_RTC";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+ pinctrl-0 = <&i2c4_1_sda_scl_gpf2_f3>;
+ pinctrl-names = "default";
+
+ pcf85063a: pcf85063a@51 {
+ compatible = "nxp,rtc-pcf85063a";
+ reg = <0x51>;
+ int-pin = <&gpio_rtc_ec_wake_odl>;
+ };
+};
+
+&i2c_ctrl4 {
+ status = "okay";
+};
+
+&i2c5_0 {
+ label = "I2C_EEPROM";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+ pinctrl-0 = <&i2c5_0_sda_scl_gp33_36>;
+ pinctrl-names = "default";
+
+ bc12_port1: pi3usb9201@5f {
+ compatible = "pericom,pi3usb9201";
+ status = "okay";
+ reg = <0x5f>;
+ irq = <&int_usb_c1_bc12>;
+ };
+};
+
+&i2c_ctrl5 {
+ status = "okay";
+};
+
+&i2c7_0 {
+ label = "I2C_SENSOR";
+ status = "okay";
+ clock-frequency = <I2C_BITRATE_FAST>;
+ pinctrl-0 = <&i2c7_0_sda_scl_gpb2_b3>;
+ pinctrl-names = "default";
+};
+
+&i2c_ctrl7 {
+ status = "okay";
+};
diff --git a/zephyr/projects/herobrine/usbc_evoker.dts b/zephyr/projects/herobrine/usbc_evoker.dts
index b2ead5f479..4ef66084fc 100644
--- a/zephyr/projects/herobrine/usbc_evoker.dts
+++ b/zephyr/projects/herobrine/usbc_evoker.dts
@@ -34,17 +34,3 @@
};
};
};
-
-&i2c1_0 {
- tcpc_port0: ps8xxx@b {
- compatible = "parade,ps8xxx";
- reg = <0xb>;
- };
-};
-
-&i2c2_0 {
- tcpc_port1: ps8xxx@b {
- compatible = "parade,ps8xxx";
- reg = <0xb>;
- };
-};
diff --git a/zephyr/projects/herobrine/usbc_herobrine.dts b/zephyr/projects/herobrine/usbc_herobrine.dts
index dac7df7c07..5537a606ce 100644
--- a/zephyr/projects/herobrine/usbc_herobrine.dts
+++ b/zephyr/projects/herobrine/usbc_herobrine.dts
@@ -35,17 +35,3 @@
};
};
};
-
-&i2c1_0 {
- tcpc_port0: ps8xxx@b {
- compatible = "parade,ps8xxx";
- reg = <0xb>;
- };
-};
-
-&i2c2_0 {
- tcpc_port1: ps8xxx@b {
- compatible = "parade,ps8xxx";
- reg = <0xb>;
- };
-};
diff --git a/zephyr/projects/herobrine/usbc_hoglin.dts b/zephyr/projects/herobrine/usbc_hoglin.dts
index 710b6beda7..4ef66084fc 100644
--- a/zephyr/projects/herobrine/usbc_hoglin.dts
+++ b/zephyr/projects/herobrine/usbc_hoglin.dts
@@ -34,17 +34,3 @@
};
};
};
-
-&i2c1_0 {
- tcpc_port0: ps8xxx@1b {
- compatible = "parade,ps8xxx";
- reg = <0x1b>;
- };
-};
-
-&i2c2_0 {
- tcpc_port1: ps8xxx@1b {
- compatible = "parade,ps8xxx";
- reg = <0x1b>;
- };
-};
diff --git a/zephyr/projects/herobrine/usbc_villager.dts b/zephyr/projects/herobrine/usbc_villager.dts
index b2ead5f479..4ef66084fc 100644
--- a/zephyr/projects/herobrine/usbc_villager.dts
+++ b/zephyr/projects/herobrine/usbc_villager.dts
@@ -34,17 +34,3 @@
};
};
};
-
-&i2c1_0 {
- tcpc_port0: ps8xxx@b {
- compatible = "parade,ps8xxx";
- reg = <0xb>;
- };
-};
-
-&i2c2_0 {
- tcpc_port1: ps8xxx@b {
- compatible = "parade,ps8xxx";
- reg = <0xb>;
- };
-};
diff --git a/zephyr/projects/intelrvp/BUILD.py b/zephyr/projects/intelrvp/BUILD.py
index 3fa9bd256e..9690f6db23 100644
--- a/zephyr/projects/intelrvp/BUILD.py
+++ b/zephyr/projects/intelrvp/BUILD.py
@@ -43,7 +43,6 @@ register_intelrvp_project(
chip="npcx9m7f",
extra_dts_overlays=[
here / "adlrvp/adlrvp_npcx/adlrvp_npcx.dts",
- here / "adlrvp/adlrvp_npcx/cbi_eeprom.dts",
here / "adlrvp/adlrvp_npcx/fan.dts",
here / "adlrvp/adlrvp_npcx/gpio.dts",
here / "adlrvp/adlrvp_npcx/interrupts.dts",
@@ -62,7 +61,6 @@ register_intelrvp_project(
project_name="mtlrvpp_npcx",
chip="npcx9m3f",
extra_dts_overlays=[
- here / "adlrvp/adlrvp_npcx/cbi_eeprom.dts",
here / "mtlrvp/mtlrvpp_npcx/fan.dts",
here / "mtlrvp/mtlrvpp_npcx/gpio.dts",
here / "mtlrvp/mtlrvpp_npcx/keyboard.dts",
diff --git a/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/adlrvp_npcx.dts b/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/adlrvp_npcx.dts
index 7cd858fb4c..c58c1b4120 100644
--- a/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/adlrvp_npcx.dts
+++ b/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/adlrvp_npcx.dts
@@ -123,6 +123,15 @@
status = "okay";
reg = <0x9>;
};
+
+ cbi_eeprom: eeprom@50 {
+ compatible = "atmel,at24";
+ reg = <0x50>;
+ size = <2048>;
+ pagesize = <16>;
+ address-width = <8>;
+ timeout = <5>;
+ };
};
&i2c_ctrl7 {
diff --git a/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/cbi_eeprom.dts b/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/cbi_eeprom.dts
deleted file mode 100644
index a6d911c44c..0000000000
--- a/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/cbi_eeprom.dts
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright 2022 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-&i2c7_0 {
- cbi_eeprom: eeprom@50 {
- compatible = "atmel,at24";
- reg = <0x50>;
- size = <2048>;
- pagesize = <16>;
- address-width = <8>;
- timeout = <5>;
- };
-};
diff --git a/zephyr/projects/intelrvp/mtlrvp/mtlrvpp_npcx/mtlrvp_npcx.dts b/zephyr/projects/intelrvp/mtlrvp/mtlrvpp_npcx/mtlrvp_npcx.dts
index 9c2a461ff0..d599a21948 100644
--- a/zephyr/projects/intelrvp/mtlrvp/mtlrvpp_npcx/mtlrvp_npcx.dts
+++ b/zephyr/projects/intelrvp/mtlrvp/mtlrvpp_npcx/mtlrvp_npcx.dts
@@ -116,6 +116,15 @@
status = "okay";
reg = <0x9>;
};
+
+ cbi_eeprom: eeprom@50 {
+ compatible = "atmel,at24";
+ reg = <0x50>;
+ size = <2048>;
+ pagesize = <16>;
+ address-width = <8>;
+ timeout = <5>;
+ };
};
/* host interface */