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