18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (c) 2019 BayLibre, SAS 48c2ecf20Sopenharmony_ci * Author: Neil Armstrong <narmstrong@baylibre.com> 58c2ecf20Sopenharmony_ci * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com> 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci/dts-v1/; 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#include "meson-g12b.dtsi" 118c2ecf20Sopenharmony_ci#include "meson-g12b-s922x.dtsi" 128c2ecf20Sopenharmony_ci#include <dt-bindings/input/input.h> 138c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/meson-g12a-gpio.h> 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci/ { 168c2ecf20Sopenharmony_ci aliases { 178c2ecf20Sopenharmony_ci serial0 = &uart_AO; 188c2ecf20Sopenharmony_ci ethernet0 = ðmac; 198c2ecf20Sopenharmony_ci }; 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci chosen { 228c2ecf20Sopenharmony_ci stdout-path = "serial0:115200n8"; 238c2ecf20Sopenharmony_ci }; 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci memory@0 { 268c2ecf20Sopenharmony_ci device_type = "memory"; 278c2ecf20Sopenharmony_ci reg = <0x0 0x0 0x0 0x40000000>; 288c2ecf20Sopenharmony_ci }; 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci emmc_pwrseq: emmc-pwrseq { 318c2ecf20Sopenharmony_ci compatible = "mmc-pwrseq-emmc"; 328c2ecf20Sopenharmony_ci reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; 338c2ecf20Sopenharmony_ci }; 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci sdio_pwrseq: sdio-pwrseq { 368c2ecf20Sopenharmony_ci compatible = "mmc-pwrseq-simple"; 378c2ecf20Sopenharmony_ci reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 388c2ecf20Sopenharmony_ci clocks = <&wifi32k>; 398c2ecf20Sopenharmony_ci clock-names = "ext_clock"; 408c2ecf20Sopenharmony_ci }; 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci flash_1v8: regulator-flash_1v8 { 438c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 448c2ecf20Sopenharmony_ci regulator-name = "FLASH_1V8"; 458c2ecf20Sopenharmony_ci regulator-min-microvolt = <1800000>; 468c2ecf20Sopenharmony_ci regulator-max-microvolt = <1800000>; 478c2ecf20Sopenharmony_ci vin-supply = <&vcc_3v3>; 488c2ecf20Sopenharmony_ci regulator-always-on; 498c2ecf20Sopenharmony_ci }; 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci main_12v: regulator-main_12v { 528c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 538c2ecf20Sopenharmony_ci regulator-name = "12V"; 548c2ecf20Sopenharmony_ci regulator-min-microvolt = <12000000>; 558c2ecf20Sopenharmony_ci regulator-max-microvolt = <12000000>; 568c2ecf20Sopenharmony_ci regulator-always-on; 578c2ecf20Sopenharmony_ci }; 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci vcc_5v: regulator-vcc_5v { 608c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 618c2ecf20Sopenharmony_ci regulator-name = "VCC_5V"; 628c2ecf20Sopenharmony_ci regulator-min-microvolt = <5000000>; 638c2ecf20Sopenharmony_ci regulator-max-microvolt = <5000000>; 648c2ecf20Sopenharmony_ci vin-supply = <&main_12v>; 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; 678c2ecf20Sopenharmony_ci enable-active-high; 688c2ecf20Sopenharmony_ci }; 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci vcc_1v8: regulator-vcc_1v8 { 718c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 728c2ecf20Sopenharmony_ci regulator-name = "VCC_1V8"; 738c2ecf20Sopenharmony_ci regulator-min-microvolt = <1800000>; 748c2ecf20Sopenharmony_ci regulator-max-microvolt = <1800000>; 758c2ecf20Sopenharmony_ci vin-supply = <&vcc_3v3>; 768c2ecf20Sopenharmony_ci regulator-always-on; 778c2ecf20Sopenharmony_ci }; 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci vcc_3v3: regulator-vcc_3v3 { 808c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 818c2ecf20Sopenharmony_ci regulator-name = "VCC_3V3"; 828c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 838c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 848c2ecf20Sopenharmony_ci vin-supply = <&vddao_3v3>; 858c2ecf20Sopenharmony_ci regulator-always-on; 868c2ecf20Sopenharmony_ci /* FIXME: actually controlled by VDDCPU_B_EN */ 878c2ecf20Sopenharmony_ci }; 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci vddcpu_a: regulator-vddcpu-a { 908c2ecf20Sopenharmony_ci /* 918c2ecf20Sopenharmony_ci * MP1653 Regulator. 928c2ecf20Sopenharmony_ci */ 938c2ecf20Sopenharmony_ci compatible = "pwm-regulator"; 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci regulator-name = "VDDCPU_A"; 968c2ecf20Sopenharmony_ci regulator-min-microvolt = <721000>; 978c2ecf20Sopenharmony_ci regulator-max-microvolt = <1022000>; 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ci pwm-supply = <&main_12v>; 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ci pwms = <&pwm_ab 0 1250 0>; 1028c2ecf20Sopenharmony_ci pwm-dutycycle-range = <100 0>; 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci regulator-boot-on; 1058c2ecf20Sopenharmony_ci regulator-always-on; 1068c2ecf20Sopenharmony_ci }; 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_ci vddcpu_b: regulator-vddcpu-b { 1098c2ecf20Sopenharmony_ci /* 1108c2ecf20Sopenharmony_ci * MP1652 Regulator. 1118c2ecf20Sopenharmony_ci */ 1128c2ecf20Sopenharmony_ci compatible = "pwm-regulator"; 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci regulator-name = "VDDCPU_B"; 1158c2ecf20Sopenharmony_ci regulator-min-microvolt = <721000>; 1168c2ecf20Sopenharmony_ci regulator-max-microvolt = <1022000>; 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci pwm-supply = <&main_12v>; 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_ci pwms = <&pwm_AO_cd 1 1250 0>; 1218c2ecf20Sopenharmony_ci pwm-dutycycle-range = <100 0>; 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci regulator-boot-on; 1248c2ecf20Sopenharmony_ci regulator-always-on; 1258c2ecf20Sopenharmony_ci }; 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci usb1_pow: regulator-usb1-pow { 1288c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 1298c2ecf20Sopenharmony_ci regulator-name = "USB1_POW"; 1308c2ecf20Sopenharmony_ci regulator-min-microvolt = <5000000>; 1318c2ecf20Sopenharmony_ci regulator-max-microvolt = <5000000>; 1328c2ecf20Sopenharmony_ci vin-supply = <&vcc_5v>; 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_ci /* connected to SY6280A Power Switch */ 1358c2ecf20Sopenharmony_ci gpio = <&gpio GPIOA_8 GPIO_ACTIVE_HIGH>; 1368c2ecf20Sopenharmony_ci enable-active-high; 1378c2ecf20Sopenharmony_ci }; 1388c2ecf20Sopenharmony_ci 1398c2ecf20Sopenharmony_ci usb_pwr_en: regulator-usb-pwr-en { 1408c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 1418c2ecf20Sopenharmony_ci regulator-name = "USB_PWR_EN"; 1428c2ecf20Sopenharmony_ci regulator-min-microvolt = <5000000>; 1438c2ecf20Sopenharmony_ci regulator-max-microvolt = <5000000>; 1448c2ecf20Sopenharmony_ci vin-supply = <&vcc_5v>; 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ci /* Connected to USB3 Type-A Port power enable */ 1478c2ecf20Sopenharmony_ci gpio = <&gpio GPIOAO_7 GPIO_ACTIVE_HIGH>; 1488c2ecf20Sopenharmony_ci enable-active-high; 1498c2ecf20Sopenharmony_ci }; 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ci vddao_1v8: regulator-vddao-1v8 { 1528c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 1538c2ecf20Sopenharmony_ci regulator-name = "VDDAO_1V8"; 1548c2ecf20Sopenharmony_ci regulator-min-microvolt = <1800000>; 1558c2ecf20Sopenharmony_ci regulator-max-microvolt = <1800000>; 1568c2ecf20Sopenharmony_ci vin-supply = <&vddao_3v3>; 1578c2ecf20Sopenharmony_ci regulator-always-on; 1588c2ecf20Sopenharmony_ci }; 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ci vddao_3v3: regulator-vddao-3v3 { 1618c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 1628c2ecf20Sopenharmony_ci regulator-name = "VDDAO_3V3"; 1638c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 1648c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 1658c2ecf20Sopenharmony_ci vin-supply = <&main_12v>; 1668c2ecf20Sopenharmony_ci regulator-always-on; 1678c2ecf20Sopenharmony_ci }; 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_ci cvbs-connector { 1708c2ecf20Sopenharmony_ci compatible = "composite-video-connector"; 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ci port { 1738c2ecf20Sopenharmony_ci cvbs_connector_in: endpoint { 1748c2ecf20Sopenharmony_ci remote-endpoint = <&cvbs_vdac_out>; 1758c2ecf20Sopenharmony_ci }; 1768c2ecf20Sopenharmony_ci }; 1778c2ecf20Sopenharmony_ci }; 1788c2ecf20Sopenharmony_ci 1798c2ecf20Sopenharmony_ci hdmi-connector { 1808c2ecf20Sopenharmony_ci compatible = "hdmi-connector"; 1818c2ecf20Sopenharmony_ci type = "a"; 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_ci port { 1848c2ecf20Sopenharmony_ci hdmi_connector_in: endpoint { 1858c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_tx_tmds_out>; 1868c2ecf20Sopenharmony_ci }; 1878c2ecf20Sopenharmony_ci }; 1888c2ecf20Sopenharmony_ci }; 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_ci wifi32k: wifi32k { 1918c2ecf20Sopenharmony_ci compatible = "pwm-clock"; 1928c2ecf20Sopenharmony_ci #clock-cells = <0>; 1938c2ecf20Sopenharmony_ci clock-frequency = <32768>; 1948c2ecf20Sopenharmony_ci pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 1958c2ecf20Sopenharmony_ci }; 1968c2ecf20Sopenharmony_ci}; 1978c2ecf20Sopenharmony_ci 1988c2ecf20Sopenharmony_ci&cec_AO { 1998c2ecf20Sopenharmony_ci pinctrl-0 = <&cec_ao_a_h_pins>; 2008c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2018c2ecf20Sopenharmony_ci status = "disabled"; 2028c2ecf20Sopenharmony_ci hdmi-phandle = <&hdmi_tx>; 2038c2ecf20Sopenharmony_ci}; 2048c2ecf20Sopenharmony_ci 2058c2ecf20Sopenharmony_ci&cecb_AO { 2068c2ecf20Sopenharmony_ci pinctrl-0 = <&cec_ao_b_h_pins>; 2078c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2088c2ecf20Sopenharmony_ci status = "okay"; 2098c2ecf20Sopenharmony_ci hdmi-phandle = <&hdmi_tx>; 2108c2ecf20Sopenharmony_ci}; 2118c2ecf20Sopenharmony_ci 2128c2ecf20Sopenharmony_ci&cpu0 { 2138c2ecf20Sopenharmony_ci cpu-supply = <&vddcpu_b>; 2148c2ecf20Sopenharmony_ci operating-points-v2 = <&cpu_opp_table_0>; 2158c2ecf20Sopenharmony_ci clocks = <&clkc CLKID_CPU_CLK>; 2168c2ecf20Sopenharmony_ci clock-latency = <50000>; 2178c2ecf20Sopenharmony_ci}; 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ci&cpu1 { 2208c2ecf20Sopenharmony_ci cpu-supply = <&vddcpu_b>; 2218c2ecf20Sopenharmony_ci operating-points-v2 = <&cpu_opp_table_0>; 2228c2ecf20Sopenharmony_ci clocks = <&clkc CLKID_CPU_CLK>; 2238c2ecf20Sopenharmony_ci clock-latency = <50000>; 2248c2ecf20Sopenharmony_ci}; 2258c2ecf20Sopenharmony_ci 2268c2ecf20Sopenharmony_ci&cpu100 { 2278c2ecf20Sopenharmony_ci cpu-supply = <&vddcpu_a>; 2288c2ecf20Sopenharmony_ci operating-points-v2 = <&cpub_opp_table_1>; 2298c2ecf20Sopenharmony_ci clocks = <&clkc CLKID_CPUB_CLK>; 2308c2ecf20Sopenharmony_ci clock-latency = <50000>; 2318c2ecf20Sopenharmony_ci}; 2328c2ecf20Sopenharmony_ci 2338c2ecf20Sopenharmony_ci&cpu101 { 2348c2ecf20Sopenharmony_ci cpu-supply = <&vddcpu_a>; 2358c2ecf20Sopenharmony_ci operating-points-v2 = <&cpub_opp_table_1>; 2368c2ecf20Sopenharmony_ci clocks = <&clkc CLKID_CPUB_CLK>; 2378c2ecf20Sopenharmony_ci clock-latency = <50000>; 2388c2ecf20Sopenharmony_ci}; 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ci&cpu102 { 2418c2ecf20Sopenharmony_ci cpu-supply = <&vddcpu_a>; 2428c2ecf20Sopenharmony_ci operating-points-v2 = <&cpub_opp_table_1>; 2438c2ecf20Sopenharmony_ci clocks = <&clkc CLKID_CPUB_CLK>; 2448c2ecf20Sopenharmony_ci clock-latency = <50000>; 2458c2ecf20Sopenharmony_ci}; 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_ci&cpu103 { 2488c2ecf20Sopenharmony_ci cpu-supply = <&vddcpu_a>; 2498c2ecf20Sopenharmony_ci operating-points-v2 = <&cpub_opp_table_1>; 2508c2ecf20Sopenharmony_ci clocks = <&clkc CLKID_CPUB_CLK>; 2518c2ecf20Sopenharmony_ci clock-latency = <50000>; 2528c2ecf20Sopenharmony_ci}; 2538c2ecf20Sopenharmony_ci 2548c2ecf20Sopenharmony_ci&cvbs_vdac_port { 2558c2ecf20Sopenharmony_ci cvbs_vdac_out: endpoint { 2568c2ecf20Sopenharmony_ci remote-endpoint = <&cvbs_connector_in>; 2578c2ecf20Sopenharmony_ci }; 2588c2ecf20Sopenharmony_ci}; 2598c2ecf20Sopenharmony_ci 2608c2ecf20Sopenharmony_ci&ext_mdio { 2618c2ecf20Sopenharmony_ci external_phy: ethernet-phy@0 { 2628c2ecf20Sopenharmony_ci /* Realtek RTL8211F (0x001cc916) */ 2638c2ecf20Sopenharmony_ci reg = <0>; 2648c2ecf20Sopenharmony_ci max-speed = <1000>; 2658c2ecf20Sopenharmony_ci 2668c2ecf20Sopenharmony_ci reset-assert-us = <10000>; 2678c2ecf20Sopenharmony_ci reset-deassert-us = <80000>; 2688c2ecf20Sopenharmony_ci reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; 2698c2ecf20Sopenharmony_ci 2708c2ecf20Sopenharmony_ci interrupt-parent = <&gpio_intc>; 2718c2ecf20Sopenharmony_ci /* MAC_INTR on GPIOZ_14 */ 2728c2ecf20Sopenharmony_ci interrupts = <26 IRQ_TYPE_LEVEL_LOW>; 2738c2ecf20Sopenharmony_ci }; 2748c2ecf20Sopenharmony_ci}; 2758c2ecf20Sopenharmony_ci 2768c2ecf20Sopenharmony_ciðmac { 2778c2ecf20Sopenharmony_ci pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; 2788c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2798c2ecf20Sopenharmony_ci status = "okay"; 2808c2ecf20Sopenharmony_ci phy-mode = "rgmii"; 2818c2ecf20Sopenharmony_ci phy-handle = <&external_phy>; 2828c2ecf20Sopenharmony_ci amlogic,tx-delay-ns = <2>; 2838c2ecf20Sopenharmony_ci}; 2848c2ecf20Sopenharmony_ci 2858c2ecf20Sopenharmony_ci&hdmi_tx { 2868c2ecf20Sopenharmony_ci status = "okay"; 2878c2ecf20Sopenharmony_ci pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; 2888c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2898c2ecf20Sopenharmony_ci hdmi-supply = <&vcc_5v>; 2908c2ecf20Sopenharmony_ci}; 2918c2ecf20Sopenharmony_ci 2928c2ecf20Sopenharmony_ci&hdmi_tx_tmds_port { 2938c2ecf20Sopenharmony_ci hdmi_tx_tmds_out: endpoint { 2948c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_connector_in>; 2958c2ecf20Sopenharmony_ci }; 2968c2ecf20Sopenharmony_ci}; 2978c2ecf20Sopenharmony_ci 2988c2ecf20Sopenharmony_ci&ir { 2998c2ecf20Sopenharmony_ci status = "okay"; 3008c2ecf20Sopenharmony_ci pinctrl-0 = <&remote_input_ao_pins>; 3018c2ecf20Sopenharmony_ci pinctrl-names = "default"; 3028c2ecf20Sopenharmony_ci}; 3038c2ecf20Sopenharmony_ci 3048c2ecf20Sopenharmony_ci&pwm_ab { 3058c2ecf20Sopenharmony_ci pinctrl-0 = <&pwm_a_e_pins>; 3068c2ecf20Sopenharmony_ci pinctrl-names = "default"; 3078c2ecf20Sopenharmony_ci clocks = <&xtal>; 3088c2ecf20Sopenharmony_ci clock-names = "clkin0"; 3098c2ecf20Sopenharmony_ci status = "okay"; 3108c2ecf20Sopenharmony_ci}; 3118c2ecf20Sopenharmony_ci 3128c2ecf20Sopenharmony_ci&pwm_AO_cd { 3138c2ecf20Sopenharmony_ci pinctrl-0 = <&pwm_ao_d_e_pins>; 3148c2ecf20Sopenharmony_ci pinctrl-names = "default"; 3158c2ecf20Sopenharmony_ci clocks = <&xtal>; 3168c2ecf20Sopenharmony_ci clock-names = "clkin1"; 3178c2ecf20Sopenharmony_ci status = "okay"; 3188c2ecf20Sopenharmony_ci}; 3198c2ecf20Sopenharmony_ci 3208c2ecf20Sopenharmony_ci&pwm_ef { 3218c2ecf20Sopenharmony_ci pinctrl-0 = <&pwm_e_pins>; 3228c2ecf20Sopenharmony_ci pinctrl-names = "default"; 3238c2ecf20Sopenharmony_ci clocks = <&xtal>; 3248c2ecf20Sopenharmony_ci clock-names = "clkin0"; 3258c2ecf20Sopenharmony_ci status = "okay"; 3268c2ecf20Sopenharmony_ci}; 3278c2ecf20Sopenharmony_ci 3288c2ecf20Sopenharmony_ci/* SDIO */ 3298c2ecf20Sopenharmony_ci&sd_emmc_a { 3308c2ecf20Sopenharmony_ci status = "okay"; 3318c2ecf20Sopenharmony_ci pinctrl-0 = <&sdio_pins>; 3328c2ecf20Sopenharmony_ci pinctrl-1 = <&sdio_clk_gate_pins>; 3338c2ecf20Sopenharmony_ci pinctrl-names = "default", "clk-gate"; 3348c2ecf20Sopenharmony_ci #address-cells = <1>; 3358c2ecf20Sopenharmony_ci #size-cells = <0>; 3368c2ecf20Sopenharmony_ci 3378c2ecf20Sopenharmony_ci bus-width = <4>; 3388c2ecf20Sopenharmony_ci cap-sd-highspeed; 3398c2ecf20Sopenharmony_ci max-frequency = <100000000>; 3408c2ecf20Sopenharmony_ci 3418c2ecf20Sopenharmony_ci /* WiFi firmware requires power to be kept while in suspend */ 3428c2ecf20Sopenharmony_ci keep-power-in-suspend; 3438c2ecf20Sopenharmony_ci 3448c2ecf20Sopenharmony_ci non-removable; 3458c2ecf20Sopenharmony_ci disable-wp; 3468c2ecf20Sopenharmony_ci 3478c2ecf20Sopenharmony_ci mmc-pwrseq = <&sdio_pwrseq>; 3488c2ecf20Sopenharmony_ci 3498c2ecf20Sopenharmony_ci vmmc-supply = <&vddao_3v3>; 3508c2ecf20Sopenharmony_ci vqmmc-supply = <&vddao_1v8>; 3518c2ecf20Sopenharmony_ci 3528c2ecf20Sopenharmony_ci brcmf: wifi@1 { 3538c2ecf20Sopenharmony_ci reg = <1>; 3548c2ecf20Sopenharmony_ci compatible = "brcm,bcm4329-fmac"; 3558c2ecf20Sopenharmony_ci }; 3568c2ecf20Sopenharmony_ci}; 3578c2ecf20Sopenharmony_ci 3588c2ecf20Sopenharmony_ci/* SD card */ 3598c2ecf20Sopenharmony_ci&sd_emmc_b { 3608c2ecf20Sopenharmony_ci status = "okay"; 3618c2ecf20Sopenharmony_ci pinctrl-0 = <&sdcard_c_pins>; 3628c2ecf20Sopenharmony_ci pinctrl-1 = <&sdcard_clk_gate_c_pins>; 3638c2ecf20Sopenharmony_ci pinctrl-names = "default", "clk-gate"; 3648c2ecf20Sopenharmony_ci 3658c2ecf20Sopenharmony_ci bus-width = <4>; 3668c2ecf20Sopenharmony_ci cap-sd-highspeed; 3678c2ecf20Sopenharmony_ci max-frequency = <50000000>; 3688c2ecf20Sopenharmony_ci disable-wp; 3698c2ecf20Sopenharmony_ci 3708c2ecf20Sopenharmony_ci cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; 3718c2ecf20Sopenharmony_ci vmmc-supply = <&vddao_3v3>; 3728c2ecf20Sopenharmony_ci vqmmc-supply = <&vddao_3v3>; 3738c2ecf20Sopenharmony_ci}; 3748c2ecf20Sopenharmony_ci 3758c2ecf20Sopenharmony_ci/* eMMC */ 3768c2ecf20Sopenharmony_ci&sd_emmc_c { 3778c2ecf20Sopenharmony_ci status = "okay"; 3788c2ecf20Sopenharmony_ci pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 3798c2ecf20Sopenharmony_ci pinctrl-1 = <&emmc_clk_gate_pins>; 3808c2ecf20Sopenharmony_ci pinctrl-names = "default", "clk-gate"; 3818c2ecf20Sopenharmony_ci 3828c2ecf20Sopenharmony_ci bus-width = <8>; 3838c2ecf20Sopenharmony_ci cap-mmc-highspeed; 3848c2ecf20Sopenharmony_ci max-frequency = <100000000>; 3858c2ecf20Sopenharmony_ci disable-wp; 3868c2ecf20Sopenharmony_ci 3878c2ecf20Sopenharmony_ci mmc-pwrseq = <&emmc_pwrseq>; 3888c2ecf20Sopenharmony_ci vmmc-supply = <&vcc_3v3>; 3898c2ecf20Sopenharmony_ci vqmmc-supply = <&flash_1v8>; 3908c2ecf20Sopenharmony_ci}; 3918c2ecf20Sopenharmony_ci 3928c2ecf20Sopenharmony_ci&uart_A { 3938c2ecf20Sopenharmony_ci status = "okay"; 3948c2ecf20Sopenharmony_ci pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 3958c2ecf20Sopenharmony_ci pinctrl-names = "default"; 3968c2ecf20Sopenharmony_ci uart-has-rtscts; 3978c2ecf20Sopenharmony_ci 3988c2ecf20Sopenharmony_ci bluetooth { 3998c2ecf20Sopenharmony_ci compatible = "brcm,bcm43438-bt"; 4008c2ecf20Sopenharmony_ci shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; 4018c2ecf20Sopenharmony_ci max-speed = <2000000>; 4028c2ecf20Sopenharmony_ci clocks = <&wifi32k>; 4038c2ecf20Sopenharmony_ci clock-names = "lpo"; 4048c2ecf20Sopenharmony_ci }; 4058c2ecf20Sopenharmony_ci}; 4068c2ecf20Sopenharmony_ci 4078c2ecf20Sopenharmony_ci&uart_AO { 4088c2ecf20Sopenharmony_ci status = "okay"; 4098c2ecf20Sopenharmony_ci pinctrl-0 = <&uart_ao_a_pins>; 4108c2ecf20Sopenharmony_ci pinctrl-names = "default"; 4118c2ecf20Sopenharmony_ci}; 4128c2ecf20Sopenharmony_ci 4138c2ecf20Sopenharmony_ci&usb { 4148c2ecf20Sopenharmony_ci status = "okay"; 4158c2ecf20Sopenharmony_ci dr_mode = "host"; 4168c2ecf20Sopenharmony_ci vbus-supply = <&usb_pwr_en>; 4178c2ecf20Sopenharmony_ci}; 4188c2ecf20Sopenharmony_ci 4198c2ecf20Sopenharmony_ci&usb2_phy0 { 4208c2ecf20Sopenharmony_ci phy-supply = <&usb1_pow>; 4218c2ecf20Sopenharmony_ci}; 4228c2ecf20Sopenharmony_ci 4238c2ecf20Sopenharmony_ci&usb2_phy1 { 4248c2ecf20Sopenharmony_ci phy-supply = <&usb1_pow>; 4258c2ecf20Sopenharmony_ci}; 426