162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * dts file for Hisilicon HiKey Development Board 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2015, HiSilicon Ltd. 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci/dts-v1/; 1062306a36Sopenharmony_ci#include "hi6220.dtsi" 1162306a36Sopenharmony_ci#include "hikey-pinctrl.dtsi" 1262306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/ { 1562306a36Sopenharmony_ci model = "HiKey Development Board"; 1662306a36Sopenharmony_ci compatible = "hisilicon,hi6220-hikey", "hisilicon,hi6220"; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci aliases { 1962306a36Sopenharmony_ci serial0 = &uart0; /* On board UART0 */ 2062306a36Sopenharmony_ci serial1 = &uart1; /* BT UART */ 2162306a36Sopenharmony_ci serial2 = &uart2; /* LS Expansion UART0 */ 2262306a36Sopenharmony_ci serial3 = &uart3; /* LS Expansion UART1 */ 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci chosen { 2662306a36Sopenharmony_ci stdout-path = "serial3:115200n8"; 2762306a36Sopenharmony_ci }; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci /* 3062306a36Sopenharmony_ci * Reserve below regions from memory node: 3162306a36Sopenharmony_ci * 3262306a36Sopenharmony_ci * 0x05e0,0000 - 0x05ef,ffff: MCU firmware runtime using 3362306a36Sopenharmony_ci * 0x05f0,1000 - 0x05f0,1fff: Reboot reason 3462306a36Sopenharmony_ci * 0x06df,f000 - 0x06df,ffff: Mailbox message data 3562306a36Sopenharmony_ci * 0x0740,f000 - 0x0740,ffff: MCU firmware section 3662306a36Sopenharmony_ci * 0x21f0,0000 - 0x21ff,ffff: pstore/ramoops buffer 3762306a36Sopenharmony_ci * 0x3e00,0000 - 0x3fff,ffff: OP-TEE 3862306a36Sopenharmony_ci */ 3962306a36Sopenharmony_ci memory@0 { 4062306a36Sopenharmony_ci device_type = "memory"; 4162306a36Sopenharmony_ci reg = <0x00000000 0x00000000 0x00000000 0x05e00000>, 4262306a36Sopenharmony_ci <0x00000000 0x05f00000 0x00000000 0x00001000>, 4362306a36Sopenharmony_ci <0x00000000 0x05f02000 0x00000000 0x00efd000>, 4462306a36Sopenharmony_ci <0x00000000 0x06e00000 0x00000000 0x0060f000>, 4562306a36Sopenharmony_ci <0x00000000 0x07410000 0x00000000 0x1aaf0000>, 4662306a36Sopenharmony_ci <0x00000000 0x22000000 0x00000000 0x1c000000>; 4762306a36Sopenharmony_ci }; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci reserved-memory { 5062306a36Sopenharmony_ci #address-cells = <2>; 5162306a36Sopenharmony_ci #size-cells = <2>; 5262306a36Sopenharmony_ci ranges; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci ramoops@21f00000 { 5562306a36Sopenharmony_ci compatible = "ramoops"; 5662306a36Sopenharmony_ci reg = <0x0 0x21f00000 0x0 0x00100000>; 5762306a36Sopenharmony_ci record-size = <0x00020000>; 5862306a36Sopenharmony_ci console-size = <0x00020000>; 5962306a36Sopenharmony_ci ftrace-size = <0x00020000>; 6062306a36Sopenharmony_ci }; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci /* global autoconfigured region for contiguous allocations */ 6362306a36Sopenharmony_ci linux,cma { 6462306a36Sopenharmony_ci compatible = "shared-dma-pool"; 6562306a36Sopenharmony_ci reusable; 6662306a36Sopenharmony_ci size = <0x00000000 0x08000000>; 6762306a36Sopenharmony_ci linux,cma-default; 6862306a36Sopenharmony_ci }; 6962306a36Sopenharmony_ci }; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci reboot-mode-syscon@5f01000 { 7262306a36Sopenharmony_ci compatible = "syscon", "simple-mfd"; 7362306a36Sopenharmony_ci reg = <0x0 0x05f01000 0x0 0x00001000>; 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci reboot-mode { 7662306a36Sopenharmony_ci compatible = "syscon-reboot-mode"; 7762306a36Sopenharmony_ci offset = <0x0>; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci mode-normal = <0x77665501>; 8062306a36Sopenharmony_ci mode-bootloader = <0x77665500>; 8162306a36Sopenharmony_ci mode-recovery = <0x77665502>; 8262306a36Sopenharmony_ci }; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci reg_sys_5v: regulator@0 { 8662306a36Sopenharmony_ci compatible = "regulator-fixed"; 8762306a36Sopenharmony_ci regulator-name = "SYS_5V"; 8862306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 8962306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 9062306a36Sopenharmony_ci regulator-boot-on; 9162306a36Sopenharmony_ci regulator-always-on; 9262306a36Sopenharmony_ci }; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci reg_vdd_3v3: regulator@1 { 9562306a36Sopenharmony_ci compatible = "regulator-fixed"; 9662306a36Sopenharmony_ci regulator-name = "VDD_3V3"; 9762306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 9862306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 9962306a36Sopenharmony_ci regulator-boot-on; 10062306a36Sopenharmony_ci regulator-always-on; 10162306a36Sopenharmony_ci vin-supply = <®_sys_5v>; 10262306a36Sopenharmony_ci }; 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci reg_5v_hub: regulator@2 { 10562306a36Sopenharmony_ci compatible = "regulator-fixed"; 10662306a36Sopenharmony_ci regulator-name = "5V_HUB"; 10762306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 10862306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 10962306a36Sopenharmony_ci regulator-boot-on; 11062306a36Sopenharmony_ci gpio = <&gpio0 7 0>; 11162306a36Sopenharmony_ci regulator-always-on; 11262306a36Sopenharmony_ci vin-supply = <®_sys_5v>; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci wl1835_pwrseq: wl1835-pwrseq { 11662306a36Sopenharmony_ci compatible = "mmc-pwrseq-simple"; 11762306a36Sopenharmony_ci /* WLAN_EN GPIO */ 11862306a36Sopenharmony_ci reset-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>; 11962306a36Sopenharmony_ci clocks = <&pmic>; 12062306a36Sopenharmony_ci clock-names = "ext_clock"; 12162306a36Sopenharmony_ci post-power-on-delay-ms = <10>; 12262306a36Sopenharmony_ci power-off-delay-us = <10>; 12362306a36Sopenharmony_ci }; 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci leds { 12662306a36Sopenharmony_ci compatible = "gpio-leds"; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci led-user-1 { 12962306a36Sopenharmony_ci label = "green:user1"; 13062306a36Sopenharmony_ci gpios = <&gpio4 0 0>; /* <&gpio_user_led_1>; */ 13162306a36Sopenharmony_ci linux,default-trigger = "heartbeat"; 13262306a36Sopenharmony_ci }; 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci led-user-2 { 13562306a36Sopenharmony_ci label = "green:user2"; 13662306a36Sopenharmony_ci gpios = <&gpio4 1 0>; /* <&gpio_user_led_2>; */ 13762306a36Sopenharmony_ci linux,default-trigger = "mmc0"; 13862306a36Sopenharmony_ci }; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci led-user-3 { 14162306a36Sopenharmony_ci label = "green:user3"; 14262306a36Sopenharmony_ci gpios = <&gpio4 2 0>; /* <&gpio_user_led_3>; */ 14362306a36Sopenharmony_ci linux,default-trigger = "mmc1"; 14462306a36Sopenharmony_ci }; 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ci led-user-4 { 14762306a36Sopenharmony_ci label = "green:user4"; 14862306a36Sopenharmony_ci gpios = <&gpio4 3 0>; /* <&gpio_user_led_4>; */ 14962306a36Sopenharmony_ci panic-indicator; 15062306a36Sopenharmony_ci linux,default-trigger = "none"; 15162306a36Sopenharmony_ci }; 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci led-wlan { 15462306a36Sopenharmony_ci label = "yellow:wlan"; 15562306a36Sopenharmony_ci gpios = <&gpio3 5 0>; /* <&gpio_wlan_active_led>; */ 15662306a36Sopenharmony_ci linux,default-trigger = "phy0tx"; 15762306a36Sopenharmony_ci default-state = "off"; 15862306a36Sopenharmony_ci }; 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci led-bt { 16162306a36Sopenharmony_ci label = "blue:bt"; 16262306a36Sopenharmony_ci gpios = <&gpio4 7 0>; /* <&gpio_bt_active_led>; */ 16362306a36Sopenharmony_ci linux,default-trigger = "hci0-power"; 16462306a36Sopenharmony_ci default-state = "off"; 16562306a36Sopenharmony_ci }; 16662306a36Sopenharmony_ci }; 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci pmic: pmic@f8000000 { 16962306a36Sopenharmony_ci compatible = "hisilicon,hi655x-pmic"; 17062306a36Sopenharmony_ci reg = <0x0 0xf8000000 0x0 0x1000>; 17162306a36Sopenharmony_ci #clock-cells = <0>; 17262306a36Sopenharmony_ci interrupt-controller; 17362306a36Sopenharmony_ci #interrupt-cells = <2>; 17462306a36Sopenharmony_ci pmic-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci regulators { 17762306a36Sopenharmony_ci ldo2: LDO2 { 17862306a36Sopenharmony_ci regulator-name = "LDO2_2V8"; 17962306a36Sopenharmony_ci regulator-min-microvolt = <2500000>; 18062306a36Sopenharmony_ci regulator-max-microvolt = <3200000>; 18162306a36Sopenharmony_ci regulator-enable-ramp-delay = <120>; 18262306a36Sopenharmony_ci }; 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci ldo7: LDO7 { 18562306a36Sopenharmony_ci regulator-name = "LDO7_SDIO"; 18662306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 18762306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 18862306a36Sopenharmony_ci regulator-enable-ramp-delay = <120>; 18962306a36Sopenharmony_ci }; 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci ldo10: LDO10 { 19262306a36Sopenharmony_ci regulator-name = "LDO10_2V85"; 19362306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 19462306a36Sopenharmony_ci regulator-max-microvolt = <3000000>; 19562306a36Sopenharmony_ci regulator-enable-ramp-delay = <360>; 19662306a36Sopenharmony_ci }; 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ci ldo13: LDO13 { 19962306a36Sopenharmony_ci regulator-name = "LDO13_1V8"; 20062306a36Sopenharmony_ci regulator-min-microvolt = <1600000>; 20162306a36Sopenharmony_ci regulator-max-microvolt = <1950000>; 20262306a36Sopenharmony_ci regulator-enable-ramp-delay = <120>; 20362306a36Sopenharmony_ci }; 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ci ldo14: LDO14 { 20662306a36Sopenharmony_ci regulator-name = "LDO14_2V8"; 20762306a36Sopenharmony_ci regulator-min-microvolt = <2500000>; 20862306a36Sopenharmony_ci regulator-max-microvolt = <3200000>; 20962306a36Sopenharmony_ci regulator-enable-ramp-delay = <120>; 21062306a36Sopenharmony_ci }; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci ldo15: LDO15 { 21362306a36Sopenharmony_ci regulator-name = "LDO15_1V8"; 21462306a36Sopenharmony_ci regulator-min-microvolt = <1600000>; 21562306a36Sopenharmony_ci regulator-max-microvolt = <1950000>; 21662306a36Sopenharmony_ci regulator-boot-on; 21762306a36Sopenharmony_ci regulator-always-on; 21862306a36Sopenharmony_ci regulator-enable-ramp-delay = <120>; 21962306a36Sopenharmony_ci }; 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci ldo17: LDO17 { 22262306a36Sopenharmony_ci regulator-name = "LDO17_2V5"; 22362306a36Sopenharmony_ci regulator-min-microvolt = <2500000>; 22462306a36Sopenharmony_ci regulator-max-microvolt = <3200000>; 22562306a36Sopenharmony_ci regulator-enable-ramp-delay = <120>; 22662306a36Sopenharmony_ci }; 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci ldo19: LDO19 { 22962306a36Sopenharmony_ci regulator-name = "LDO19_3V0"; 23062306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 23162306a36Sopenharmony_ci regulator-max-microvolt = <3000000>; 23262306a36Sopenharmony_ci regulator-enable-ramp-delay = <360>; 23362306a36Sopenharmony_ci }; 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ci ldo21: LDO21 { 23662306a36Sopenharmony_ci regulator-name = "LDO21_1V8"; 23762306a36Sopenharmony_ci regulator-min-microvolt = <1650000>; 23862306a36Sopenharmony_ci regulator-max-microvolt = <2000000>; 23962306a36Sopenharmony_ci regulator-always-on; 24062306a36Sopenharmony_ci regulator-enable-ramp-delay = <120>; 24162306a36Sopenharmony_ci }; 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci ldo22: LDO22 { 24462306a36Sopenharmony_ci regulator-name = "LDO22_1V2"; 24562306a36Sopenharmony_ci regulator-min-microvolt = <900000>; 24662306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 24762306a36Sopenharmony_ci regulator-boot-on; 24862306a36Sopenharmony_ci regulator-always-on; 24962306a36Sopenharmony_ci regulator-enable-ramp-delay = <120>; 25062306a36Sopenharmony_ci }; 25162306a36Sopenharmony_ci }; 25262306a36Sopenharmony_ci }; 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ci firmware { 25562306a36Sopenharmony_ci optee { 25662306a36Sopenharmony_ci compatible = "linaro,optee-tz"; 25762306a36Sopenharmony_ci method = "smc"; 25862306a36Sopenharmony_ci }; 25962306a36Sopenharmony_ci }; 26062306a36Sopenharmony_ci 26162306a36Sopenharmony_ci sound_card { 26262306a36Sopenharmony_ci compatible = "audio-graph-card"; 26362306a36Sopenharmony_ci dais = <&i2s0_port0>; 26462306a36Sopenharmony_ci }; 26562306a36Sopenharmony_ci}; 26662306a36Sopenharmony_ci 26762306a36Sopenharmony_ci&uart1 { 26862306a36Sopenharmony_ci assigned-clocks = <&sys_ctrl HI6220_UART1_SRC>; 26962306a36Sopenharmony_ci assigned-clock-rates = <150000000>; 27062306a36Sopenharmony_ci status = "okay"; 27162306a36Sopenharmony_ci 27262306a36Sopenharmony_ci bluetooth { 27362306a36Sopenharmony_ci compatible = "ti,wl1835-st"; 27462306a36Sopenharmony_ci enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; 27562306a36Sopenharmony_ci clocks = <&pmic>; 27662306a36Sopenharmony_ci clock-names = "ext_clock"; 27762306a36Sopenharmony_ci }; 27862306a36Sopenharmony_ci}; 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_ci&uart2 { 28162306a36Sopenharmony_ci status = "okay"; 28262306a36Sopenharmony_ci label = "LS-UART0"; 28362306a36Sopenharmony_ci}; 28462306a36Sopenharmony_ci 28562306a36Sopenharmony_ci&uart3 { 28662306a36Sopenharmony_ci status = "okay"; 28762306a36Sopenharmony_ci label = "LS-UART1"; 28862306a36Sopenharmony_ci}; 28962306a36Sopenharmony_ci 29062306a36Sopenharmony_ci&ade { 29162306a36Sopenharmony_ci status = "okay"; 29262306a36Sopenharmony_ci}; 29362306a36Sopenharmony_ci 29462306a36Sopenharmony_ci&dsi { 29562306a36Sopenharmony_ci status = "okay"; 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ci ports { 29862306a36Sopenharmony_ci /* 1 for output port */ 29962306a36Sopenharmony_ci port@1 { 30062306a36Sopenharmony_ci reg = <1>; 30162306a36Sopenharmony_ci 30262306a36Sopenharmony_ci dsi_out0: endpoint@0 { 30362306a36Sopenharmony_ci remote-endpoint = <&adv7533_in>; 30462306a36Sopenharmony_ci }; 30562306a36Sopenharmony_ci }; 30662306a36Sopenharmony_ci }; 30762306a36Sopenharmony_ci}; 30862306a36Sopenharmony_ci 30962306a36Sopenharmony_ci&dwmmc_0 { 31062306a36Sopenharmony_ci cap-mmc-highspeed; 31162306a36Sopenharmony_ci non-removable; 31262306a36Sopenharmony_ci bus-width = <0x8>; 31362306a36Sopenharmony_ci vmmc-supply = <&ldo19>; 31462306a36Sopenharmony_ci}; 31562306a36Sopenharmony_ci 31662306a36Sopenharmony_ci&dwmmc_1 { 31762306a36Sopenharmony_ci card-detect-delay = <200>; 31862306a36Sopenharmony_ci cap-sd-highspeed; 31962306a36Sopenharmony_ci sd-uhs-sdr12; 32062306a36Sopenharmony_ci sd-uhs-sdr25; 32162306a36Sopenharmony_ci sd-uhs-sdr50; 32262306a36Sopenharmony_ci vqmmc-supply = <&ldo7>; 32362306a36Sopenharmony_ci vmmc-supply = <&ldo10>; 32462306a36Sopenharmony_ci bus-width = <0x4>; 32562306a36Sopenharmony_ci disable-wp; 32662306a36Sopenharmony_ci cd-gpios = <&gpio1 0 1>; 32762306a36Sopenharmony_ci}; 32862306a36Sopenharmony_ci 32962306a36Sopenharmony_ci&dwmmc_2 { 33062306a36Sopenharmony_ci bus-width = <0x4>; 33162306a36Sopenharmony_ci non-removable; 33262306a36Sopenharmony_ci cap-power-off-card; 33362306a36Sopenharmony_ci vmmc-supply = <®_vdd_3v3>; 33462306a36Sopenharmony_ci mmc-pwrseq = <&wl1835_pwrseq>; 33562306a36Sopenharmony_ci 33662306a36Sopenharmony_ci #address-cells = <0x1>; 33762306a36Sopenharmony_ci #size-cells = <0x0>; 33862306a36Sopenharmony_ci wlcore: wlcore@2 { 33962306a36Sopenharmony_ci compatible = "ti,wl1835"; 34062306a36Sopenharmony_ci reg = <2>; /* sdio func num */ 34162306a36Sopenharmony_ci /* WL_IRQ, WL_HOST_WAKE_GPIO1_3 */ 34262306a36Sopenharmony_ci interrupt-parent = <&gpio1>; 34362306a36Sopenharmony_ci interrupts = <3 IRQ_TYPE_EDGE_RISING>; 34462306a36Sopenharmony_ci }; 34562306a36Sopenharmony_ci}; 34662306a36Sopenharmony_ci 34762306a36Sopenharmony_ci/* 34862306a36Sopenharmony_ci * Legend: proper name = the GPIO line is used as GPIO 34962306a36Sopenharmony_ci * NC = not connected (not routed from the SoC) 35062306a36Sopenharmony_ci * "[PER]" = pin is muxed for peripheral (not GPIO) 35162306a36Sopenharmony_ci * "" = no idea, schematic doesn't say, could be 35262306a36Sopenharmony_ci * unrouted (not connected to any external pin) 35362306a36Sopenharmony_ci * LSEC = Low Speed External Connector 35462306a36Sopenharmony_ci * HSEC = High Speed External Connector 35562306a36Sopenharmony_ci * 35662306a36Sopenharmony_ci * Pin assignments taken from LeMaker and CircuitCo Schematics 35762306a36Sopenharmony_ci * Rev A1. 35862306a36Sopenharmony_ci * 35962306a36Sopenharmony_ci * For the lines routed to the external connectors the 36062306a36Sopenharmony_ci * lines are named after the 96Boards CE Specification 1.0, 36162306a36Sopenharmony_ci * Appendix "Expansion Connector Signal Description". 36262306a36Sopenharmony_ci * 36362306a36Sopenharmony_ci * When the 96Board naming of a line and the schematic name of 36462306a36Sopenharmony_ci * the same line are in conflict, the 96Board specification 36562306a36Sopenharmony_ci * takes precedence, which means that the external UART on the 36662306a36Sopenharmony_ci * LSEC is named UART0 while the schematic and SoC names this 36762306a36Sopenharmony_ci * UART2. This is only for the informational lines i.e. "[FOO]", 36862306a36Sopenharmony_ci * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only 36962306a36Sopenharmony_ci * ones actually used for GPIO. 37062306a36Sopenharmony_ci */ 37162306a36Sopenharmony_ci&gpio0 { 37262306a36Sopenharmony_ci gpio-line-names = "PWR_HOLD", "DSI_SEL", 37362306a36Sopenharmony_ci "USB_HUB_RESET_N", "USB_SEL", "HDMI_PD", "WL_REG_ON", 37462306a36Sopenharmony_ci "PWRON_DET", "5V_HUB_EN"; 37562306a36Sopenharmony_ci}; 37662306a36Sopenharmony_ci 37762306a36Sopenharmony_ci&gpio1 { 37862306a36Sopenharmony_ci gpio-line-names = "SD_DET", "HDMI_INT", "PMU_IRQ_N", 37962306a36Sopenharmony_ci "WL_HOST_WAKE", "NC", "NC", "NC", "BT_REG_ON"; 38062306a36Sopenharmony_ci}; 38162306a36Sopenharmony_ci 38262306a36Sopenharmony_ci&gpio2 { 38362306a36Sopenharmony_ci gpio-line-names = 38462306a36Sopenharmony_ci "GPIO-A", /* LSEC Pin 23: GPIO2_0 */ 38562306a36Sopenharmony_ci "GPIO-B", /* LSEC Pin 24: GPIO2_1 */ 38662306a36Sopenharmony_ci "GPIO-C", /* LSEC Pin 25: GPIO2_2 */ 38762306a36Sopenharmony_ci "GPIO-D", /* LSEC Pin 26: GPIO2_3 */ 38862306a36Sopenharmony_ci "GPIO-E", /* LSEC Pin 27: GPIO2_4 */ 38962306a36Sopenharmony_ci "USB_ID_DET", "USB_VBUS_DET", 39062306a36Sopenharmony_ci "GPIO-H"; /* LSEC Pin 30: GPIO2_7 */ 39162306a36Sopenharmony_ci}; 39262306a36Sopenharmony_ci 39362306a36Sopenharmony_ci&gpio3 { 39462306a36Sopenharmony_ci gpio-line-names = "GPIO3_0", "NC", "NC", "", "NC", "", 39562306a36Sopenharmony_ci "WLAN_ACTIVE", "NC", "NC"; 39662306a36Sopenharmony_ci}; 39762306a36Sopenharmony_ci 39862306a36Sopenharmony_ci&gpio4 { 39962306a36Sopenharmony_ci gpio-line-names = "USER_LED1", "USER_LED2", "USER_LED3", 40062306a36Sopenharmony_ci "USER_LED4", "SD_SEL", "NC", "NC", "BT_ACTIVE"; 40162306a36Sopenharmony_ci}; 40262306a36Sopenharmony_ci 40362306a36Sopenharmony_ci&gpio5 { 40462306a36Sopenharmony_ci gpio-line-names = "NC", "NC", 40562306a36Sopenharmony_ci "[UART1_RxD]", /* LSEC Pin 11: UART3_RX */ 40662306a36Sopenharmony_ci "[UART1_TxD]", /* LSEC Pin 13: UART3_TX */ 40762306a36Sopenharmony_ci "[AUX_SSI1]", "NC", 40862306a36Sopenharmony_ci "[PCM_CLK]", /* LSEC Pin 18: MODEM_PCM_XCLK */ 40962306a36Sopenharmony_ci "[PCM_FS]"; /* LSEC Pin 16: MODEM_PCM_XFS */ 41062306a36Sopenharmony_ci}; 41162306a36Sopenharmony_ci 41262306a36Sopenharmony_ci&gpio6 { 41362306a36Sopenharmony_ci gpio-line-names = 41462306a36Sopenharmony_ci "[SPI0_DIN]", /* Pin 10: SPI0_DI */ 41562306a36Sopenharmony_ci "[SPI0_DOUT]", /* Pin 14: SPI0_DO */ 41662306a36Sopenharmony_ci "[SPI0_CS]", /* Pin 12: SPI0_CS_N */ 41762306a36Sopenharmony_ci "[SPI0_SCLK]", /* Pin 8: SPI0_SCLK */ 41862306a36Sopenharmony_ci "NC", "NC", "NC", 41962306a36Sopenharmony_ci "GPIO-G"; /* Pin 29: GPIO6_7_DSI_TE0 */ 42062306a36Sopenharmony_ci}; 42162306a36Sopenharmony_ci 42262306a36Sopenharmony_ci&gpio7 { 42362306a36Sopenharmony_ci gpio-line-names = "NC", "NC", "NC", "NC", 42462306a36Sopenharmony_ci "[PCM_DI]", /* Pin 22: MODEM_PCM_DI */ 42562306a36Sopenharmony_ci "[PCM_DO]", /* Pin 20: MODEM_PCM_DO */ 42662306a36Sopenharmony_ci "NC", "NC"; 42762306a36Sopenharmony_ci}; 42862306a36Sopenharmony_ci 42962306a36Sopenharmony_ci&gpio8 { 43062306a36Sopenharmony_ci gpio-line-names = "NC", "[CEC_CLK_19_2MHZ]", "NC", 43162306a36Sopenharmony_ci "", "", "", "", "", ""; 43262306a36Sopenharmony_ci}; 43362306a36Sopenharmony_ci 43462306a36Sopenharmony_ci&gpio9 { 43562306a36Sopenharmony_ci gpio-line-names = "", 43662306a36Sopenharmony_ci "GPIO-J", /* LSEC Pin 32: ISP_PWDN0_GPIO9_1 */ 43762306a36Sopenharmony_ci "GPIO-L", /* LSEC Pin 34: ISP_PWDN1_GPIO9_2 */ 43862306a36Sopenharmony_ci "NC", "NC", "NC", "NC", "[ISP_CCLK0]"; 43962306a36Sopenharmony_ci}; 44062306a36Sopenharmony_ci 44162306a36Sopenharmony_ci&gpio10 { 44262306a36Sopenharmony_ci gpio-line-names = "BOOT_SEL", 44362306a36Sopenharmony_ci "[ISP_CCLK1]", 44462306a36Sopenharmony_ci "GPIO-I", /* LSEC Pin 31: ISP_RSTB0_GPIO10_2 */ 44562306a36Sopenharmony_ci "GPIO-K", /* LSEC Pin 33: ISP_RSTB1_GPIO10_3 */ 44662306a36Sopenharmony_ci "NC", "NC", 44762306a36Sopenharmony_ci "[I2C2_SDA]", /* HSEC Pin 34: ISP0_SDA */ 44862306a36Sopenharmony_ci "[I2C2_SCL]"; /* HSEC Pin 32: ISP0_SCL */ 44962306a36Sopenharmony_ci}; 45062306a36Sopenharmony_ci 45162306a36Sopenharmony_ci&gpio11 { 45262306a36Sopenharmony_ci gpio-line-names = 45362306a36Sopenharmony_ci "[I2C3_SDA]", /* HSEC Pin 38: ISP1_SDA */ 45462306a36Sopenharmony_ci "[I2C3_SCL]", /* HSEC Pin 36: ISP1_SCL */ 45562306a36Sopenharmony_ci "", "NC", "NC", "NC", "", ""; 45662306a36Sopenharmony_ci}; 45762306a36Sopenharmony_ci 45862306a36Sopenharmony_ci&gpio12 { 45962306a36Sopenharmony_ci gpio-line-names = "[BT_PCM_XFS]", "[BT_PCM_DI]", 46062306a36Sopenharmony_ci "[BT_PCM_DO]", 46162306a36Sopenharmony_ci "NC", "NC", "NC", "NC", 46262306a36Sopenharmony_ci "GPIO-F"; /* LSEC Pin 28: BL_PWM_GPIO12_7 */ 46362306a36Sopenharmony_ci}; 46462306a36Sopenharmony_ci 46562306a36Sopenharmony_ci&gpio13 { 46662306a36Sopenharmony_ci gpio-line-names = "[UART0_RX]", "[UART0_TX]", 46762306a36Sopenharmony_ci "[BT_UART1_CTS]", "[BT_UART1_RTS]", 46862306a36Sopenharmony_ci "[BT_UART1_RX]", "[BT_UART1_TX]", 46962306a36Sopenharmony_ci "[UART0_CTS]", /* LSEC Pin 3: UART2_CTS_N */ 47062306a36Sopenharmony_ci "[UART0_RTS]"; /* LSEC Pin 9: UART2_RTS_N */ 47162306a36Sopenharmony_ci}; 47262306a36Sopenharmony_ci 47362306a36Sopenharmony_ci&gpio14 { 47462306a36Sopenharmony_ci gpio-line-names = 47562306a36Sopenharmony_ci "[UART0_RxD]", /* LSEC Pin 7: UART2_RX */ 47662306a36Sopenharmony_ci "[UART0_TxD]", /* LSEC Pin 5: UART2_TX */ 47762306a36Sopenharmony_ci "[I2C0_SCL]", /* LSEC Pin 15: I2C0_SCL */ 47862306a36Sopenharmony_ci "[I2C0_SDA]", /* LSEC Pin 17: I2C0_SDA */ 47962306a36Sopenharmony_ci "[I2C1_SCL]", /* LSEC Pin 19: I2C1_SCL */ 48062306a36Sopenharmony_ci "[I2C1_SDA]", /* LSEC Pin 21: I2C1_SDA */ 48162306a36Sopenharmony_ci "[I2C2_SCL]", "[I2C2_SDA]"; 48262306a36Sopenharmony_ci}; 48362306a36Sopenharmony_ci 48462306a36Sopenharmony_ci&gpio15 { 48562306a36Sopenharmony_ci gpio-line-names = "", "", "", "", "", "", "NC", ""; 48662306a36Sopenharmony_ci}; 48762306a36Sopenharmony_ci 48862306a36Sopenharmony_ci/* GPIO blocks 16 thru 19 do not appear to be routed to pins */ 48962306a36Sopenharmony_ci 49062306a36Sopenharmony_ci 49162306a36Sopenharmony_ci&i2c0 { 49262306a36Sopenharmony_ci status = "okay"; 49362306a36Sopenharmony_ci}; 49462306a36Sopenharmony_ci 49562306a36Sopenharmony_ci&i2c1 { 49662306a36Sopenharmony_ci status = "okay"; 49762306a36Sopenharmony_ci}; 49862306a36Sopenharmony_ci 49962306a36Sopenharmony_ci&i2c2 { 50062306a36Sopenharmony_ci #address-cells = <1>; 50162306a36Sopenharmony_ci #size-cells = <0>; 50262306a36Sopenharmony_ci status = "okay"; 50362306a36Sopenharmony_ci 50462306a36Sopenharmony_ci adv7533: adv7533@39 { 50562306a36Sopenharmony_ci compatible = "adi,adv7533"; 50662306a36Sopenharmony_ci reg = <0x39>; 50762306a36Sopenharmony_ci interrupt-parent = <&gpio1>; 50862306a36Sopenharmony_ci interrupts = <1 2>; 50962306a36Sopenharmony_ci pd-gpios = <&gpio0 4 0>; 51062306a36Sopenharmony_ci adi,dsi-lanes = <4>; 51162306a36Sopenharmony_ci #sound-dai-cells = <0>; 51262306a36Sopenharmony_ci 51362306a36Sopenharmony_ci ports { 51462306a36Sopenharmony_ci #address-cells = <1>; 51562306a36Sopenharmony_ci #size-cells = <0>; 51662306a36Sopenharmony_ci port@0 { 51762306a36Sopenharmony_ci adv7533_in: endpoint { 51862306a36Sopenharmony_ci remote-endpoint = <&dsi_out0>; 51962306a36Sopenharmony_ci }; 52062306a36Sopenharmony_ci }; 52162306a36Sopenharmony_ci port@2 { 52262306a36Sopenharmony_ci reg = <2>; 52362306a36Sopenharmony_ci codec_endpoint: endpoint { 52462306a36Sopenharmony_ci remote-endpoint = <&i2s0_cpu_endpoint>; 52562306a36Sopenharmony_ci }; 52662306a36Sopenharmony_ci }; 52762306a36Sopenharmony_ci }; 52862306a36Sopenharmony_ci }; 52962306a36Sopenharmony_ci}; 53062306a36Sopenharmony_ci 53162306a36Sopenharmony_ci&i2s0 { 53262306a36Sopenharmony_ci 53362306a36Sopenharmony_ci ports { 53462306a36Sopenharmony_ci i2s0_port0: port@0 { 53562306a36Sopenharmony_ci i2s0_cpu_endpoint: endpoint { 53662306a36Sopenharmony_ci remote-endpoint = <&codec_endpoint>; 53762306a36Sopenharmony_ci dai-format = "i2s"; 53862306a36Sopenharmony_ci }; 53962306a36Sopenharmony_ci }; 54062306a36Sopenharmony_ci }; 54162306a36Sopenharmony_ci}; 54262306a36Sopenharmony_ci 54362306a36Sopenharmony_ci&spi0 { 54462306a36Sopenharmony_ci status = "okay"; 54562306a36Sopenharmony_ci}; 546