Linux Audio

Check our new training course

Loading...
v5.4
  1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2/*
  3 * Device tree file for Firefly Rockchip RK3288 Core board
  4 * Copyright (c) 2016 Randy Li <ayaka@soulik.info>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  5 */
  6
  7/dts-v1/;
  8#include "rk3288-firefly-reload-core.dtsi"
  9
 10/ {
 11	model = "Firefly-RK3288-reload";
 12	compatible = "firefly,firefly-rk3288-reload", "rockchip,rk3288";
 13
 14	adc-keys {
 15		compatible = "adc-keys";
 16		io-channels = <&saradc 1>;
 17		io-channel-names = "buttons";
 18		keyup-threshold-microvolt = <1800000>;
 19
 20		button-recovery {
 21			label = "Recovery";
 22			linux,code = <KEY_VENDOR>;
 23			press-threshold-microvolt = <0>;
 24		};
 25	};
 26
 27	gpio-keys {
 28		compatible = "gpio-keys";
 29
 30		power {
 31			wakeup-source;
 32			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
 33			label = "GPIO Power";
 34			linux,code = <KEY_POWER>;
 35			pinctrl-names = "default";
 36			pinctrl-0 = <&pwr_key>;
 37		};
 38	};
 39
 40	ir-receiver {
 41		compatible = "gpio-ir-receiver";
 42		gpios = <&gpio7 RK_PA0 GPIO_ACTIVE_LOW>;
 43	};
 44
 45	leds {
 46		compatible = "gpio-leds";
 47
 48		power {
 49			gpios = <&gpio8 RK_PA2 GPIO_ACTIVE_LOW>;
 50			label = "firefly:blue:power";
 51			pinctrl-names = "default";
 52			pinctrl-0 = <&power_led>;
 53			panic-indicator;
 54		};
 55
 56		work {
 57			gpios = <&gpio8 RK_PA1 GPIO_ACTIVE_LOW>;
 58			label = "firefly:blue:user";
 59			linux,default-trigger = "rc-feedback";
 60			pinctrl-names = "default";
 61			pinctrl-0 = <&work_led>;
 62		};
 63	};
 64
 65	sdio_pwrseq: sdio-pwrseq {
 66		compatible = "mmc-pwrseq-simple";
 67		clocks = <&hym8563>;
 68		clock-names = "ext_clock";
 69		pinctrl-names = "default";
 70		pinctrl-0 = <&wifi_enable>;
 71		reset-gpios = <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>;
 72	};
 73
 74	sound {
 75		compatible = "simple-audio-card";
 76		simple-audio-card,name = "SPDIF";
 77		simple-audio-card,dai-link@1 {  /* S/PDIF - S/PDIF */
 78			cpu { sound-dai = <&spdif>; };
 79			codec { sound-dai = <&spdif_out>; };
 80		};
 81	};
 82
 83	spdif_out: spdif-out {
 84		compatible = "linux,spdif-dit";
 85		#sound-dai-cells = <0>;
 86	};
 87
 88	vcc_host_5v: usb-host-regulator {
 89		compatible = "regulator-fixed";
 90		enable-active-high;
 91		gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
 92		pinctrl-names = "default";
 93		pinctrl-0 = <&host_vbus_drv>;
 94		regulator-name = "vcc_host_5v";
 95		regulator-min-microvolt = <5000000>;
 96		regulator-max-microvolt = <5000000>;
 97		regulator-always-on;
 98		vin-supply = <&vcc_5v>;
 99	};
100
101	vcc_5v: vcc_sys: vsys-regulator {
102		compatible = "regulator-fixed";
103		regulator-name = "vcc_5v";
104		regulator-min-microvolt = <5000000>;
105		regulator-max-microvolt = <5000000>;
106		regulator-always-on;
107		regulator-boot-on;
108	};
109
110	vcc_sd: sdmmc-regulator {
111		compatible = "regulator-fixed";
112		gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>;
113		pinctrl-names = "default";
114		pinctrl-0 = <&sdmmc_pwr>;
115		regulator-name = "vcc_sd";
116		regulator-min-microvolt = <3300000>;
117		regulator-max-microvolt = <3300000>;
118		startup-delay-us = <100000>;
119		vin-supply = <&vcc_io>;
120	};
121
122	vcc_otg_5v: usb-otg-regulator {
123		compatible = "regulator-fixed";
124		enable-active-high;
125		gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
126		pinctrl-names = "default";
127		pinctrl-0 = <&otg_vbus_drv>;
128		regulator-name = "vcc_otg_5v";
129		regulator-min-microvolt = <5000000>;
130		regulator-max-microvolt = <5000000>;
131		regulator-always-on;
132		vin-supply = <&vcc_5v>;
133	};
134
135	dovdd_1v8: dovdd-1v8-regulator {
136		compatible = "regulator-fixed";
137		enable-active-high;
138		gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
139		pinctrl-names = "default";
140		pinctrl-0 = <&dvp_pwr>;
141		regulator-name = "dovdd_1v8";
142		regulator-min-microvolt = <1800000>;
143		regulator-max-microvolt = <1800000>;
144		vin-supply = <&vcc_io>;
145	};
146
147	vcc28_dvp: vcc28-dvp-regulator {
148		compatible = "regulator-fixed";
149		enable-active-high;
150		gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
151		pinctrl-names = "default";
152		pinctrl-0 = <&dvp_pwr>;
153		regulator-name = "vcc28_dvp";
154		regulator-min-microvolt = <2800000>;
155		regulator-max-microvolt = <2800000>;
156		vin-supply = <&vcc_io>;
157	};
158
159	af_28: af_28-regulator {
160		compatible = "regulator-fixed";
161		enable-active-high;
162		gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
163		pinctrl-names = "default";
164		pinctrl-0 = <&dvp_pwr>;
165		regulator-name = "af_28";
166		regulator-min-microvolt = <2800000>;
167		regulator-max-microvolt = <2800000>;
168		vin-supply = <&vcc_io>;
169	};
170
171	dvdd_1v2: af_28-regulator {
172		compatible = "regulator-fixed";
173		enable-active-high;
174		gpio = <&gpio7 RK_PB4 GPIO_ACTIVE_HIGH>;
175		pinctrl-names = "default";
176		pinctrl-0 = <&cif_pwr>;
177		regulator-name = "dvdd_1v2";
178		regulator-min-microvolt = <1200000>;
179		regulator-max-microvolt = <1200000>;
180		vin-supply = <&vcc_io>;
181	};
182
183	vbat_wl: wifi-regulator {
184		compatible = "regulator-fixed";
185		regulator-name = "vbat_wl";
186		regulator-min-microvolt = <3300000>;
187		regulator-max-microvolt = <3300000>;
188		vin-supply = <&vcc_io>;
189	};
190};
191
192&hdmi {
193	ddc-i2c-bus = <&i2c5>;
194	pinctrl-names = "default";
195	pinctrl-0 = <&hdmi_cec_c0>;
196	status = "okay";
197};
198
199&i2c0 {
200	hym8563: hym8563@51 {
201		compatible = "haoyu,hym8563";
202		reg = <0x51>;
203		#clock-cells = <0>;
204		clock-frequency = <32768>;
205		clock-output-names = "xin32k";
206		interrupt-parent = <&gpio7>;
207		interrupts = <RK_PA4 IRQ_TYPE_EDGE_FALLING>;
208		pinctrl-names = "default";
209		pinctrl-0 = <&rtc_int>;
210	};
211};
212
213&i2c2 {
214	status = "okay";
215
216	codec: es8328@10 {
217		compatible = "everest,es8328";
218		DVDD-supply = <&vcca_33>;
219		AVDD-supply = <&vcca_33>;
220		PVDD-supply = <&vcca_33>;
221		HPVDD-supply = <&vcca_33>;
222		clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>;
223		clock-names = "i2s_hclk", "i2s_clk";
224		reg = <0x10>;
225	};
226};
227
228&i2c5 {
229	status = "okay";
230};
231
232&i2s {
233	status = "okay";
234};
235
236&saradc {
237	status = "okay";
238};
239
240&sdmmc {
241	bus-width = <4>;
242	cap-mmc-highspeed;
243	cap-sd-highspeed;
244	card-detect-delay = <200>;
245	disable-wp;
 
246	pinctrl-names = "default";
247	pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
248	vmmc-supply = <&vcc_sd>;
249	vqmmc-supply = <&vccio_sd>;
250	status = "okay";
251};
252
253&sdio0 {
254	bus-width = <4>;
255	cap-sd-highspeed;
256	cap-sdio-irq;
 
257	mmc-pwrseq = <&sdio_pwrseq>;
258	non-removable;
 
259	pinctrl-names = "default";
260	pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
261	sd-uhs-sdr12;
262	sd-uhs-sdr25;
263	sd-uhs-sdr50;
264	sd-uhs-ddr50;
265	vmmc-supply = <&vbat_wl>;
266	vqmmc-supply = <&vccio_wl>;
267	status = "okay";
268};
269
270&spdif {
271	status = "okay";
272};
273
274&uart0 {
275	pinctrl-names = "default";
276	pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
277	status = "okay";
278};
279
280&uart1 {
281	status = "okay";
282};
283
284&uart2 {
285	status = "okay";
286};
287
288&uart3 {
289	status = "okay";
290};
291
292&usbphy {
293	status = "okay";
294};
295
296&usb_host1 {
297	pinctrl-names = "default";
298	pinctrl-0 = <&usbhub_rst>;
299	status = "okay";
300};
301
302&usb_otg {
303	status = "okay";
304};
305
306&pinctrl {
307	ir {
308		ir_int: ir-int {
309			rockchip,pins = <7 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
310		};
311	};
312
313	dvp {
314		dvp_pwr: dvp-pwr {
315			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
316		};
317
318		cif_pwr: cif-pwr {
319			rockchip,pins = <7 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
320		};
321	};
322
323	hym8563 {
324		rtc_int: rtc-int {
325			rockchip,pins = <7 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
326		};
327	};
328
329	keys {
330		pwr_key: pwr-key {
331			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
332		};
333	};
334
335	leds {
336		power_led: power-led {
337			rockchip,pins = <8 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
338		};
339
340		work_led: work-led {
341			rockchip,pins = <8 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
342		};
343	};
344
345	sdmmc {
346		/*
347		 * Default drive strength isn't enough to achieve even
348		 * high-speed mode on firefly board so bump up to 12ma.
349		 */
350		sdmmc_bus4: sdmmc-bus4 {
351			rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up_drv_12ma>,
352					<6 RK_PC1 1 &pcfg_pull_up_drv_12ma>,
353					<6 RK_PC2 1 &pcfg_pull_up_drv_12ma>,
354					<6 RK_PC3 1 &pcfg_pull_up_drv_12ma>;
355		};
356
357		sdmmc_clk: sdmmc-clk {
358			rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_12ma>;
359		};
360
361		sdmmc_cmd: sdmmc-cmd {
362			rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_12ma>;
363		};
364
365		sdmmc_pwr: sdmmc-pwr {
366			rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
367		};
368	};
369
370	sdio {
371		wifi_enable: wifi-enable {
372			rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
373		};
374	};
375
376	usb_host {
377		host_vbus_drv: host-vbus-drv {
378			rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
379		};
380
381		usbhub_rst: usbhub-rst {
382			rockchip,pins = <8 RK_PA3 RK_FUNC_GPIO &pcfg_output_high>;
383		};
384	};
385
386	usb_otg {
387		otg_vbus_drv: otg-vbus-drv {
388			rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
389		};
390	};
391};
v4.10.11
 
  1/*
  2 * Device tree file for Firefly Rockchip RK3288 Core board
  3 * Copyright (c) 2016 Randy Li <ayaka@soulik.info>
  4 *
  5 * This file is dual-licensed: you can use it either under the terms
  6 * of the GPL or the X11 license, at your option. Note that this dual
  7 * licensing only applies to this file, and not this project as a
  8 * whole.
  9 *
 10 *  a) This file is free software; you can redistribute it and/or
 11 *     modify it under the terms of the GNU General Public License as
 12 *     published by the Free Software Foundation; either version 2 of the
 13 *     License, or (at your option) any later version.
 14 *
 15 *     This file is distributed in the hope that it will be useful,
 16 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 17 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 18 *     GNU General Public License for more details.
 19 *
 20 * Or, alternatively,
 21 *
 22 *  b) Permission is hereby granted, free of charge, to any person
 23 *     obtaining a copy of this software and associated documentation
 24 *     files (the "Software"), to deal in the Software without
 25 *     restriction, including without limitation the rights to use,
 26 *     copy, modify, merge, publish, distribute, sublicense, and/or
 27 *     sell copies of the Software, and to permit persons to whom the
 28 *     Software is furnished to do so, subject to the following
 29 *     conditions:
 30 *
 31 *     The above copyright notice and this permission notice shall be
 32 *     included in all copies or substantial portions of the Software.
 33 *
 34 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 35 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 36 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 37 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 38 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 39 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 40 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 41 *     OTHER DEALINGS IN THE SOFTWARE.
 42 */
 43
 44/dts-v1/;
 45#include "rk3288-firefly-reload-core.dtsi"
 46
 47/ {
 48	model = "Firefly-RK3288-reload";
 49	compatible = "firefly,firefly-rk3288-reload", "rockchip,rk3288";
 50
 
 
 
 
 
 
 
 
 
 
 
 
 
 51	gpio-keys {
 52		compatible = "gpio-keys";
 53
 54		power {
 55			wakeup-source;
 56			gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
 57			label = "GPIO Power";
 58			linux,code = <KEY_POWER>;
 59			pinctrl-names = "default";
 60			pinctrl-0 = <&pwr_key>;
 61		};
 62	};
 63
 64	ir-receiver {
 65		compatible = "gpio-ir-receiver";
 66		gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
 67	};
 68
 69	leds {
 70		compatible = "gpio-leds";
 71
 72		power {
 73			gpios = <&gpio8 2 GPIO_ACTIVE_LOW>;
 74			label = "firefly:blue:power";
 75			pinctrl-names = "default";
 76			pinctrl-0 = <&power_led>;
 77			panic-indicator;
 78		};
 79
 80		work {
 81			gpios = <&gpio8 1 GPIO_ACTIVE_LOW>;
 82			label = "firefly:blue:user";
 83			linux,default-trigger = "rc-feedback";
 84			pinctrl-names = "default";
 85			pinctrl-0 = <&work_led>;
 86		};
 87	};
 88
 89	sdio_pwrseq: sdio-pwrseq {
 90		compatible = "mmc-pwrseq-simple";
 91		clocks = <&hym8563>;
 92		clock-names = "ext_clock";
 93		pinctrl-names = "default";
 94		pinctrl-0 = <&wifi_enable>;
 95		reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
 96	};
 97
 98	sound {
 99		compatible = "simple-audio-card";
100		simple-audio-card,name = "SPDIF";
101		simple-audio-card,dai-link@1 {  /* S/PDIF - S/PDIF */
102			cpu { sound-dai = <&spdif>; };
103			codec { sound-dai = <&spdif_out>; };
104		};
105	};
106
107	spdif_out: spdif-out {
108		compatible = "linux,spdif-dit";
109		#sound-dai-cells = <0>;
110	};
111
112	vcc_host_5v: usb-host-regulator {
113		compatible = "regulator-fixed";
114		enable-active-high;
115		gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>;
116		pinctrl-names = "default";
117		pinctrl-0 = <&host_vbus_drv>;
118		regulator-name = "vcc_host_5v";
119		regulator-min-microvolt = <5000000>;
120		regulator-max-microvolt = <5000000>;
121		regulator-always-on;
122		vin-supply = <&vcc_5v>;
123	};
124
125	vcc_5v: vcc_sys: vsys-regulator {
126		compatible = "regulator-fixed";
127		regulator-name = "vcc_5v";
128		regulator-min-microvolt = <5000000>;
129		regulator-max-microvolt = <5000000>;
130		regulator-always-on;
131		regulator-boot-on;
132	};
133
134	vcc_sd: sdmmc-regulator {
135		compatible = "regulator-fixed";
136		gpio = <&gpio7 11 GPIO_ACTIVE_LOW>;
137		pinctrl-names = "default";
138		pinctrl-0 = <&sdmmc_pwr>;
139		regulator-name = "vcc_sd";
140		regulator-min-microvolt = <3300000>;
141		regulator-max-microvolt = <3300000>;
142		startup-delay-us = <100000>;
143		vin-supply = <&vcc_io>;
144	};
145
146	vcc_otg_5v: usb-otg-regulator {
147		compatible = "regulator-fixed";
148		enable-active-high;
149		gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
150		pinctrl-names = "default";
151		pinctrl-0 = <&otg_vbus_drv>;
152		regulator-name = "vcc_otg_5v";
153		regulator-min-microvolt = <5000000>;
154		regulator-max-microvolt = <5000000>;
155		regulator-always-on;
156		vin-supply = <&vcc_5v>;
157	};
158
159	dovdd_1v8: dovdd-1v8-regulator {
160		compatible = "regulator-fixed";
161		enable-active-high;
162		gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
163		pinctrl-names = "default";
164		pinctrl-0 = <&dvp_pwr>;
165		regulator-name = "dovdd_1v8";
166		regulator-min-microvolt = <1800000>;
167		regulator-max-microvolt = <1800000>;
168		vin-supply = <&vcc_io>;
169	};
170
171	vcc28_dvp: vcc28-dvp-regulator {
172		compatible = "regulator-fixed";
173		enable-active-high;
174		gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
175		pinctrl-names = "default";
176		pinctrl-0 = <&dvp_pwr>;
177		regulator-name = "vcc28_dvp";
178		regulator-min-microvolt = <2800000>;
179		regulator-max-microvolt = <2800000>;
180		vin-supply = <&vcc_io>;
181	};
182
183	af_28: af_28-regulator {
184		compatible = "regulator-fixed";
185		enable-active-high;
186		gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
187		pinctrl-names = "default";
188		pinctrl-0 = <&dvp_pwr>;
189		regulator-name = "af_28";
190		regulator-min-microvolt = <2800000>;
191		regulator-max-microvolt = <2800000>;
192		vin-supply = <&vcc_io>;
193	};
194
195	dvdd_1v2: af_28-regulator {
196		compatible = "regulator-fixed";
197		enable-active-high;
198		gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
199		pinctrl-names = "default";
200		pinctrl-0 = <&cif_pwr>;
201		regulator-name = "dvdd_1v2";
202		regulator-min-microvolt = <1200000>;
203		regulator-max-microvolt = <1200000>;
204		vin-supply = <&vcc_io>;
205	};
206
207	vbat_wl: wifi-regulator {
208		compatible = "regulator-fixed";
209		regulator-name = "vbat_wl";
210		regulator-min-microvolt = <3300000>;
211		regulator-max-microvolt = <3300000>;
212		vin-supply = <&vcc_io>;
213	};
214};
215
 
 
 
 
 
 
 
