0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /dts-v1/;
0003
0004 #include "motorola-mapphone-common.dtsi"
0005
0006 / {
0007 gpio_keys {
0008 compatible = "gpio-keys";
0009
0010 volume_down {
0011 label = "Volume Down";
0012 gpios = <&gpio5 26 GPIO_ACTIVE_LOW>; /* gpio154 */
0013 linux,code = <KEY_VOLUMEDOWN>;
0014 linux,can-disable;
0015 /* Value above 7.95ms for no GPIO hardware debounce */
0016 debounce-interval = <10>;
0017 };
0018
0019 /*
0020 * We use pad 0x4a100116 abe_dmic_din3.gpio_122 as the irq instead
0021 * of the gpio interrupt to avoid lost events in deeper idle states.
0022 */
0023 slider {
0024 label = "Keypad Slide";
0025 interrupts-extended = <&omap4_pmx_core 0xd6>;
0026 gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>; /* gpio122 */
0027 linux,input-type = <EV_SW>;
0028 linux,code = <SW_KEYPAD_SLIDE>;
0029 linux,can-disable;
0030 /* Value above 7.95ms for no GPIO hardware debounce */
0031 debounce-interval = <10>;
0032 };
0033 };
0034 };
0035
0036 / {
0037 model = "Motorola Droid 4 XT894";
0038 compatible = "motorola,droid4", "ti,omap4430", "ti,omap4";
0039 };
0040
0041 &keypad {
0042 keypad,num-rows = <8>;
0043 keypad,num-columns = <8>;
0044 linux,keymap = <
0045
0046 /* Row 1 */
0047 MATRIX_KEY(0, 2, KEY_1)
0048 MATRIX_KEY(0, 6, KEY_2)
0049 MATRIX_KEY(2, 3, KEY_3)
0050 MATRIX_KEY(0, 7, KEY_4)
0051 MATRIX_KEY(0, 4, KEY_5)
0052 MATRIX_KEY(5, 5, KEY_6)
0053 MATRIX_KEY(0, 1, KEY_7)
0054 MATRIX_KEY(0, 5, KEY_8)
0055 MATRIX_KEY(0, 0, KEY_9)
0056 MATRIX_KEY(1, 6, KEY_0)
0057
0058 /* Row 2 */
0059 MATRIX_KEY(3, 4, KEY_APOSTROPHE)
0060 MATRIX_KEY(7, 6, KEY_Q)
0061 MATRIX_KEY(7, 7, KEY_W)
0062 MATRIX_KEY(7, 2, KEY_E)
0063 MATRIX_KEY(1, 0, KEY_R)
0064 MATRIX_KEY(4, 4, KEY_T)
0065 MATRIX_KEY(1, 2, KEY_Y)
0066 MATRIX_KEY(6, 7, KEY_U)
0067 MATRIX_KEY(2, 2, KEY_I)
0068 MATRIX_KEY(5, 6, KEY_O)
0069 MATRIX_KEY(3, 7, KEY_P)
0070 MATRIX_KEY(6, 5, KEY_BACKSPACE)
0071
0072 /* Row 3 */
0073 MATRIX_KEY(5, 4, KEY_TAB)
0074 MATRIX_KEY(5, 7, KEY_A)
0075 MATRIX_KEY(2, 7, KEY_S)
0076 MATRIX_KEY(7, 0, KEY_D)
0077 MATRIX_KEY(2, 6, KEY_F)
0078 MATRIX_KEY(6, 2, KEY_G)
0079 MATRIX_KEY(6, 6, KEY_H)
0080 MATRIX_KEY(1, 4, KEY_J)
0081 MATRIX_KEY(3, 1, KEY_K)
0082 MATRIX_KEY(2, 1, KEY_L)
0083 MATRIX_KEY(4, 6, KEY_ENTER)
0084
0085 /* Row 4 */
0086 MATRIX_KEY(3, 6, KEY_LEFTSHIFT) /* KEY_CAPSLOCK */
0087 MATRIX_KEY(6, 1, KEY_Z)
0088 MATRIX_KEY(7, 4, KEY_X)
0089 MATRIX_KEY(5, 1, KEY_C)
0090 MATRIX_KEY(1, 7, KEY_V)
0091 MATRIX_KEY(2, 4, KEY_B)
0092 MATRIX_KEY(4, 1, KEY_N)
0093 MATRIX_KEY(1, 1, KEY_M)
0094 MATRIX_KEY(3, 5, KEY_COMMA)
0095 MATRIX_KEY(5, 2, KEY_DOT)
0096 MATRIX_KEY(6, 3, KEY_UP)
0097 MATRIX_KEY(7, 3, KEY_OK)
0098
0099 /* Row 5 */
0100 MATRIX_KEY(2, 5, KEY_LEFTCTRL) /* KEY_LEFTSHIFT */
0101 MATRIX_KEY(4, 5, KEY_LEFTALT) /* SYM */
0102 MATRIX_KEY(6, 0, KEY_MINUS)
0103 MATRIX_KEY(4, 7, KEY_EQUAL)
0104 MATRIX_KEY(1, 5, KEY_SPACE)
0105 MATRIX_KEY(3, 2, KEY_SLASH)
0106 MATRIX_KEY(4, 3, KEY_LEFT)
0107 MATRIX_KEY(5, 3, KEY_DOWN)
0108 MATRIX_KEY(3, 3, KEY_RIGHT)
0109
0110 /* Side buttons, KEY_VOLUMEDOWN and KEY_PWER are on CPCAP? */
0111 MATRIX_KEY(5, 0, KEY_VOLUMEUP)
0112 >;
0113 };
0114
0115 &i2c1 {
0116 led-controller@38 {
0117 compatible = "ti,lm3532";
0118 #address-cells = <1>;
0119 #size-cells = <0>;
0120 reg = <0x38>;
0121
0122 enable-gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
0123
0124 ramp-up-us = <1024>;
0125 ramp-down-us = <8193>;
0126
0127 backlight_led: led@0 {
0128 reg = <0>;
0129 led-sources = <2>;
0130 ti,led-mode = <0>;
0131 label = ":backlight";
0132 };
0133
0134 led@1 {
0135 reg = <1>;
0136 led-sources = <1>;
0137 ti,led-mode = <0>;
0138 label = ":kbd_backlight";
0139 };
0140 };
0141 };
0142
0143 &i2c4 {
0144 lis3dh: accelerometer@18 {
0145 compatible = "st,lis3dh-accel";
0146 reg = <0x18>;
0147
0148 vdd-supply = <&vhvio>;
0149
0150 interrupt-parent = <&gpio2>;
0151 interrupts = <2 IRQ_TYPE_EDGE_BOTH>; /* gpio34 */
0152
0153 rotation-matrix = "0", "-1", "0",
0154 "1", "0", "0",
0155 "0", "0", "1";
0156 };
0157 };