162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/dts-v1/; 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci#include "motorola-mapphone-common.dtsi" 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci/ { 762306a36Sopenharmony_ci gpio_keys { 862306a36Sopenharmony_ci compatible = "gpio-keys"; 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci volume_down { 1162306a36Sopenharmony_ci label = "Volume Down"; 1262306a36Sopenharmony_ci gpios = <&gpio5 26 GPIO_ACTIVE_LOW>; /* gpio154 */ 1362306a36Sopenharmony_ci linux,code = <KEY_VOLUMEDOWN>; 1462306a36Sopenharmony_ci linux,can-disable; 1562306a36Sopenharmony_ci /* Value above 7.95ms for no GPIO hardware debounce */ 1662306a36Sopenharmony_ci debounce-interval = <10>; 1762306a36Sopenharmony_ci }; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci /* 2062306a36Sopenharmony_ci * We use pad 0x4a100116 abe_dmic_din3.gpio_122 as the irq instead 2162306a36Sopenharmony_ci * of the gpio interrupt to avoid lost events in deeper idle states. 2262306a36Sopenharmony_ci */ 2362306a36Sopenharmony_ci slider { 2462306a36Sopenharmony_ci label = "Keypad Slide"; 2562306a36Sopenharmony_ci interrupts-extended = <&omap4_pmx_core 0xd6>; 2662306a36Sopenharmony_ci gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>; /* gpio122 */ 2762306a36Sopenharmony_ci linux,input-type = <EV_SW>; 2862306a36Sopenharmony_ci linux,code = <SW_KEYPAD_SLIDE>; 2962306a36Sopenharmony_ci linux,can-disable; 3062306a36Sopenharmony_ci /* Value above 7.95ms for no GPIO hardware debounce */ 3162306a36Sopenharmony_ci debounce-interval = <10>; 3262306a36Sopenharmony_ci }; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci}; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci/ { 3762306a36Sopenharmony_ci model = "Motorola Droid 4 XT894"; 3862306a36Sopenharmony_ci compatible = "motorola,droid4", "ti,omap4430", "ti,omap4"; 3962306a36Sopenharmony_ci}; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci&keypad { 4262306a36Sopenharmony_ci keypad,num-rows = <8>; 4362306a36Sopenharmony_ci keypad,num-columns = <8>; 4462306a36Sopenharmony_ci linux,keymap = < 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci /* Row 1 */ 4762306a36Sopenharmony_ci MATRIX_KEY(0, 2, KEY_1) 4862306a36Sopenharmony_ci MATRIX_KEY(0, 6, KEY_2) 4962306a36Sopenharmony_ci MATRIX_KEY(2, 3, KEY_3) 5062306a36Sopenharmony_ci MATRIX_KEY(0, 7, KEY_4) 5162306a36Sopenharmony_ci MATRIX_KEY(0, 4, KEY_5) 5262306a36Sopenharmony_ci MATRIX_KEY(5, 5, KEY_6) 5362306a36Sopenharmony_ci MATRIX_KEY(0, 1, KEY_7) 5462306a36Sopenharmony_ci MATRIX_KEY(0, 5, KEY_8) 5562306a36Sopenharmony_ci MATRIX_KEY(0, 0, KEY_9) 5662306a36Sopenharmony_ci MATRIX_KEY(1, 6, KEY_0) 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci /* Row 2 */ 5962306a36Sopenharmony_ci MATRIX_KEY(3, 4, KEY_APOSTROPHE) 6062306a36Sopenharmony_ci MATRIX_KEY(7, 6, KEY_Q) 6162306a36Sopenharmony_ci MATRIX_KEY(7, 7, KEY_W) 6262306a36Sopenharmony_ci MATRIX_KEY(7, 2, KEY_E) 6362306a36Sopenharmony_ci MATRIX_KEY(1, 0, KEY_R) 6462306a36Sopenharmony_ci MATRIX_KEY(4, 4, KEY_T) 6562306a36Sopenharmony_ci MATRIX_KEY(1, 2, KEY_Y) 6662306a36Sopenharmony_ci MATRIX_KEY(6, 7, KEY_U) 6762306a36Sopenharmony_ci MATRIX_KEY(2, 2, KEY_I) 6862306a36Sopenharmony_ci MATRIX_KEY(5, 6, KEY_O) 6962306a36Sopenharmony_ci MATRIX_KEY(3, 7, KEY_P) 7062306a36Sopenharmony_ci MATRIX_KEY(6, 5, KEY_BACKSPACE) 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci /* Row 3 */ 7362306a36Sopenharmony_ci MATRIX_KEY(5, 4, KEY_TAB) 7462306a36Sopenharmony_ci MATRIX_KEY(5, 7, KEY_A) 7562306a36Sopenharmony_ci MATRIX_KEY(2, 7, KEY_S) 7662306a36Sopenharmony_ci MATRIX_KEY(7, 0, KEY_D) 7762306a36Sopenharmony_ci MATRIX_KEY(2, 6, KEY_F) 7862306a36Sopenharmony_ci MATRIX_KEY(6, 2, KEY_G) 7962306a36Sopenharmony_ci MATRIX_KEY(6, 6, KEY_H) 8062306a36Sopenharmony_ci MATRIX_KEY(1, 4, KEY_J) 8162306a36Sopenharmony_ci MATRIX_KEY(3, 1, KEY_K) 8262306a36Sopenharmony_ci MATRIX_KEY(2, 1, KEY_L) 8362306a36Sopenharmony_ci MATRIX_KEY(4, 6, KEY_ENTER) 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci /* Row 4 */ 8662306a36Sopenharmony_ci MATRIX_KEY(3, 6, KEY_LEFTSHIFT) /* KEY_CAPSLOCK */ 8762306a36Sopenharmony_ci MATRIX_KEY(6, 1, KEY_Z) 8862306a36Sopenharmony_ci MATRIX_KEY(7, 4, KEY_X) 8962306a36Sopenharmony_ci MATRIX_KEY(5, 1, KEY_C) 9062306a36Sopenharmony_ci MATRIX_KEY(1, 7, KEY_V) 9162306a36Sopenharmony_ci MATRIX_KEY(2, 4, KEY_B) 9262306a36Sopenharmony_ci MATRIX_KEY(4, 1, KEY_N) 9362306a36Sopenharmony_ci MATRIX_KEY(1, 1, KEY_M) 9462306a36Sopenharmony_ci MATRIX_KEY(3, 5, KEY_COMMA) 9562306a36Sopenharmony_ci MATRIX_KEY(5, 2, KEY_DOT) 9662306a36Sopenharmony_ci MATRIX_KEY(6, 3, KEY_UP) 9762306a36Sopenharmony_ci MATRIX_KEY(7, 3, KEY_OK) 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci /* Row 5 */ 10062306a36Sopenharmony_ci MATRIX_KEY(2, 5, KEY_LEFTCTRL) /* KEY_LEFTSHIFT */ 10162306a36Sopenharmony_ci MATRIX_KEY(4, 5, KEY_LEFTALT) /* SYM */ 10262306a36Sopenharmony_ci MATRIX_KEY(6, 0, KEY_MINUS) 10362306a36Sopenharmony_ci MATRIX_KEY(4, 7, KEY_EQUAL) 10462306a36Sopenharmony_ci MATRIX_KEY(1, 5, KEY_SPACE) 10562306a36Sopenharmony_ci MATRIX_KEY(3, 2, KEY_SLASH) 10662306a36Sopenharmony_ci MATRIX_KEY(4, 3, KEY_LEFT) 10762306a36Sopenharmony_ci MATRIX_KEY(5, 3, KEY_DOWN) 10862306a36Sopenharmony_ci MATRIX_KEY(3, 3, KEY_RIGHT) 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci /* Side buttons, KEY_VOLUMEDOWN and KEY_PWER are on CPCAP? */ 11162306a36Sopenharmony_ci MATRIX_KEY(5, 0, KEY_VOLUMEUP) 11262306a36Sopenharmony_ci >; 11362306a36Sopenharmony_ci}; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci&i2c1 { 11662306a36Sopenharmony_ci led-controller@38 { 11762306a36Sopenharmony_ci compatible = "ti,lm3532"; 11862306a36Sopenharmony_ci #address-cells = <1>; 11962306a36Sopenharmony_ci #size-cells = <0>; 12062306a36Sopenharmony_ci reg = <0x38>; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci enable-gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci ramp-up-us = <1024>; 12562306a36Sopenharmony_ci ramp-down-us = <8193>; 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci backlight_led: led@0 { 12862306a36Sopenharmony_ci reg = <0>; 12962306a36Sopenharmony_ci led-sources = <2>; 13062306a36Sopenharmony_ci ti,led-mode = <0>; 13162306a36Sopenharmony_ci label = ":backlight"; 13262306a36Sopenharmony_ci }; 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci led@1 { 13562306a36Sopenharmony_ci reg = <1>; 13662306a36Sopenharmony_ci led-sources = <1>; 13762306a36Sopenharmony_ci ti,led-mode = <0>; 13862306a36Sopenharmony_ci label = ":kbd_backlight"; 13962306a36Sopenharmony_ci }; 14062306a36Sopenharmony_ci }; 14162306a36Sopenharmony_ci}; 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci&i2c4 { 14462306a36Sopenharmony_ci lis3dh: accelerometer@18 { 14562306a36Sopenharmony_ci compatible = "st,lis3dh-accel"; 14662306a36Sopenharmony_ci reg = <0x18>; 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci vdd-supply = <&vhvio>; 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci interrupt-parent = <&gpio2>; 15162306a36Sopenharmony_ci interrupts = <2 IRQ_TYPE_EDGE_BOTH>; /* gpio34 */ 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci rotation-matrix = "0", "-1", "0", 15462306a36Sopenharmony_ci "1", "0", "0", 15562306a36Sopenharmony_ci "0", "0", "1"; 15662306a36Sopenharmony_ci }; 15762306a36Sopenharmony_ci}; 158