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