Linux Audio

Check our new training course

Open-source upstreaming

Need help get the support for your hardware in upstream Linux?
Loading...
Note: File does not exist in v3.1.
  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 <dt-bindings/input/input.h>
 44#include "rk3229.dtsi"
 45
 46/ {
 47	model = "Rockchip RK3229 Evaluation board";
 48	compatible = "rockchip,rk3229-evb", "rockchip,rk3229";
 49
 50	memory@60000000 {
 51		device_type = "memory";
 52		reg = <0x60000000 0x40000000>;
 53	};
 54
 55	dc_12v: dc-12v-regulator {
 56		compatible = "regulator-fixed";
 57		regulator-name = "dc_12v";
 58		regulator-always-on;
 59		regulator-boot-on;
 60		regulator-min-microvolt = <12000000>;
 61		regulator-max-microvolt = <12000000>;
 62	};
 63
 64	ext_gmac: ext_gmac {
 65		compatible = "fixed-clock";
 66		clock-frequency = <125000000>;
 67		clock-output-names = "ext_gmac";
 68		#clock-cells = <0>;
 69	};
 70
 71	vcc_host: vcc-host-regulator {
 72		compatible = "regulator-fixed";
 73		enable-active-high;
 74		gpio = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
 75		pinctrl-names = "default";
 76		pinctrl-0 = <&host_vbus_drv>;
 77		regulator-name = "vcc_host";
 78		regulator-always-on;
 79		regulator-boot-on;
 80		vin-supply = <&vcc_sys>;
 81	};
 82
 83	vcc_phy: vcc-phy-regulator {
 84		compatible = "regulator-fixed";
 85		enable-active-high;
 86		regulator-name = "vcc_phy";
 87		regulator-min-microvolt = <1800000>;
 88		regulator-max-microvolt = <1800000>;
 89		regulator-always-on;
 90		regulator-boot-on;
 91		vin-supply = <&vccio_1v8>;
 92	};
 93
 94	vcc_sys: vcc-sys-regulator {
 95		compatible = "regulator-fixed";
 96		regulator-name = "vcc_sys";
 97		regulator-always-on;
 98		regulator-boot-on;
 99		regulator-min-microvolt = <5000000>;
100		regulator-max-microvolt = <5000000>;
101		vin-supply = <&dc_12v>;
102	};
103
104	vccio_1v8: vccio-1v8-regulator {
105		compatible = "regulator-fixed";
106		regulator-name = "vccio_1v8";
107		regulator-min-microvolt = <1800000>;
108		regulator-max-microvolt = <1800000>;
109		regulator-always-on;
110		vin-supply = <&vcc_sys>;
111	};
112
113	vccio_3v3: vccio-3v3-regulator {
114		compatible = "regulator-fixed";
115		regulator-name = "vccio_3v3";
116		regulator-min-microvolt = <3300000>;
117		regulator-max-microvolt = <3300000>;
118		regulator-always-on;
119		vin-supply = <&vcc_sys>;
120	};
121
122	vdd_arm: vdd-arm-regulator {
123		compatible = "pwm-regulator";
124		pwms = <&pwm1 0 25000 1>;
125		pwm-supply = <&vcc_sys>;
126		regulator-name = "vdd_arm";
127		regulator-min-microvolt = <950000>;
128		regulator-max-microvolt = <1400000>;
129		regulator-always-on;
130		regulator-boot-on;
131	};
132
133	vdd_log: vdd-log-regulator {
134		compatible = "pwm-regulator";
135		pwms = <&pwm2 0 25000 1>;
136		pwm-supply = <&vcc_sys>;
137		regulator-name = "vdd_log";
138		regulator-min-microvolt = <1000000>;
139		regulator-max-microvolt = <1300000>;
140		regulator-always-on;
141		regulator-boot-on;
142	};
143
144	gpio_keys {
145		compatible = "gpio-keys";
146		autorepeat;
147		pinctrl-names = "default";
148		pinctrl-0 = <&pwr_key>;
149
150		power_key: power-key {
151			label = "GPIO Key Power";
152			gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
153			linux,code = <KEY_POWER>;
154			debounce-interval = <100>;
155			wakeup-source;
156		};
157	};
158};
159
160&cpu0 {
161	cpu-supply = <&vdd_arm>;
162};
163
164&cpu1 {
165	cpu-supply = <&vdd_arm>;
166};
167
168&cpu2 {
169	cpu-supply = <&vdd_arm>;
170};
171
172&cpu3 {
173	cpu-supply = <&vdd_arm>;
174};
175
176&emmc {
177	cap-mmc-highspeed;
178	disable-wp;
179	non-removable;
180	status = "okay";
181};
182
183&gmac {
184	assigned-clocks = <&cru SCLK_MAC_EXTCLK>, <&cru SCLK_MAC>;
185	assigned-clock-parents = <&ext_gmac>, <&cru SCLK_MAC_EXTCLK>;
186	clock_in_out = "input";
187	phy-supply = <&vcc_phy>;
188	phy-mode = "rgmii";
189	pinctrl-names = "default";
190	pinctrl-0 = <&rgmii_pins>;
191	snps,reset-gpio = <&gpio2 RK_PD0 GPIO_ACTIVE_LOW>;
192	snps,reset-active-low;
193	snps,reset-delays-us = <0 10000 1000000>;
194	tx_delay = <0x30>;
195	rx_delay = <0x10>;
196	status = "okay";
197};
198
199&io_domains {
200	status = "okay";
201
202	vccio1-supply = <&vccio_3v3>;
203	vccio2-supply = <&vccio_1v8>;
204	vccio4-supply = <&vccio_3v3>;
205};
206
207&pinctrl {
208	keys {
209		pwr_key: pwr-key {
210			rockchip,pins = <3 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
211		};
212	};
213
214	usb {
215		host_vbus_drv: host-vbus-drv {
216			rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
217		};
218	};
219};
220
221&pwm1 {
222	status = "okay";
223};
224
225&pwm2 {
226	status = "okay";
227};
228
229&tsadc {
230	rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
231	status = "okay";
232};
233
234&uart2 {
235	status = "okay";
236};
237
238&u2phy0 {
239	status = "okay";
240
241	u2phy0_otg: otg-port {
242		status = "okay";
243	};
244
245	u2phy0_host: host-port {
246		phy-supply = <&vcc_host>;
247		status = "okay";
248	};
249};
250
251&u2phy1 {
252	status = "okay";
253
254	u2phy1_otg: otg-port {
255		phy-supply = <&vcc_host>;
256		status = "okay";
257	};
258
259	u2phy1_host: host-port {
260		phy-supply = <&vcc_host>;
261		status = "okay";
262	};
263};
264
265&usb_host0_ehci {
266	status = "okay";
267};
268
269&usb_host0_ohci {
270	status = "okay";
271};
272
273&usb_host1_ehci {
274	status = "okay";
275};
276
277&usb_host1_ohci {
278	status = "okay";
279};
280
281&usb_host2_ehci {
282	status = "okay";
283};
284
285&usb_host2_ohci {
286	status = "okay";
287};
288
289&usb_otg {
290	status = "okay";
291};