Linux Audio

Check our new training course

Loading...
Note: File does not exist in v4.6.
  1/*
  2 * This file is dual-licensed: you can use it either under the terms
  3 * of the GPL or the X11 license, at your option. Note that this dual
  4 * licensing only applies to this file, and not this project as a
  5 * whole.
  6 *
  7 *  a) This file is free software; you can redistribute it and/or
  8 *     modify it under the terms of the GNU General Public License as
  9 *     published by the Free Software Foundation; either version 2 of the
 10 *     License, or (at your option) any later version.
 11 *
 12 *     This file is distributed in the hope that it will be useful,
 13 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 14 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 15 *     GNU General Public License for more details.
 16 *
 17 * Or, alternatively,
 18 *
 19 *  b) Permission is hereby granted, free of charge, to any person
 20 *     obtaining a copy of this software and associated documentation
 21 *     files (the "Software"), to deal in the Software without
 22 *     restriction, including without limitation the rights to use,
 23 *     copy, modify, merge, publish, distribute, sublicense, and/or
 24 *     sell copies of the Software, and to permit persons to whom the
 25 *     Software is furnished to do so, subject to the following
 26 *     conditions:
 27 *
 28 *     The above copyright notice and this permission notice shall be
 29 *     included in all copies or substantial portions of the Software.
 30 *
 31 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 32 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 33 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 34 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 35 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 36 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 37 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 38 *     OTHER DEALINGS IN THE SOFTWARE.
 39 */
 40
 41/dts-v1/;
 42
 43#include "rk3288.dtsi"
 44
 45/ {
 46	model = "Rockchip RK3288 Fennec Board";
 47	compatible = "rockchip,rk3288-fennec", "rockchip,rk3288";
 48
 49	memory@0 {
 50		reg = <0x0 0x0 0x0 0x80000000>;
 51		device_type = "memory";
 52	};
 53
 54	ext_gmac: external-gmac-clock {
 55		compatible = "fixed-clock";
 56		#clock-cells = <0>;
 57		clock-frequency = <125000000>;
 58		clock-output-names = "ext_gmac";
 59	};
 60
 61	vcc_sys: vsys-regulator {
 62		compatible = "regulator-fixed";
 63		regulator-name = "vcc_sys";
 64		regulator-min-microvolt = <5000000>;
 65		regulator-max-microvolt = <5000000>;
 66		regulator-always-on;
 67		regulator-boot-on;
 68	};
 69};
 70
 71&cpu0 {
 72	cpu0-supply = <&vdd_cpu>;
 73};
 74
 75&emmc {
 76	bus-width = <8>;
 77	cap-mmc-highspeed;
 78	disable-wp;
 79	non-removable;
 80	pinctrl-names = "default";
 81	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
 82	status = "okay";
 83};
 84
 85&gmac {
 86	assigned-clocks = <&cru SCLK_MAC>;
 87	assigned-clock-parents = <&ext_gmac>;
 88	clock_in_out = "input";
 89	pinctrl-names = "default";
 90	pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>;
 91	phy-supply = <&vcc_lan>;
 92	phy-mode = "rgmii";
 93	snps,reset-active-low;
 94	snps,reset-delays-us = <0 10000 1000000>;
 95	snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>;
 96	tx_delay = <0x30>;
 97	rx_delay = <0x10>;
 98	status = "okay";
 99};
