• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Device Tree for the ST-Ericsson Nomadik S8815 board
3 * Produced by Calao Systems
4 */
5
6/dts-v1/;
7#include <dt-bindings/interrupt-controller/irq.h>
8#include <dt-bindings/gpio/gpio.h>
9#include "ste-nomadik-stn8815.dtsi"
10
11/ {
12	model = "Nomadik STN8815NHK";
13	compatible = "st,nomadik-nhk-15";
14
15	chosen {
16		bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk";
17	};
18
19	aliases {
20		serial0 = &uart0;
21		serial1 = &uart1;
22		stmpe-i2c0 = &stmpe0;
23		stmpe-i2c1 = &stmpe1;
24	};
25
26	pinctrl {
27		uart0 {
28			uart0_nhk_mode: uart0_mux {
29				u0_default_mux {
30					function = "u0";
31					groups = "u0txrx_a_1", "u0ctsrts_a_1";
32				};
33			};
34		};
35
36		stmpe2401_1 {
37			stmpe2401_1_nhk_mode: stmpe2401_1_nhk {
38				nhk_cfg1 {
39					pins = "GPIO76_B20"; // IRQ line
40					ste,input = <0>;
41				};
42				nhk_cfg2 {
43					pins = "GPIO77_B8"; // reset line
44					ste,output = <1>;
45				};
46			};
47		};
48		stmpe2401_2 {
49			stmpe2401_2_nhk_mode: stmpe2401_2_nhk {
50				nhk_cfg1 {
51					pins = "GPIO78_A8"; // IRQ line
52					ste,input = <0>;
53				};
54				nhk_cfg2 {
55					pins = "GPIO79_C9"; // reset line
56					ste,output = <1>;
57				};
58			};
59		};
60		lis3lv02dl {
61			lis3lv02dl_nhk_mode: lis3lv02dl_nhk {
62				nhk_cfg1 {
63					pins = "GPIO82_C10"; // IRQ line
64					ste,input = <0>;
65				};
66			};
67		};
68	};
69	src@101e0000 {
70		/* These chrystal outputs are not used on this board */
71		disable-sxtalo;
72		disable-mxtalo;
73	};
74
75	/* This is where the interrupt is routed on the NHK-15 debug board */
76	external-bus@34000000 {
77		compatible = "simple-bus";
78		reg = <0x34000000 0x1000000>;
79		#address-cells = <1>;
80		#size-cells = <1>;
81		ranges = <0 0x34000000 0x1000000>;
82		ethernet@300 {
83			compatible = "smsc,lan91c111";
84			reg = <0x300 0x0fd00>;
85			reg-io-width = <2>;
86			reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>;
87			interrupt-parent = <&stmpe_gpio44>;
88			interrupts = <11 IRQ_TYPE_EDGE_RISING>;
89		};
90	};
91
92	i2c0 {
93		lis3lv02dl@1d {
94			/* Accelerometer */
95			compatible = "st,lis3lv02dl-accel";
96			interrupt-parent = <&gpio2>;
97			interrupts = <18 IRQ_TYPE_EDGE_RISING>; // GPIO 82
98			pinctrl-0 = <&lis3lv02dl_nhk_mode>;
99			pinctrl-names = "default";
100			reg = <0x1d>;
101		};
102		stmpe0: stmpe2401@43 {
103			compatible = "st,stmpe2401";
104			reg = <0x43>;
105			reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77
106			interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76
107			interrupt-parent = <&gpio2>;
108			interrupt-controller;
109			wakeup-source;
110			pinctrl-names = "default";
111			pinctrl-0 = <&stmpe2401_1_nhk_mode>;
112			stmpe_gpio43: stmpe_gpio {
113				compatible = "st,stmpe-gpio";
114				gpio-controller;
115				#gpio-cells = <2>;
116				interrupt-controller;
117				#interrupt-cells = <2>;
118				/* Some pins in alternate functions */
119				st,norequest-mask = <0xf0f002>;
120			};
121			stmpe_keypad {
122				compatible = "st,stmpe-keypad";
123				debounce-interval = <64>;
124				st,scan-count = <8>;
125				st,no-autorepeat;
126				keypad,num-rows = <8>;
127				keypad,num-columns = <8>;
128				linux,keymap = <0x00020072 // Vol down
129						0x00030073 // Vol up
130						0x0100009e // Back
131						0x010100e3 // TV out
132						0x01020098 // Lock
133						0x0103013b // Start
134						0x020000a3 // Next
135						0x020100a4 // Play
136						0x020200a5 // Prev
137						0x02030160 // OK
138						0x03000069 // Left
139						0x0301006a // Right
140						0x03020067 // Up
141						0x0303006c>; // Down
142			};
143			stmpe0_pwm: stmpe_pwm {
144				compatible = "st,stmpe-pwm";
145				#pwm-cells = <2>;
146			};
147		};
148		stmpe1: stmpe2401@44 {
149			compatible = "st,stmpe2401";
150			reg = <0x44>;
151			reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79
152			interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78
153			interrupt-parent = <&gpio2>;
154			interrupt-controller;
155			wakeup-source;
156			pinctrl-names = "default";
157			pinctrl-0 = <&stmpe2401_2_nhk_mode>;
158			stmpe_gpio44: stmpe_gpio {
159				compatible = "st,stmpe-gpio";
160				gpio-controller;
161				#gpio-cells = <2>;
162				interrupt-controller;
163				#interrupt-cells = <2>;
164				/*
165				 * This will turn off SATA so that MMC/SD
166				 * can thrive
167				 */
168				mmcsd-gpio {
169					gpio-hog;
170					gpios = <2 0x0>;
171					output-low;
172					line-name = "SATA EN";
173				};
174			};
175		};
176	};
177
178	amba {
179		clcd@10120000 {
180			status = "okay";
181			pinctrl-names = "default";
182			pinctrl-0 = <&clcd_24bit_mux>;
183			port {
184				nomadik_clcd_pads: endpoint {
185					remote-endpoint = <&nomadik_clcd_panel>;
186					arm,pl11x,tft-r0g0b0-pads = <16 8 0>;
187				};
188			};
189
190			/*
191			 * WVGA connector 21
192			 * WVGA (800x480): 4.3" TPG110 TDO43MTEA2 24-bit RGB
193			 * with TPO touch screen.
194			 */
195			panel {
196				compatible = "tpo,tpg110", "panel-dpi";
197				grestb-gpios = <&stmpe_gpio44 5 GPIO_ACTIVE_LOW>;
198				scen-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
199				scl-gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
200				sda-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
201				backlight = <&bl>;
202
203				port {
204					nomadik_clcd_panel: endpoint {
205						remote-endpoint = <&nomadik_clcd_pads>;
206					};
207				};
208
209				panel-timing {
210					clock-frequency = <33200000>;
211					hactive = <800>;
212					hback-porch = <216>;
213					hfront-porch = <40>;
214					hsync-len = <1>;
215					vactive = <480>;
216					vback-porch = <35>;
217					vfront-porch = <10>;
218					vsync-len = <1>;
219				};
220			};
221		};
222
223		/* Activate RX/TX and CTS/RTS on UART 0 */
224		uart0: uart@101fd000 {
225			pinctrl-names = "default";
226			pinctrl-0 = <&uart0_nhk_mode>;
227			status = "okay";
228		};
229		mmcsd: sdi@101f6000 {
230			cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>;
231			wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>;
232		};
233	};
234
235	bl: backlight {
236		compatible = "pwm-backlight";
237		pwms = <&stmpe0_pwm 0 500000>;
238		pwm-names = "backlight";
239		brightness-levels = <
240			0  1  2  3  4  5  6  7  8  9
241			10 11 12 13 14 15 16 17 18 19
242			20 21 22 23 24 25 26 27 28 29
243			30 31 32 33 34 35 36 37 38 39
244			40 41 42 43 44 45 46 47 48 49
245			50 51 52 53 54 55 56 57 58 59
246			60 61 62 63 64 65 66 67 68 69
247			70 71 72 73 74 75 76 77 78 79
248			80 81 82 83 84 85 86 87 88 89
249			90 91 92 93 94 95 96 97 98 99
250			100
251		>;
252		default-brightness-level = <100>;
253	};
254};
255