1*4549e789STom 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 695ff2ee44SNeil Armstrong&hdmi_tx { 705ff2ee44SNeil Armstrong status = "okay"; 715ff2ee44SNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 725ff2ee44SNeil Armstrong pinctrl-names = "default"; 735ff2ee44SNeil Armstrong}; 745ff2ee44SNeil Armstrong 755ff2ee44SNeil Armstrong&hdmi_tx_tmds_port { 765ff2ee44SNeil Armstrong hdmi_tx_tmds_out: endpoint { 775ff2ee44SNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 785ff2ee44SNeil Armstrong }; 795ff2ee44SNeil Armstrong}; 805ff2ee44SNeil Armstrong 815ff2ee44SNeil Armstrong&i2c_A { 825ff2ee44SNeil Armstrong status = "okay"; 835ff2ee44SNeil Armstrong pinctrl-0 = <&i2c_a_pins>; 845ff2ee44SNeil Armstrong pinctrl-names = "default"; 855ff2ee44SNeil Armstrong}; 865ff2ee44SNeil Armstrong 875ff2ee44SNeil Armstrong&i2c_B { 885ff2ee44SNeil Armstrong status = "okay"; 895ff2ee44SNeil Armstrong pinctrl-0 = <&i2c_b_pins>; 905ff2ee44SNeil Armstrong pinctrl-names = "default"; 915ff2ee44SNeil Armstrong 925ff2ee44SNeil Armstrong rtc: rtc@51 { 935ff2ee44SNeil Armstrong /* has to be enabled manually when a battery is connected: */ 945ff2ee44SNeil Armstrong status = "disabled"; 955ff2ee44SNeil Armstrong compatible = "haoyu,hym8563"; 965ff2ee44SNeil Armstrong reg = <0x51>; 975ff2ee44SNeil Armstrong #clock-cells = <0>; 985ff2ee44SNeil Armstrong clock-frequency = <32768>; 995ff2ee44SNeil Armstrong clock-output-names = "xin32k"; 1005ff2ee44SNeil Armstrong }; 1015ff2ee44SNeil Armstrong}; 1025ff2ee44SNeil Armstrong 1035ff2ee44SNeil Armstrong&ir { 1045ff2ee44SNeil Armstrong linux,rc-map-name = "rc-geekbox"; 1055ff2ee44SNeil Armstrong}; 1065ff2ee44SNeil Armstrong 1075ff2ee44SNeil Armstrong&pwm_AO_ab { 1085ff2ee44SNeil Armstrong status = "okay"; 1095ff2ee44SNeil Armstrong pinctrl-0 = <&pwm_ao_a_3_pins>, <&pwm_ao_b_pins>; 1105ff2ee44SNeil Armstrong pinctrl-names = "default"; 1115ff2ee44SNeil Armstrong clocks = <&xtal> , <&xtal>; 1125ff2ee44SNeil Armstrong clock-names = "clkin0", "clkin1" ; 1135ff2ee44SNeil Armstrong}; 1145ff2ee44SNeil Armstrong 1155ff2ee44SNeil Armstrong&pwm_ef { 1165ff2ee44SNeil Armstrong pinctrl-0 = <&pwm_e_pins>, <&pwm_f_clk_pins>; 1175ff2ee44SNeil Armstrong}; 1185ff2ee44SNeil Armstrong 1195ff2ee44SNeil Armstrong&sd_emmc_a { 1205ff2ee44SNeil Armstrong brcmf: wifi@1 { 1215ff2ee44SNeil Armstrong reg = <1>; 1225ff2ee44SNeil Armstrong compatible = "brcm,bcm4329-fmac"; 1235ff2ee44SNeil Armstrong }; 1245ff2ee44SNeil Armstrong}; 1255ff2ee44SNeil Armstrong 1265ff2ee44SNeil Armstrong/* This is brought out on the Linux_RX (18) and Linux_TX (19) pins: */ 1275ff2ee44SNeil Armstrong&uart_AO { 1285ff2ee44SNeil Armstrong status = "okay"; 1295ff2ee44SNeil Armstrong}; 1305ff2ee44SNeil Armstrong 1315ff2ee44SNeil Armstrong/* This is brought out on the UART_RX_AO_B (15) and UART_TX_AO_B (16) pins: */ 1325ff2ee44SNeil Armstrong&uart_AO_B { 1335ff2ee44SNeil Armstrong status = "okay"; 1345ff2ee44SNeil Armstrong pinctrl-0 = <&uart_ao_b_pins>; 1355ff2ee44SNeil Armstrong pinctrl-names = "default"; 1365ff2ee44SNeil Armstrong}; 137