100
101&gpu {
102	mali-supply = <&vdd_gpu>;
103	status = "okay";
104};
105
106&hdmi {
107	status = "okay";
108};
109
110&i2c0 {
111	status = "okay";
112	clock-frequency = <400000>;
113
114	rk808: pmic@1b {
115		compatible = "rockchip,rk808";
116		reg = <0x1b>;
117		interrupt-parent = <&gpio0>;
118		interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
119		#clock-cells = <1>;
120		clock-output-names = "xin32k", "rk808-clkout2";
121		pinctrl-names = "default";
122		pinctrl-0 = <&pmic_int &global_pwroff>;
123		rockchip,system-power-controller;
124		wakeup-source;
125
126		vcc1-supply = <&vcc_sys>;
127		vcc2-supply = <&vcc_sys>;
128		vcc3-supply = <&vcc_sys>;
129		vcc4-supply = <&vcc_sys>;
130		vcc6-supply = <&vcc_sys>;
131		vcc7-supply = <&vcc_sys>;
132		vcc8-supply = <&vcc_io>;
133		vcc9-supply = <&vcc_io>;
134		vcc10-supply = <&vcc_io>;
135		vcc11-supply = <&vcc_io>;
136		vcc12-supply = <&vcc_io>;
137		vddio-supply = <&vcc_io>;
138
139		regulators {
140			vdd_cpu: DCDC_REG1 {
141				regulator-always-on;
142				regulator-boot-on;
143				regulator-min-microvolt = <750000>;
144				regulator-max-microvolt = <1350000>;
145				regulator-name = "vdd_arm";
146				regulator-state-mem {
147					regulator-off-in-suspend;
148				};
149			};
150
151			vdd_gpu: DCDC_REG2 {
152				regulator-always-on;
153				regulator-boot-on;
154				regulator-min-microvolt = <850000>;
155				regulator-max-microvolt = <1250000>;
156				regulator-name = "vdd_gpu";
157				regulator-state-mem {
158					regulator-on-in-suspend;
159					regulator-suspend-microvolt = <1000000>;
160				};
161			};
162
163			vcc_ddr: DCDC_REG3 {
164				regulator-always-on;
165				regulator-boot-on;
166				regulator-name = "vcc_ddr";
167				regulator-state-mem {
168					regulator-on-in-suspend;
169				};
170			};
171
172			vcc_io: DCDC_REG4 {
173				regulator-always-on;
174				regulator-boot-on;
175				regulator-min-microvolt = <3300000>;
176				regulator-max-microvolt = <3300000>;
177				regulator-name = "vcc_io";
178				regulator-state-mem {
179					regulator-on-in-suspend;
180					regulator-suspend-microvolt = <3300000>;
181				};
182			};
183
184			vccio_pmu: LDO_REG1 {
185				regulator-always-on;
186				regulator-boot-on;
187				regulator-min-microvolt = <3300000>;
188				regulator-max-microvolt = <3300000>;
189				regulator-name = "vccio_pmu";
190				regulator-state-mem {
191					regulator-on-in-suspend;
192					regulator-suspend-microvolt = <3300000>;
193				};
194			};
195
196			vcca_33: LDO_REG2 {
197				regulator-always-on;
198				regulator-boot-on;
199				regulator-min-microvolt = <3300000>;
200				regulator-max-microvolt = <3300000>;
201				regulator-name = "vcca_33";
202				regulator-state-mem {
203					regulator-off-in-suspend;
204				};
205			};
206
207			vdd_10: LDO_REG3 {
208				regulator-always-on;
209				regulator-boot-on;
210				regulator-min-microvolt = <1000000>;
211				regulator-max-microvolt = <1000000>;
212				regulator-name = "vdd_10";
213				regulator-state-mem {
214					regulator-on-in-suspend;
215					regulator-suspend-microvolt = <1000000>;
216				};
217			};
218
219			vcc_wl: LDO_REG4 {
220				regulator-always-on;
221				regulator-boot-on;
222				regulator-min-microvolt = <1800000>;
223				regulator-max-microvolt = <1800000>;
224				regulator-name = "vcc_wl";
225				regulator-state-mem {
226					regulator-on-in-suspend;
227					regulator-suspend-microvolt = <1800000>;
228				};
229			};
230
231			vccio_sd: LDO_REG5 {
232				regulator-always-on;
233				regulator-boot-on;
234				regulator-min-microvolt = <1800000>;
235				regulator-max-microvolt = <3300000>;
236				regulator-name = "vccio_sd";
237				regulator-state-mem {
238					regulator-on-in-suspend;
239					regulator-suspend-microvolt = <3300000>;
240				};
241			};
242
243			vdd10_lcd: LDO_REG6 {
244				regulator-always-on;
245				regulator-boot-on;
246				regulator-min-microvolt = <1000000>;
247				regulator-max-microvolt = <1000000>;
248				regulator-name = "vdd10_lcd";
249				regulator-state-mem {
250					regulator-on-in-suspend;
251					regulator-suspend-microvolt = <1000000>;
252				};
253			};
254
255			vcc_18: LDO_REG7 {
256				regulator-always-on;
257				regulator-boot-on;
258				regulator-min-microvolt = <1800000>;
259				regulator-max-microvolt = <1800000>;
260				regulator-name = "vcc_18";
261				regulator-state-mem {
262					regulator-on-in-suspend;
263					regulator-suspend-microvolt = <1800000>;
264				};
265			};
266
267			vcc18_lcd: LDO_REG8 {
268				regulator-always-on;
269				regulator-boot-on;
270				regulator-min-microvolt = <1800000>;
271				regulator-max-microvolt = <1800000>;
272				regulator-name = "vcc18_lcd";
273				regulator-state-mem {
274					regulator-on-in-suspend;
275					regulator-suspend-microvolt = <1800000>;
276				};
277			};
278
279			vcc_sd: SWITCH_REG1 {
280				regulator-always-on;
281				regulator-boot-on;
282				regulator-name = "vcc_sd";
283				regulator-state-mem {
284					regulator-on-in-suspend;
285				};
286			};
287
288			vcc_lan: SWITCH_REG2 {
289				regulator-always-on;
290				regulator-boot-on;
291				regulator-name = "vcc_lan";
292				regulator-state-mem {
293					regulator-on-in-suspend;
294				};
295			};
296		};
297	};
298};
299
300&pinctrl {
301	pcfg_output_high: pcfg-output-high {
302		output-high;
303	};
304
305	pcfg_output_low: pcfg-output-low {
306		output-low;
307	};
308
309	pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
310		drive-strength = <8>;
311	};
312
313	pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
314		bias-pull-up;
315		drive-strength = <8>;
316	};
317
318	gmac {
319		phy_int: phy-int {
320			rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>;
321		};
322
323		phy_pmeb: phy-pmeb {
324			rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>;
325		};
326
327		phy_rst: phy-rst {
328			rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>;
329		};
330	};
331
332	pmic {
333		pmic_int: pmic-int {
334			rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
335		};
336	};
337
338	usbphy {
339		host_drv: host-drv {
340			rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
341		};
342	};
343};
344
345&uart2 {
346	status = "okay";
347};
348
349&usbphy {
350	pinctrl-names = "default";
351	pinctrl-0 = <&host_drv>;
352	vbus_drv-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
353	status = "okay";
354};
355
356&usb_host0_ehci {
357	status = "okay";
358};
359
360&usb_host1 {
361	status = "okay";
362};
363
364&usb_otg {
365	status = "okay";
366};
367
368&usb_hsic {
369	status = "okay";
370};
371
372&vopb {
373	status = "okay";
374};
375
376&vopb_mmu {
377	status = "okay";
378};
379
380&vopl {
381	status = "okay";
382};
383
384&vopl_mmu {
385	status = "okay";
386};