]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/ste-nomadik-s8815.dts
11b5e34150b835d002e473a49a75ba49e867ed78
[karo-tx-linux.git] / arch / arm / boot / dts / ste-nomadik-s8815.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 "ste-nomadik-stn8815.dtsi"
9
10 / {
11         model = "Calao Systems USB-S8815";
12         compatible = "calaosystems,usb-s8815";
13
14         chosen {
15                 bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk";
16         };
17
18         aliases {
19                 serial0 = &uart0;
20                 serial1 = &uart1;
21         };
22
23         gpio3: gpio@101e7000 {
24                 /* This hog will bias the MMC/SD card detect line */
25                 mmcsd-gpio {
26                         gpio-hog;
27                         gpios = <16 0x0>;
28                         output-low;
29                         line-name = "card detect bias";
30                 };
31         };
32
33         src@101e0000 {
34                 /* These chrystal drivers are not used on this board */
35                 disable-sxtalo;
36                 disable-mxtalo;
37         };
38
39         pinctrl {
40                 /* Hog CD pins */
41                 pinctrl-names = "default";
42                 pinctrl-0 = <&cd_default_mode>;
43
44                 uart0 {
45                         /* Only use RX/TX pins */
46                         uart0_s8815_mode: uart0_mux {
47                                 u0_default_mux {
48                                         function = "u0";
49                                         groups = "u0txrx_a_1";
50                                 };
51                         };
52                 };
53                 mmcsd-cd {
54                         cd_default_mode: cd_default {
55                                 cd_default_cfg1 {
56                                         /* CD input GPIO */
57                                         pins = "GPIO111_H21";
58                                         ste,input = <0>;
59                                 };
60                                 cd_default_cfg2 {
61                                         /* CD GPIO biasing */
62                                         pins = "GPIO112_J21";
63                                         ste,output = <0>;
64                                 };
65                         };
66                 };
67                 gpioi2c {
68                         gpioi2c_default_mode: gpioi2c_default {
69                                 gpioi2c_default_cfg {
70                                         pins = "GPIO73_C21", "GPIO74_C20";
71                                         ste,input = <0>;
72                                 };
73                         };
74                 };
75                 user-led {
76                         user_led_default_mode: user_led_default {
77                                 user_led_default_cfg {
78                                         pins = "GPIO2_C5";
79                                         ste,output = <1>;
80                                 };
81                         };
82                 };
83                 user-button {
84                         user_button_default_mode: user_button_default {
85                                 user_button_default_cfg {
86                                         pins = "GPIO3_A4";
87                                         ste,input = <0>;
88                                 };
89                         };
90                 };
91         };
92
93         /* Ethernet */
94         external-bus@34000000 {
95                 compatible = "simple-bus";
96                 reg = <0x34000000 0x1000000>;
97                 #address-cells = <1>;
98                 #size-cells = <1>;
99                 ranges = <0 0x34000000 0x1000000>;
100                 ethernet@300 {
101                         compatible = "smsc,lan91c111";
102                         reg = <0x300 0x0fd00>;
103                         interrupt-parent = <&gpio3>;
104                         interrupts = <8 IRQ_TYPE_EDGE_RISING>;
105                 };
106         };
107
108         /* GPIO I2C connected to the USB portions of the STw4811 only */
109         gpio-i2c {
110                 compatible = "i2c-gpio";
111                 gpios = <&gpio2 10 0>, /* sda */
112                         <&gpio2 9 0>; /* scl */
113                 #address-cells = <1>;
114                 #size-cells = <0>;
115                 pinctrl-names = "default";
116                 pinctrl-0 = <&gpioi2c_default_mode>;
117
118                 stw4811@2d {
119                            compatible = "st,stw4811-usb";
120                            reg = <0x2d>;
121                 };
122         };
123
124
125         amba {
126                 /* Activate RXTX on UART 0 */
127                 uart0: uart@101fd000 {
128                         pinctrl-names = "default";
129                         pinctrl-0 = <&uart0_s8815_mode>;
130                         status = "okay";
131                 };
132                 /* Configure card detect for the uSD slot */
133                 mmcsd: sdi@101f6000 {
134                         cd-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
135                 };
136         };
137
138         /* The user LED on the board is set up to be used for heartbeat */
139         leds {
140                 compatible = "gpio-leds";
141                 user-led {
142                         label = "user_led";
143                         gpios = <&gpio0 2 0x1>;
144                         default-state = "off";
145                         linux,default-trigger = "heartbeat";
146                         pinctrl-names = "default";
147                         pinctrl-0 = <&user_led_default_mode>;
148                 };
149         };
150
151         /* User key mapped in as "escape" */
152         gpio-keys {
153                 compatible = "gpio-keys";
154                 user-button {
155                         label = "user_button";
156                         gpios = <&gpio0 3 0x1>;
157                         linux,code = <1>; /* KEY_ESC */
158                         gpio-key,wakeup;
159                         pinctrl-names = "default";
160                         pinctrl-0 = <&user_button_default_mode>;
161                 };
162         };
163 };