Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / imx53-voipac-bsb.dts
1 /*
2  * Copyright 2013 Rostislav Lisovy <lisovy@gmail.com>, PiKRON s.r.o.
3  *
4  * The code contained herein is licensed under the GNU General Public
5  * License. You may obtain a copy of the GNU General Public License
6  * Version 2 or later at the following locations:
7  *
8  * http://www.opensource.org/licenses/gpl-license.html
9  * http://www.gnu.org/copyleft/gpl.html
10  */
11
12 /dts-v1/;
13 #include "imx53-voipac-dmm-668.dtsi"
14
15 / {
16         sound {
17                 compatible = "fsl,imx53-voipac-sgtl5000",
18                              "fsl,imx-audio-sgtl5000";
19                 model = "imx53-voipac-sgtl5000";
20                 ssi-controller = <&ssi2>;
21                 audio-codec = <&sgtl5000>;
22                 audio-routing =
23                         "Headphone Jack", "HP_OUT";
24                 mux-int-port = <2>;
25                 mux-ext-port = <5>;
26         };
27
28         leds {
29                 compatible = "gpio-leds";
30                 pinctrl-names = "default";
31                 pinctrl-0 = <&led_pin_gpio>;
32
33                 led1 {
34                         label = "led-red";
35                         gpios = <&gpio3 29 0>;
36                         default-state = "off";
37                 };
38
39                 led2 {
40                         label = "led-orange";
41                         gpios = <&gpio2 31 0>;
42                         default-state = "off";
43                 };
44         };
45 };
46
47 &iomuxc {
48         pinctrl-names = "default";
49         pinctrl-0 = <&pinctrl_hog>;
50
51         imx53-voipac {
52                 pinctrl_hog: hoggrp {
53                         fsl,pins = <
54                                 /* SD2_CD */
55                                 MX53_PAD_EIM_D25__GPIO3_25      0x80000000
56                                 /* SD2_WP */
57                                 MX53_PAD_EIM_A19__GPIO2_19      0x80000000
58                         >;
59                 };
60
61                 led_pin_gpio: led_gpio {
62                         fsl,pins = <
63                                 MX53_PAD_EIM_D29__GPIO3_29      0x80000000
64                                 MX53_PAD_EIM_EB3__GPIO2_31      0x80000000
65                         >;
66                 };
67
68                 /* Keyboard controller */
69                 pinctrl_kpp_1: kppgrp-1 {
70                         fsl,pins = <
71                                 MX53_PAD_GPIO_9__KPP_COL_6      0xe8
72                                 MX53_PAD_GPIO_4__KPP_COL_7      0xe8
73                                 MX53_PAD_KEY_COL2__KPP_COL_2    0xe8
74                                 MX53_PAD_KEY_COL3__KPP_COL_3    0xe8
75                                 MX53_PAD_KEY_COL4__KPP_COL_4    0xe8
76                                 MX53_PAD_GPIO_2__KPP_ROW_6      0xe0
77                                 MX53_PAD_GPIO_5__KPP_ROW_7      0xe0
78                                 MX53_PAD_KEY_ROW2__KPP_ROW_2    0xe0
79                                 MX53_PAD_KEY_ROW3__KPP_ROW_3    0xe0
80                                 MX53_PAD_KEY_ROW4__KPP_ROW_4    0xe0
81                         >;
82                 };
83
84                 pinctrl_audmux: audmuxgrp {
85                         fsl,pins = <
86                                 MX53_PAD_KEY_COL0__AUDMUX_AUD5_TXC      0x80000000
87                                 MX53_PAD_KEY_ROW0__AUDMUX_AUD5_TXD      0x80000000
88                                 MX53_PAD_KEY_COL1__AUDMUX_AUD5_TXFS     0x80000000
89                                 MX53_PAD_KEY_ROW1__AUDMUX_AUD5_RXD      0x80000000
90                         >;
91                 };
92
93                 pinctrl_esdhc2: esdhc2grp {
94                         fsl,pins = <
95                                 MX53_PAD_SD2_CMD__ESDHC2_CMD            0x1d5
96                                 MX53_PAD_SD2_CLK__ESDHC2_CLK            0x1d5
97                                 MX53_PAD_SD2_DATA0__ESDHC2_DAT0         0x1d5
98                                 MX53_PAD_SD2_DATA1__ESDHC2_DAT1         0x1d5
99                                 MX53_PAD_SD2_DATA2__ESDHC2_DAT2         0x1d5
100                                 MX53_PAD_SD2_DATA3__ESDHC2_DAT3         0x1d5
101                         >;
102                 };
103
104                 pinctrl_i2c3: i2c3grp {
105                         fsl,pins = <
106                                 MX53_PAD_GPIO_3__I2C3_SCL               0xc0000000
107                                 MX53_PAD_GPIO_6__I2C3_SDA               0xc0000000
108                         >;
109                 };
110         };
111 };
112
113 &audmux {
114         pinctrl-names = "default";
115         pinctrl-0 = <&pinctrl_audmux>; /* SSI1 */
116         status = "okay";
117 };
118
119 &esdhc2 {
120         pinctrl-names = "default";
121         pinctrl-0 = <&pinctrl_esdhc2>;
122         cd-gpios = <&gpio3 25 GPIO_ACTIVE_LOW>;
123         wp-gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
124         vmmc-supply = <&reg_3p3v>;
125         status = "okay";
126 };
127
128 &i2c3 {
129         pinctrl-names = "default";
130         pinctrl-0 = <&pinctrl_i2c3>;
131         status = "okay";
132
133         sgtl5000: codec@a {
134                 compatible = "fsl,sgtl5000";
135                 reg = <0x0a>;
136                 #sound-dai-cells = <0>;
137                 VDDA-supply = <&reg_3p3v>;
138                 VDDIO-supply = <&reg_3p3v>;
139                 clocks = <&clks 150>;
140         };
141 };
142
143 &kpp {
144         pinctrl-names = "default";
145         pinctrl-0 = <&pinctrl_kpp_1>;
146         linux,keymap = <
147                         0x0203003b      /* KEY_F1 */
148                         0x0603003c      /* KEY_F2 */
149                         0x0207003d      /* KEY_F3 */
150                         0x0607003e      /* KEY_F4 */
151                         >;
152         keypad,num-rows = <8>;
153         keypad,num-columns = <1>;
154         status = "okay";
155 };
156
157 &ssi2 {
158         status = "okay";
159 };