216&i2c0 {
217	hym8563: hym8563@51 {
218		compatible = "haoyu,hym8563";
219		reg = <0x51>;
220		#clock-cells = <0>;
221		clock-frequency = <32768>;
222		clock-output-names = "xin32k";
223		interrupt-parent = <&gpio7>;
224		interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
225		pinctrl-names = "default";
226		pinctrl-0 = <&rtc_int>;
227	};
228};
229
230&i2c2 {
231	status = "okay";
232
233	codec: es8328@10 {
234		compatible = "everest,es8328";
235		DVDD-supply = <&vcca_33>;
236		AVDD-supply = <&vcca_33>;
237		PVDD-supply = <&vcca_33>;
238		HPVDD-supply = <&vcca_33>;
239		clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>;
240		clock-names = "i2s_hclk", "i2s_clk";
241		reg = <0x10>;
242	};
243};
244
 
 
 
 
245&i2s {
246	status = "okay";
247};
248
 
 
 
 
249&sdmmc {
250	bus-width = <4>;
251	cap-mmc-highspeed;
252	cap-sd-highspeed;
253	card-detect-delay = <200>;
254	disable-wp;
255	num-slots = <1>;
256	pinctrl-names = "default";
257	pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
258	vmmc-supply = <&vcc_sd>;
259	vqmmc-supply = <&vccio_sd>;
260	status = "okay";
261};
262
263&sdio0 {
264	bus-width = <4>;
265	cap-sd-highspeed;
266	cap-sdio-irq;
267	disable-wp;
268	mmc-pwrseq = <&sdio_pwrseq>;
269	non-removable;
270	num-slots = <1>;
271	pinctrl-names = "default";
272	pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
273	sd-uhs-sdr12;
274	sd-uhs-sdr25;
275	sd-uhs-sdr50;
276	sd-uhs-ddr50;
277	vmmc-supply = <&vbat_wl>;
278	vqmmc-supply = <&vccio_wl>;
279	status = "okay";
280};
281
282&spdif {
283	status = "okay";
284};
285
286&uart0 {
287	pinctrl-names = "default";
288	pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
289	status = "okay";
290};
291
292&uart1 {
293	status = "okay";
294};
295
296&uart2 {
297	status = "okay";
298};
299
300&uart3 {
301	status = "okay";
302};
303
304&usbphy {
305	status = "okay";
306};
307
308&usb_host1 {
309	pinctrl-names = "default";
310	pinctrl-0 = <&usbhub_rst>;
311	status = "okay";
312};
313
314&usb_otg {
315	status = "okay";
316};
317
318&pinctrl {
319	ir {
320		ir_int: ir-int {
321			rockchip,pins = <7 0 RK_FUNC_GPIO &pcfg_pull_up>;
322		};
323	};
324
325	dvp {
326		dvp_pwr: dvp-pwr {
327			rockchip,pins = <0 11 RK_FUNC_GPIO &pcfg_pull_none>;
328		};
329
330		cif_pwr: cif-pwr {
331			rockchip,pins = <7 12 RK_FUNC_GPIO &pcfg_pull_none>;
332		};
333	};
334
335	hym8563 {
336		rtc_int: rtc-int {
337			rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_up>;
338		};
339	};
340
341	keys {
342		pwr_key: pwr-key {
343			rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
344		};
345	};
346
347	leds {
348		power_led: power-led {
349			rockchip,pins = <8 2 RK_FUNC_GPIO &pcfg_pull_none>;
350		};
351
352		work_led: work-led {
353			rockchip,pins = <8 1 RK_FUNC_GPIO &pcfg_pull_none>;
354		};
355	};
356
357	sdmmc {
358		/*
359		 * Default drive strength isn't enough to achieve even
360		 * high-speed mode on firefly board so bump up to 12ma.
361		 */
362		sdmmc_bus4: sdmmc-bus4 {
363			rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_12ma>,
364					<6 17 RK_FUNC_1 &pcfg_pull_up_drv_12ma>,
365					<6 18 RK_FUNC_1 &pcfg_pull_up_drv_12ma>,
366					<6 19 RK_FUNC_1 &pcfg_pull_up_drv_12ma>;
367		};
368
369		sdmmc_clk: sdmmc-clk {
370			rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none_12ma>;
371		};
372
373		sdmmc_cmd: sdmmc-cmd {
374			rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_12ma>;
375		};
376
377		sdmmc_pwr: sdmmc-pwr {
378			rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
379		};
380	};
381
382	sdio {
383		wifi_enable: wifi-enable {
384			rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_none>;
385		};
386	};
387
388	usb_host {
389		host_vbus_drv: host-vbus-drv {
390			rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
391		};
392
393		usbhub_rst: usbhub-rst {
394			rockchip,pins = <8 3 RK_FUNC_GPIO &pcfg_output_high>;
395		};
396	};
397
398	usb_otg {
399		otg_vbus_drv: otg-vbus-drv {
400			rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
401		};
402	};
403};