xref: /openbmc/linux/arch/arm/boot/dts/ti/omap/omap4-droid4-xt894.dts (revision 2612e3bbc0386368a850140a6c9b990cd496a5ec)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2*724ba675SRob Herring/dts-v1/;
3*724ba675SRob Herring
4*724ba675SRob Herring#include "motorola-mapphone-common.dtsi"
5*724ba675SRob Herring
6*724ba675SRob Herring/ {
7*724ba675SRob Herring	gpio_keys {
8*724ba675SRob Herring		compatible = "gpio-keys";
9*724ba675SRob Herring
10*724ba675SRob Herring		volume_down {
11*724ba675SRob Herring			label = "Volume Down";
12*724ba675SRob Herring			gpios = <&gpio5 26 GPIO_ACTIVE_LOW>; /* gpio154 */
13*724ba675SRob Herring			linux,code = <KEY_VOLUMEDOWN>;
14*724ba675SRob Herring			linux,can-disable;
15*724ba675SRob Herring			/* Value above 7.95ms for no GPIO hardware debounce */
16*724ba675SRob Herring			debounce-interval = <10>;
17*724ba675SRob Herring		};
18*724ba675SRob Herring
19*724ba675SRob Herring		/*
20*724ba675SRob Herring		 * We use pad 0x4a100116 abe_dmic_din3.gpio_122 as the irq instead
21*724ba675SRob Herring		 * of the gpio interrupt to avoid lost events in deeper idle states.
22*724ba675SRob Herring		*/
23*724ba675SRob Herring		slider {
24*724ba675SRob Herring			label = "Keypad Slide";
25*724ba675SRob Herring			interrupts-extended = <&omap4_pmx_core 0xd6>;
26*724ba675SRob Herring			gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>; /* gpio122 */
27*724ba675SRob Herring			linux,input-type = <EV_SW>;
28*724ba675SRob Herring			linux,code = <SW_KEYPAD_SLIDE>;
29*724ba675SRob Herring			linux,can-disable;
30*724ba675SRob Herring			/* Value above 7.95ms for no GPIO hardware debounce */
31*724ba675SRob Herring			debounce-interval = <10>;
32*724ba675SRob Herring		};
33*724ba675SRob Herring	};
34*724ba675SRob Herring};
35*724ba675SRob Herring
36*724ba675SRob Herring/ {
37*724ba675SRob Herring	model = "Motorola Droid 4 XT894";
38*724ba675SRob Herring	compatible = "motorola,droid4", "ti,omap4430", "ti,omap4";
39*724ba675SRob Herring};
40*724ba675SRob Herring
41*724ba675SRob Herring&keypad {
42*724ba675SRob Herring	keypad,num-rows = <8>;
43*724ba675SRob Herring	keypad,num-columns = <8>;
44*724ba675SRob Herring	linux,keymap = <
45*724ba675SRob Herring
46*724ba675SRob Herring	/* Row 1 */
47*724ba675SRob Herring	MATRIX_KEY(0, 2, KEY_1)
48*724ba675SRob Herring	MATRIX_KEY(0, 6, KEY_2)
49*724ba675SRob Herring	MATRIX_KEY(2, 3, KEY_3)
50*724ba675SRob Herring	MATRIX_KEY(0, 7, KEY_4)
51*724ba675SRob Herring	MATRIX_KEY(0, 4, KEY_5)
52*724ba675SRob Herring	MATRIX_KEY(5, 5, KEY_6)
53*724ba675SRob Herring	MATRIX_KEY(0, 1, KEY_7)
54*724ba675SRob Herring	MATRIX_KEY(0, 5, KEY_8)
55*724ba675SRob Herring	MATRIX_KEY(0, 0, KEY_9)
56*724ba675SRob Herring	MATRIX_KEY(1, 6, KEY_0)
57*724ba675SRob Herring
58*724ba675SRob Herring	/* Row 2 */
59*724ba675SRob Herring	MATRIX_KEY(3, 4, KEY_APOSTROPHE)
60*724ba675SRob Herring	MATRIX_KEY(7, 6, KEY_Q)
61*724ba675SRob Herring	MATRIX_KEY(7, 7, KEY_W)
62*724ba675SRob Herring	MATRIX_KEY(7, 2, KEY_E)
63*724ba675SRob Herring	MATRIX_KEY(1, 0, KEY_R)
64*724ba675SRob Herring	MATRIX_KEY(4, 4, KEY_T)
65*724ba675SRob Herring	MATRIX_KEY(1, 2, KEY_Y)
66*724ba675SRob Herring	MATRIX_KEY(6, 7, KEY_U)
67*724ba675SRob Herring	MATRIX_KEY(2, 2, KEY_I)
68*724ba675SRob Herring	MATRIX_KEY(5, 6, KEY_O)
69*724ba675SRob Herring	MATRIX_KEY(3, 7, KEY_P)
70*724ba675SRob Herring	MATRIX_KEY(6, 5, KEY_BACKSPACE)
71*724ba675SRob Herring
72*724ba675SRob Herring	/* Row 3 */
73*724ba675SRob Herring	MATRIX_KEY(5, 4, KEY_TAB)
74*724ba675SRob Herring	MATRIX_KEY(5, 7, KEY_A)
75*724ba675SRob Herring	MATRIX_KEY(2, 7, KEY_S)
76*724ba675SRob Herring	MATRIX_KEY(7, 0, KEY_D)
77*724ba675SRob Herring	MATRIX_KEY(2, 6, KEY_F)
78*724ba675SRob Herring	MATRIX_KEY(6, 2, KEY_G)
79*724ba675SRob Herring	MATRIX_KEY(6, 6, KEY_H)
80*724ba675SRob Herring	MATRIX_KEY(1, 4, KEY_J)
81*724ba675SRob Herring	MATRIX_KEY(3, 1, KEY_K)
82*724ba675SRob Herring	MATRIX_KEY(2, 1, KEY_L)
83*724ba675SRob Herring	MATRIX_KEY(4, 6, KEY_ENTER)
84*724ba675SRob Herring
85*724ba675SRob Herring	/* Row 4 */
86*724ba675SRob Herring	MATRIX_KEY(3, 6, KEY_LEFTSHIFT)		/* KEY_CAPSLOCK */
87*724ba675SRob Herring	MATRIX_KEY(6, 1, KEY_Z)
88*724ba675SRob Herring	MATRIX_KEY(7, 4, KEY_X)
89*724ba675SRob Herring	MATRIX_KEY(5, 1, KEY_C)
90*724ba675SRob Herring	MATRIX_KEY(1, 7, KEY_V)
91*724ba675SRob Herring	MATRIX_KEY(2, 4, KEY_B)
92*724ba675SRob Herring	MATRIX_KEY(4, 1, KEY_N)
93*724ba675SRob Herring	MATRIX_KEY(1, 1, KEY_M)
94*724ba675SRob Herring	MATRIX_KEY(3, 5, KEY_COMMA)
95*724ba675SRob Herring	MATRIX_KEY(5, 2, KEY_DOT)
96*724ba675SRob Herring	MATRIX_KEY(6, 3, KEY_UP)
97*724ba675SRob Herring	MATRIX_KEY(7, 3, KEY_OK)
98*724ba675SRob Herring
99*724ba675SRob Herring	/* Row 5 */
100*724ba675SRob Herring	MATRIX_KEY(2, 5, KEY_LEFTCTRL)		/* KEY_LEFTSHIFT */
101*724ba675SRob Herring	MATRIX_KEY(4, 5, KEY_LEFTALT)		/* SYM */
102*724ba675SRob Herring	MATRIX_KEY(6, 0, KEY_MINUS)
103*724ba675SRob Herring	MATRIX_KEY(4, 7, KEY_EQUAL)
104*724ba675SRob Herring	MATRIX_KEY(1, 5, KEY_SPACE)
105*724ba675SRob Herring	MATRIX_KEY(3, 2, KEY_SLASH)
106*724ba675SRob Herring	MATRIX_KEY(4, 3, KEY_LEFT)
107*724ba675SRob Herring	MATRIX_KEY(5, 3, KEY_DOWN)
108*724ba675SRob Herring	MATRIX_KEY(3, 3, KEY_RIGHT)
109*724ba675SRob Herring
110*724ba675SRob Herring	/* Side buttons, KEY_VOLUMEDOWN and KEY_PWER are on CPCAP? */
111*724ba675SRob Herring	MATRIX_KEY(5, 0, KEY_VOLUMEUP)
112*724ba675SRob Herring	>;
113*724ba675SRob Herring};
114*724ba675SRob Herring
115*724ba675SRob Herring&i2c1 {
116*724ba675SRob Herring	led-controller@38 {
117*724ba675SRob Herring		compatible = "ti,lm3532";
118*724ba675SRob Herring		#address-cells = <1>;
119*724ba675SRob Herring		#size-cells = <0>;
120*724ba675SRob Herring		reg = <0x38>;
121*724ba675SRob Herring
122*724ba675SRob Herring		enable-gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
123*724ba675SRob Herring
124*724ba675SRob Herring		ramp-up-us = <1024>;
125*724ba675SRob Herring		ramp-down-us = <8193>;
126*724ba675SRob Herring
127*724ba675SRob Herring		backlight_led: led@0 {
128*724ba675SRob Herring			reg = <0>;
129*724ba675SRob Herring			led-sources = <2>;
130*724ba675SRob Herring			ti,led-mode = <0>;
131*724ba675SRob Herring			label = ":backlight";
132*724ba675SRob Herring		};
133*724ba675SRob Herring
134*724ba675SRob Herring		led@1 {
135*724ba675SRob Herring			reg = <1>;
136*724ba675SRob Herring			led-sources = <1>;
137*724ba675SRob Herring			ti,led-mode = <0>;
138*724ba675SRob Herring			label = ":kbd_backlight";
139*724ba675SRob Herring		};
140*724ba675SRob Herring	};
141*724ba675SRob Herring};
142*724ba675SRob Herring
143*724ba675SRob Herring&i2c4 {
144*724ba675SRob Herring	lis3dh: accelerometer@18 {
145*724ba675SRob Herring		compatible = "st,lis3dh-accel";
146*724ba675SRob Herring		reg = <0x18>;
147*724ba675SRob Herring
148*724ba675SRob Herring		vdd-supply = <&vhvio>;
149*724ba675SRob Herring
150*724ba675SRob Herring		interrupt-parent = <&gpio2>;
151*724ba675SRob Herring		interrupts = <2 IRQ_TYPE_EDGE_BOTH>; /* gpio34 */
152*724ba675SRob Herring
153*724ba675SRob Herring		rotation-matrix = "0", "-1", "0",
154*724ba675SRob Herring				  "1", "0", "0",
155*724ba675SRob Herring				  "0", "0", "1";
156*724ba675SRob Herring	};
157*724ba675SRob Herring};
158