diff options
author | Dawid Niedzwiecki <dn@semihalf.com> | 2022-08-25 13:31:40 +0200 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-09-01 07:09:15 +0000 |
commit | fda63a334e9eb787649edf049d6ed2a1298d72cf (patch) | |
tree | c01099e7be21e500746e402df16d866717885f44 | |
parent | 4ebd39c76300382b14f6614cc5d7993545d4b99e (diff) | |
download | chrome-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>
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 */ |