1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source extras for U-Boot for the Ebisu board
4 *
5 * Copyright (C) 2018 Marek Vasut <marek.vasut@gmail.com>
6 */
7
8#include "r8a77990-ebisu.dts"
9#include "r8a77990-u-boot.dtsi"
10
11/ {
12	reg_1p8v: regulator0 {
13		compatible = "regulator-fixed";
14		regulator-name = "fixed-1.8V";
15		regulator-min-microvolt = <1800000>;
16		regulator-max-microvolt = <1800000>;
17		regulator-boot-on;
18		regulator-always-on;
19	};
20
21	reg_3p3v: regulator1 {
22		compatible = "regulator-fixed";
23		regulator-name = "fixed-3.3V";
24		regulator-min-microvolt = <3300000>;
25		regulator-max-microvolt = <3300000>;
26		regulator-boot-on;
27		regulator-always-on;
28	};
29
30	vcc_sdhi0: regulator-vcc-sdhi0 {
31		compatible = "regulator-fixed";
32
33		regulator-name = "SDHI0 Vcc";
34		regulator-min-microvolt = <3300000>;
35		regulator-max-microvolt = <3300000>;
36
37		gpio = <&gpio5 17 GPIO_ACTIVE_HIGH>;
38		enable-active-high;
39		u-boot,off-on-delay-us = <20000>;
40	};
41
42	vccq_sdhi0: regulator-vccq-sdhi0 {
43		compatible = "regulator-gpio";
44
45		regulator-name = "SDHI0 VccQ";
46		regulator-min-microvolt = <1800000>;
47		regulator-max-microvolt = <3300000>;
48
49		gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>;
50		gpios-states = <1>;
51		states = <3300000 1
52			  1800000 0>;
53	};
54
55	vcc_sdhi1: regulator-vcc-sdhi1 {
56		compatible = "regulator-fixed";
57
58		regulator-name = "SDHI1 Vcc";
59		regulator-min-microvolt = <3300000>;
60		regulator-max-microvolt = <3300000>;
61
62		gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>;
63		enable-active-high;
64		u-boot,off-on-delay-us = <20000>;
65	};
66
67	vccq_sdhi1: regulator-vccq-sdhi1 {
68		compatible = "regulator-gpio";
69
70		regulator-name = "SDHI1 VccQ";
71		regulator-min-microvolt = <1800000>;
72		regulator-max-microvolt = <3300000>;
73
74		gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
75		gpios-states = <1>;
76		states = <3300000 1
77			  1800000 0>;
78	};
79};
80
81&pfc {
82	pinctrl-0 = <&scif_clk_pins>;
83	pinctrl-names = "default";
84
85	scif2_pins: scif2 {
86		groups = "scif2_data_a";
87		function = "scif2";
88	};
89
90	scif_clk_pins: scif_clk {
91		groups = "scif_clk_a";
92		function = "scif_clk";
93	};
94
95	sdhi0_pins: sd0 {
96		groups = "sdhi0_data4", "sdhi0_ctrl";
97		function = "sdhi0";
98		power-source = <3300>;
99	};
100
101	sdhi0_pins_uhs: sd0_uhs {
102		groups = "sdhi0_data4", "sdhi0_ctrl";
103		function = "sdhi0";
104		power-source = <1800>;
105	};
106
107	sdhi1_pins: sd1 {
108		groups = "sdhi1_data4", "sdhi1_ctrl";
109		function = "sdhi1";
110		power-source = <3300>;
111	};
112
113	sdhi1_pins_uhs: sd1_uhs {
114		groups = "sdhi1_data4", "sdhi1_ctrl";
115		function = "sdhi1";
116		power-source = <1800>;
117	};
118
119	sdhi3_pins: sd2 {
120		groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds";
121		function = "sdhi3";
122		power-source = <1800>;
123	};
124
125	sdhi3_pins_uhs: sd2_uhs {
126		groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds";
127		function = "sdhi3";
128		power-source = <1800>;
129	};
130};
131
132&scif2 {
133	pinctrl-0 = <&scif2_pins>;
134	pinctrl-names = "default";
135	status = "okay";
136};
137
138&sdhi0 {
139	/* full size SD */
140	pinctrl-0 = <&sdhi0_pins>;
141	pinctrl-1 = <&sdhi0_pins_uhs>;
142	pinctrl-names = "default", "state_uhs";
143
144	vmmc-supply = <&vcc_sdhi0>;
145	vqmmc-supply = <&vccq_sdhi0>;
146	cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
147	wp-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
148	bus-width = <4>;
149	sd-uhs-sdr12;
150	sd-uhs-sdr25;
151	sd-uhs-sdr50;
152	sd-uhs-sdr104;
153	status = "okay";
154	max-frequency = <208000000>;
155};
156
157&sdhi1 {
158	/* microSD */
159	pinctrl-0 = <&sdhi1_pins>;
160	pinctrl-1 = <&sdhi1_pins_uhs>;
161	pinctrl-names = "default", "state_uhs";
162
163	vmmc-supply = <&vcc_sdhi1>;
164	vqmmc-supply = <&vccq_sdhi1>;
165	cd-gpios = <&gpio3 14 GPIO_ACTIVE_LOW>;
166	bus-width = <4>;
167	sd-uhs-sdr12;
168	sd-uhs-sdr25;
169	sd-uhs-sdr50;
170	sd-uhs-sdr104;
171	status = "okay";
172	max-frequency = <208000000>;
173};
174
175&sdhi3 {
176	/* used for on-board 8bit eMMC */
177	pinctrl-0 = <&sdhi3_pins>;
178	pinctrl-1 = <&sdhi3_pins_uhs>;
179	pinctrl-names = "default", "state_uhs";
180
181	vmmc-supply = <&reg_3p3v>;
182	vqmmc-supply = <&reg_1p8v>;
183	bus-width = <8>;
184	mmc-hs200-1_8v;
185	mmc-hs400-1_8v;
186	non-removable;
187	status = "okay";
188};
189