xref: /openbmc/u-boot/arch/arm/dts/meson-gxl-s905x-p212.dtsi (revision 4549e789c1d58a8c48e8a20f1b4bdb83e978c954)
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};
173