~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 /*
  3  * Copyright (c) 2019 BayLibre, SAS
  4  * Author: Neil Armstrong <narmstrong@baylibre.com>
  5  * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
  6  */
  7 
  8 /dts-v1/;
  9 
 10 #include "meson-g12b.dtsi"
 11 #include "meson-g12b-s922x.dtsi"
 12 #include <dt-bindings/input/input.h>
 13 #include <dt-bindings/gpio/meson-g12a-gpio.h>
 14 
 15 / {
 16         aliases {
 17                 serial0 = &uart_AO;
 18                 ethernet0 = &ethmac;
 19         };
 20 
 21         chosen {
 22                 stdout-path = "serial0:115200n8";
 23         };
 24 
 25         memory@0 {
 26                 device_type = "memory";
 27                 reg = <0x0 0x0 0x0 0x40000000>;
 28         };
 29 
 30         emmc_pwrseq: emmc-pwrseq {
 31                 compatible = "mmc-pwrseq-emmc";
 32                 reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
 33         };
 34 
 35         sdio_pwrseq: sdio-pwrseq {
 36                 compatible = "mmc-pwrseq-simple";
 37                 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
 38                 clocks = <&wifi32k>;
 39                 clock-names = "ext_clock";
 40         };
 41 
 42         flash_1v8: regulator-flash-1v8 {
 43                 compatible = "regulator-fixed";
 44                 regulator-name = "FLASH_1V8";
 45                 regulator-min-microvolt = <1800000>;
 46                 regulator-max-microvolt = <1800000>;
 47                 vin-supply = <&vcc_3v3>;
 48                 regulator-always-on;
 49         };
 50 
 51         main_12v: regulator-main-12v {
 52                 compatible = "regulator-fixed";
 53                 regulator-name = "12V";
 54                 regulator-min-microvolt = <12000000>;
 55                 regulator-max-microvolt = <12000000>;
 56                 regulator-always-on;
 57         };
 58 
 59         vcc_5v: regulator-vcc-5v {
 60                 compatible = "regulator-fixed";
 61                 regulator-name = "VCC_5V";
 62                 regulator-min-microvolt = <5000000>;
 63                 regulator-max-microvolt = <5000000>;
 64                 vin-supply = <&main_12v>;
 65 
 66                 gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
 67                 enable-active-high;
 68         };
 69 
 70         vcc_1v8: regulator-vcc-1v8 {
 71                 compatible = "regulator-fixed";
 72                 regulator-name = "VCC_1V8";
 73                 regulator-min-microvolt = <1800000>;
 74                 regulator-max-microvolt = <1800000>;
 75                 vin-supply = <&vcc_3v3>;
 76                 regulator-always-on;
 77         };
 78 
 79         vcc_3v3: regulator-vcc-3v3 {
 80                 compatible = "regulator-fixed";
 81                 regulator-name = "VCC_3V3";
 82                 regulator-min-microvolt = <3300000>;
 83                 regulator-max-microvolt = <3300000>;
 84                 vin-supply = <&vddao_3v3>;
 85                 regulator-always-on;
 86                 /* FIXME: actually controlled by VDDCPU_B_EN */
 87         };
 88 
 89         vddcpu_a: regulator-vddcpu-a {
 90                 /*
 91                  * MP1653 Regulator.
 92                  */
 93                 compatible = "pwm-regulator";
 94 
 95                 regulator-name = "VDDCPU_A";
 96                 regulator-min-microvolt = <721000>;
 97                 regulator-max-microvolt = <1022000>;
 98 
 99                 pwm-supply = <&main_12v>;
100 
101                 pwms = <&pwm_ab 0 1250 0>;
102                 pwm-dutycycle-range = <100 0>;
103 
104                 regulator-boot-on;
105                 regulator-always-on;
106         };
107 
108         vddcpu_b: regulator-vddcpu-b {
109                 /*
110                  * MP1652 Regulator.
111                  */
112                 compatible = "pwm-regulator";
113 
114                 regulator-name = "VDDCPU_B";
115                 regulator-min-microvolt = <721000>;
116                 regulator-max-microvolt = <1022000>;
117 
118                 pwm-supply = <&main_12v>;
119 
120                 pwms = <&pwm_AO_cd 1 1250 0>;
121                 pwm-dutycycle-range = <100 0>;
122 
123                 regulator-boot-on;
124                 regulator-always-on;
125         };
126 
127         usb1_pow: regulator-usb1-pow {
128                 compatible = "regulator-fixed";
129                 regulator-name = "USB1_POW";
130                 regulator-min-microvolt = <5000000>;
131                 regulator-max-microvolt = <5000000>;
132                 vin-supply = <&vcc_5v>;
133 
134                 /* connected to SY6280A Power Switch */
135                 gpio = <&gpio GPIOA_8 GPIO_ACTIVE_HIGH>;
136                 enable-active-high;
137         };
138 
139         usb_pwr_en: regulator-usb-pwr-en {
140                 compatible = "regulator-fixed";
141                 regulator-name = "USB_PWR_EN";
142                 regulator-min-microvolt = <5000000>;
143                 regulator-max-microvolt = <5000000>;
144                 vin-supply = <&vcc_5v>;
145 
146                 /* Connected to USB3 Type-A Port power enable */
147                 gpio = <&gpio GPIOAO_7 GPIO_ACTIVE_HIGH>;
148                 enable-active-high;
149         };
150 
151         vddao_1v8: regulator-vddao-1v8 {
152                 compatible = "regulator-fixed";
153                 regulator-name = "VDDAO_1V8";
154                 regulator-min-microvolt = <1800000>;
155                 regulator-max-microvolt = <1800000>;
156                 vin-supply = <&vddao_3v3>;
157                 regulator-always-on;
158         };
159 
160         vddao_3v3: regulator-vddao-3v3 {
161                 compatible = "regulator-fixed";
162                 regulator-name = "VDDAO_3V3";
163                 regulator-min-microvolt = <3300000>;
164                 regulator-max-microvolt = <3300000>;
165                 vin-supply = <&main_12v>;
166                 regulator-always-on;
167         };
168 
169         cvbs-connector {
170                 compatible = "composite-video-connector";
171 
172                 port {
173                         cvbs_connector_in: endpoint {
174                                 remote-endpoint = <&cvbs_vdac_out>;
175                         };
176                 };
177         };
178 
179         hdmi-connector {
180                 compatible = "hdmi-connector";
181                 type = "a";
182 
183                 port {
184                         hdmi_connector_in: endpoint {
185                                 remote-endpoint = <&hdmi_tx_tmds_out>;
186                         };
187                 };
188         };
189 
190         wifi32k: wifi32k {
191                 compatible = "pwm-clock";
192                 #clock-cells = <0>;
193                 clock-frequency = <32768>;
194                 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
195         };
196 };
197 
198 &cec_AO {
199         pinctrl-0 = <&cec_ao_a_h_pins>;
200         pinctrl-names = "default";
201         status = "disabled";
202         hdmi-phandle = <&hdmi_tx>;
203 };
204 
205 &cecb_AO {
206         pinctrl-0 = <&cec_ao_b_h_pins>;
207         pinctrl-names = "default";
208         status = "okay";
209         hdmi-phandle = <&hdmi_tx>;
210 };
211 
212 &cpu0 {
213         cpu-supply = <&vddcpu_b>;
214         operating-points-v2 = <&cpu_opp_table_0>;
215         clocks = <&clkc CLKID_CPU_CLK>;
216         clock-latency = <50000>;
217 };
218 
219 &cpu1 {
220         cpu-supply = <&vddcpu_b>;
221         operating-points-v2 = <&cpu_opp_table_0>;
222         clocks = <&clkc CLKID_CPU_CLK>;
223         clock-latency = <50000>;
224 };
225 
226 &cpu100 {
227         cpu-supply = <&vddcpu_a>;
228         operating-points-v2 = <&cpub_opp_table_1>;
229         clocks = <&clkc CLKID_CPUB_CLK>;
230         clock-latency = <50000>;
231 };
232 
233 &cpu101 {
234         cpu-supply = <&vddcpu_a>;
235         operating-points-v2 = <&cpub_opp_table_1>;
236         clocks = <&clkc CLKID_CPUB_CLK>;
237         clock-latency = <50000>;
238 };
239 
240 &cpu102 {
241         cpu-supply = <&vddcpu_a>;
242         operating-points-v2 = <&cpub_opp_table_1>;
243         clocks = <&clkc CLKID_CPUB_CLK>;
244         clock-latency = <50000>;
245 };
246 
247 &cpu103 {
248         cpu-supply = <&vddcpu_a>;
249         operating-points-v2 = <&cpub_opp_table_1>;
250         clocks = <&clkc CLKID_CPUB_CLK>;
251         clock-latency = <50000>;
252 };
253 
254 &cvbs_vdac_port {
255         cvbs_vdac_out: endpoint {
256                 remote-endpoint = <&cvbs_connector_in>;
257         };
258 };
259 
260 &ext_mdio {
261         external_phy: ethernet-phy@0 {
262                 /* Realtek RTL8211F (0x001cc916) */
263                 reg = <0>;
264                 max-speed = <1000>;
265 
266                 reset-assert-us = <10000>;
267                 reset-deassert-us = <80000>;
268                 reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
269 
270                 interrupt-parent = <&gpio_intc>;
271                 /* MAC_INTR on GPIOZ_14 */
272                 interrupts = <IRQID_GPIOZ_14 IRQ_TYPE_LEVEL_LOW>;
273         };
274 };
275 
276 &ethmac {
277         pinctrl-0 = <&eth_pins>, <&eth_rgmii_pins>;
278         pinctrl-names = "default";
279         status = "okay";
280         phy-mode = "rgmii";
281         phy-handle = <&external_phy>;
282         amlogic,tx-delay-ns = <2>;
283 };
284 
285 &hdmi_tx {
286         status = "okay";
287         pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
288         pinctrl-names = "default";
289         hdmi-supply = <&vcc_5v>;
290 };
291 
292 &hdmi_tx_tmds_port {
293         hdmi_tx_tmds_out: endpoint {
294                 remote-endpoint = <&hdmi_connector_in>;
295         };
296 };
297 
298 &ir {
299         status = "okay";
300         pinctrl-0 = <&remote_input_ao_pins>;
301         pinctrl-names = "default";
302 };
303 
304 &pwm_ab {
305         pinctrl-0 = <&pwm_a_e_pins>;
306         pinctrl-names = "default";
307         clocks = <&xtal>;
308         clock-names = "clkin0";
309         status = "okay";
310 };
311 
312 &pwm_AO_cd {
313         pinctrl-0 = <&pwm_ao_d_e_pins>;
314         pinctrl-names = "default";
315         clocks = <&xtal>;
316         clock-names = "clkin1";
317         status = "okay";
318 };
319 
320 &pwm_ef {
321         pinctrl-0 = <&pwm_e_pins>;
322         pinctrl-names = "default";
323         clocks = <&xtal>;
324         clock-names = "clkin0";
325         status = "okay";
326 };
327 
328 /* SDIO */
329 &sd_emmc_a {
330         status = "okay";
331         pinctrl-0 = <&sdio_pins>;
332         pinctrl-1 = <&sdio_clk_gate_pins>;
333         pinctrl-names = "default", "clk-gate";
334         #address-cells = <1>;
335         #size-cells = <0>;
336 
337         bus-width = <4>;
338         cap-sd-highspeed;
339         max-frequency = <100000000>;
340 
341         /* WiFi firmware requires power to be kept while in suspend */
342         keep-power-in-suspend;
343 
344         non-removable;
345         disable-wp;
346 
347         mmc-pwrseq = <&sdio_pwrseq>;
348 
349         vmmc-supply = <&vddao_3v3>;
350         vqmmc-supply = <&vddao_1v8>;
351 
352         brcmf: wifi@1 {
353                 reg = <1>;
354                 compatible = "brcm,bcm4329-fmac";
355         };
356 };
357 
358 /* SD card */
359 &sd_emmc_b {
360         status = "okay";
361         pinctrl-0 = <&sdcard_c_pins>;
362         pinctrl-1 = <&sdcard_clk_gate_c_pins>;
363         pinctrl-names = "default", "clk-gate";
364 
365         bus-width = <4>;
366         cap-sd-highspeed;
367         max-frequency = <50000000>;
368         disable-wp;
369 
370         cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
371         vmmc-supply = <&vddao_3v3>;
372         vqmmc-supply = <&vddao_3v3>;
373 };
374 
375 /* eMMC */
376 &sd_emmc_c {
377         status = "okay";
378         pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
379         pinctrl-1 = <&emmc_clk_gate_pins>;
380         pinctrl-names = "default", "clk-gate";
381 
382         bus-width = <8>;
383         cap-mmc-highspeed;
384         max-frequency = <100000000>;
385         disable-wp;
386 
387         mmc-pwrseq = <&emmc_pwrseq>;
388         vmmc-supply = <&vcc_3v3>;
389         vqmmc-supply = <&flash_1v8>;
390 };
391 
392 &uart_A {
393         status = "okay";
394         pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
395         pinctrl-names = "default";
396         uart-has-rtscts;
397 
398         bluetooth {
399                 compatible = "brcm,bcm43438-bt";
400                 shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
401                 max-speed = <2000000>;
402                 clocks = <&wifi32k>;
403                 clock-names = "lpo";
404         };
405 };
406 
407 &uart_AO {
408         status = "okay";
409         pinctrl-0 = <&uart_ao_a_pins>;
410         pinctrl-names = "default";
411 };
412 
413 &usb {
414         status = "okay";
415         dr_mode = "host";
416         vbus-supply = <&usb_pwr_en>;
417 };
418 
419 &usb2_phy0 {
420         phy-supply = <&usb1_pow>;
421 };
422 
423 &usb2_phy1 {
424         phy-supply = <&usb1_pow>;
425 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php