ste-nomadik-nhk15.dts revision 284090
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		stmpe-i2c0 = &stmpe0;
21		stmpe-i2c1 = &stmpe1;
22	};
23
24	pinctrl {
25		stmpe2401_1 {
26			stmpe2401_1_nhk_mode: stmpe2401_1_nhk {
27				nhk_cfg1 {
28					pins = "GPIO76_B20"; // IRQ line
29					ste,input = <0>;
30				};
31				nhk_cfg2 {
32					pins = "GPIO77_B8"; // reset line
33					ste,output = <1>;
34				};
35			};
36		};
37		stmpe2401_2 {
38			stmpe2401_2_nhk_mode: stmpe2401_2_nhk {
39				nhk_cfg1 {
40					pins = "GPIO78_A8"; // IRQ line
41					ste,input = <0>;
42				};
43				nhk_cfg2 {
44					pins = "GPIO79_C9"; // reset line
45					ste,output = <1>;
46				};
47			};
48		};
49	};
50
51	src@101e0000 {
52		/* These chrystal outputs are not used on this board */
53		disable-sxtalo;
54		disable-mxtalo;
55	};
56
57	/* This is where the interrupt is routed on the NHK-15 debug board */
58	external-bus@34000000 {
59		compatible = "simple-bus";
60		reg = <0x34000000 0x1000000>;
61		#address-cells = <1>;
62		#size-cells = <1>;
63		ranges = <0 0x34000000 0x1000000>;
64		ethernet@300 {
65			compatible = "smsc,lan91c111";
66			reg = <0x300 0x0fd00>;
67			reg-io-width = <2>;
68			reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>;
69			interrupt-parent = <&stmpe_gpio44>;
70			interrupts = <11 IRQ_TYPE_EDGE_RISING>;
71		};
72	};
73
74	i2c0 {
75		stmpe0: stmpe2401@43 {
76			compatible = "st,stmpe2401";
77			reg = <0x43>;
78			reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77
79			interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76
80			interrupt-parent = <&gpio2>;
81			interrupt-controller;
82			wakeup-source;
83			pinctrl-names = "default";
84			pinctrl-0 = <&stmpe2401_1_nhk_mode>;
85			stmpe_gpio43: stmpe_gpio {
86				compatible = "st,stmpe-gpio";
87				gpio-controller;
88				#gpio-cells = <2>;
89				interrupt-controller;
90				#interrupt-cells = <2>;
91				/* Some pins in alternate functions */
92				st,norequest-mask = <0xf0f002>;
93			};
94			stmpe_keypad {
95				compatible = "st,stmpe-keypad";
96				debounce-interval = <64>;
97				st,scan-count = <8>;
98				st,no-autorepeat;
99				keypad,num-rows = <8>;
100				keypad,num-columns = <8>;
101				linux,keymap = <0x00020072 // Vol down
102						0x00030073 // Vol up
103						0x0100009e // Back
104						0x010100e3 // TV out
105						0x01020098 // Lock
106						0x0103013b // Start
107						0x020000a3 // Next
108						0x020100a4 // Play
109						0x020200a5 // Prev
110						0x02030160 // OK
111						0x03000069 // Left
112						0x0301006a // Right
113						0x03020067 // Up
114						0x0303006c>; // Down
115			};
116		};
117		stmpe1: stmpe2401@44 {
118			compatible = "st,stmpe2401";
119			reg = <0x44>;
120			reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79
121			interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78
122			interrupt-parent = <&gpio2>;
123			interrupt-controller;
124			wakeup-source;
125			pinctrl-names = "default";
126			pinctrl-0 = <&stmpe2401_2_nhk_mode>;
127			stmpe_gpio44: stmpe_gpio {
128				compatible = "st,stmpe-gpio";
129				gpio-controller;
130				#gpio-cells = <2>;
131				interrupt-controller;
132				#interrupt-cells = <2>;
133			};
134		};
135	};
136
137	amba {
138		mmcsd: sdi@101f6000 {
139			cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>;
140			wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>;
141		};
142	};
143
144	/* Custom board node with GPIO pins to active etc */
145	usb-s8815 {
146		/* This will turn off SATA so that MMC/SD can thrive */
147		mmcsd-gpio {
148			gpios = <&stmpe_gpio44 2 0x1>;
149		};
150	};
151};
152