/* 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. */ /dts-v1/; #include #include #include #include / { model = "Google Trogdor Baseboard"; aliases { i2c-0 = &i2c0_0; i2c-1 = &i2c1_0; i2c-2 = &i2c2_0; i2c-3 = &i2c3_0; i2c-5 = &i2c5_0; i2c-7 = &i2c7_0; }; chosen { zephyr,sram = &sram0; zephyr,console = &uart1; zephyr,shell-uart = &uart1; zephyr,flash = &flash0; cros,rtc = &mtc; }; named-i2c-ports { compatible = "named-i2c-ports"; power { i2c-port = <&i2c0_0>; enum-name = "I2C_PORT_POWER"; label = "POWER"; }; battery { i2c-port = <&i2c0_0>; enum-name = "I2C_PORT_BATTERY"; label = "BATTERY"; }; virtual { i2c-port = <&i2c0_0>; enum-name = "I2C_PORT_VIRTUAL"; label = "VIRTUAL"; }; charger { i2c-port = <&i2c0_0>; enum-name = "I2C_PORT_CHARGER"; label = "CHARGER"; }; tcpc0 { i2c-port = <&i2c1_0>; enum-name = "I2C_PORT_TCPC0"; label = "TCPC0"; }; tcpc1 { i2c-port = <&i2c2_0>; enum-name = "I2C_PORT_TCPC1"; label = "TCPC1"; }; wlc { i2c-port = <&i2c3_0>; enum-name = "I2C_PORT_WLC"; label = "WLC"; }; eeprom { i2c-port = <&i2c5_0>; enum-name = "I2C_PORT_EEPROM"; label = "EEPROM"; }; i2c_sensor: sensor { i2c-port = <&i2c7_0>; enum-name = "I2C_PORT_SENSOR"; label = "SENSOR"; }; accel { i2c-port = <&i2c7_0>; enum-name = "I2C_PORT_ACCEL"; label = "ACCEL"; }; }; named-pwms { compatible = "named-pwms"; kblight { pwms = <&pwm3 0 0>; label = "KBLIGHT"; frequency = <10000>; }; displight { pwms = <&pwm5 0 0>; label = "DISPLIGHT"; frequency = <4800>; }; }; named-adc-channels { compatible = "named-adc-channels"; vbus { label = "ADC_VBUS"; enum-name = "ADC_VBUS"; channel = <1>; /* Measure VBUS through a 1/10 voltage divider */ mul = <10>; }; amon_bmon { label = "ADC_AMON_BMON"; enum-name = "ADC_AMON_BMON"; channel = <2>; /* * Adapter current output or battery charging/ * discharging current (uV) 18x amplification on * charger side. */ mul = <1000>; div = <18>; }; psys { label = "ADC_PSYS"; enum-name = "ADC_PSYS"; channel = <3>; /* * ISL9238 PSYS output is 1.44 uA/W over 5.6K resistor, * to read 0.8V @ 99 W, i.e. 124000 uW/mV. */ mul = <124000>; }; }; def-lvol-io-list { compatible = "nuvoton,npcx-lvolctrl-def"; /* I2C_SDA0 & SCL0 */ lvol-io-pads = <&lvol_iob4 &lvol_iob5>; }; soc { cros_kb_raw: cros-kb-raw@400a3000 { compatible = "nuvoton,npcx-cros-kb-raw"; reg = <0x400a3000 0x2000>; label = "CROS_KB_RAW_0"; interrupts = <49 4>; clocks = <&pcc NPCX_CLOCK_BUS_APB1 NPCX_PWDWN_CTL1 0>; /* No KSO2 (it's inverted and implemented by GPIO) */ pinctrl-0 = <&alt7_no_ksi0_sl /* KSI0 PIN31 */ &alt7_no_ksi1_sl /* KSI1 PIN30 */ &alt7_no_ksi2_sl /* KSI2 PIN27 */ &alt7_no_ksi3_sl /* KSI3 PIN26 */ &alt7_no_ksi4_sl /* KSI4 PIN25 */ &alt7_no_ksi5_sl /* KSI5 PIN24 */ &alt7_no_ksi6_sl /* KSI6 PIN23 */ &alt7_no_ksi7_sl /* KSI7 PIN22 */ &alt8_no_kso00_sl /* KSO00 PIN21 */ &alt8_no_kso01_sl /* KSO01 PIN20 */ &alt8_no_kso03_sl /* KSO03 PIN16 */ &alt8_no_kso04_sl /* KSO04 PIN15 */ &alt8_no_kso05_sl /* KSO05 PIN14 */ &alt8_no_kso06_sl /* KSO06 PIN13 */ &alt8_no_kso07_sl /* KSO07 PIN12 */ &alt9_no_kso08_sl /* KSO08 PIN11 */ &alt9_no_kso09_sl /* KSO09 PIN10 */ &alt9_no_kso10_sl /* KSO10 PIN07 */ &alt9_no_kso11_sl /* KSO11 PIN06 */ &alt9_no_kso12_sl /* KSO12 PIN05 */ &alt9_no_kso13_sl /* KSO13 PIN04 */ &alt9_no_kso14_sl /* KSO14 PIN82 */ >; wui_maps = <&wui_io31 &wui_io30 &wui_io27 &wui_io26 &wui_io25 &wui_io24 &wui_io23 &wui_io22>; status = "disabled"; }; }; }; &uart1 { status = "okay"; current-speed = <115200>; pinctrl-0 = <&altc_uart1_sl2>; /* Use UART1_SL2 ie. PIN64.65 */ }; &i2c0_0 { status = "okay"; clock-frequency = ; isl9238: isl9238@9 { compatible = "intersil,isl9238"; reg = <0x09>; label = "ISL9238_CHARGER"; }; }; &i2c1_0 { status = "okay"; clock-frequency = ; }; &i2c2_0 { status = "okay"; clock-frequency = ; }; &i2c3_0 { /* Not used as no WLC connected */ clock-frequency = ; }; &i2c5_0 { status = "okay"; clock-frequency = ; }; &i2c7_0 { status = "okay"; clock-frequency = ; }; /* Keyboard backlight */ &pwm3 { status = "okay"; }; /* Display backlight */ &pwm5 { status = "okay"; }; &adc0 { status = "okay"; };