18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (c) 2019 BayLibre SAS. 48c2ecf20Sopenharmony_ci * Author: Jerome Brunet <jbrunet@baylibre.com> 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci/* Libretech Amlogic GX PC form factor - AKA: Tartiflette */ 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include <dt-bindings/input/input.h> 108c2ecf20Sopenharmony_ci#include <dt-bindings/leds/common.h> 118c2ecf20Sopenharmony_ci#include <dt-bindings/sound/meson-aiu.h> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci/ { 148c2ecf20Sopenharmony_ci adc-keys { 158c2ecf20Sopenharmony_ci compatible = "adc-keys"; 168c2ecf20Sopenharmony_ci io-channels = <&saradc 0>; 178c2ecf20Sopenharmony_ci io-channel-names = "buttons"; 188c2ecf20Sopenharmony_ci keyup-threshold-microvolt = <1800000>; 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci button-update { 218c2ecf20Sopenharmony_ci label = "update"; 228c2ecf20Sopenharmony_ci linux,code = <KEY_VENDOR>; 238c2ecf20Sopenharmony_ci press-threshold-microvolt = <1300000>; 248c2ecf20Sopenharmony_ci }; 258c2ecf20Sopenharmony_ci }; 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci aliases { 288c2ecf20Sopenharmony_ci serial0 = &uart_AO; 298c2ecf20Sopenharmony_ci ethernet0 = ðmac; 308c2ecf20Sopenharmony_ci spi0 = &spifc; 318c2ecf20Sopenharmony_ci }; 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci dio2133: analog-amplifier { 348c2ecf20Sopenharmony_ci compatible = "simple-audio-amplifier"; 358c2ecf20Sopenharmony_ci sound-name-prefix = "AU2"; 368c2ecf20Sopenharmony_ci VCC-supply = <&vcc5v>; 378c2ecf20Sopenharmony_ci enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; 388c2ecf20Sopenharmony_ci }; 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci chosen { 418c2ecf20Sopenharmony_ci stdout-path = "serial0:115200n8"; 428c2ecf20Sopenharmony_ci }; 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci cvbs-connector { 458c2ecf20Sopenharmony_ci compatible = "composite-video-connector"; 468c2ecf20Sopenharmony_ci status = "disabled"; 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci port { 498c2ecf20Sopenharmony_ci cvbs_connector_in: endpoint { 508c2ecf20Sopenharmony_ci remote-endpoint = <&cvbs_vdac_out>; 518c2ecf20Sopenharmony_ci }; 528c2ecf20Sopenharmony_ci }; 538c2ecf20Sopenharmony_ci }; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci emmc_pwrseq: emmc-pwrseq { 568c2ecf20Sopenharmony_ci compatible = "mmc-pwrseq-emmc"; 578c2ecf20Sopenharmony_ci reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 588c2ecf20Sopenharmony_ci }; 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci hdmi-connector { 618c2ecf20Sopenharmony_ci compatible = "hdmi-connector"; 628c2ecf20Sopenharmony_ci type = "a"; 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci port { 658c2ecf20Sopenharmony_ci hdmi_connector_in: endpoint { 668c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_tx_tmds_out>; 678c2ecf20Sopenharmony_ci }; 688c2ecf20Sopenharmony_ci }; 698c2ecf20Sopenharmony_ci }; 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci gpio-keys-polled { 728c2ecf20Sopenharmony_ci compatible = "gpio-keys-polled"; 738c2ecf20Sopenharmony_ci poll-interval = <100>; 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci power-button { 768c2ecf20Sopenharmony_ci label = "power"; 778c2ecf20Sopenharmony_ci linux,code = <KEY_POWER>; 788c2ecf20Sopenharmony_ci gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 798c2ecf20Sopenharmony_ci }; 808c2ecf20Sopenharmony_ci }; 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ci memory@0 { 838c2ecf20Sopenharmony_ci device_type = "memory"; 848c2ecf20Sopenharmony_ci reg = <0x0 0x0 0x0 0x80000000>; 858c2ecf20Sopenharmony_ci }; 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci ao_5v: regulator-ao_5v { 888c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 898c2ecf20Sopenharmony_ci regulator-name = "AO_5V"; 908c2ecf20Sopenharmony_ci regulator-min-microvolt = <5000000>; 918c2ecf20Sopenharmony_ci regulator-max-microvolt = <5000000>; 928c2ecf20Sopenharmony_ci vin-supply = <&dc_in>; 938c2ecf20Sopenharmony_ci regulator-always-on; 948c2ecf20Sopenharmony_ci }; 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci dc_in: regulator-dc_in { 978c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 988c2ecf20Sopenharmony_ci regulator-name = "DC_IN"; 998c2ecf20Sopenharmony_ci regulator-min-microvolt = <5000000>; 1008c2ecf20Sopenharmony_ci regulator-max-microvolt = <5000000>; 1018c2ecf20Sopenharmony_ci regulator-always-on; 1028c2ecf20Sopenharmony_ci }; 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci leds { 1058c2ecf20Sopenharmony_ci compatible = "gpio-leds"; 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ci led-green { 1088c2ecf20Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 1098c2ecf20Sopenharmony_ci function = LED_FUNCTION_DISK_ACTIVITY; 1108c2ecf20Sopenharmony_ci gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>; 1118c2ecf20Sopenharmony_ci linux,default-trigger = "disk-activity"; 1128c2ecf20Sopenharmony_ci }; 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci led-blue { 1158c2ecf20Sopenharmony_ci color = <LED_COLOR_ID_BLUE>; 1168c2ecf20Sopenharmony_ci function = LED_FUNCTION_STATUS; 1178c2ecf20Sopenharmony_ci gpios = <&gpio GPIODV_28 GPIO_ACTIVE_HIGH>; 1188c2ecf20Sopenharmony_ci linux,default-trigger = "heartbeat"; 1198c2ecf20Sopenharmony_ci panic-indicator; 1208c2ecf20Sopenharmony_ci }; 1218c2ecf20Sopenharmony_ci }; 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci vcc_card: regulator-vcc_card { 1248c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 1258c2ecf20Sopenharmony_ci regulator-name = "VCC_CARD"; 1268c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 1278c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 1288c2ecf20Sopenharmony_ci vin-supply = <&vddio_ao3v3>; 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ci gpio = <&gpio GPIODV_4 GPIO_ACTIVE_HIGH>; 1318c2ecf20Sopenharmony_ci enable-active-high; 1328c2ecf20Sopenharmony_ci }; 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_ci vcc5v: regulator-vcc5v { 1358c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 1368c2ecf20Sopenharmony_ci regulator-name = "VCC5V"; 1378c2ecf20Sopenharmony_ci regulator-min-microvolt = <5000000>; 1388c2ecf20Sopenharmony_ci regulator-max-microvolt = <5000000>; 1398c2ecf20Sopenharmony_ci vin-supply = <&ao_5v>; 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci gpio = <&gpio GPIOH_3 GPIO_OPEN_DRAIN>; 1428c2ecf20Sopenharmony_ci }; 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ci vddio_ao18: regulator-vddio_ao18 { 1458c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 1468c2ecf20Sopenharmony_ci regulator-name = "VDDIO_AO18"; 1478c2ecf20Sopenharmony_ci regulator-min-microvolt = <1800000>; 1488c2ecf20Sopenharmony_ci regulator-max-microvolt = <1800000>; 1498c2ecf20Sopenharmony_ci vin-supply = <&ao_5v>; 1508c2ecf20Sopenharmony_ci regulator-always-on; 1518c2ecf20Sopenharmony_ci }; 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ci vddio_ao3v3: regulator-vddio_ao3v3 { 1548c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 1558c2ecf20Sopenharmony_ci regulator-name = "VDDIO_AO3V3"; 1568c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 1578c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 1588c2ecf20Sopenharmony_ci vin-supply = <&ao_5v>; 1598c2ecf20Sopenharmony_ci regulator-always-on; 1608c2ecf20Sopenharmony_ci }; 1618c2ecf20Sopenharmony_ci 1628c2ecf20Sopenharmony_ci vddio_boot: regulator-vddio_boot { 1638c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 1648c2ecf20Sopenharmony_ci regulator-name = "VDDIO_BOOT"; 1658c2ecf20Sopenharmony_ci regulator-min-microvolt = <1800000>; 1668c2ecf20Sopenharmony_ci regulator-max-microvolt = <1800000>; 1678c2ecf20Sopenharmony_ci vin-supply = <&vddio_ao3v3>; 1688c2ecf20Sopenharmony_ci regulator-always-on; 1698c2ecf20Sopenharmony_ci }; 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci vddio_card: regulator-vddio-card { 1728c2ecf20Sopenharmony_ci compatible = "regulator-gpio"; 1738c2ecf20Sopenharmony_ci regulator-name = "VDDIO_CARD"; 1748c2ecf20Sopenharmony_ci regulator-min-microvolt = <1800000>; 1758c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ci gpios = <&gpio GPIODV_5 GPIO_ACTIVE_HIGH>; 1788c2ecf20Sopenharmony_ci gpios-states = <0>; 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ci states = <3300000 0>, 1818c2ecf20Sopenharmony_ci <1800000 1>; 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_ci regulator-settling-time-up-us = <200>; 1848c2ecf20Sopenharmony_ci regulator-settling-time-down-us = <50000>; 1858c2ecf20Sopenharmony_ci }; 1868c2ecf20Sopenharmony_ci 1878c2ecf20Sopenharmony_ci sound { 1888c2ecf20Sopenharmony_ci compatible = "amlogic,gx-sound-card"; 1898c2ecf20Sopenharmony_ci model = "GXL-LIBRETECH-S9XX-PC"; 1908c2ecf20Sopenharmony_ci audio-aux-devs = <&dio2133>; 1918c2ecf20Sopenharmony_ci audio-widgets = "Speaker", "7J4-14 LEFT", 1928c2ecf20Sopenharmony_ci "Speaker", "7J4-11 RIGHT"; 1938c2ecf20Sopenharmony_ci audio-routing = "AU2 INL", "ACODEC LOLN", 1948c2ecf20Sopenharmony_ci "AU2 INR", "ACODEC LORN", 1958c2ecf20Sopenharmony_ci "7J4-14 LEFT", "AU2 OUTL", 1968c2ecf20Sopenharmony_ci "7J4-11 RIGHT", "AU2 OUTR"; 1978c2ecf20Sopenharmony_ci assigned-clocks = <&clkc CLKID_MPLL0>, 1988c2ecf20Sopenharmony_ci <&clkc CLKID_MPLL1>, 1998c2ecf20Sopenharmony_ci <&clkc CLKID_MPLL2>; 2008c2ecf20Sopenharmony_ci assigned-clock-parents = <0>, <0>, <0>; 2018c2ecf20Sopenharmony_ci assigned-clock-rates = <294912000>, 2028c2ecf20Sopenharmony_ci <270950400>, 2038c2ecf20Sopenharmony_ci <393216000>; 2048c2ecf20Sopenharmony_ci status = "okay"; 2058c2ecf20Sopenharmony_ci 2068c2ecf20Sopenharmony_ci dai-link-0 { 2078c2ecf20Sopenharmony_ci sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; 2088c2ecf20Sopenharmony_ci }; 2098c2ecf20Sopenharmony_ci 2108c2ecf20Sopenharmony_ci dai-link-1 { 2118c2ecf20Sopenharmony_ci sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>; 2128c2ecf20Sopenharmony_ci dai-format = "i2s"; 2138c2ecf20Sopenharmony_ci mclk-fs = <256>; 2148c2ecf20Sopenharmony_ci 2158c2ecf20Sopenharmony_ci codec-0 { 2168c2ecf20Sopenharmony_ci sound-dai = <&aiu AIU_HDMI CTRL_I2S>; 2178c2ecf20Sopenharmony_ci }; 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ci codec-1 { 2208c2ecf20Sopenharmony_ci sound-dai = <&aiu AIU_ACODEC CTRL_I2S>; 2218c2ecf20Sopenharmony_ci }; 2228c2ecf20Sopenharmony_ci }; 2238c2ecf20Sopenharmony_ci 2248c2ecf20Sopenharmony_ci dai-link-2 { 2258c2ecf20Sopenharmony_ci sound-dai = <&aiu AIU_HDMI CTRL_OUT>; 2268c2ecf20Sopenharmony_ci 2278c2ecf20Sopenharmony_ci codec-0 { 2288c2ecf20Sopenharmony_ci sound-dai = <&hdmi_tx>; 2298c2ecf20Sopenharmony_ci }; 2308c2ecf20Sopenharmony_ci }; 2318c2ecf20Sopenharmony_ci 2328c2ecf20Sopenharmony_ci dai-link-3 { 2338c2ecf20Sopenharmony_ci sound-dai = <&aiu AIU_ACODEC CTRL_OUT>; 2348c2ecf20Sopenharmony_ci 2358c2ecf20Sopenharmony_ci codec-0 { 2368c2ecf20Sopenharmony_ci sound-dai = <&acodec>; 2378c2ecf20Sopenharmony_ci }; 2388c2ecf20Sopenharmony_ci }; 2398c2ecf20Sopenharmony_ci }; 2408c2ecf20Sopenharmony_ci}; 2418c2ecf20Sopenharmony_ci 2428c2ecf20Sopenharmony_ci&acodec { 2438c2ecf20Sopenharmony_ci AVDD-supply = <&vddio_ao18>; 2448c2ecf20Sopenharmony_ci status = "okay"; 2458c2ecf20Sopenharmony_ci}; 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_ci&aiu { 2488c2ecf20Sopenharmony_ci status = "okay"; 2498c2ecf20Sopenharmony_ci}; 2508c2ecf20Sopenharmony_ci 2518c2ecf20Sopenharmony_ci&cec_AO { 2528c2ecf20Sopenharmony_ci pinctrl-0 = <&ao_cec_pins>; 2538c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2548c2ecf20Sopenharmony_ci hdmi-phandle = <&hdmi_tx>; 2558c2ecf20Sopenharmony_ci status = "okay"; 2568c2ecf20Sopenharmony_ci}; 2578c2ecf20Sopenharmony_ci 2588c2ecf20Sopenharmony_ci&cvbs_vdac_port { 2598c2ecf20Sopenharmony_ci cvbs_vdac_out: endpoint { 2608c2ecf20Sopenharmony_ci remote-endpoint = <&cvbs_connector_in>; 2618c2ecf20Sopenharmony_ci }; 2628c2ecf20Sopenharmony_ci}; 2638c2ecf20Sopenharmony_ci 2648c2ecf20Sopenharmony_ciðmac { 2658c2ecf20Sopenharmony_ci pinctrl-0 = <ð_pins>, <ð_phy_irq_pins>; 2668c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2678c2ecf20Sopenharmony_ci phy-handle = <&external_phy>; 2688c2ecf20Sopenharmony_ci amlogic,tx-delay-ns = <2>; 2698c2ecf20Sopenharmony_ci phy-mode = "rgmii"; 2708c2ecf20Sopenharmony_ci status = "okay"; 2718c2ecf20Sopenharmony_ci}; 2728c2ecf20Sopenharmony_ci 2738c2ecf20Sopenharmony_ci&external_mdio { 2748c2ecf20Sopenharmony_ci external_phy: ethernet-phy@0 { 2758c2ecf20Sopenharmony_ci reg = <0>; 2768c2ecf20Sopenharmony_ci max-speed = <1000>; 2778c2ecf20Sopenharmony_ci reset-assert-us = <10000>; 2788c2ecf20Sopenharmony_ci reset-deassert-us = <30000>; 2798c2ecf20Sopenharmony_ci reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 2808c2ecf20Sopenharmony_ci interrupt-parent = <&gpio_intc>; 2818c2ecf20Sopenharmony_ci interrupts = <25 IRQ_TYPE_LEVEL_LOW>; 2828c2ecf20Sopenharmony_ci }; 2838c2ecf20Sopenharmony_ci}; 2848c2ecf20Sopenharmony_ci 2858c2ecf20Sopenharmony_ci&pinctrl_periphs { 2868c2ecf20Sopenharmony_ci /* 2878c2ecf20Sopenharmony_ci * Make sure the reset pin of the usb HUB is driven high to take 2888c2ecf20Sopenharmony_ci * it out of reset. 2898c2ecf20Sopenharmony_ci */ 2908c2ecf20Sopenharmony_ci usb1_rst_pins: usb1_rst_irq { 2918c2ecf20Sopenharmony_ci mux { 2928c2ecf20Sopenharmony_ci groups = "GPIODV_3"; 2938c2ecf20Sopenharmony_ci function = "gpio_periphs"; 2948c2ecf20Sopenharmony_ci bias-disable; 2958c2ecf20Sopenharmony_ci output-high; 2968c2ecf20Sopenharmony_ci }; 2978c2ecf20Sopenharmony_ci }; 2988c2ecf20Sopenharmony_ci 2998c2ecf20Sopenharmony_ci /* Make sure the phy irq pin is properly configured as input */ 3008c2ecf20Sopenharmony_ci eth_phy_irq_pins: eth_phy_irq { 3018c2ecf20Sopenharmony_ci mux { 3028c2ecf20Sopenharmony_ci groups = "GPIOZ_15"; 3038c2ecf20Sopenharmony_ci function = "gpio_periphs"; 3048c2ecf20Sopenharmony_ci bias-disable; 3058c2ecf20Sopenharmony_ci output-disable; 3068c2ecf20Sopenharmony_ci }; 3078c2ecf20Sopenharmony_ci }; 3088c2ecf20Sopenharmony_ci}; 3098c2ecf20Sopenharmony_ci 3108c2ecf20Sopenharmony_ci&hdmi_tx { 3118c2ecf20Sopenharmony_ci pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 3128c2ecf20Sopenharmony_ci pinctrl-names = "default"; 3138c2ecf20Sopenharmony_ci hdmi-supply = <&vcc5v>; 3148c2ecf20Sopenharmony_ci status = "okay"; 3158c2ecf20Sopenharmony_ci}; 3168c2ecf20Sopenharmony_ci 3178c2ecf20Sopenharmony_ci&hdmi_tx_tmds_port { 3188c2ecf20Sopenharmony_ci hdmi_tx_tmds_out: endpoint { 3198c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_connector_in>; 3208c2ecf20Sopenharmony_ci }; 3218c2ecf20Sopenharmony_ci}; 3228c2ecf20Sopenharmony_ci 3238c2ecf20Sopenharmony_ci&ir { 3248c2ecf20Sopenharmony_ci pinctrl-0 = <&remote_input_ao_pins>; 3258c2ecf20Sopenharmony_ci pinctrl-names = "default"; 3268c2ecf20Sopenharmony_ci status = "okay"; 3278c2ecf20Sopenharmony_ci}; 3288c2ecf20Sopenharmony_ci 3298c2ecf20Sopenharmony_ci&i2c_C { 3308c2ecf20Sopenharmony_ci pinctrl-0 = <&i2c_c_dv18_pins>; 3318c2ecf20Sopenharmony_ci pinctrl-names = "default"; 3328c2ecf20Sopenharmony_ci status = "okay"; 3338c2ecf20Sopenharmony_ci 3348c2ecf20Sopenharmony_ci rtc: rtc@51 { 3358c2ecf20Sopenharmony_ci reg = <0x51>; 3368c2ecf20Sopenharmony_ci compatible = "nxp,pcf8563"; 3378c2ecf20Sopenharmony_ci #clock-cells = <0>; 3388c2ecf20Sopenharmony_ci clock-output-names = "rtc_clkout"; 3398c2ecf20Sopenharmony_ci }; 3408c2ecf20Sopenharmony_ci}; 3418c2ecf20Sopenharmony_ci 3428c2ecf20Sopenharmony_ci&pwm_AO_ab { 3438c2ecf20Sopenharmony_ci pinctrl-0 = <&pwm_ao_a_3_pins>; 3448c2ecf20Sopenharmony_ci pinctrl-names = "default"; 3458c2ecf20Sopenharmony_ci clocks = <&clkc CLKID_FCLK_DIV4>; 3468c2ecf20Sopenharmony_ci clock-names = "clkin0"; 3478c2ecf20Sopenharmony_ci status = "okay"; 3488c2ecf20Sopenharmony_ci}; 3498c2ecf20Sopenharmony_ci 3508c2ecf20Sopenharmony_ci&pwm_ab { 3518c2ecf20Sopenharmony_ci pinctrl-0 = <&pwm_b_pins>; 3528c2ecf20Sopenharmony_ci pinctrl-names = "default"; 3538c2ecf20Sopenharmony_ci clocks = <&clkc CLKID_FCLK_DIV4>; 3548c2ecf20Sopenharmony_ci clock-names = "clkin0"; 3558c2ecf20Sopenharmony_ci status = "okay"; 3568c2ecf20Sopenharmony_ci}; 3578c2ecf20Sopenharmony_ci 3588c2ecf20Sopenharmony_ci&pwm_ef { 3598c2ecf20Sopenharmony_ci pinctrl-0 = <&pwm_e_pins>, <&pwm_f_clk_pins>; 3608c2ecf20Sopenharmony_ci pinctrl-names = "default"; 3618c2ecf20Sopenharmony_ci clocks = <&clkc CLKID_FCLK_DIV4>; 3628c2ecf20Sopenharmony_ci clock-names = "clkin0"; 3638c2ecf20Sopenharmony_ci status = "okay"; 3648c2ecf20Sopenharmony_ci}; 3658c2ecf20Sopenharmony_ci 3668c2ecf20Sopenharmony_ci&saradc { 3678c2ecf20Sopenharmony_ci vref-supply = <&vddio_ao18>; 3688c2ecf20Sopenharmony_ci status = "okay"; 3698c2ecf20Sopenharmony_ci}; 3708c2ecf20Sopenharmony_ci 3718c2ecf20Sopenharmony_ci/* SD card */ 3728c2ecf20Sopenharmony_ci&sd_emmc_b { 3738c2ecf20Sopenharmony_ci pinctrl-0 = <&sdcard_pins>; 3748c2ecf20Sopenharmony_ci pinctrl-1 = <&sdcard_clk_gate_pins>; 3758c2ecf20Sopenharmony_ci pinctrl-names = "default", "clk-gate"; 3768c2ecf20Sopenharmony_ci 3778c2ecf20Sopenharmony_ci bus-width = <4>; 3788c2ecf20Sopenharmony_ci cap-sd-highspeed; 3798c2ecf20Sopenharmony_ci sd-uhs-sdr12; 3808c2ecf20Sopenharmony_ci sd-uhs-sdr25; 3818c2ecf20Sopenharmony_ci sd-uhs-sdr50; 3828c2ecf20Sopenharmony_ci sd-uhs-ddr50; 3838c2ecf20Sopenharmony_ci max-frequency = <200000000>; 3848c2ecf20Sopenharmony_ci disable-wp; 3858c2ecf20Sopenharmony_ci 3868c2ecf20Sopenharmony_ci cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 3878c2ecf20Sopenharmony_ci 3888c2ecf20Sopenharmony_ci vmmc-supply = <&vcc_card>; 3898c2ecf20Sopenharmony_ci vqmmc-supply = <&vddio_card>; 3908c2ecf20Sopenharmony_ci 3918c2ecf20Sopenharmony_ci status = "okay"; 3928c2ecf20Sopenharmony_ci}; 3938c2ecf20Sopenharmony_ci 3948c2ecf20Sopenharmony_ci/* eMMC */ 3958c2ecf20Sopenharmony_ci&sd_emmc_c { 3968c2ecf20Sopenharmony_ci pinctrl-0 = <&emmc_pins>; 3978c2ecf20Sopenharmony_ci pinctrl-1 = <&emmc_clk_gate_pins>; 3988c2ecf20Sopenharmony_ci pinctrl-names = "default", "clk-gate"; 3998c2ecf20Sopenharmony_ci 4008c2ecf20Sopenharmony_ci bus-width = <8>; 4018c2ecf20Sopenharmony_ci cap-mmc-highspeed; 4028c2ecf20Sopenharmony_ci mmc-ddr-1_8v; 4038c2ecf20Sopenharmony_ci mmc-hs200-1_8v; 4048c2ecf20Sopenharmony_ci max-frequency = <200000000>; 4058c2ecf20Sopenharmony_ci disable-wp; 4068c2ecf20Sopenharmony_ci 4078c2ecf20Sopenharmony_ci mmc-pwrseq = <&emmc_pwrseq>; 4088c2ecf20Sopenharmony_ci vmmc-supply = <&vddio_ao3v3>; 4098c2ecf20Sopenharmony_ci vqmmc-supply = <&vddio_boot>; 4108c2ecf20Sopenharmony_ci 4118c2ecf20Sopenharmony_ci status = "okay"; 4128c2ecf20Sopenharmony_ci}; 4138c2ecf20Sopenharmony_ci 4148c2ecf20Sopenharmony_ci&spifc { 4158c2ecf20Sopenharmony_ci pinctrl-0 = <&nor_pins>; 4168c2ecf20Sopenharmony_ci pinctrl-names = "default"; 4178c2ecf20Sopenharmony_ci status = "okay"; 4188c2ecf20Sopenharmony_ci 4198c2ecf20Sopenharmony_ci gd25lq128: spi-flash@0 { 4208c2ecf20Sopenharmony_ci compatible = "jedec,spi-nor"; 4218c2ecf20Sopenharmony_ci #address-cells = <1>; 4228c2ecf20Sopenharmony_ci #size-cells = <1>; 4238c2ecf20Sopenharmony_ci reg = <0>; 4248c2ecf20Sopenharmony_ci spi-max-frequency = <12000000>; 4258c2ecf20Sopenharmony_ci }; 4268c2ecf20Sopenharmony_ci}; 4278c2ecf20Sopenharmony_ci 4288c2ecf20Sopenharmony_ci&uart_AO { 4298c2ecf20Sopenharmony_ci pinctrl-0 = <&uart_ao_a_pins>; 4308c2ecf20Sopenharmony_ci pinctrl-names = "default"; 4318c2ecf20Sopenharmony_ci status = "okay"; 4328c2ecf20Sopenharmony_ci}; 4338c2ecf20Sopenharmony_ci 4348c2ecf20Sopenharmony_ci&usb { 4358c2ecf20Sopenharmony_ci status = "okay"; 4368c2ecf20Sopenharmony_ci dr_mode = "host"; 4378c2ecf20Sopenharmony_ci}; 4388c2ecf20Sopenharmony_ci 4398c2ecf20Sopenharmony_ci&usb2_phy0 { 4408c2ecf20Sopenharmony_ci pinctrl-0 = <&usb1_rst_pins>; 4418c2ecf20Sopenharmony_ci pinctrl-names = "default"; 4428c2ecf20Sopenharmony_ci phy-supply = <&vcc5v>; 4438c2ecf20Sopenharmony_ci}; 4448c2ecf20Sopenharmony_ci 4458c2ecf20Sopenharmony_ci&usb2_phy1 { 4468c2ecf20Sopenharmony_ci phy-supply = <&vcc5v>; 4478c2ecf20Sopenharmony_ci}; 448