Merge tag 'cris-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper...
[cascardo/linux.git] / arch / arm / boot / dts / ste-nomadik-nhk15.dts
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 };