| // SPDX-License-Identifier: GPL-2.0-only |
| /dts-v1/; |
| |
| #include "motorola-mapphone-common.dtsi" |
| |
| / { |
| /* FS USB Host PHY on port 1 for mdm6600 */ |
| fsusb1_phy: usb-phy@1 { |
| compatible = "motorola,mapphone-mdm6600"; |
| pinctrl-0 = <&usb_mdm6600_pins>; |
| pinctrl-1 = <&usb_mdm6600_sleep_pins>; |
| pinctrl-names = "default", "sleep"; |
| enable-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; /* gpio_95 */ |
| power-gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>; /* gpio_54 */ |
| reset-gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>; /* gpio_49 */ |
| /* mode: gpio_148 gpio_149 */ |
| motorola,mode-gpios = <&gpio5 20 GPIO_ACTIVE_HIGH>, |
| <&gpio5 21 GPIO_ACTIVE_HIGH>; |
| /* cmd: gpio_103 gpio_104 gpio_142 */ |
| motorola,cmd-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>, |
| <&gpio4 8 GPIO_ACTIVE_HIGH>, |
| <&gpio5 14 GPIO_ACTIVE_HIGH>; |
| /* status: gpio_52 gpio_53 gpio_55 */ |
| motorola,status-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>, |
| <&gpio2 21 GPIO_ACTIVE_HIGH>, |
| <&gpio2 23 GPIO_ACTIVE_HIGH>; |
| #phy-cells = <0>; |
| }; |
| |
| /* HS USB host TLL nop-phy on port 2 for w3glte */ |
| hsusb2_phy: usb-phy@2 { |
| compatible = "usb-nop-xceiv"; |
| #phy-cells = <0>; |
| }; |
| |
| pwm8: pwm-8 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&vibrator_direction_pin>; |
| |
| compatible = "ti,omap-dmtimer-pwm"; |
| #pwm-cells = <3>; |
| ti,timers = <&timer8>; |
| ti,clock-source = <0x01>; |
| }; |
| |
| pwm9: pwm-9 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&vibrator_enable_pin>; |
| |
| compatible = "ti,omap-dmtimer-pwm"; |
| #pwm-cells = <3>; |
| ti,timers = <&timer9>; |
| ti,clock-source = <0x01>; |
| }; |
| |
| vibrator { |
| compatible = "pwm-vibrator"; |
| pwms = <&pwm9 0 10000000 0>, <&pwm8 0 10000000 0>; |
| pwm-names = "enable", "direction"; |
| direction-duty-cycle-ns = <10000000>; |
| }; |
| }; |
| |
| /* Battery NVRAM on 1-wire handled by w1_ds250x driver */ |
| &hdqw1w { |
| pinctrl-0 = <&hdq_pins>; |
| pinctrl-names = "default"; |
| ti,mode = "1w"; |
| }; |
| |
| &i2c2 { |
| touchscreen@4a { |
| compatible = "atmel,maxtouch"; |
| reg = <0x4a>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&touchscreen_pins>; |
| |
| reset-gpios = <&gpio6 13 GPIO_ACTIVE_LOW>; /* gpio173 */ |
| |
| /* gpio_183 with sys_nirq2 pad as wakeup */ |
| interrupts-extended = <&gpio6 23 IRQ_TYPE_LEVEL_LOW>, |
| <&omap4_pmx_core 0x160>; |
| interrupt-names = "irq", "wakeup"; |
| wakeup-source; |
| }; |
| |
| isl29030@44 { |
| compatible = "isil,isl29030"; |
| reg = <0x44>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&als_proximity_pins>; |
| |
| interrupt-parent = <&gpio6>; |
| interrupts = <17 IRQ_TYPE_LEVEL_LOW>; /* gpio177 */ |
| }; |
| }; |
| |
| &omap4_pmx_core { |
| hdq_pins: hdq-pins { |
| pinctrl-single,pins = < |
| /* 0x4a100120 hdq_sio.hdq_sio aa27 */ |
| OMAP4_IOPAD(0x120, PIN_INPUT | MUX_MODE0) |
| >; |
| }; |
| |
| /* kpd_row0.gpio_178 */ |
| tmp105_irq: tmp105-irq-pins { |
| pinctrl-single,pins = < |
| OMAP4_IOPAD(0x18e, PIN_INPUT_PULLUP | MUX_MODE3) |
| >; |
| }; |
| |
| touchscreen_pins: touchscreen-pins { |
| pinctrl-single,pins = < |
| OMAP4_IOPAD(0x180, PIN_OUTPUT | MUX_MODE3) |
| OMAP4_IOPAD(0x1a0, PIN_INPUT_PULLUP | MUX_MODE3) |
| >; |
| }; |
| |
| usb_mdm6600_pins: usb-mdm6600-pins { |
| pinctrl-single,pins = < |
| /* enable 0x4a1000d8 usbb1_ulpitll_dat7.gpio_95 ag16 */ |
| OMAP4_IOPAD(0x0d8, PIN_INPUT | MUX_MODE3) |
| |
| /* power 0x4a10007c gpmc_nwp.gpio_54 c25 */ |
| OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3) |
| |
| /* reset 0x4a100072 gpmc_a25.gpio_49 d20 */ |
| OMAP4_IOPAD(0x072, PIN_OUTPUT | MUX_MODE3) |
| |
| /* mode0/bpwake 0x4a10014e sdmmc5_dat1.gpio_148 af4 */ |
| OMAP4_IOPAD(0x14e, PIN_OUTPUT | MUX_MODE3) |
| |
| /* mode1/apwake 0x4a100150 sdmmc5_dat2.gpio_149 ag3 */ |
| OMAP4_IOPAD(0x150, PIN_OFF_OUTPUT_LOW | PIN_INPUT | MUX_MODE3) |
| |
| /* status0 0x4a10007e gpmc_clk.gpio_55 b22 */ |
| OMAP4_IOPAD(0x07e, PIN_INPUT | MUX_MODE3) |
| |
| /* status1 0x4a10007a gpmc_ncs3.gpio_53 c22 */ |
| OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3) |
| |
| /* status2 0x4a100078 gpmc_ncs2.gpio_52 d21 */ |
| OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3) |
| |
| /* cmd0 0x4a100094 gpmc_ncs6.gpio_103 c24 */ |
| OMAP4_IOPAD(0x094, PIN_OUTPUT | MUX_MODE3) |
| |
| /* cmd1 0x4a100096 gpmc_ncs7.gpio_104 d24 */ |
| OMAP4_IOPAD(0x096, PIN_OUTPUT | MUX_MODE3) |
| |
| /* cmd2 0x4a100142 uart3_rts_sd.gpio_142 f28 */ |
| OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE3) |
| >; |
| }; |
| |
| /* Modem sleep pins to keep gpio_49 high with internal pull */ |
| usb_mdm6600_sleep_pins: usb-mdm6600-sleep-pins { |
| pinctrl-single,pins = < |
| OMAP4_IOPAD(0x0d8, PIN_INPUT | MUX_MODE3) |
| OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3) |
| OMAP4_IOPAD(0x072, PIN_INPUT_PULLUP | MUX_MODE7) /* Keep gpio_49 reset high */ |
| OMAP4_IOPAD(0x14e, PIN_OUTPUT | MUX_MODE3) |
| OMAP4_IOPAD(0x150, PIN_OFF_OUTPUT_LOW | PIN_INPUT | MUX_MODE3) |
| OMAP4_IOPAD(0x07e, PIN_INPUT | MUX_MODE3) |
| OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3) |
| OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3) |
| OMAP4_IOPAD(0x094, PIN_OUTPUT | MUX_MODE3) |
| OMAP4_IOPAD(0x096, PIN_OUTPUT | MUX_MODE3) |
| OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE3) |
| >; |
| }; |
| |
| als_proximity_pins: als-proximity-pins { |
| pinctrl-single,pins = < |
| OMAP4_IOPAD(0x18c, PIN_INPUT_PULLUP | MUX_MODE3) |
| >; |
| }; |
| |
| vibrator_direction_pin: vibrator-direction-pins { |
| pinctrl-single,pins = < |
| OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE1) /* dmtimer8_pwm_evt (gpio_27) */ |
| >; |
| }; |
| |
| vibrator_enable_pin: vibrator-enable-pins { |
| pinctrl-single,pins = < |
| OMAP4_IOPAD(0X1d0, PIN_OUTPUT | MUX_MODE1) /* dmtimer9_pwm_evt (gpio_28) */ |
| >; |
| }; |
| }; |
| |
| /* Configure pwm clock source for timers 8 & 9 */ |
| &timer8 { |
| assigned-clocks = <&abe_clkctrl OMAP4_TIMER8_CLKCTRL 24>; |
| assigned-clock-parents = <&sys_32k_ck>; |
| }; |
| |
| &timer9 { |
| assigned-clocks = <&l4_per_clkctrl OMAP4_TIMER9_CLKCTRL 24>; |
| assigned-clock-parents = <&sys_32k_ck>; |
| }; |
| |
| &usbhsohci { |
| phys = <&fsusb1_phy>; |
| phy-names = "usb"; |
| }; |
| |
| &usbhsehci { |
| phys = <&hsusb2_phy>; |
| }; |
| |
| &usbhshost { |
| port1-mode = "ohci-phy-4pin-dpdm"; |
| port2-mode = "ehci-tll"; |
| }; |
| |
| &i2c4 { |
| ak8975: magnetometer@c { |
| compatible = "asahi-kasei,ak8975"; |
| reg = <0x0c>; |
| |
| vdd-supply = <&vhvio>; |
| |
| interrupt-parent = <&gpio6>; |
| interrupts = <15 IRQ_TYPE_EDGE_RISING>; /* gpio175 */ |
| |
| rotation-matrix = "-1", "0", "0", |
| "0", "1", "0", |
| "0", "0", "-1"; |
| |
| }; |
| }; |