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