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; 315ff2ee44SNeil Armstrong }; 325ff2ee44SNeil Armstrong 335ff2ee44SNeil Armstrong gpio-keys-polled { 345ff2ee44SNeil Armstrong compatible = "gpio-keys-polled"; 355ff2ee44SNeil Armstrong #address-cells = <1>; 365ff2ee44SNeil Armstrong #size-cells = <0>; 375ff2ee44SNeil Armstrong poll-interval = <100>; 385ff2ee44SNeil Armstrong 395ff2ee44SNeil Armstrong button@0 { 405ff2ee44SNeil Armstrong label = "power"; 415ff2ee44SNeil Armstrong linux,code = <KEY_POWER>; 425ff2ee44SNeil Armstrong gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 435ff2ee44SNeil Armstrong }; 445ff2ee44SNeil Armstrong }; 455ff2ee44SNeil Armstrong 465ff2ee44SNeil Armstrong pwmleds { 475ff2ee44SNeil Armstrong compatible = "pwm-leds"; 485ff2ee44SNeil Armstrong 495ff2ee44SNeil Armstrong power { 505ff2ee44SNeil Armstrong label = "vim:red:power"; 515ff2ee44SNeil Armstrong pwms = <&pwm_AO_ab 1 7812500 0>; 525ff2ee44SNeil Armstrong max-brightness = <255>; 535ff2ee44SNeil Armstrong linux,default-trigger = "default-on"; 545ff2ee44SNeil Armstrong }; 555ff2ee44SNeil Armstrong }; 565ff2ee44SNeil Armstrong 575ff2ee44SNeil Armstrong hdmi-connector { 585ff2ee44SNeil Armstrong compatible = "hdmi-connector"; 595ff2ee44SNeil Armstrong type = "a"; 605ff2ee44SNeil Armstrong 615ff2ee44SNeil Armstrong port { 625ff2ee44SNeil Armstrong hdmi_connector_in: endpoint { 635ff2ee44SNeil Armstrong remote-endpoint = <&hdmi_tx_tmds_out>; 645ff2ee44SNeil Armstrong }; 655ff2ee44SNeil Armstrong }; 665ff2ee44SNeil Armstrong }; 675ff2ee44SNeil Armstrong}; 685ff2ee44SNeil Armstrong 69*7d750c35SNeil Armstrong&cec_AO { 70*7d750c35SNeil Armstrong status = "okay"; 71*7d750c35SNeil Armstrong pinctrl-0 = <&ao_cec_pins>; 72*7d750c35SNeil Armstrong pinctrl-names = "default"; 73*7d750c35SNeil Armstrong hdmi-phandle = <&hdmi_tx>; 74*7d750c35SNeil Armstrong}; 75*7d750c35SNeil Armstrong 765ff2ee44SNeil Armstrong&hdmi_tx { 775ff2ee44SNeil Armstrong status = "okay"; 785ff2ee44SNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 795ff2ee44SNeil Armstrong pinctrl-names = "default"; 805ff2ee44SNeil Armstrong}; 815ff2ee44SNeil Armstrong 825ff2ee44SNeil Armstrong&hdmi_tx_tmds_port { 835ff2ee44SNeil Armstrong hdmi_tx_tmds_out: endpoint { 845ff2ee44SNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 855ff2ee44SNeil Armstrong }; 865ff2ee44SNeil Armstrong}; 875ff2ee44SNeil Armstrong 885ff2ee44SNeil Armstrong&i2c_A { 895ff2ee44SNeil Armstrong status = "okay"; 905ff2ee44SNeil Armstrong pinctrl-0 = <&i2c_a_pins>; 915ff2ee44SNeil Armstrong pinctrl-names = "default"; 925ff2ee44SNeil Armstrong}; 935ff2ee44SNeil Armstrong 945ff2ee44SNeil Armstrong&i2c_B { 955ff2ee44SNeil Armstrong status = "okay"; 965ff2ee44SNeil Armstrong pinctrl-0 = <&i2c_b_pins>; 975ff2ee44SNeil Armstrong pinctrl-names = "default"; 985ff2ee44SNeil Armstrong 995ff2ee44SNeil Armstrong rtc: rtc@51 { 1005ff2ee44SNeil Armstrong /* has to be enabled manually when a battery is connected: */ 1015ff2ee44SNeil Armstrong status = "disabled"; 1025ff2ee44SNeil Armstrong compatible = "haoyu,hym8563"; 1035ff2ee44SNeil Armstrong reg = <0x51>; 1045ff2ee44SNeil Armstrong #clock-cells = <0>; 1055ff2ee44SNeil Armstrong clock-frequency = <32768>; 1065ff2ee44SNeil Armstrong clock-output-names = "xin32k"; 1075ff2ee44SNeil Armstrong }; 1085ff2ee44SNeil Armstrong}; 1095ff2ee44SNeil Armstrong 1105ff2ee44SNeil Armstrong&ir { 1115ff2ee44SNeil Armstrong linux,rc-map-name = "rc-geekbox"; 1125ff2ee44SNeil Armstrong}; 1135ff2ee44SNeil Armstrong 114*7d750c35SNeil Armstrong&pinctrl_aobus { 115*7d750c35SNeil Armstrong gpio-line-names = "UART TX", 116*7d750c35SNeil Armstrong "UART RX", 117*7d750c35SNeil Armstrong "Power Key In", 118*7d750c35SNeil Armstrong "J9 Header Pin35", 119*7d750c35SNeil Armstrong "J9 Header Pin16", 120*7d750c35SNeil Armstrong "J9 Header Pin15", 121*7d750c35SNeil Armstrong "J9 Header Pin33", 122*7d750c35SNeil Armstrong "IR In", 123*7d750c35SNeil Armstrong "HDMI CEC", 124*7d750c35SNeil Armstrong "SYS LED", 125*7d750c35SNeil Armstrong /* GPIO_TEST_N */ 126*7d750c35SNeil Armstrong ""; 127*7d750c35SNeil Armstrong}; 128*7d750c35SNeil Armstrong 129*7d750c35SNeil Armstrong&pinctrl_periphs { 130*7d750c35SNeil Armstrong gpio-line-names = /* Bank GPIOZ */ 131*7d750c35SNeil Armstrong "", "", "", "", "", "", "", 132*7d750c35SNeil Armstrong "", "", "", "", "", "", "", 133*7d750c35SNeil Armstrong "Power OFF", 134*7d750c35SNeil Armstrong "VCCK Enable", 135*7d750c35SNeil Armstrong /* Bank GPIOH */ 136*7d750c35SNeil Armstrong "HDMI HPD", "HDMI SDA", "HDMI SCL", 137*7d750c35SNeil Armstrong "HDMI_5V_EN", "SPDIF", 138*7d750c35SNeil Armstrong "J9 Header Pin37", 139*7d750c35SNeil Armstrong "J9 Header Pin30", 140*7d750c35SNeil Armstrong "J9 Header Pin29", 141*7d750c35SNeil Armstrong "J9 Header Pin32", 142*7d750c35SNeil Armstrong "J9 Header Pin31", 143*7d750c35SNeil Armstrong /* Bank BOOT */ 144*7d750c35SNeil Armstrong "eMMC D0", "eMMC D1", "eMMC D2", "eMMC D3", 145*7d750c35SNeil Armstrong "eMMC D4", "eMMC D5", "eMMC D6", "eMMC D7", 146*7d750c35SNeil Armstrong "eMMC Clk", "eMMC Reset", "eMMC CMD", 147*7d750c35SNeil Armstrong "", "BOOT_MODE", "", "", "eMMC Data Strobe", 148*7d750c35SNeil Armstrong /* Bank CARD */ 149*7d750c35SNeil Armstrong "SDCard D1", "SDCard D0", "SDCard CLK", "SDCard CMD", 150*7d750c35SNeil Armstrong "SDCard D3", "SDCard D2", "SDCard Det", 151*7d750c35SNeil Armstrong /* Bank GPIODV */ 152*7d750c35SNeil Armstrong "", "", "", "", "", "", "", "", "", "", "", "", 153*7d750c35SNeil Armstrong "", "", "", "", "", "", "", "", "", "", "", "", 154*7d750c35SNeil Armstrong "I2C A SDA", "I2C A SCK", "I2C B SDA", "I2C B SCK", 155*7d750c35SNeil Armstrong "VCCK Regulator", "VDDEE Regulator", 156*7d750c35SNeil Armstrong /* Bank GPIOX */ 157*7d750c35SNeil Armstrong "WIFI SDIO D0", "WIFI SDIO D1", "WIFI SDIO D2", 158*7d750c35SNeil Armstrong "WIFI SDIO D3", "WIFI SDIO CLK", "WIFI SDIO CMD", 159*7d750c35SNeil Armstrong "WIFI Power Enable", "WIFI WAKE HOST", 160*7d750c35SNeil Armstrong "Bluetooth PCM DOUT", "Bluetooth PCM DIN", 161*7d750c35SNeil Armstrong "Bluetooth PCM SYNC", "Bluetooth PCM CLK", 162*7d750c35SNeil Armstrong "Bluetooth UART TX", "Bluetooth UART RX", 163*7d750c35SNeil Armstrong "Bluetooth UART CTS", "Bluetooth UART RTS", 164*7d750c35SNeil Armstrong "WIFI 32K", "Bluetooth Enable", 165*7d750c35SNeil Armstrong "Bluetooth WAKE HOST", 166*7d750c35SNeil Armstrong /* Bank GPIOCLK */ 167*7d750c35SNeil Armstrong "", "J9 Header Pin39"; 168*7d750c35SNeil Armstrong}; 169*7d750c35SNeil Armstrong 1705ff2ee44SNeil Armstrong&pwm_AO_ab { 1715ff2ee44SNeil Armstrong status = "okay"; 1725ff2ee44SNeil Armstrong pinctrl-0 = <&pwm_ao_a_3_pins>, <&pwm_ao_b_pins>; 1735ff2ee44SNeil Armstrong pinctrl-names = "default"; 1745ff2ee44SNeil Armstrong clocks = <&xtal> , <&xtal>; 1755ff2ee44SNeil Armstrong clock-names = "clkin0", "clkin1" ; 1765ff2ee44SNeil Armstrong}; 1775ff2ee44SNeil Armstrong 1785ff2ee44SNeil Armstrong&pwm_ef { 1795ff2ee44SNeil Armstrong pinctrl-0 = <&pwm_e_pins>, <&pwm_f_clk_pins>; 1805ff2ee44SNeil Armstrong}; 1815ff2ee44SNeil Armstrong 1825ff2ee44SNeil Armstrong&sd_emmc_a { 1835ff2ee44SNeil Armstrong brcmf: wifi@1 { 1845ff2ee44SNeil Armstrong reg = <1>; 1855ff2ee44SNeil Armstrong compatible = "brcm,bcm4329-fmac"; 1865ff2ee44SNeil Armstrong }; 1875ff2ee44SNeil Armstrong}; 1885ff2ee44SNeil Armstrong 1895ff2ee44SNeil Armstrong/* This is brought out on the Linux_RX (18) and Linux_TX (19) pins: */ 1905ff2ee44SNeil Armstrong&uart_AO { 1915ff2ee44SNeil Armstrong status = "okay"; 1925ff2ee44SNeil Armstrong}; 1935ff2ee44SNeil Armstrong 1945ff2ee44SNeil Armstrong/* This is brought out on the UART_RX_AO_B (15) and UART_TX_AO_B (16) pins: */ 1955ff2ee44SNeil Armstrong&uart_AO_B { 1965ff2ee44SNeil Armstrong status = "okay"; 1975ff2ee44SNeil Armstrong pinctrl-0 = <&uart_ao_b_pins>; 1985ff2ee44SNeil Armstrong pinctrl-names = "default"; 1995ff2ee44SNeil Armstrong}; 200