File Index
Files and directories
Sign in
FILE

motorola-mapphone-handset.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm/boot/dts/ti/omap/motorola-mapphone-handset.dtsi DEVICETREE
  1// SPDX-License-Identifier: GPL-2.0-only
  2/dts-v1/;
  3
  4#include "motorola-mapphone-common.dtsi"
  5
  6/ {
  7	/* FS USB Host PHY on port 1 for mdm6600 */
  8	fsusb1_phy: usb-phy@1 {
  9		compatible = "motorola,mapphone-mdm6600";
 10		pinctrl-0 = <&usb_mdm6600_pins>;
 11		pinctrl-1 = <&usb_mdm6600_sleep_pins>;
 12		pinctrl-names = "default", "sleep";
 13		enable-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;     /* gpio_95 */
 14		power-gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;	/* gpio_54 */
 15		reset-gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>;	/* gpio_49 */
 16		/* mode: gpio_148 gpio_149 */
 17		motorola,mode-gpios = <&gpio5 20 GPIO_ACTIVE_HIGH>,
 18				      <&gpio5 21 GPIO_ACTIVE_HIGH>;
 19		/* cmd: gpio_103 gpio_104 gpio_142 */
 20		motorola,cmd-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>,
 21				     <&gpio4 8 GPIO_ACTIVE_HIGH>,
 22				     <&gpio5 14 GPIO_ACTIVE_HIGH>;
 23		/* status: gpio_52 gpio_53 gpio_55 */
 24		motorola,status-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>,
 25					<&gpio2 21 GPIO_ACTIVE_HIGH>,
 26					<&gpio2 23 GPIO_ACTIVE_HIGH>;
 27		#phy-cells = <0>;
 28	};
 29
 30	/* HS USB host TLL nop-phy on port 2 for w3glte */
 31	hsusb2_phy: usb-phy@2 {
 32		compatible = "usb-nop-xceiv";
 33		#phy-cells = <0>;
 34	};
 35
 36	pwm8: pwm-8 {
 37		pinctrl-names = "default";
 38		pinctrl-0 = <&vibrator_direction_pin>;
 39
 40		compatible = "ti,omap-dmtimer-pwm";
 41		#pwm-cells = <3>;
 42		ti,timers = <&timer8>;
 43		ti,clock-source = <0x01>;
 44	};
 45
 46	pwm9: pwm-9 {
 47		pinctrl-names = "default";
 48		pinctrl-0 = <&vibrator_enable_pin>;
 49
 50		compatible = "ti,omap-dmtimer-pwm";
 51		#pwm-cells = <3>;
 52		ti,timers = <&timer9>;
 53		ti,clock-source = <0x01>;
 54	};
 55
 56	vibrator {
 57		compatible = "pwm-vibrator";
 58		pwms = <&pwm9 0 10000000 0>, <&pwm8 0 10000000 0>;
 59		pwm-names = "enable", "direction";
 60		direction-duty-cycle-ns = <10000000>;
 61	};
 62};
 63
 64/* Battery NVRAM on 1-wire handled by w1_ds250x driver */
 65&hdqw1w {
 66	pinctrl-0 = <&hdq_pins>;
 67	pinctrl-names = "default";
 68	ti,mode = "1w";
 69};
 70
 71&i2c2 {
 72	touchscreen@4a {
 73		compatible = "atmel,maxtouch";
 74		reg = <0x4a>;
 75		pinctrl-names = "default";
 76		pinctrl-0 = <&touchscreen_pins>;
 77
 78		reset-gpios = <&gpio6 13 GPIO_ACTIVE_LOW>; /* gpio173 */
 79
 80		/* gpio_183 with sys_nirq2 pad as wakeup */
 81		interrupts-extended = <&gpio6 23 IRQ_TYPE_LEVEL_LOW>,
 82				      <&omap4_pmx_core 0x160>;
 83		interrupt-names = "irq", "wakeup";
 84		wakeup-source;
 85	};
 86
 87	isl29030@44 {
 88		compatible = "isil,isl29030";
 89		reg = <0x44>;
 90
 91		pinctrl-names = "default";
 92		pinctrl-0 = <&als_proximity_pins>;
 93
 94		interrupt-parent = <&gpio6>;
 95		interrupts = <17 IRQ_TYPE_LEVEL_LOW>; /* gpio177 */
 96	};
 97};
 98
 99&omap4_pmx_core {
100	hdq_pins: hdq-pins {
101		pinctrl-single,pins = <
102		/* 0x4a100120 hdq_sio.hdq_sio aa27 */
103		OMAP4_IOPAD(0x120, PIN_INPUT | MUX_MODE0)
104		>;
105	};
106
107	/* kpd_row0.gpio_178 */
108	tmp105_irq: tmp105-irq-pins {
109		pinctrl-single,pins = <
110		OMAP4_IOPAD(0x18e, PIN_INPUT_PULLUP | MUX_MODE3)
111		>;
112	};
113
114	touchscreen_pins: touchscreen-pins {
115		pinctrl-single,pins = <
116		OMAP4_IOPAD(0x180, PIN_OUTPUT | MUX_MODE3)
117		OMAP4_IOPAD(0x1a0, PIN_INPUT_PULLUP | MUX_MODE3)
118		>;
119	};
120
121	usb_mdm6600_pins: usb-mdm6600-pins {
122		pinctrl-single,pins = <
123		/* enable 0x4a1000d8 usbb1_ulpitll_dat7.gpio_95 ag16 */
124		OMAP4_IOPAD(0x0d8, PIN_INPUT | MUX_MODE3)
125
126		/* power 0x4a10007c gpmc_nwp.gpio_54 c25 */
127		OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3)
128
129		/* reset 0x4a100072 gpmc_a25.gpio_49 d20 */
130		OMAP4_IOPAD(0x072, PIN_OUTPUT | MUX_MODE3)
131
132		/* mode0/bpwake 0x4a10014e sdmmc5_dat1.gpio_148 af4 */
133		OMAP4_IOPAD(0x14e, PIN_OUTPUT | MUX_MODE3)
134
135		/* mode1/apwake 0x4a100150 sdmmc5_dat2.gpio_149 ag3 */
136		OMAP4_IOPAD(0x150, PIN_OFF_OUTPUT_LOW | PIN_INPUT | MUX_MODE3)
137
138		/* status0 0x4a10007e gpmc_clk.gpio_55 b22 */
139		OMAP4_IOPAD(0x07e, PIN_INPUT | MUX_MODE3)
140
141		/* status1 0x4a10007a gpmc_ncs3.gpio_53 c22 */
142		OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)
143
144		/* status2 0x4a100078 gpmc_ncs2.gpio_52 d21 */
145		OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3)
146
147		/* cmd0 0x4a100094 gpmc_ncs6.gpio_103 c24 */
148		OMAP4_IOPAD(0x094, PIN_OUTPUT | MUX_MODE3)
149
150		/* cmd1 0x4a100096 gpmc_ncs7.gpio_104 d24 */
151		OMAP4_IOPAD(0x096, PIN_OUTPUT | MUX_MODE3)
152
153		/* cmd2 0x4a100142 uart3_rts_sd.gpio_142 f28 */
154		OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE3)
155		>;
156	};
157
158	/* Modem sleep pins to keep gpio_49 high with internal pull */
159	usb_mdm6600_sleep_pins: usb-mdm6600-sleep-pins {
160		pinctrl-single,pins = <
161		OMAP4_IOPAD(0x0d8, PIN_INPUT | MUX_MODE3)
162		OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3)
163		OMAP4_IOPAD(0x072, PIN_INPUT_PULLUP | MUX_MODE7) /* Keep gpio_49 reset high */
164		OMAP4_IOPAD(0x14e, PIN_OUTPUT | MUX_MODE3)
165		OMAP4_IOPAD(0x150, PIN_OFF_OUTPUT_LOW | PIN_INPUT | MUX_MODE3)
166		OMAP4_IOPAD(0x07e, PIN_INPUT | MUX_MODE3)
167		OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)
168		OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3)
169		OMAP4_IOPAD(0x094, PIN_OUTPUT | MUX_MODE3)
170		OMAP4_IOPAD(0x096, PIN_OUTPUT | MUX_MODE3)
171		OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE3)
172		>;
173	};
174
175	als_proximity_pins: als-proximity-pins {
176		pinctrl-single,pins = <
177		OMAP4_IOPAD(0x18c, PIN_INPUT_PULLUP | MUX_MODE3)
178		>;
179	};
180
181	vibrator_direction_pin: vibrator-direction-pins {
182		pinctrl-single,pins = <
183		OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE1)	/* dmtimer8_pwm_evt (gpio_27) */
184		>;
185	};
186
187	vibrator_enable_pin: vibrator-enable-pins {
188		pinctrl-single,pins = <
189		OMAP4_IOPAD(0X1d0, PIN_OUTPUT | MUX_MODE1)	/* dmtimer9_pwm_evt (gpio_28) */
190		>;
191	};
192};
193
194/* Configure pwm clock source for timers 8 & 9 */
195&timer8 {
196	assigned-clocks = <&abe_clkctrl OMAP4_TIMER8_CLKCTRL 24>;
197	assigned-clock-parents = <&sys_32k_ck>;
198};
199
200&timer9 {
201	assigned-clocks = <&l4_per_clkctrl OMAP4_TIMER9_CLKCTRL 24>;
202	assigned-clock-parents = <&sys_32k_ck>;
203};
204
205&usbhsohci {
206	phys = <&fsusb1_phy>;
207	phy-names = "usb";
208};
209
210&usbhsehci {
211	phys = <&hsusb2_phy>;
212};
213
214&usbhshost {
215	port1-mode = "ohci-phy-4pin-dpdm";
216	port2-mode = "ehci-tll";
217};
218
219&i2c4 {
220	ak8975: magnetometer@c {
221		compatible = "asahi-kasei,ak8975";
222		reg = <0x0c>;
223
224		vdd-supply = <&vhvio>;
225
226		interrupt-parent = <&gpio6>;
227		interrupts = <15 IRQ_TYPE_EDGE_RISING>; /* gpio175 */
228
229		rotation-matrix = "-1", "0", "0",
230				  "0", "1", "0",
231				  "0", "0", "-1";
232
233	};
234};
~/ Read-only file preview.