]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm64/amlogic/meson-gxbb-wetek.dtsi
MFV r345988:
[FreeBSD/FreeBSD.git] / sys / gnu / dts / arm64 / amlogic / meson-gxbb-wetek.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2016 Andreas Färber
4  * Copyright (c) 2016 BayLibre, Inc.
5  * Author: Kevin Hilman <khilman@kernel.org>
6  */
7
8 #include "meson-gxbb.dtsi"
9
10 / {
11         aliases {
12                 serial0 = &uart_AO;
13                 ethernet0 = &ethmac;
14         };
15
16         chosen {
17                 stdout-path = "serial0:115200n8";
18         };
19
20         memory@0 {
21                 device_type = "memory";
22                 reg = <0x0 0x0 0x0 0x40000000>;
23         };
24
25         leds {
26                 compatible = "gpio-leds";
27
28                 system {
29                         label = "wetek-play:system-status";
30                         gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>;
31                         default-state = "on";
32                         panic-indicator;
33                 };
34         };
35
36         usb_pwr: regulator-usb-pwrs {
37                 compatible = "regulator-fixed";
38
39                 regulator-name = "USB_PWR";
40
41                 regulator-min-microvolt = <5000000>;
42                 regulator-max-microvolt = <5000000>;
43
44                 gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>;
45                 enable-active-high;
46         };
47
48         vddio_boot: regulator-vddio_boot {
49                 compatible = "regulator-fixed";
50                 regulator-name = "VDDIO_BOOT";
51                 regulator-min-microvolt = <1800000>;
52                 regulator-max-microvolt = <1800000>;
53         };
54
55         vddao_3v3: regulator-vddao_3v3 {
56                 compatible = "regulator-fixed";
57                 regulator-name = "VDDAO_3V3";
58                 regulator-min-microvolt = <3300000>;
59                 regulator-max-microvolt = <3300000>;
60         };
61
62         vcc_3v3: regulator-vcc_3v3 {
63                 compatible = "regulator-fixed";
64                 regulator-name = "VCC_3V3";
65                 regulator-min-microvolt = <3300000>;
66                 regulator-max-microvolt = <3300000>;
67         };
68
69         emmc_pwrseq: emmc-pwrseq {
70                 compatible = "mmc-pwrseq-emmc";
71                 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
72         };
73
74         wifi32k: wifi32k {
75                 compatible = "pwm-clock";
76                 #clock-cells = <0>;
77                 clock-frequency = <32768>;
78                 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
79         };
80
81         sdio_pwrseq: sdio-pwrseq {
82                 compatible = "mmc-pwrseq-simple";
83                 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
84                 clocks = <&wifi32k>;
85                 clock-names = "ext_clock";
86         };
87
88         cvbs-connector {
89                 compatible = "composite-video-connector";
90
91                 port {
92                         cvbs_connector_in: endpoint {
93                                 remote-endpoint = <&cvbs_vdac_out>;
94                         };
95                 };
96         };
97
98         hdmi-connector {
99                 compatible = "hdmi-connector";
100                 type = "a";
101
102                 port {
103                         hdmi_connector_in: endpoint {
104                                 remote-endpoint = <&hdmi_tx_tmds_out>;
105                         };
106                 };
107         };
108 };
109
110 &cec_AO {
111         status = "okay";
112         pinctrl-0 = <&ao_cec_pins>;
113         pinctrl-names = "default";
114         hdmi-phandle = <&hdmi_tx>;
115 };
116
117 &cvbs_vdac_port {
118         cvbs_vdac_out: endpoint {
119                 remote-endpoint = <&cvbs_connector_in>;
120         };
121 };
122
123 &ethmac {
124         status = "okay";
125         pinctrl-0 = <&eth_rgmii_pins>;
126         pinctrl-names = "default";
127
128         phy-handle = <&eth_phy0>;
129         phy-mode = "rgmii";
130
131         amlogic,tx-delay-ns = <2>;
132
133         snps,reset-gpio = <&gpio GPIOZ_14 0>;
134         snps,reset-delays-us = <0 10000 1000000>;
135         snps,reset-active-low;
136
137         mdio {
138                 compatible = "snps,dwmac-mdio";
139                 #address-cells = <1>;
140                 #size-cells = <0>;
141
142                 eth_phy0: ethernet-phy@0 {
143                         /* Realtek RTL8211F (0x001cc916) */
144                         reg = <0>;
145                         eee-broken-1000t;
146                 };
147         };
148 };
149
150 &hdmi_tx {
151         status = "okay";
152         pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
153         pinctrl-names = "default";
154 };
155
156 &hdmi_tx_tmds_port {
157         hdmi_tx_tmds_out: endpoint {
158                 remote-endpoint = <&hdmi_connector_in>;
159         };
160 };
161
162 &ir {
163         status = "okay";
164         pinctrl-0 = <&remote_input_ao_pins>;
165         pinctrl-names = "default";
166 };
167
168 &pwm_ef {
169         status = "okay";
170         pinctrl-0 = <&pwm_e_pins>;
171         pinctrl-names = "default";
172         clocks = <&clkc CLKID_FCLK_DIV4>;
173         clock-names = "clkin0";
174 };
175
176 /* Wireless SDIO Module */
177 &sd_emmc_a {
178         status = "okay";
179         pinctrl-0 = <&sdio_pins>;
180         pinctrl-1 = <&sdio_clk_gate_pins>;
181         pinctrl-names = "default", "clk-gate";
182         #address-cells = <1>;
183         #size-cells = <0>;
184
185         bus-width = <4>;
186         cap-sd-highspeed;
187         max-frequency = <100000000>;
188
189         non-removable;
190         disable-wp;
191
192         mmc-pwrseq = <&sdio_pwrseq>;
193
194         vmmc-supply = <&vddao_3v3>;
195         vqmmc-supply = <&vddio_boot>;
196
197         brcmf: wifi@1 {
198                 reg = <1>;
199                 compatible = "brcm,bcm4329-fmac";
200         };
201 };
202
203 /* SD card */
204 &sd_emmc_b {
205         status = "okay";
206         pinctrl-0 = <&sdcard_pins>;
207         pinctrl-1 = <&sdcard_clk_gate_pins>;
208         pinctrl-names = "default", "clk-gate";
209
210         bus-width = <4>;
211         cap-sd-highspeed;
212         max-frequency = <100000000>;
213         disable-wp;
214
215         cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
216         cd-inverted;
217
218         vmmc-supply = <&vddao_3v3>;
219         vqmmc-supply = <&vcc_3v3>;
220 };
221
222 /* eMMC */
223 &sd_emmc_c {
224         status = "okay";
225         pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
226         pinctrl-1 = <&emmc_clk_gate_pins>;
227         pinctrl-names = "default", "clk-gate";
228
229         bus-width = <8>;
230         cap-mmc-highspeed;
231         max-frequency = <200000000>;
232         non-removable;
233         disable-wp;
234         mmc-ddr-1_8v;
235         mmc-hs200-1_8v;
236
237         mmc-pwrseq = <&emmc_pwrseq>;
238         vmmc-supply = <&vcc_3v3>;
239         vqmmc-supply = <&vddio_boot>;
240 };
241
242 /* This UART is brought out to the DB9 connector */
243 &uart_AO {
244         status = "okay";
245         pinctrl-0 = <&uart_ao_a_pins>;
246         pinctrl-names = "default";
247 };
248
249 &usb0_phy {
250         status = "okay";
251         phy-supply = <&usb_pwr>;
252 };
253
254 &usb0 {
255         status = "okay";
256 };