1*5ff2ee44SNeil Armstrong/* 2*5ff2ee44SNeil Armstrong * Copyright (c) 2017 Martin Blumenstingl <martin.blumenstingl@googlemail.com>. 3*5ff2ee44SNeil Armstrong * 4*5ff2ee44SNeil Armstrong * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 5*5ff2ee44SNeil Armstrong */ 6*5ff2ee44SNeil Armstrong 7*5ff2ee44SNeil Armstrong/dts-v1/; 8*5ff2ee44SNeil Armstrong 9*5ff2ee44SNeil Armstrong#include <dt-bindings/input/input.h> 10*5ff2ee44SNeil Armstrong 11*5ff2ee44SNeil Armstrong#include "meson-gxl-s905x-p212.dtsi" 12*5ff2ee44SNeil Armstrong 13*5ff2ee44SNeil Armstrong/ { 14*5ff2ee44SNeil Armstrong compatible = "khadas,vim", "amlogic,s905x", "amlogic,meson-gxl"; 15*5ff2ee44SNeil Armstrong model = "Khadas VIM"; 16*5ff2ee44SNeil Armstrong 17*5ff2ee44SNeil Armstrong adc-keys { 18*5ff2ee44SNeil Armstrong compatible = "adc-keys"; 19*5ff2ee44SNeil Armstrong io-channels = <&saradc 0>; 20*5ff2ee44SNeil Armstrong io-channel-names = "buttons"; 21*5ff2ee44SNeil Armstrong keyup-threshold-microvolt = <1710000>; 22*5ff2ee44SNeil Armstrong 23*5ff2ee44SNeil Armstrong button-function { 24*5ff2ee44SNeil Armstrong label = "Function"; 25*5ff2ee44SNeil Armstrong linux,code = <KEY_FN>; 26*5ff2ee44SNeil Armstrong press-threshold-microvolt = <10000>; 27*5ff2ee44SNeil Armstrong }; 28*5ff2ee44SNeil Armstrong }; 29*5ff2ee44SNeil Armstrong 30*5ff2ee44SNeil Armstrong aliases { 31*5ff2ee44SNeil Armstrong serial2 = &uart_AO_B; 32*5ff2ee44SNeil Armstrong }; 33*5ff2ee44SNeil Armstrong 34*5ff2ee44SNeil Armstrong gpio-keys-polled { 35*5ff2ee44SNeil Armstrong compatible = "gpio-keys-polled"; 36*5ff2ee44SNeil Armstrong #address-cells = <1>; 37*5ff2ee44SNeil Armstrong #size-cells = <0>; 38*5ff2ee44SNeil Armstrong poll-interval = <100>; 39*5ff2ee44SNeil Armstrong 40*5ff2ee44SNeil Armstrong button@0 { 41*5ff2ee44SNeil Armstrong label = "power"; 42*5ff2ee44SNeil Armstrong linux,code = <KEY_POWER>; 43*5ff2ee44SNeil Armstrong gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 44*5ff2ee44SNeil Armstrong }; 45*5ff2ee44SNeil Armstrong }; 46*5ff2ee44SNeil Armstrong 47*5ff2ee44SNeil Armstrong pwmleds { 48*5ff2ee44SNeil Armstrong compatible = "pwm-leds"; 49*5ff2ee44SNeil Armstrong 50*5ff2ee44SNeil Armstrong power { 51*5ff2ee44SNeil Armstrong label = "vim:red:power"; 52*5ff2ee44SNeil Armstrong pwms = <&pwm_AO_ab 1 7812500 0>; 53*5ff2ee44SNeil Armstrong max-brightness = <255>; 54*5ff2ee44SNeil Armstrong linux,default-trigger = "default-on"; 55*5ff2ee44SNeil Armstrong }; 56*5ff2ee44SNeil Armstrong }; 57*5ff2ee44SNeil Armstrong 58*5ff2ee44SNeil Armstrong hdmi-connector { 59*5ff2ee44SNeil Armstrong compatible = "hdmi-connector"; 60*5ff2ee44SNeil Armstrong type = "a"; 61*5ff2ee44SNeil Armstrong 62*5ff2ee44SNeil Armstrong port { 63*5ff2ee44SNeil Armstrong hdmi_connector_in: endpoint { 64*5ff2ee44SNeil Armstrong remote-endpoint = <&hdmi_tx_tmds_out>; 65*5ff2ee44SNeil Armstrong }; 66*5ff2ee44SNeil Armstrong }; 67*5ff2ee44SNeil Armstrong }; 68*5ff2ee44SNeil Armstrong}; 69*5ff2ee44SNeil Armstrong 70*5ff2ee44SNeil Armstrong&hdmi_tx { 71*5ff2ee44SNeil Armstrong status = "okay"; 72*5ff2ee44SNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 73*5ff2ee44SNeil Armstrong pinctrl-names = "default"; 74*5ff2ee44SNeil Armstrong}; 75*5ff2ee44SNeil Armstrong 76*5ff2ee44SNeil Armstrong&hdmi_tx_tmds_port { 77*5ff2ee44SNeil Armstrong hdmi_tx_tmds_out: endpoint { 78*5ff2ee44SNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 79*5ff2ee44SNeil Armstrong }; 80*5ff2ee44SNeil Armstrong}; 81*5ff2ee44SNeil Armstrong 82*5ff2ee44SNeil Armstrong&i2c_A { 83*5ff2ee44SNeil Armstrong status = "okay"; 84*5ff2ee44SNeil Armstrong pinctrl-0 = <&i2c_a_pins>; 85*5ff2ee44SNeil Armstrong pinctrl-names = "default"; 86*5ff2ee44SNeil Armstrong}; 87*5ff2ee44SNeil Armstrong 88*5ff2ee44SNeil Armstrong&i2c_B { 89*5ff2ee44SNeil Armstrong status = "okay"; 90*5ff2ee44SNeil Armstrong pinctrl-0 = <&i2c_b_pins>; 91*5ff2ee44SNeil Armstrong pinctrl-names = "default"; 92*5ff2ee44SNeil Armstrong 93*5ff2ee44SNeil Armstrong rtc: rtc@51 { 94*5ff2ee44SNeil Armstrong /* has to be enabled manually when a battery is connected: */ 95*5ff2ee44SNeil Armstrong status = "disabled"; 96*5ff2ee44SNeil Armstrong compatible = "haoyu,hym8563"; 97*5ff2ee44SNeil Armstrong reg = <0x51>; 98*5ff2ee44SNeil Armstrong #clock-cells = <0>; 99*5ff2ee44SNeil Armstrong clock-frequency = <32768>; 100*5ff2ee44SNeil Armstrong clock-output-names = "xin32k"; 101*5ff2ee44SNeil Armstrong }; 102*5ff2ee44SNeil Armstrong}; 103*5ff2ee44SNeil Armstrong 104*5ff2ee44SNeil Armstrong&ir { 105*5ff2ee44SNeil Armstrong linux,rc-map-name = "rc-geekbox"; 106*5ff2ee44SNeil Armstrong}; 107*5ff2ee44SNeil Armstrong 108*5ff2ee44SNeil Armstrong&pwm_AO_ab { 109*5ff2ee44SNeil Armstrong status = "okay"; 110*5ff2ee44SNeil Armstrong pinctrl-0 = <&pwm_ao_a_3_pins>, <&pwm_ao_b_pins>; 111*5ff2ee44SNeil Armstrong pinctrl-names = "default"; 112*5ff2ee44SNeil Armstrong clocks = <&xtal> , <&xtal>; 113*5ff2ee44SNeil Armstrong clock-names = "clkin0", "clkin1" ; 114*5ff2ee44SNeil Armstrong}; 115*5ff2ee44SNeil Armstrong 116*5ff2ee44SNeil Armstrong&pwm_ef { 117*5ff2ee44SNeil Armstrong pinctrl-0 = <&pwm_e_pins>, <&pwm_f_clk_pins>; 118*5ff2ee44SNeil Armstrong}; 119*5ff2ee44SNeil Armstrong 120*5ff2ee44SNeil Armstrong&sd_emmc_a { 121*5ff2ee44SNeil Armstrong brcmf: wifi@1 { 122*5ff2ee44SNeil Armstrong reg = <1>; 123*5ff2ee44SNeil Armstrong compatible = "brcm,bcm4329-fmac"; 124*5ff2ee44SNeil Armstrong }; 125*5ff2ee44SNeil Armstrong}; 126*5ff2ee44SNeil Armstrong 127*5ff2ee44SNeil Armstrong/* This is brought out on the Linux_RX (18) and Linux_TX (19) pins: */ 128*5ff2ee44SNeil Armstrong&uart_AO { 129*5ff2ee44SNeil Armstrong status = "okay"; 130*5ff2ee44SNeil Armstrong}; 131*5ff2ee44SNeil Armstrong 132*5ff2ee44SNeil Armstrong/* This is brought out on the UART_RX_AO_B (15) and UART_TX_AO_B (16) pins: */ 133*5ff2ee44SNeil Armstrong&uart_AO_B { 134*5ff2ee44SNeil Armstrong status = "okay"; 135*5ff2ee44SNeil Armstrong pinctrl-0 = <&uart_ao_b_pins>; 136*5ff2ee44SNeil Armstrong pinctrl-names = "default"; 137*5ff2ee44SNeil Armstrong}; 138