14549e789STom Rini// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 25ff2ee44SNeil Armstrong/* 35ff2ee44SNeil Armstrong * Copyright (c) 2017 Martin Blumenstingl <martin.blumenstingl@googlemail.com>. 45ff2ee44SNeil Armstrong */ 55ff2ee44SNeil Armstrong 65ff2ee44SNeil Armstrong/dts-v1/; 75ff2ee44SNeil Armstrong 85ff2ee44SNeil Armstrong#include <dt-bindings/input/input.h> 95ff2ee44SNeil Armstrong 105ff2ee44SNeil Armstrong#include "meson-gxl-s905x-p212.dtsi" 115ff2ee44SNeil Armstrong 125ff2ee44SNeil Armstrong/ { 135ff2ee44SNeil Armstrong compatible = "khadas,vim", "amlogic,s905x", "amlogic,meson-gxl"; 145ff2ee44SNeil Armstrong model = "Khadas VIM"; 155ff2ee44SNeil Armstrong 165ff2ee44SNeil Armstrong adc-keys { 175ff2ee44SNeil Armstrong compatible = "adc-keys"; 185ff2ee44SNeil Armstrong io-channels = <&saradc 0>; 195ff2ee44SNeil Armstrong io-channel-names = "buttons"; 205ff2ee44SNeil Armstrong keyup-threshold-microvolt = <1710000>; 215ff2ee44SNeil Armstrong 225ff2ee44SNeil Armstrong button-function { 235ff2ee44SNeil Armstrong label = "Function"; 245ff2ee44SNeil Armstrong linux,code = <KEY_FN>; 255ff2ee44SNeil Armstrong press-threshold-microvolt = <10000>; 265ff2ee44SNeil Armstrong }; 275ff2ee44SNeil Armstrong }; 285ff2ee44SNeil Armstrong 295ff2ee44SNeil Armstrong aliases { 305ff2ee44SNeil Armstrong serial2 = &uart_AO_B; 315b3da7faSNeil Armstrong ethernet0 = ðmac; 325ff2ee44SNeil Armstrong }; 335ff2ee44SNeil Armstrong 345ff2ee44SNeil Armstrong gpio-keys-polled { 355ff2ee44SNeil Armstrong compatible = "gpio-keys-polled"; 365ff2ee44SNeil Armstrong #address-cells = <1>; 375ff2ee44SNeil Armstrong #size-cells = <0>; 385ff2ee44SNeil Armstrong poll-interval = <100>; 395ff2ee44SNeil Armstrong 405ff2ee44SNeil Armstrong button@0 { 415ff2ee44SNeil Armstrong label = "power"; 425ff2ee44SNeil Armstrong linux,code = <KEY_POWER>; 435ff2ee44SNeil Armstrong gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 445ff2ee44SNeil Armstrong }; 455ff2ee44SNeil Armstrong }; 465ff2ee44SNeil Armstrong 475ff2ee44SNeil Armstrong pwmleds { 485ff2ee44SNeil Armstrong compatible = "pwm-leds"; 495ff2ee44SNeil Armstrong 505ff2ee44SNeil Armstrong power { 515ff2ee44SNeil Armstrong label = "vim:red:power"; 525ff2ee44SNeil Armstrong pwms = <&pwm_AO_ab 1 7812500 0>; 535ff2ee44SNeil Armstrong max-brightness = <255>; 545ff2ee44SNeil Armstrong linux,default-trigger = "default-on"; 555ff2ee44SNeil Armstrong }; 565ff2ee44SNeil Armstrong }; 575ff2ee44SNeil Armstrong 585ff2ee44SNeil Armstrong hdmi-connector { 595ff2ee44SNeil Armstrong compatible = "hdmi-connector"; 605ff2ee44SNeil Armstrong type = "a"; 615ff2ee44SNeil Armstrong 625ff2ee44SNeil Armstrong port { 635ff2ee44SNeil Armstrong hdmi_connector_in: endpoint { 645ff2ee44SNeil Armstrong remote-endpoint = <&hdmi_tx_tmds_out>; 655ff2ee44SNeil Armstrong }; 665ff2ee44SNeil Armstrong }; 675ff2ee44SNeil Armstrong }; 685ff2ee44SNeil Armstrong}; 695ff2ee44SNeil Armstrong 707d750c35SNeil Armstrong&cec_AO { 717d750c35SNeil Armstrong status = "okay"; 727d750c35SNeil Armstrong pinctrl-0 = <&ao_cec_pins>; 737d750c35SNeil Armstrong pinctrl-names = "default"; 747d750c35SNeil Armstrong hdmi-phandle = <&hdmi_tx>; 757d750c35SNeil Armstrong}; 767d750c35SNeil Armstrong 775ff2ee44SNeil Armstrong&hdmi_tx { 785ff2ee44SNeil Armstrong status = "okay"; 795ff2ee44SNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 805ff2ee44SNeil Armstrong pinctrl-names = "default"; 81*bce59f91SNeil Armstrong hdmi-supply = <&hdmi_5v>; 825ff2ee44SNeil Armstrong}; 835ff2ee44SNeil Armstrong 845ff2ee44SNeil Armstrong&hdmi_tx_tmds_port { 855ff2ee44SNeil Armstrong hdmi_tx_tmds_out: endpoint { 865ff2ee44SNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 875ff2ee44SNeil Armstrong }; 885ff2ee44SNeil Armstrong}; 895ff2ee44SNeil Armstrong 905ff2ee44SNeil Armstrong&i2c_A { 915ff2ee44SNeil Armstrong status = "okay"; 925ff2ee44SNeil Armstrong pinctrl-0 = <&i2c_a_pins>; 935ff2ee44SNeil Armstrong pinctrl-names = "default"; 945ff2ee44SNeil Armstrong}; 955ff2ee44SNeil Armstrong 965ff2ee44SNeil Armstrong&i2c_B { 975ff2ee44SNeil Armstrong status = "okay"; 985ff2ee44SNeil Armstrong pinctrl-0 = <&i2c_b_pins>; 995ff2ee44SNeil Armstrong pinctrl-names = "default"; 1005ff2ee44SNeil Armstrong 1015ff2ee44SNeil Armstrong rtc: rtc@51 { 1025ff2ee44SNeil Armstrong /* has to be enabled manually when a battery is connected: */ 1035ff2ee44SNeil Armstrong status = "disabled"; 1045ff2ee44SNeil Armstrong compatible = "haoyu,hym8563"; 1055ff2ee44SNeil Armstrong reg = <0x51>; 1065ff2ee44SNeil Armstrong #clock-cells = <0>; 1075ff2ee44SNeil Armstrong clock-frequency = <32768>; 1085ff2ee44SNeil Armstrong clock-output-names = "xin32k"; 1095ff2ee44SNeil Armstrong }; 1105ff2ee44SNeil Armstrong}; 1115ff2ee44SNeil Armstrong 1125ff2ee44SNeil Armstrong&ir { 1135ff2ee44SNeil Armstrong linux,rc-map-name = "rc-geekbox"; 1145ff2ee44SNeil Armstrong}; 1155ff2ee44SNeil Armstrong 1167d750c35SNeil Armstrong&pinctrl_aobus { 1177d750c35SNeil Armstrong gpio-line-names = "UART TX", 1187d750c35SNeil Armstrong "UART RX", 1197d750c35SNeil Armstrong "Power Key In", 1207d750c35SNeil Armstrong "J9 Header Pin35", 1217d750c35SNeil Armstrong "J9 Header Pin16", 1227d750c35SNeil Armstrong "J9 Header Pin15", 1237d750c35SNeil Armstrong "J9 Header Pin33", 1247d750c35SNeil Armstrong "IR In", 1257d750c35SNeil Armstrong "HDMI CEC", 1267d750c35SNeil Armstrong "SYS LED", 1277d750c35SNeil Armstrong /* GPIO_TEST_N */ 1287d750c35SNeil Armstrong ""; 1297d750c35SNeil Armstrong}; 1307d750c35SNeil Armstrong 1317d750c35SNeil Armstrong&pinctrl_periphs { 1327d750c35SNeil Armstrong gpio-line-names = /* Bank GPIOZ */ 1337d750c35SNeil Armstrong "", "", "", "", "", "", "", 1347d750c35SNeil Armstrong "", "", "", "", "", "", "", 1357d750c35SNeil Armstrong "Power OFF", 1367d750c35SNeil Armstrong "VCCK Enable", 1377d750c35SNeil Armstrong /* Bank GPIOH */ 1387d750c35SNeil Armstrong "HDMI HPD", "HDMI SDA", "HDMI SCL", 1397d750c35SNeil Armstrong "HDMI_5V_EN", "SPDIF", 1407d750c35SNeil Armstrong "J9 Header Pin37", 1417d750c35SNeil Armstrong "J9 Header Pin30", 1427d750c35SNeil Armstrong "J9 Header Pin29", 1437d750c35SNeil Armstrong "J9 Header Pin32", 1447d750c35SNeil Armstrong "J9 Header Pin31", 1457d750c35SNeil Armstrong /* Bank BOOT */ 1467d750c35SNeil Armstrong "eMMC D0", "eMMC D1", "eMMC D2", "eMMC D3", 1477d750c35SNeil Armstrong "eMMC D4", "eMMC D5", "eMMC D6", "eMMC D7", 1487d750c35SNeil Armstrong "eMMC Clk", "eMMC Reset", "eMMC CMD", 1497d750c35SNeil Armstrong "", "BOOT_MODE", "", "", "eMMC Data Strobe", 1507d750c35SNeil Armstrong /* Bank CARD */ 1517d750c35SNeil Armstrong "SDCard D1", "SDCard D0", "SDCard CLK", "SDCard CMD", 1527d750c35SNeil Armstrong "SDCard D3", "SDCard D2", "SDCard Det", 1537d750c35SNeil Armstrong /* Bank GPIODV */ 1547d750c35SNeil Armstrong "", "", "", "", "", "", "", "", "", "", "", "", 1557d750c35SNeil Armstrong "", "", "", "", "", "", "", "", "", "", "", "", 1567d750c35SNeil Armstrong "I2C A SDA", "I2C A SCK", "I2C B SDA", "I2C B SCK", 1577d750c35SNeil Armstrong "VCCK Regulator", "VDDEE Regulator", 1587d750c35SNeil Armstrong /* Bank GPIOX */ 1597d750c35SNeil Armstrong "WIFI SDIO D0", "WIFI SDIO D1", "WIFI SDIO D2", 1607d750c35SNeil Armstrong "WIFI SDIO D3", "WIFI SDIO CLK", "WIFI SDIO CMD", 1617d750c35SNeil Armstrong "WIFI Power Enable", "WIFI WAKE HOST", 1627d750c35SNeil Armstrong "Bluetooth PCM DOUT", "Bluetooth PCM DIN", 1637d750c35SNeil Armstrong "Bluetooth PCM SYNC", "Bluetooth PCM CLK", 1647d750c35SNeil Armstrong "Bluetooth UART TX", "Bluetooth UART RX", 1657d750c35SNeil Armstrong "Bluetooth UART CTS", "Bluetooth UART RTS", 1667d750c35SNeil Armstrong "WIFI 32K", "Bluetooth Enable", 1677d750c35SNeil Armstrong "Bluetooth WAKE HOST", 1687d750c35SNeil Armstrong /* Bank GPIOCLK */ 1697d750c35SNeil Armstrong "", "J9 Header Pin39"; 1707d750c35SNeil Armstrong}; 1717d750c35SNeil Armstrong 1725ff2ee44SNeil Armstrong&pwm_AO_ab { 1735ff2ee44SNeil Armstrong status = "okay"; 1745ff2ee44SNeil Armstrong pinctrl-0 = <&pwm_ao_a_3_pins>, <&pwm_ao_b_pins>; 1755ff2ee44SNeil Armstrong pinctrl-names = "default"; 1765ff2ee44SNeil Armstrong clocks = <&xtal> , <&xtal>; 1775ff2ee44SNeil Armstrong clock-names = "clkin0", "clkin1" ; 1785ff2ee44SNeil Armstrong}; 1795ff2ee44SNeil Armstrong 1805ff2ee44SNeil Armstrong&pwm_ef { 1815ff2ee44SNeil Armstrong pinctrl-0 = <&pwm_e_pins>, <&pwm_f_clk_pins>; 1825ff2ee44SNeil Armstrong}; 1835ff2ee44SNeil Armstrong 1845ff2ee44SNeil Armstrong&sd_emmc_a { 1855ff2ee44SNeil Armstrong brcmf: wifi@1 { 1865ff2ee44SNeil Armstrong reg = <1>; 1875ff2ee44SNeil Armstrong compatible = "brcm,bcm4329-fmac"; 1885ff2ee44SNeil Armstrong }; 1895ff2ee44SNeil Armstrong}; 1905ff2ee44SNeil Armstrong 1915ff2ee44SNeil Armstrong/* This is brought out on the Linux_RX (18) and Linux_TX (19) pins: */ 1925ff2ee44SNeil Armstrong&uart_AO { 1935ff2ee44SNeil Armstrong status = "okay"; 1945ff2ee44SNeil Armstrong}; 1955ff2ee44SNeil Armstrong 1965ff2ee44SNeil Armstrong/* This is brought out on the UART_RX_AO_B (15) and UART_TX_AO_B (16) pins: */ 1975ff2ee44SNeil Armstrong&uart_AO_B { 1985ff2ee44SNeil Armstrong status = "okay"; 1995ff2ee44SNeil Armstrong pinctrl-0 = <&uart_ao_b_pins>; 2005ff2ee44SNeil Armstrong pinctrl-names = "default"; 2015ff2ee44SNeil Armstrong}; 202