Linux Audio

Check our new training course

Loading...
v6.2
  1// SPDX-License-Identifier: GPL-2.0-only
 
 
 
 
  2/dts-v1/;
  3
  4#include "motorola-mapphone-common.dtsi"
  5
  6/ {
  7	gpio_keys {
  8		compatible = "gpio-keys";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  9
 10		volume_down {
 11			label = "Volume Down";
 12			gpios = <&gpio5 26 GPIO_ACTIVE_LOW>; /* gpio154 */
 13			linux,code = <KEY_VOLUMEDOWN>;
 14			linux,can-disable;
 15			/* Value above 7.95ms for no GPIO hardware debounce */
 16			debounce-interval = <10>;
 17		};
 18
 19		/*
 20		 * We use pad 0x4a100116 abe_dmic_din3.gpio_122 as the irq instead
 21		 * of the gpio interrupt to avoid lost events in deeper idle states.
 22		*/
 23		slider {
 24			label = "Keypad Slide";
 25			interrupts-extended = <&omap4_pmx_core 0xd6>;
 26			gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>; /* gpio122 */
 27			linux,input-type = <EV_SW>;
 28			linux,code = <SW_KEYPAD_SLIDE>;
 29			linux,can-disable;
 30			/* Value above 7.95ms for no GPIO hardware debounce */
 31			debounce-interval = <10>;
 32		};
 33	};
 34};
 35
 36/ {
 37	model = "Motorola Droid 4 XT894";
 38	compatible = "motorola,droid4", "ti,omap4430", "ti,omap4";
 39};
 40
 41&keypad {
 42	keypad,num-rows = <8>;
 43	keypad,num-columns = <8>;
 44	linux,keymap = <
 45
 46	/* Row 1 */
 47	MATRIX_KEY(0, 2, KEY_1)
 48	MATRIX_KEY(0, 6, KEY_2)
 49	MATRIX_KEY(2, 3, KEY_3)
 50	MATRIX_KEY(0, 7, KEY_4)
 51	MATRIX_KEY(0, 4, KEY_5)
 52	MATRIX_KEY(5, 5, KEY_6)
 53	MATRIX_KEY(0, 1, KEY_7)
 54	MATRIX_KEY(0, 5, KEY_8)
 55	MATRIX_KEY(0, 0, KEY_9)
 56	MATRIX_KEY(1, 6, KEY_0)
 57
 58	/* Row 2 */
 59	MATRIX_KEY(3, 4, KEY_APOSTROPHE)
 60	MATRIX_KEY(7, 6, KEY_Q)
 61	MATRIX_KEY(7, 7, KEY_W)
 62	MATRIX_KEY(7, 2, KEY_E)
 63	MATRIX_KEY(1, 0, KEY_R)
 64	MATRIX_KEY(4, 4, KEY_T)
 65	MATRIX_KEY(1, 2, KEY_Y)
 66	MATRIX_KEY(6, 7, KEY_U)
 67	MATRIX_KEY(2, 2, KEY_I)
 68	MATRIX_KEY(5, 6, KEY_O)
 69	MATRIX_KEY(3, 7, KEY_P)
 70	MATRIX_KEY(6, 5, KEY_BACKSPACE)
 71
 72	/* Row 3 */
 73	MATRIX_KEY(5, 4, KEY_TAB)
 74	MATRIX_KEY(5, 7, KEY_A)
 75	MATRIX_KEY(2, 7, KEY_S)
 76	MATRIX_KEY(7, 0, KEY_D)
 77	MATRIX_KEY(2, 6, KEY_F)
 78	MATRIX_KEY(6, 2, KEY_G)
 79	MATRIX_KEY(6, 6, KEY_H)
 80	MATRIX_KEY(1, 4, KEY_J)
 81	MATRIX_KEY(3, 1, KEY_K)
 82	MATRIX_KEY(2, 1, KEY_L)
 83	MATRIX_KEY(4, 6, KEY_ENTER)
 84
 85	/* Row 4 */
 86	MATRIX_KEY(3, 6, KEY_LEFTSHIFT)		/* KEY_CAPSLOCK */
 87	MATRIX_KEY(6, 1, KEY_Z)
 88	MATRIX_KEY(7, 4, KEY_X)
 89	MATRIX_KEY(5, 1, KEY_C)
 90	MATRIX_KEY(1, 7, KEY_V)
 91	MATRIX_KEY(2, 4, KEY_B)
 92	MATRIX_KEY(4, 1, KEY_N)
 93	MATRIX_KEY(1, 1, KEY_M)
 94	MATRIX_KEY(3, 5, KEY_COMMA)
 95	MATRIX_KEY(5, 2, KEY_DOT)
 96	MATRIX_KEY(6, 3, KEY_UP)
 97	MATRIX_KEY(7, 3, KEY_OK)
 98
 99	/* Row 5 */
100	MATRIX_KEY(2, 5, KEY_LEFTCTRL)		/* KEY_LEFTSHIFT */
101	MATRIX_KEY(4, 5, KEY_LEFTALT)		/* SYM */
102	MATRIX_KEY(6, 0, KEY_MINUS)
103	MATRIX_KEY(4, 7, KEY_EQUAL)
104	MATRIX_KEY(1, 5, KEY_SPACE)
105	MATRIX_KEY(3, 2, KEY_SLASH)
106	MATRIX_KEY(4, 3, KEY_LEFT)
107	MATRIX_KEY(5, 3, KEY_DOWN)
108	MATRIX_KEY(3, 3, KEY_RIGHT)
109
110	/* Side buttons, KEY_VOLUMEDOWN and KEY_PWER are on CPCAP? */
111	MATRIX_KEY(5, 0, KEY_VOLUMEUP)
112	>;
113};
114
115&i2c1 {
116	led-controller@38 {
117		compatible = "ti,lm3532";
118		#address-cells = <1>;
119		#size-cells = <0>;
120		reg = <0x38>;
121
122		enable-gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
123
124		ramp-up-us = <1024>;
125		ramp-down-us = <8193>;
126
127		backlight_led: led@0 {
128			reg = <0>;
129			led-sources = <2>;
130			ti,led-mode = <0>;
131			label = ":backlight";
132		};
133
134		led@1 {
135			reg = <1>;
136			led-sources = <1>;
137			ti,led-mode = <0>;
138			label = ":kbd_backlight";
139		};
140	};
141};
142
143&i2c4 {
144	lis3dh: accelerometer@18 {
145		compatible = "st,lis3dh-accel";
146		reg = <0x18>;
147
148		vdd-supply = <&vhvio>;
149
150		interrupt-parent = <&gpio2>;
151		interrupts = <2 IRQ_TYPE_EDGE_BOTH>; /* gpio34 */
152
153		rotation-matrix = "0", "-1", "0",
154				  "1", "0", "0",
155				  "0", "0", "1";
156	};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157};
v4.10.11
  1/*
  2 * This program is free software; you can redistribute it and/or modify
  3 * it under the terms of the GNU General Public License version 2 as
  4 * published by the Free Software Foundation.
  5 */
  6/dts-v1/;
  7
  8#include "omap443x.dtsi"
  9
 10/ {
 11	model = "Motorola Droid 4 XT894";
 12	compatible = "motorola,droid4", "ti,omap4430", "ti,omap4";
 13
 14	chosen {
 15		stdout-path = &uart3;
 16	};
 17
 18	/*
 19	 * We seem to have only 1021 MB accessible, 1021 - 1022 is locked,
 20	 * then 1023 - 1024 seems to contain mbm. For SRAM, see the notes
 21	 * below about SRAM and L3_ICLK2 being unused by default,
 22	 */
 23	memory {
 24		device_type = "memory";
 25		reg = <0x80000000 0x3fd00000>;	/* 1021 MB */
 26	};
 27
 28	/* CPCAP really supports 1650000 to 3400000 range */
 29	vmmc: regulator-mmc {
 30		compatible = "regulator-fixed";
 31		regulator-name = "vmmc";
 32		regulator-min-microvolt = <3000000>;
 33		regulator-max-microvolt = <3000000>;
 34		regulator-always-on;
 35	};
 36
 37	/* CPCAP really supports 3000000 to 3100000 range */
 38	vemmc: regulator-emmc {
 39		compatible = "regulator-fixed";
 40		regulator-name = "vemmc";
 41		regulator-min-microvolt = <3000000>;
 42		regulator-max-microvolt = <3000000>;
 43		regulator-always-on;
 44	};
 45
 46	/* CPCAP really supports 1650000 to 1950000 range */
 47	wl12xx_vmmc: regulator-wl12xx {
 48		compatible = "regulator-fixed";
 49		regulator-name = "vwl1271";
 50		regulator-min-microvolt = <1650000>;
 51		regulator-max-microvolt = <1650000>;
 52		gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;	/* gpio94 */
 53		startup-delay-us = <70000>;
 54		enable-active-high;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 55	};
 56};
 57
 58/* L3_2 interconnect is unused, SRAM, GPMC and L3_ICLK2 disabled */
 59&gpmc {
 60	status = "disabled";
 61};
 62
 63&mmc1 {
 64	vmmc-supply = <&vmmc>;
 65	bus-width = <4>;
 66	cd-gpios = <&gpio4 10 GPIO_ACTIVE_LOW>;	/* gpio106 */
 67};
 68
 69&mmc2 {
 70	vmmc-supply = <&vemmc>;
 71	bus-width = <8>;
 72	non-removable;
 73};
 74
 75&mmc3 {
 76	vmmc-supply = <&wl12xx_vmmc>;
 77	interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
 78			       &omap4_pmx_core 0xde>;
 79
 80	non-removable;
 81	bus-width = <4>;
 82	cap-power-off-card;
 83
 84	#address-cells = <1>;
 85	#size-cells = <0>;
 86	wlcore: wlcore@2 {
 87		compatible = "ti,wl1283";
 88		reg = <2>;
 89		interrupt-parent = <&gpio4>;
 90		interrupts = <4 IRQ_TYPE_LEVEL_HIGH>; /* gpio100 */
 91		ref-clock-frequency = <26000000>;
 92		tcxo-clock-frequency = <26000000>;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 93	};
 94};
 95
 96/* L3_2 interconnect is unused, SRAM, GPMC and L3_ICLK2 disabled */
 97&ocmcram {
 98	status = "disabled";
 99};
