SPDX: Convert all of our multiple license tags to Linux Kernel style
[oweals/u-boot.git] / arch / arm / dts / meson-gxl-s905x-p212.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2016 Martin Blumenstingl <martin.blumenstingl@googlemail.com>.
4  * Based on meson-gx-p23x-q20x.dtsi:
5  * - Copyright (c) 2016 Endless Computers, Inc.
6  *   Author: Carlo Caione <carlo@endlessm.com>
7  * - Copyright (c) 2016 BayLibre, SAS.
8  *   Author: Neil Armstrong <narmstrong@baylibre.com>
9  */
10
11 /* Common DTSI for devices which are based on the P212 reference board. */
12
13 #include "meson-gxl-s905x.dtsi"
14
15 / {
16         aliases {
17                 serial0 = &uart_AO;
18                 serial1 = &uart_A;
19         };
20
21         chosen {
22                 stdout-path = "serial0:115200n8";
23         };
24
25         memory@0 {
26                 device_type = "memory";
27                 reg = <0x0 0x0 0x0 0x80000000>;
28         };
29
30         vddio_boot: regulator-vddio_boot {
31                 compatible = "regulator-fixed";
32                 regulator-name = "VDDIO_BOOT";
33                 regulator-min-microvolt = <1800000>;
34                 regulator-max-microvolt = <1800000>;
35         };
36
37         vddao_3v3: regulator-vddao_3v3 {
38                 compatible = "regulator-fixed";
39                 regulator-name = "VDDAO_3V3";
40                 regulator-min-microvolt = <3300000>;
41                 regulator-max-microvolt = <3300000>;
42         };
43
44         vddio_ao18: regulator-vddio_ao18 {
45                 compatible = "regulator-fixed";
46                 regulator-name = "VDDIO_AO18";
47                 regulator-min-microvolt = <1800000>;
48                 regulator-max-microvolt = <1800000>;
49         };
50
51         vcc_3v3: regulator-vcc_3v3 {
52                 compatible = "regulator-fixed";
53                 regulator-name = "VCC_3V3";
54                 regulator-min-microvolt = <3300000>;
55                 regulator-max-microvolt = <3300000>;
56         };
57
58         emmc_pwrseq: emmc-pwrseq {
59                 compatible = "mmc-pwrseq-emmc";
60                 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
61         };
62
63         wifi32k: wifi32k {
64                 compatible = "pwm-clock";
65                 #clock-cells = <0>;
66                 clock-frequency = <32768>;
67                 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
68         };
69
70         sdio_pwrseq: sdio-pwrseq {
71                 compatible = "mmc-pwrseq-simple";
72                 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
73                 clocks = <&wifi32k>;
74                 clock-names = "ext_clock";
75         };
76 };
77
78 &ethmac {
79         status = "okay";
80 };
81
82 &ir {
83         status = "okay";
84         pinctrl-0 = <&remote_input_ao_pins>;
85         pinctrl-names = "default";
86 };
87
88 &saradc {
89         status = "okay";
90         vref-supply = <&vddio_ao18>;
91 };
92
93 /* Wireless SDIO Module */
94 &sd_emmc_a {
95         status = "okay";
96         pinctrl-0 = <&sdio_pins>;
97         pinctrl-names = "default";
98         #address-cells = <1>;
99         #size-cells = <0>;
100
101         bus-width = <4>;
102         cap-sd-highspeed;
103         max-frequency = <100000000>;
104
105         non-removable;
106         disable-wp;
107
108         mmc-pwrseq = <&sdio_pwrseq>;
109
110         vmmc-supply = <&vddao_3v3>;
111         vqmmc-supply = <&vddio_boot>;
112 };
113
114 /* SD card */
115 &sd_emmc_b {
116         status = "okay";
117         pinctrl-0 = <&sdcard_pins>;
118         pinctrl-names = "default";
119
120         bus-width = <4>;
121         cap-sd-highspeed;
122         max-frequency = <100000000>;
123         disable-wp;
124
125         cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
126         cd-inverted;
127
128         vmmc-supply = <&vddao_3v3>;
129         vqmmc-supply = <&vddio_boot>;
130 };
131
132 /* eMMC */
133 &sd_emmc_c {
134         status = "okay";
135         pinctrl-0 = <&emmc_pins>;
136         pinctrl-names = "default";
137
138         bus-width = <8>;
139         cap-sd-highspeed;
140         cap-mmc-highspeed;
141         max-frequency = <200000000>;
142         non-removable;
143         disable-wp;
144         mmc-ddr-1_8v;
145         mmc-hs200-1_8v;
146
147         mmc-pwrseq = <&emmc_pwrseq>;
148         vmmc-supply = <&vcc_3v3>;
149         vqmmc-supply = <&vddio_boot>;
150 };
151
152 &pwm_ef {
153         status = "okay";
154         pinctrl-0 = <&pwm_e_pins>;
155         pinctrl-names = "default";
156         clocks = <&clkc CLKID_FCLK_DIV4>;
157         clock-names = "clkin0";
158 };
159
160 /* This is connected to the Bluetooth module: */
161 &uart_A {
162         status = "okay";
163         pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
164         pinctrl-names = "default";
165         uart-has-rtscts;
166 };
167
168 &uart_AO {
169         status = "okay";
170         pinctrl-0 = <&uart_ao_a_pins>;
171         pinctrl-names = "default";
172 };