xref: /rk3399_rockchip-uboot/arch/arm/dts/at91sam9n12ek.dts (revision dd9999d5f4d3a0354c959fa3bccc0957a1164bf5)
1*cd339347SWenyou Yang/*
2*cd339347SWenyou Yang * at91sam9n12ek.dts - Device Tree file for AT91SAM9N12-EK board
3*cd339347SWenyou Yang *
4*cd339347SWenyou Yang *  Copyright (C) 2012 Atmel,
5*cd339347SWenyou Yang *                2012 Hong Xu <hong.xu@atmel.com>
6*cd339347SWenyou Yang *
7*cd339347SWenyou Yang * Licensed under GPLv2 or later.
8*cd339347SWenyou Yang */
9*cd339347SWenyou Yang/dts-v1/;
10*cd339347SWenyou Yang#include "at91sam9n12.dtsi"
11*cd339347SWenyou Yang
12*cd339347SWenyou Yang/ {
13*cd339347SWenyou Yang	model = "Atmel AT91SAM9N12-EK";
14*cd339347SWenyou Yang	compatible = "atmel,at91sam9n12ek", "atmel,at91sam9n12", "atmel,at91sam9";
15*cd339347SWenyou Yang
16*cd339347SWenyou Yang	chosen {
17*cd339347SWenyou Yang		bootargs = "root=/dev/mtdblock1 rw rootfstype=jffs2";
18*cd339347SWenyou Yang		stdout-path = "serial0:115200n8";
19*cd339347SWenyou Yang		u-boot,dm-pre-reloc;
20*cd339347SWenyou Yang	};
21*cd339347SWenyou Yang
22*cd339347SWenyou Yang	memory {
23*cd339347SWenyou Yang		reg = <0x20000000 0x8000000>;
24*cd339347SWenyou Yang	};
25*cd339347SWenyou Yang
26*cd339347SWenyou Yang	clocks {
27*cd339347SWenyou Yang		slow_xtal {
28*cd339347SWenyou Yang			clock-frequency = <32768>;
29*cd339347SWenyou Yang		};
30*cd339347SWenyou Yang
31*cd339347SWenyou Yang		main_xtal {
32*cd339347SWenyou Yang			clock-frequency = <16000000>;
33*cd339347SWenyou Yang		};
34*cd339347SWenyou Yang	};
35*cd339347SWenyou Yang
36*cd339347SWenyou Yang	ahb {
37*cd339347SWenyou Yang		apb {
38*cd339347SWenyou Yang			dbgu: serial@fffff200 {
39*cd339347SWenyou Yang				u-boot,dm-pre-reloc;
40*cd339347SWenyou Yang				status = "okay";
41*cd339347SWenyou Yang			};
42*cd339347SWenyou Yang
43*cd339347SWenyou Yang			ssc0: ssc@f0010000 {
44*cd339347SWenyou Yang				status = "okay";
45*cd339347SWenyou Yang			};
46*cd339347SWenyou Yang
47*cd339347SWenyou Yang			i2c0: i2c@f8010000 {
48*cd339347SWenyou Yang				status = "okay";
49*cd339347SWenyou Yang
50*cd339347SWenyou Yang				wm8904: codec@1a {
51*cd339347SWenyou Yang					compatible = "wlf,wm8904";
52*cd339347SWenyou Yang					reg = <0x1a>;
53*cd339347SWenyou Yang					clocks = <&pck0>;
54*cd339347SWenyou Yang					clock-names = "mclk";
55*cd339347SWenyou Yang				};
56*cd339347SWenyou Yang
57*cd339347SWenyou Yang				qt1070: keyboard@1b {
58*cd339347SWenyou Yang					compatible = "qt1070";
59*cd339347SWenyou Yang					reg = <0x1b>;
60*cd339347SWenyou Yang					interrupt-parent = <&pioA>;
61*cd339347SWenyou Yang					interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
62*cd339347SWenyou Yang					pinctrl-names = "default";
63*cd339347SWenyou Yang					pinctrl-0 = <&pinctrl_qt1070_irq>;
64*cd339347SWenyou Yang				};
65*cd339347SWenyou Yang			};
66*cd339347SWenyou Yang
67*cd339347SWenyou Yang			mmc0: mmc@f0008000 {
68*cd339347SWenyou Yang				pinctrl-names = "default";
69*cd339347SWenyou Yang				pinctrl-0 = <
70*cd339347SWenyou Yang					&pinctrl_board_mmc0
71*cd339347SWenyou Yang					&pinctrl_mmc0_slot0_clk_cmd_dat0
72*cd339347SWenyou Yang					&pinctrl_mmc0_slot0_dat1_3>;
73*cd339347SWenyou Yang				status = "okay";
74*cd339347SWenyou Yang				slot@0 {
75*cd339347SWenyou Yang					reg = <0>;
76*cd339347SWenyou Yang					bus-width = <4>;
77*cd339347SWenyou Yang					cd-gpios = <&pioA 7 GPIO_ACTIVE_HIGH>;
78*cd339347SWenyou Yang				};
79*cd339347SWenyou Yang			};
80*cd339347SWenyou Yang
81*cd339347SWenyou Yang			pinctrl@fffff400 {
82*cd339347SWenyou Yang				mmc0 {
83*cd339347SWenyou Yang					pinctrl_board_mmc0: mmc0-board {
84*cd339347SWenyou Yang						atmel,pins =
85*cd339347SWenyou Yang							<AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;	/* PA7 gpio CD pin pull up and deglitch */
86*cd339347SWenyou Yang					};
87*cd339347SWenyou Yang				};
88*cd339347SWenyou Yang
89*cd339347SWenyou Yang				qt1070 {
90*cd339347SWenyou Yang					pinctrl_qt1070_irq: qt1070_irq {
91*cd339347SWenyou Yang						atmel,pins =
92*cd339347SWenyou Yang							<AT91_PIOA 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
93*cd339347SWenyou Yang					};
94*cd339347SWenyou Yang				};
95*cd339347SWenyou Yang
96*cd339347SWenyou Yang				sound {
97*cd339347SWenyou Yang					pinctrl_pck0_as_audio_mck: pck0_as_audio_mck {
98*cd339347SWenyou Yang						atmel,pins =
99*cd339347SWenyou Yang							<AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE>;
100*cd339347SWenyou Yang					};
101*cd339347SWenyou Yang				};
102*cd339347SWenyou Yang
103*cd339347SWenyou Yang				usb1 {
104*cd339347SWenyou Yang					pinctrl_usb1_vbus_sense: usb1_vbus_sense {
105*cd339347SWenyou Yang						atmel,pins =
106*cd339347SWenyou Yang							<AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;	/* PB16 gpio usb vbus sense, no pull up and deglitch */
107*cd339347SWenyou Yang					};
108*cd339347SWenyou Yang				};
109*cd339347SWenyou Yang			};
110*cd339347SWenyou Yang
111*cd339347SWenyou Yang			spi0: spi@f0000000 {
112*cd339347SWenyou Yang				status = "okay";
113*cd339347SWenyou Yang				cs-gpios = <&pioA 14 0>, <0>, <0>, <0>;
114*cd339347SWenyou Yang				spi_flash@0 {
115*cd339347SWenyou Yang					compatible = "spi-flash";
116*cd339347SWenyou Yang					spi-max-frequency = <50000000>;
117*cd339347SWenyou Yang					reg = <0>;
118*cd339347SWenyou Yang				};
119*cd339347SWenyou Yang			};
120*cd339347SWenyou Yang
121*cd339347SWenyou Yang			hlcdc: hlcdc@f8038000 {
122*cd339347SWenyou Yang				status = "okay";
123*cd339347SWenyou Yang
124*cd339347SWenyou Yang				hlcdc-display-controller {
125*cd339347SWenyou Yang					pinctrl-names = "default";
126*cd339347SWenyou Yang					pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
127*cd339347SWenyou Yang
128*cd339347SWenyou Yang					port@0 {
129*cd339347SWenyou Yang						hlcdc_panel_output: endpoint@0 {
130*cd339347SWenyou Yang							reg = <0>;
131*cd339347SWenyou Yang							remote-endpoint = <&panel_input>;
132*cd339347SWenyou Yang						};
133*cd339347SWenyou Yang					};
134*cd339347SWenyou Yang				};
135*cd339347SWenyou Yang			};
136*cd339347SWenyou Yang
137*cd339347SWenyou Yang			usb1: gadget@f803c000 {
138*cd339347SWenyou Yang				pinctrl-names = "default";
139*cd339347SWenyou Yang				pinctrl-0 = <&pinctrl_usb1_vbus_sense>;
140*cd339347SWenyou Yang				atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
141*cd339347SWenyou Yang				status = "okay";
142*cd339347SWenyou Yang			};
143*cd339347SWenyou Yang
144*cd339347SWenyou Yang			watchdog@fffffe40 {
145*cd339347SWenyou Yang				status = "okay";
146*cd339347SWenyou Yang			};
147*cd339347SWenyou Yang
148*cd339347SWenyou Yang			rtc@fffffeb0 {
149*cd339347SWenyou Yang				status = "okay";
150*cd339347SWenyou Yang			};
151*cd339347SWenyou Yang		};
152*cd339347SWenyou Yang
153*cd339347SWenyou Yang		nand0: nand@40000000 {
154*cd339347SWenyou Yang			nand-bus-width = <8>;
155*cd339347SWenyou Yang			nand-ecc-mode = "hw";
156*cd339347SWenyou Yang			atmel,has-pmecc;
157*cd339347SWenyou Yang			atmel,pmecc-cap = <2>;
158*cd339347SWenyou Yang			atmel,pmecc-sector-size = <512>;
159*cd339347SWenyou Yang			nand-on-flash-bbt;
160*cd339347SWenyou Yang			status = "okay";
161*cd339347SWenyou Yang		};
162*cd339347SWenyou Yang
163*cd339347SWenyou Yang		usb0: ohci@00500000 {
164*cd339347SWenyou Yang			num-ports = <1>;
165*cd339347SWenyou Yang			atmel,vbus-gpio = <&pioB 7 GPIO_ACTIVE_LOW>;
166*cd339347SWenyou Yang			status = "okay";
167*cd339347SWenyou Yang		};
168*cd339347SWenyou Yang	};
169*cd339347SWenyou Yang
170*cd339347SWenyou Yang	backlight: backlight {
171*cd339347SWenyou Yang		compatible = "pwm-backlight";
172*cd339347SWenyou Yang		pwms = <&hlcdc_pwm 0 50000 0>;
173*cd339347SWenyou Yang		brightness-levels = <0 4 8 16 32 64 128 255>;
174*cd339347SWenyou Yang		default-brightness-level = <6>;
175*cd339347SWenyou Yang		power-supply = <&bl_reg>;
176*cd339347SWenyou Yang		status = "okay";
177*cd339347SWenyou Yang	};
178*cd339347SWenyou Yang
179*cd339347SWenyou Yang	bl_reg: backlight_regulator {
180*cd339347SWenyou Yang		compatible = "regulator-fixed";
181*cd339347SWenyou Yang		regulator-name = "backlight-power-supply";
182*cd339347SWenyou Yang		regulator-min-microvolt = <5000000>;
183*cd339347SWenyou Yang		regulator-max-microvolt = <5000000>;
184*cd339347SWenyou Yang		status = "okay";
185*cd339347SWenyou Yang	};
186*cd339347SWenyou Yang
187*cd339347SWenyou Yang	leds {
188*cd339347SWenyou Yang		compatible = "gpio-leds";
189*cd339347SWenyou Yang
190*cd339347SWenyou Yang		d8 {
191*cd339347SWenyou Yang			label = "d8";
192*cd339347SWenyou Yang			gpios = <&pioB 4 GPIO_ACTIVE_LOW>;
193*cd339347SWenyou Yang			linux,default-trigger = "mmc0";
194*cd339347SWenyou Yang		};
195*cd339347SWenyou Yang
196*cd339347SWenyou Yang		d9 {
197*cd339347SWenyou Yang			label = "d9";
198*cd339347SWenyou Yang			gpios = <&pioB 5 GPIO_ACTIVE_LOW>;
199*cd339347SWenyou Yang			linux,default-trigger = "nand-disk";
200*cd339347SWenyou Yang		};
201*cd339347SWenyou Yang
202*cd339347SWenyou Yang		d10 {
203*cd339347SWenyou Yang			label = "d10";
204*cd339347SWenyou Yang			gpios = <&pioB 6 GPIO_ACTIVE_HIGH>;
205*cd339347SWenyou Yang			linux,default-trigger = "heartbeat";
206*cd339347SWenyou Yang		};
207*cd339347SWenyou Yang	};
208*cd339347SWenyou Yang
209*cd339347SWenyou Yang	gpio_keys {
210*cd339347SWenyou Yang		compatible = "gpio-keys";
211*cd339347SWenyou Yang
212*cd339347SWenyou Yang		enter {
213*cd339347SWenyou Yang			label = "Enter";
214*cd339347SWenyou Yang			gpios = <&pioB 3 GPIO_ACTIVE_LOW>;
215*cd339347SWenyou Yang			linux,code = <28>;
216*cd339347SWenyou Yang			wakeup-source;
217*cd339347SWenyou Yang		};
218*cd339347SWenyou Yang	};
219*cd339347SWenyou Yang
220*cd339347SWenyou Yang	panel: panel {
221*cd339347SWenyou Yang		compatible = "qiaodian,qd43003c0-40", "simple-panel";
222*cd339347SWenyou Yang		backlight = <&backlight>;
223*cd339347SWenyou Yang		power-supply = <&panel_reg>;
224*cd339347SWenyou Yang		#address-cells = <1>;
225*cd339347SWenyou Yang		#size-cells = <0>;
226*cd339347SWenyou Yang		status = "okay";
227*cd339347SWenyou Yang
228*cd339347SWenyou Yang		port@0 {
229*cd339347SWenyou Yang			reg = <0>;
230*cd339347SWenyou Yang			#address-cells = <1>;
231*cd339347SWenyou Yang			#size-cells = <0>;
232*cd339347SWenyou Yang
233*cd339347SWenyou Yang			panel_input: endpoint@0 {
234*cd339347SWenyou Yang				reg = <0>;
235*cd339347SWenyou Yang				remote-endpoint = <&hlcdc_panel_output>;
236*cd339347SWenyou Yang			};
237*cd339347SWenyou Yang		};
238*cd339347SWenyou Yang	};
239*cd339347SWenyou Yang
240*cd339347SWenyou Yang	panel_reg: panel_regulator {
241*cd339347SWenyou Yang		compatible = "regulator-fixed";
242*cd339347SWenyou Yang		regulator-name = "panel-power-supply";
243*cd339347SWenyou Yang		regulator-min-microvolt = <3300000>;
244*cd339347SWenyou Yang		regulator-max-microvolt = <3300000>;
245*cd339347SWenyou Yang		status = "okay";
246*cd339347SWenyou Yang	};
247*cd339347SWenyou Yang
248*cd339347SWenyou Yang	sound {
249*cd339347SWenyou Yang		compatible = "atmel,asoc-wm8904";
250*cd339347SWenyou Yang		pinctrl-names = "default";
251*cd339347SWenyou Yang		pinctrl-0 = <&pinctrl_pck0_as_audio_mck>;
252*cd339347SWenyou Yang
253*cd339347SWenyou Yang		atmel,model = "wm8904 @ AT91SAM9N12";
254*cd339347SWenyou Yang		atmel,audio-routing =
255*cd339347SWenyou Yang			"Headphone Jack", "HPOUTL",
256*cd339347SWenyou Yang			"Headphone Jack", "HPOUTR",
257*cd339347SWenyou Yang			"IN2L", "Line In Jack",
258*cd339347SWenyou Yang			"IN2R", "Line In Jack",
259*cd339347SWenyou Yang			"Mic", "MICBIAS",
260*cd339347SWenyou Yang			"IN1L", "Mic";
261*cd339347SWenyou Yang
262*cd339347SWenyou Yang		atmel,ssc-controller = <&ssc0>;
263*cd339347SWenyou Yang		atmel,audio-codec = <&wm8904>;
264*cd339347SWenyou Yang	};
265*cd339347SWenyou Yang};
266