18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (c) 2017 Martin Blumenstingl <martin.blumenstingl@googlemail.com>. 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci/dts-v1/; 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#include <dt-bindings/input/input.h> 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#include "meson-gxl-s905x-p212.dtsi" 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci/ { 138c2ecf20Sopenharmony_ci compatible = "khadas,vim", "amlogic,s905x", "amlogic,meson-gxl"; 148c2ecf20Sopenharmony_ci model = "Khadas VIM"; 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci adc-keys { 178c2ecf20Sopenharmony_ci compatible = "adc-keys"; 188c2ecf20Sopenharmony_ci io-channels = <&saradc 0>; 198c2ecf20Sopenharmony_ci io-channel-names = "buttons"; 208c2ecf20Sopenharmony_ci keyup-threshold-microvolt = <1710000>; 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci button-function { 238c2ecf20Sopenharmony_ci label = "Function"; 248c2ecf20Sopenharmony_ci linux,code = <KEY_FN>; 258c2ecf20Sopenharmony_ci press-threshold-microvolt = <10000>; 268c2ecf20Sopenharmony_ci }; 278c2ecf20Sopenharmony_ci }; 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci aliases { 308c2ecf20Sopenharmony_ci serial2 = &uart_AO_B; 318c2ecf20Sopenharmony_ci ethernet0 = ðmac; 328c2ecf20Sopenharmony_ci }; 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci gpio-keys-polled { 358c2ecf20Sopenharmony_ci compatible = "gpio-keys-polled"; 368c2ecf20Sopenharmony_ci poll-interval = <100>; 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci power-button { 398c2ecf20Sopenharmony_ci label = "power"; 408c2ecf20Sopenharmony_ci linux,code = <KEY_POWER>; 418c2ecf20Sopenharmony_ci gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 428c2ecf20Sopenharmony_ci }; 438c2ecf20Sopenharmony_ci }; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci pwmleds { 468c2ecf20Sopenharmony_ci compatible = "pwm-leds"; 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci power { 498c2ecf20Sopenharmony_ci label = "vim:red:power"; 508c2ecf20Sopenharmony_ci pwms = <&pwm_AO_ab 1 7812500 0>; 518c2ecf20Sopenharmony_ci max-brightness = <255>; 528c2ecf20Sopenharmony_ci linux,default-trigger = "default-on"; 538c2ecf20Sopenharmony_ci }; 548c2ecf20Sopenharmony_ci }; 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci hdmi-connector { 578c2ecf20Sopenharmony_ci compatible = "hdmi-connector"; 588c2ecf20Sopenharmony_ci type = "a"; 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci port { 618c2ecf20Sopenharmony_ci hdmi_connector_in: endpoint { 628c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_tx_tmds_out>; 638c2ecf20Sopenharmony_ci }; 648c2ecf20Sopenharmony_ci }; 658c2ecf20Sopenharmony_ci }; 668c2ecf20Sopenharmony_ci}; 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci&cec_AO { 698c2ecf20Sopenharmony_ci status = "okay"; 708c2ecf20Sopenharmony_ci pinctrl-0 = <&ao_cec_pins>; 718c2ecf20Sopenharmony_ci pinctrl-names = "default"; 728c2ecf20Sopenharmony_ci hdmi-phandle = <&hdmi_tx>; 738c2ecf20Sopenharmony_ci}; 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci&hdmi_tx { 768c2ecf20Sopenharmony_ci status = "okay"; 778c2ecf20Sopenharmony_ci pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 788c2ecf20Sopenharmony_ci pinctrl-names = "default"; 798c2ecf20Sopenharmony_ci hdmi-supply = <&hdmi_5v>; 808c2ecf20Sopenharmony_ci}; 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ci&hdmi_tx_tmds_port { 838c2ecf20Sopenharmony_ci hdmi_tx_tmds_out: endpoint { 848c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_connector_in>; 858c2ecf20Sopenharmony_ci }; 868c2ecf20Sopenharmony_ci}; 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ci&i2c_A { 898c2ecf20Sopenharmony_ci status = "okay"; 908c2ecf20Sopenharmony_ci pinctrl-0 = <&i2c_a_pins>; 918c2ecf20Sopenharmony_ci pinctrl-names = "default"; 928c2ecf20Sopenharmony_ci}; 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci&i2c_B { 958c2ecf20Sopenharmony_ci status = "okay"; 968c2ecf20Sopenharmony_ci pinctrl-0 = <&i2c_b_pins>; 978c2ecf20Sopenharmony_ci pinctrl-names = "default"; 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ci rtc: rtc@51 { 1008c2ecf20Sopenharmony_ci /* has to be enabled manually when a battery is connected: */ 1018c2ecf20Sopenharmony_ci status = "disabled"; 1028c2ecf20Sopenharmony_ci compatible = "haoyu,hym8563"; 1038c2ecf20Sopenharmony_ci reg = <0x51>; 1048c2ecf20Sopenharmony_ci #clock-cells = <0>; 1058c2ecf20Sopenharmony_ci clock-frequency = <32768>; 1068c2ecf20Sopenharmony_ci clock-output-names = "xin32k"; 1078c2ecf20Sopenharmony_ci }; 1088c2ecf20Sopenharmony_ci}; 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ci&ir { 1118c2ecf20Sopenharmony_ci linux,rc-map-name = "rc-khadas"; 1128c2ecf20Sopenharmony_ci}; 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci&gpio_ao { 1158c2ecf20Sopenharmony_ci gpio-line-names = "UART TX", 1168c2ecf20Sopenharmony_ci "UART RX", 1178c2ecf20Sopenharmony_ci "Power Key In", 1188c2ecf20Sopenharmony_ci "J9 Header Pin35", 1198c2ecf20Sopenharmony_ci "J9 Header Pin16", 1208c2ecf20Sopenharmony_ci "J9 Header Pin15", 1218c2ecf20Sopenharmony_ci "J9 Header Pin33", 1228c2ecf20Sopenharmony_ci "IR In", 1238c2ecf20Sopenharmony_ci "HDMI CEC", 1248c2ecf20Sopenharmony_ci "SYS LED", 1258c2ecf20Sopenharmony_ci /* GPIO_TEST_N */ 1268c2ecf20Sopenharmony_ci ""; 1278c2ecf20Sopenharmony_ci}; 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_ci&gpio { 1308c2ecf20Sopenharmony_ci gpio-line-names = /* Bank GPIOZ */ 1318c2ecf20Sopenharmony_ci "", "", "", "", "", "", "", 1328c2ecf20Sopenharmony_ci "", "", "", "", "", "", "", 1338c2ecf20Sopenharmony_ci "Power OFF", 1348c2ecf20Sopenharmony_ci "VCCK Enable", 1358c2ecf20Sopenharmony_ci /* Bank GPIOH */ 1368c2ecf20Sopenharmony_ci "HDMI HPD", "HDMI SDA", "HDMI SCL", 1378c2ecf20Sopenharmony_ci "HDMI_5V_EN", "SPDIF", 1388c2ecf20Sopenharmony_ci "J9 Header Pin37", 1398c2ecf20Sopenharmony_ci "J9 Header Pin30", 1408c2ecf20Sopenharmony_ci "J9 Header Pin29", 1418c2ecf20Sopenharmony_ci "J9 Header Pin32", 1428c2ecf20Sopenharmony_ci "J9 Header Pin31", 1438c2ecf20Sopenharmony_ci /* Bank BOOT */ 1448c2ecf20Sopenharmony_ci "eMMC D0", "eMMC D1", "eMMC D2", "eMMC D3", 1458c2ecf20Sopenharmony_ci "eMMC D4", "eMMC D5", "eMMC D6", "eMMC D7", 1468c2ecf20Sopenharmony_ci "eMMC Clk", "eMMC Reset", "eMMC CMD", 1478c2ecf20Sopenharmony_ci "", "BOOT_MODE", "", "", "eMMC Data Strobe", 1488c2ecf20Sopenharmony_ci /* Bank CARD */ 1498c2ecf20Sopenharmony_ci "SDCard D1", "SDCard D0", "SDCard CLK", "SDCard CMD", 1508c2ecf20Sopenharmony_ci "SDCard D3", "SDCard D2", "SDCard Det", 1518c2ecf20Sopenharmony_ci /* Bank GPIODV */ 1528c2ecf20Sopenharmony_ci "", "", "", "", "", "", "", "", "", "", "", "", 1538c2ecf20Sopenharmony_ci "", "", "", "", "", "", "", "", "", "", "", "", 1548c2ecf20Sopenharmony_ci "I2C A SDA", "I2C A SCK", "I2C B SDA", "I2C B SCK", 1558c2ecf20Sopenharmony_ci "VCCK Regulator", "VDDEE Regulator", 1568c2ecf20Sopenharmony_ci /* Bank GPIOX */ 1578c2ecf20Sopenharmony_ci "WIFI SDIO D0", "WIFI SDIO D1", "WIFI SDIO D2", 1588c2ecf20Sopenharmony_ci "WIFI SDIO D3", "WIFI SDIO CLK", "WIFI SDIO CMD", 1598c2ecf20Sopenharmony_ci "WIFI Power Enable", "WIFI WAKE HOST", 1608c2ecf20Sopenharmony_ci "Bluetooth PCM DOUT", "Bluetooth PCM DIN", 1618c2ecf20Sopenharmony_ci "Bluetooth PCM SYNC", "Bluetooth PCM CLK", 1628c2ecf20Sopenharmony_ci "Bluetooth UART TX", "Bluetooth UART RX", 1638c2ecf20Sopenharmony_ci "Bluetooth UART CTS", "Bluetooth UART RTS", 1648c2ecf20Sopenharmony_ci "WIFI 32K", "Bluetooth Enable", 1658c2ecf20Sopenharmony_ci "Bluetooth WAKE HOST", 1668c2ecf20Sopenharmony_ci /* Bank GPIOCLK */ 1678c2ecf20Sopenharmony_ci "", "J9 Header Pin39"; 1688c2ecf20Sopenharmony_ci}; 1698c2ecf20Sopenharmony_ci 1708c2ecf20Sopenharmony_ci&pwm_AO_ab { 1718c2ecf20Sopenharmony_ci status = "okay"; 1728c2ecf20Sopenharmony_ci pinctrl-0 = <&pwm_ao_a_3_pins>, <&pwm_ao_b_pins>; 1738c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1748c2ecf20Sopenharmony_ci clocks = <&xtal> , <&xtal>; 1758c2ecf20Sopenharmony_ci clock-names = "clkin0", "clkin1" ; 1768c2ecf20Sopenharmony_ci}; 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ci&pwm_ef { 1798c2ecf20Sopenharmony_ci pinctrl-0 = <&pwm_e_pins>, <&pwm_f_clk_pins>; 1808c2ecf20Sopenharmony_ci}; 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ci&sd_emmc_a { 1838c2ecf20Sopenharmony_ci brcmf: wifi@1 { 1848c2ecf20Sopenharmony_ci reg = <1>; 1858c2ecf20Sopenharmony_ci compatible = "brcm,bcm4329-fmac"; 1868c2ecf20Sopenharmony_ci }; 1878c2ecf20Sopenharmony_ci}; 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_ci&uart_A { 1908c2ecf20Sopenharmony_ci bluetooth { 1918c2ecf20Sopenharmony_ci compatible = "brcm,bcm43438-bt"; 1928c2ecf20Sopenharmony_ci shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; 1938c2ecf20Sopenharmony_ci max-speed = <2000000>; 1948c2ecf20Sopenharmony_ci clocks = <&wifi32k>; 1958c2ecf20Sopenharmony_ci clock-names = "lpo"; 1968c2ecf20Sopenharmony_ci }; 1978c2ecf20Sopenharmony_ci}; 1988c2ecf20Sopenharmony_ci 1998c2ecf20Sopenharmony_ci/* This is brought out on the Linux_RX (18) and Linux_TX (19) pins: */ 2008c2ecf20Sopenharmony_ci&uart_AO { 2018c2ecf20Sopenharmony_ci status = "okay"; 2028c2ecf20Sopenharmony_ci}; 2038c2ecf20Sopenharmony_ci 2048c2ecf20Sopenharmony_ci/* This is brought out on the UART_RX_AO_B (15) and UART_TX_AO_B (16) pins: */ 2058c2ecf20Sopenharmony_ci&uart_AO_B { 2068c2ecf20Sopenharmony_ci status = "okay"; 2078c2ecf20Sopenharmony_ci pinctrl-0 = <&uart_ao_b_pins>; 2088c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2098c2ecf20Sopenharmony_ci}; 2108c2ecf20Sopenharmony_ci 2118c2ecf20Sopenharmony_ci&usb { 2128c2ecf20Sopenharmony_ci dr_mode = "peripheral"; 2138c2ecf20Sopenharmony_ci}; 214