100
101&omap4_pmx_core {
102	usb_gpio_mux_sel1: pinmux_usb_gpio_mux_sel1_pins {
103		/* gpio_60 */
104		pinctrl-single,pins = <
105		OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3)
106		>;
107	};
108
109	usb_ulpi_pins: pinmux_usb_ulpi_pins {
110		pinctrl-single,pins = <
111		OMAP4_IOPAD(0x196, MUX_MODE7)
112		OMAP4_IOPAD(0x198, MUX_MODE7)
113		OMAP4_IOPAD(0x1b2, PIN_INPUT_PULLUP | MUX_MODE0)
114		OMAP4_IOPAD(0x1b4, PIN_INPUT_PULLUP | MUX_MODE0)
115		OMAP4_IOPAD(0x1b6, PIN_INPUT_PULLUP | MUX_MODE0)
116		OMAP4_IOPAD(0x1b8, PIN_INPUT_PULLUP | MUX_MODE0)
117		OMAP4_IOPAD(0x1ba, PIN_INPUT_PULLUP | MUX_MODE0)
118		OMAP4_IOPAD(0x1bc, PIN_INPUT_PULLUP | MUX_MODE0)
119		OMAP4_IOPAD(0x1be, PIN_INPUT_PULLUP | MUX_MODE0)
120		OMAP4_IOPAD(0x1c0, PIN_INPUT_PULLUP | MUX_MODE0)
121		OMAP4_IOPAD(0x1c2, PIN_INPUT_PULLUP | MUX_MODE0)
122		OMAP4_IOPAD(0x1c4, PIN_INPUT_PULLUP | MUX_MODE0)
123		OMAP4_IOPAD(0x1c6, PIN_INPUT_PULLUP | MUX_MODE0)
124		OMAP4_IOPAD(0x1c8, PIN_INPUT_PULLUP | MUX_MODE0)
125		>;
126	};
127
128	/* usb0_otg_dp and usb0_otg_dm */
129	usb_utmi_pins: pinmux_usb_utmi_pins {
130		pinctrl-single,pins = <
131		OMAP4_IOPAD(0x196, PIN_INPUT | MUX_MODE0)
132		OMAP4_IOPAD(0x198, PIN_INPUT | MUX_MODE0)
133		OMAP4_IOPAD(0x1b2, PIN_INPUT_PULLUP | MUX_MODE7)
134		OMAP4_IOPAD(0x1b4, PIN_INPUT_PULLUP | MUX_MODE7)
135		OMAP4_IOPAD(0x1b6, PIN_INPUT_PULLUP | MUX_MODE7)
136		OMAP4_IOPAD(0x1b8, PIN_INPUT_PULLUP | MUX_MODE7)
137		OMAP4_IOPAD(0x1ba, PIN_INPUT_PULLUP | MUX_MODE7)
138		OMAP4_IOPAD(0x1bc, PIN_INPUT_PULLUP | MUX_MODE7)
139		OMAP4_IOPAD(0x1be, PIN_INPUT_PULLUP | MUX_MODE7)
140		OMAP4_IOPAD(0x1c0, PIN_INPUT_PULLUP | MUX_MODE7)
141		OMAP4_IOPAD(0x1c2, PIN_INPUT_PULLUP | MUX_MODE7)
142		OMAP4_IOPAD(0x1c4, PIN_INPUT_PULLUP | MUX_MODE7)
143		OMAP4_IOPAD(0x1c6, PIN_INPUT_PULLUP | MUX_MODE7)
144		OMAP4_IOPAD(0x1c8, PIN_INPUT_PULLUP | MUX_MODE7)
145		>;
146	};
147
148	/* uart3_tx_irtx and uart3_rx_irrx */
149	uart3_pins: pinmux_uart3_pins {
150		pinctrl-single,pins = <
151		OMAP4_IOPAD(0x196, MUX_MODE7)
152		OMAP4_IOPAD(0x198, MUX_MODE7)
153		OMAP4_IOPAD(0x1b2, PIN_INPUT_PULLUP | MUX_MODE7)
154		OMAP4_IOPAD(0x1b4, PIN_INPUT_PULLUP | MUX_MODE7)
155		OMAP4_IOPAD(0x1b6, PIN_INPUT_PULLUP | MUX_MODE7)
156		OMAP4_IOPAD(0x1b8, PIN_INPUT_PULLUP | MUX_MODE7)
157		OMAP4_IOPAD(0x1ba, MUX_MODE2)
158		OMAP4_IOPAD(0x1bc, PIN_INPUT | MUX_MODE2)
159		OMAP4_IOPAD(0x1be, PIN_INPUT_PULLUP | MUX_MODE7)
160		OMAP4_IOPAD(0x1c0, PIN_INPUT_PULLUP | MUX_MODE7)
161		OMAP4_IOPAD(0x1c2, PIN_INPUT_PULLUP | MUX_MODE7)
162		OMAP4_IOPAD(0x1c4, PIN_INPUT_PULLUP | MUX_MODE7)
163		OMAP4_IOPAD(0x1c6, PIN_INPUT_PULLUP | MUX_MODE7)
164		OMAP4_IOPAD(0x1c8, PIN_INPUT_PULLUP | MUX_MODE7)
165		>;
166	};
167};
168
169&omap4_pmx_wkup {
170	usb_gpio_mux_sel2: pinmux_usb_gpio_mux_sel2_pins {
171		/* gpio_wk0 */
172		pinctrl-single,pins = <
173		OMAP4_IOPAD(0x040, PIN_OUTPUT_PULLDOWN | MUX_MODE3)
174		>;
175	};
176};
177
178&uart3 {
179	interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
180			       &omap4_pmx_core 0x17c>;
181};
182
183/* Internal UTMI+ PHY used for OTG, CPCAP ULPI PHY for detection and charger */
184&usb_otg_hs {
185	interface-type = <1>;
186	mode = <3>;
187	power = <50>;
188};