summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/imx53-voipac-bsb.dts
blob: 7f6711a486151dad8fa9a7406422eec17164f55e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
/*
 * Copyright 2013 Rostislav Lisovy <lisovy@gmail.com>, PiKRON s.r.o.
 *
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 *
 * http://www.opensource.org/licenses/gpl-license.html
 * http://www.gnu.org/copyleft/gpl.html
 */

/dts-v1/;
#include "imx53-voipac-dmm-668.dtsi"

/ {
	sound {
		compatible = "fsl,imx53-voipac-sgtl5000",
			     "fsl,imx-audio-sgtl5000";
		model = "imx53-voipac-sgtl5000";
		ssi-controller = <&ssi2>;
		audio-codec = <&sgtl5000>;
		audio-routing =
			"Headphone Jack", "HP_OUT";
		mux-int-port = <2>;
		mux-ext-port = <5>;
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&led_pin_gpio>;

		led1 {
			label = "led-red";
			gpios = <&gpio3 29 0>;
			default-state = "off";
		};

		led2 {
			label = "led-orange";
			gpios = <&gpio2 31 0>;
			default-state = "off";
		};
	};
};

&iomuxc {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_hog>;

	imx53-voipac {
		pinctrl_hog: hoggrp {
			fsl,pins = <
				/* SD2_CD */
				MX53_PAD_EIM_D25__GPIO3_25	0x80000000
				/* SD2_WP */
				MX53_PAD_EIM_A19__GPIO2_19 	0x80000000
			>;
		};

		led_pin_gpio: led_gpio {
			fsl,pins = <
				MX53_PAD_EIM_D29__GPIO3_29	0x80000000
				MX53_PAD_EIM_EB3__GPIO2_31	0x80000000
			>;
		};

		/* Keyboard controller */
		pinctrl_kpp_1: kppgrp-1 {
			fsl,pins = <
				MX53_PAD_GPIO_9__KPP_COL_6	0xe8
				MX53_PAD_GPIO_4__KPP_COL_7	0xe8
				MX53_PAD_KEY_COL2__KPP_COL_2	0xe8
				MX53_PAD_KEY_COL3__KPP_COL_3	0xe8
				MX53_PAD_KEY_COL4__KPP_COL_4	0xe8
				MX53_PAD_GPIO_2__KPP_ROW_6	0xe0
				MX53_PAD_GPIO_5__KPP_ROW_7	0xe0
				MX53_PAD_KEY_ROW2__KPP_ROW_2	0xe0
				MX53_PAD_KEY_ROW3__KPP_ROW_3	0xe0
				MX53_PAD_KEY_ROW4__KPP_ROW_4	0xe0
			>;
		};

		pinctrl_audmux: audmuxgrp {
			fsl,pins = <
				MX53_PAD_KEY_COL0__AUDMUX_AUD5_TXC	0x80000000
				MX53_PAD_KEY_ROW0__AUDMUX_AUD5_TXD	0x80000000
				MX53_PAD_KEY_COL1__AUDMUX_AUD5_TXFS	0x80000000
				MX53_PAD_KEY_ROW1__AUDMUX_AUD5_RXD	0x80000000
			>;
		};

		pinctrl_esdhc2: esdhc2grp {
			fsl,pins = <
				MX53_PAD_SD2_CMD__ESDHC2_CMD		0x1d5
				MX53_PAD_SD2_CLK__ESDHC2_CLK		0x1d5
				MX53_PAD_SD2_DATA0__ESDHC2_DAT0		0x1d5
				MX53_PAD_SD2_DATA1__ESDHC2_DAT1		0x1d5
				MX53_PAD_SD2_DATA2__ESDHC2_DAT2		0x1d5
				MX53_PAD_SD2_DATA3__ESDHC2_DAT3		0x1d5
			>;
		};

		pinctrl_i2c3: i2c3grp {
			fsl,pins = <
				MX53_PAD_GPIO_3__I2C3_SCL		0xc0000000
				MX53_PAD_GPIO_6__I2C3_SDA		0xc0000000
			>;
		};
	};
};

&audmux {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_audmux>; /* SSI1 */
	status = "okay";
};

&esdhc2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_esdhc2>;
	cd-gpios = <&gpio3 25 0>;
	wp-gpios = <&gpio2 19 0>;
	vmmc-supply = <&reg_3p3v>;
	status = "okay";
};

&i2c3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c3>;
	status = "okay";

	sgtl5000: codec@0a {
		compatible = "fsl,sgtl5000";
		reg = <0x0a>;
		VDDA-supply = <&reg_3p3v>;
		VDDIO-supply = <&reg_3p3v>;
		clocks = <&clks 150>;
	};
};

&kpp {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_kpp_1>;
	linux,keymap = <
			0x0203003b	/* KEY_F1 */
			0x0603003c	/* KEY_F2 */
			0x0207003d	/* KEY_F3 */
			0x0607003e	/* KEY_F4 */
			>;
	keypad,num-rows = <8>;
	keypad,num-columns = <1>;
	status = "okay";
};

&ssi2 {
	fsl,mode = "i2s-slave";
	status = "okay";
};