diff options
| -rw-r--r-- | arch/arm/boot/dts/Makefile | 2 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap2.dtsi | 2 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap3-beagle-xm.dts | 40 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap3-beagle.dts | 40 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap3-cm-t3730.dts | 104 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap3-cm-t3x30.dtsi | 95 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap3-igep.dtsi | 2 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap3-igep0020.dts | 52 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap3-igep0030.dts | 10 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap3-sb-t35.dtsi | 40 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap3-sbc-t3730.dts | 30 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap3-zoom3.dts | 23 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap3.dtsi | 2 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap34xx.dtsi | 13 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap36xx.dtsi | 11 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/pdata-quirks.c | 31 | ||||
| -rw-r--r-- | include/dt-bindings/pinctrl/omap.h | 20 |
17 files changed, 450 insertions, 67 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 6f527e1faeb6..8cafefa44a7e 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
| @@ -180,6 +180,8 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ | |||
| 180 | omap2420-n810-wimax.dtb \ | 180 | omap2420-n810-wimax.dtb \ |
| 181 | omap3430-sdp.dtb \ | 181 | omap3430-sdp.dtb \ |
| 182 | omap3-beagle.dtb \ | 182 | omap3-beagle.dtb \ |
| 183 | omap3-cm-t3730.dtb \ | ||
| 184 | omap3-sbc-t3730.dtb \ | ||
| 183 | omap3-devkit8000.dtb \ | 185 | omap3-devkit8000.dtb \ |
| 184 | omap3-beagle-xm.dtb \ | 186 | omap3-beagle-xm.dtb \ |
| 185 | omap3-evm.dtb \ | 187 | omap3-evm.dtb \ |
diff --git a/arch/arm/boot/dts/omap2.dtsi b/arch/arm/boot/dts/omap2.dtsi index d0c5b37e248c..5377ddf83bf8 100644 --- a/arch/arm/boot/dts/omap2.dtsi +++ b/arch/arm/boot/dts/omap2.dtsi | |||
| @@ -145,7 +145,7 @@ | |||
| 145 | compatible = "ti,omap2-rng"; | 145 | compatible = "ti,omap2-rng"; |
| 146 | ti,hwmods = "rng"; | 146 | ti,hwmods = "rng"; |
| 147 | reg = <0x480a0000 0x50>; | 147 | reg = <0x480a0000 0x50>; |
| 148 | interrupts = <36>; | 148 | interrupts = <52>; |
| 149 | }; | 149 | }; |
| 150 | 150 | ||
| 151 | sham: sham@480a4000 { | 151 | sham: sham@480a4000 { |
diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts index df33a50bc070..447e714d435b 100644 --- a/arch/arm/boot/dts/omap3-beagle-xm.dts +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts | |||
| @@ -99,7 +99,7 @@ | |||
| 99 | &omap3_pmx_core { | 99 | &omap3_pmx_core { |
| 100 | pinctrl-names = "default"; | 100 | pinctrl-names = "default"; |
| 101 | pinctrl-0 = < | 101 | pinctrl-0 = < |
| 102 | &hsusbb2_pins | 102 | &hsusb2_pins |
| 103 | >; | 103 | >; |
| 104 | 104 | ||
| 105 | uart3_pins: pinmux_uart3_pins { | 105 | uart3_pins: pinmux_uart3_pins { |
| @@ -109,20 +109,32 @@ | |||
| 109 | >; | 109 | >; |
| 110 | }; | 110 | }; |
| 111 | 111 | ||
| 112 | hsusbb2_pins: pinmux_hsusbb2_pins { | 112 | hsusb2_pins: pinmux_hsusb2_pins { |
| 113 | pinctrl-single,pins = < | 113 | pinctrl-single,pins = < |
| 114 | 0x5c0 (PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */ | 114 | OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi1_cs3.hsusb2_data2 */ |
| 115 | 0x5c2 (PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */ | 115 | OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_clk.hsusb2_data7 */ |
| 116 | 0x5c4 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */ | 116 | OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_simo.hsusb2_data4 */ |
| 117 | 0x5c6 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */ | 117 | OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_somi.hsusb2_data5 */ |
| 118 | 0x5c8 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */ | 118 | OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs0.hsusb2_data6 */ |
| 119 | 0x5cA (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */ | 119 | OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs1.hsusb2_data3 */ |
| 120 | 0x1a4 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi1_cs3.hsusb2_data2 */ | 120 | >; |
| 121 | 0x1a6 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_clk.hsusb2_data7 */ | 121 | }; |
| 122 | 0x1a8 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_simo.hsusb2_data4 */ | 122 | }; |
| 123 | 0x1aa (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_somi.hsusb2_data5 */ | 123 | |
| 124 | 0x1ac (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs0.hsusb2_data6 */ | 124 | &omap3_pmx_core2 { |
| 125 | 0x1ae (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs1.hsusb2_data3 */ | 125 | pinctrl-names = "default"; |
| 126 | pinctrl-0 = < | ||
| 127 | &hsusb2_2_pins | ||
| 128 | >; | ||
| 129 | |||
| 130 | hsusb2_2_pins: pinmux_hsusb2_2_pins { | ||
| 131 | pinctrl-single,pins = < | ||
| 132 | OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */ | ||
| 133 | OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */ | ||
| 134 | OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */ | ||
| 135 | OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */ | ||
| 136 | OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */ | ||
| 137 | OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */ | ||
| 126 | >; | 138 | >; |
| 127 | }; | 139 | }; |
| 128 | }; | 140 | }; |
diff --git a/arch/arm/boot/dts/omap3-beagle.dts b/arch/arm/boot/dts/omap3-beagle.dts index 3ba4a625ea5b..5053766d369b 100644 --- a/arch/arm/boot/dts/omap3-beagle.dts +++ b/arch/arm/boot/dts/omap3-beagle.dts | |||
| @@ -93,23 +93,17 @@ | |||
| 93 | &omap3_pmx_core { | 93 | &omap3_pmx_core { |
| 94 | pinctrl-names = "default"; | 94 | pinctrl-names = "default"; |
| 95 | pinctrl-0 = < | 95 | pinctrl-0 = < |
| 96 | &hsusbb2_pins | 96 | &hsusb2_pins |
| 97 | >; | 97 | >; |
| 98 | 98 | ||
| 99 | hsusbb2_pins: pinmux_hsusbb2_pins { | 99 | hsusb2_pins: pinmux_hsusb2_pins { |
| 100 | pinctrl-single,pins = < | 100 | pinctrl-single,pins = < |
| 101 | 0x5c0 (PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */ | 101 | OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi1_cs3.hsusb2_data2 */ |
| 102 | 0x5c2 (PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */ | 102 | OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_clk.hsusb2_data7 */ |
| 103 | 0x5c4 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */ | 103 | OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_simo.hsusb2_data4 */ |
| 104 | 0x5c6 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */ | 104 | OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_somi.hsusb2_data5 */ |
| 105 | 0x5c8 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */ | 105 | OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs0.hsusb2_data6 */ |
| 106 | 0x5cA (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */ | 106 | OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs1.hsusb2_data3 */ |
| 107 | 0x1a4 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi1_cs3.hsusb2_data2 */ | ||
| 108 | 0x1a6 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_clk.hsusb2_data7 */ | ||
| 109 | 0x1a8 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_simo.hsusb2_data4 */ | ||
| 110 | 0x1aa (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_somi.hsusb2_data5 */ | ||
| 111 | 0x1ac (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs0.hsusb2_data6 */ | ||
| 112 | 0x1ae (PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs1.hsusb2_data3 */ | ||
| 113 | >; | 107 | >; |
| 114 | }; | 108 | }; |
| 115 | 109 | ||
| @@ -121,6 +115,24 @@ | |||
| 121 | }; | 115 | }; |
| 122 | }; | 116 | }; |
| 123 | 117 | ||
| 118 | &omap3_pmx_core2 { | ||
| 119 | pinctrl-names = "default"; | ||
| 120 | pinctrl-0 = < | ||
| 121 | &hsusb2_2_pins | ||
| 122 | >; | ||
| 123 | |||
| 124 | hsusb2_2_pins: pinmux_hsusb2_2_pins { | ||
| 125 | pinctrl-single,pins = < | ||
| 126 | OMAP3430_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */ | ||
| 127 | OMAP3430_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */ | ||
| 128 | OMAP3430_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */ | ||
| 129 | OMAP3430_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */ | ||
| 130 | OMAP3430_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */ | ||
| 131 | OMAP3430_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */ | ||
| 132 | >; | ||
| 133 | }; | ||
| 134 | }; | ||
| 135 | |||
| 124 | &i2c1 { | 136 | &i2c1 { |
| 125 | clock-frequency = <2600000>; | 137 | clock-frequency = <2600000>; |
| 126 | 138 | ||
diff --git a/arch/arm/boot/dts/omap3-cm-t3730.dts b/arch/arm/boot/dts/omap3-cm-t3730.dts new file mode 100644 index 000000000000..486f4d6c4219 --- /dev/null +++ b/arch/arm/boot/dts/omap3-cm-t3730.dts | |||
| @@ -0,0 +1,104 @@ | |||
| 1 | /* | ||
| 2 | * Support for CompuLab CM-T3730 | ||
| 3 | */ | ||
| 4 | /dts-v1/; | ||
| 5 | |||
| 6 | #include "omap36xx.dtsi" | ||
| 7 | #include "omap3-cm-t3x30.dtsi" | ||
| 8 | |||
| 9 | / { | ||
| 10 | model = "CompuLab CM-T3730"; | ||
| 11 | compatible = "compulab,omap3-cm-t3730", "ti,omap36xx", "ti,omap3"; | ||
| 12 | |||
| 13 | wl12xx_vmmc2: wl12xx_vmmc2 { | ||
| 14 | compatible = "regulator-fixed"; | ||
| 15 | regulator-name = "vw1271"; | ||
| 16 | pinctrl-names = "default"; | ||
| 17 | pinctrl-0 = <&wl12xx_gpio>; | ||
| 18 | regulator-min-microvolt = <1800000>; | ||
| 19 | regulator-max-microvolt = <1800000>; | ||
| 20 | gpio = <&gpio3 9 GPIO_ACTIVE_HIGH>; /* gpio73 */ | ||
| 21 | startup-delay-us = <20000>; | ||
| 22 | enable-active-high; | ||
| 23 | }; | ||
| 24 | |||
| 25 | wl12xx_vaux2: wl12xx_vaux2 { | ||
| 26 | compatible = "regulator-fixed"; | ||
| 27 | regulator-name = "vwl1271_vaux2"; | ||
| 28 | regulator-min-microvolt = <1800000>; | ||
| 29 | regulator-max-microvolt = <1800000>; | ||
| 30 | vin-supply = <&vaux2>; | ||
| 31 | }; | ||
| 32 | }; | ||
| 33 | |||
| 34 | &omap3_pmx_core { | ||
| 35 | mmc1_pins: pinmux_mmc1_pins { | ||
| 36 | pinctrl-single,pins = < | ||
| 37 | 0x114 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ | ||
| 38 | 0x116 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ | ||
| 39 | 0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ | ||
| 40 | 0x11a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ | ||
| 41 | 0x11c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ | ||
| 42 | 0x11e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ | ||
| 43 | >; | ||
| 44 | }; | ||
| 45 | |||
| 46 | mmc2_pins: pinmux_mmc2_pins { | ||
| 47 | pinctrl-single,pins = < | ||
| 48 | 0x128 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */ | ||
| 49 | 0x12a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */ | ||
| 50 | 0x12c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */ | ||
| 51 | 0x12e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */ | ||
| 52 | 0x130 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */ | ||
| 53 | 0x132 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */ | ||
| 54 | >; | ||
| 55 | }; | ||
| 56 | |||
| 57 | smsc1_pins: pinmux_smsc1_pins { | ||
| 58 | pinctrl-single,pins = < | ||
| 59 | 0x88 (PIN_OUTPUT | MUX_MODE0) /* gpmc_ncs5.gpmc_ncs5 */ | ||
| 60 | 0x16a (PIN_INPUT_PULLUP | MUX_MODE4) /* uart3_cts_rctx.gpio_163 */ | ||
| 61 | >; | ||
| 62 | }; | ||
| 63 | |||
| 64 | uart3_pins: pinmux_uart3_pins { | ||
| 65 | pinctrl-single,pins = < | ||
| 66 | 0x16e (PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ | ||
| 67 | 0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ | ||
| 68 | >; | ||
| 69 | }; | ||
| 70 | |||
| 71 | wl12xx_gpio: pinmux_wl12xx_gpio { | ||
| 72 | pinctrl-single,pins = < | ||
| 73 | 0xb2 (PIN_OUTPUT | MUX_MODE4) /* dss_data3.gpio_73 */ | ||
| 74 | 0x134 (PIN_INPUT | MUX_MODE4) /* sdmmc2_dat4.gpio_136 */ | ||
| 75 | >; | ||
| 76 | }; | ||
| 77 | }; | ||
| 78 | |||
| 79 | &mmc1 { | ||
| 80 | vmmc-supply = <&vmmc1>; | ||
| 81 | bus-width = <4>; | ||
| 82 | pinctrl-names = "default"; | ||
| 83 | pinctrl-0 = <&mmc1_pins>; | ||
| 84 | }; | ||
| 85 | |||
| 86 | &mmc2 { | ||
| 87 | pinctrl-names = "default"; | ||
| 88 | pinctrl-0 = <&mmc2_pins>; | ||
| 89 | vmmc-supply = <&wl12xx_vmmc2>; | ||
| 90 | vmmc_aux-supply = <&wl12xx_vaux2>; | ||
| 91 | non-removable; | ||
| 92 | bus-width = <4>; | ||
| 93 | cap-power-off-card; | ||
| 94 | }; | ||
| 95 | |||
| 96 | &smsc1 { | ||
| 97 | pinctrl-names = "default"; | ||
| 98 | pinctrl-0 = <&smsc1_pins>; | ||
| 99 | }; | ||
| 100 | |||
| 101 | &uart3 { | ||
| 102 | pinctrl-names = "default"; | ||
| 103 | pinctrl-0 = <&uart3_pins>; | ||
| 104 | }; | ||
diff --git a/arch/arm/boot/dts/omap3-cm-t3x30.dtsi b/arch/arm/boot/dts/omap3-cm-t3x30.dtsi new file mode 100644 index 000000000000..3a9f004d8924 --- /dev/null +++ b/arch/arm/boot/dts/omap3-cm-t3x30.dtsi | |||
| @@ -0,0 +1,95 @@ | |||
| 1 | /* | ||
| 2 | * Common support for CompuLab CM-T3530 and CM-T3730 | ||
| 3 | */ | ||
| 4 | |||
| 5 | / { | ||
| 6 | memory { | ||
| 7 | device_type = "memory"; | ||
| 8 | reg = <0x80000000 0x10000000>; /* 256 MB */ | ||
| 9 | }; | ||
| 10 | |||
| 11 | cpus { | ||
| 12 | cpu@0 { | ||
| 13 | cpu0-supply = <&vcc>; | ||
| 14 | }; | ||
| 15 | }; | ||
| 16 | |||
| 17 | leds { | ||
| 18 | compatible = "gpio-leds"; | ||
| 19 | ledb { | ||
| 20 | label = "cm-t35:green"; | ||
| 21 | gpios = <&gpio6 26 GPIO_ACTIVE_HIGH>; /* gpio186 */ | ||
| 22 | linux,default-trigger = "heartbeat"; | ||
| 23 | }; | ||
| 24 | }; | ||
| 25 | |||
| 26 | vddvario: regulator-vddvario { | ||
| 27 | compatible = "regulator-fixed"; | ||
| 28 | regulator-name = "vddvario"; | ||
| 29 | regulator-always-on; | ||
| 30 | }; | ||
| 31 | |||
| 32 | vdd33a: regulator-vdd33a { | ||
| 33 | compatible = "regulator-fixed"; | ||
| 34 | regulator-name = "vdd33a"; | ||
| 35 | regulator-always-on; | ||
| 36 | }; | ||
| 37 | }; | ||
| 38 | |||
| 39 | &gpmc { | ||
| 40 | ranges = <5 0 0x2c000000 0x01000000>; | ||
| 41 | |||
| 42 | smsc1: ethernet@5,0 { | ||
| 43 | compatible = "smsc,lan9221", "smsc,lan9115"; | ||
| 44 | interrupt-parent = <&gpio6>; | ||
| 45 | interrupts = <3 IRQ_TYPE_LEVEL_LOW>; | ||
| 46 | reg = <5 0 0xff>; | ||
| 47 | bank-width = <2>; | ||
| 48 | gpmc,mux-add-data; | ||
| 49 | gpmc,cs-on-ns = <0>; | ||
| 50 | gpmc,cs-rd-off-ns = <186>; | ||
| 51 | gpmc,cs-wr-off-ns = <186>; | ||
| 52 | gpmc,adv-on-ns = <12>; | ||
| 53 | gpmc,adv-rd-off-ns = <48>; | ||
| 54 | gpmc,adv-wr-off-ns = <48>; | ||
| 55 | gpmc,oe-on-ns = <54>; | ||
| 56 | gpmc,oe-off-ns = <168>; | ||
| 57 | gpmc,we-on-ns = <54>; | ||
| 58 | gpmc,we-off-ns = <168>; | ||
| 59 | gpmc,rd-cycle-ns = <186>; | ||
| 60 | gpmc,wr-cycle-ns = <186>; | ||
| 61 | gpmc,access-ns = <114>; | ||
| 62 | gpmc,page-burst-access-ns = <6>; | ||
| 63 | gpmc,bus-turnaround-ns = <12>; | ||
| 64 | gpmc,cycle2cycle-delay-ns = <18>; | ||
| 65 | gpmc,wr-data-mux-bus-ns = <90>; | ||
| 66 | gpmc,wr-access-ns = <186>; | ||
| 67 | gpmc,cycle2cycle-samecsen; | ||
| 68 | gpmc,cycle2cycle-diffcsen; | ||
| 69 | vddvario-supply = <&vddvario>; | ||
| 70 | vdd33a-supply = <&vdd33a>; | ||
| 71 | reg-io-width = <4>; | ||
| 72 | smsc,save-mac-address; | ||
| 73 | }; | ||
| 74 | }; | ||
| 75 | |||
| 76 | &i2c1 { | ||
| 77 | clock-frequency = <400000>; | ||
| 78 | |||
| 79 | twl: twl@48 { | ||
| 80 | reg = <0x48>; | ||
| 81 | interrupts = <7>; /* SYS_NIRQ cascaded to intc */ | ||
| 82 | interrupt-parent = <&intc>; | ||
| 83 | }; | ||
| 84 | }; | ||
| 85 | |||
| 86 | #include "twl4030.dtsi" | ||
| 87 | #include "twl4030_omap3.dtsi" | ||
| 88 | |||
| 89 | &i2c3 { | ||
| 90 | clock-frequency = <400000>; | ||
| 91 | }; | ||
| 92 | |||
| 93 | &twl_gpio { | ||
| 94 | ti,use-leds; | ||
| 95 | }; | ||
diff --git a/arch/arm/boot/dts/omap3-igep.dtsi b/arch/arm/boot/dts/omap3-igep.dtsi index 165aaf7591ba..c17009323520 100644 --- a/arch/arm/boot/dts/omap3-igep.dtsi +++ b/arch/arm/boot/dts/omap3-igep.dtsi | |||
| @@ -133,8 +133,6 @@ | |||
| 133 | 0x194 (PIN_INPUT | MUX_MODE0) /* i2c3_sda.i2c3_sda */ | 133 | 0x194 (PIN_INPUT | MUX_MODE0) /* i2c3_sda.i2c3_sda */ |
| 134 | >; | 134 | >; |
| 135 | }; | 135 | }; |
| 136 | |||
| 137 | leds_pins: pinmux_leds_pins { }; | ||
| 138 | }; | 136 | }; |
| 139 | 137 | ||
| 140 | &i2c1 { | 138 | &i2c1 { |
diff --git a/arch/arm/boot/dts/omap3-igep0020.dts b/arch/arm/boot/dts/omap3-igep0020.dts index 1c7e74d2d2bc..25a2b5f652fd 100644 --- a/arch/arm/boot/dts/omap3-igep0020.dts +++ b/arch/arm/boot/dts/omap3-igep0020.dts | |||
| @@ -66,28 +66,10 @@ | |||
| 66 | &omap3_pmx_core { | 66 | &omap3_pmx_core { |
| 67 | pinctrl-names = "default"; | 67 | pinctrl-names = "default"; |
| 68 | pinctrl-0 = < | 68 | pinctrl-0 = < |
| 69 | &hsusbb1_pins | ||
| 70 | &tfp410_pins | 69 | &tfp410_pins |
| 71 | &dss_pins | 70 | &dss_pins |
| 72 | >; | 71 | >; |
| 73 | 72 | ||
| 74 | hsusbb1_pins: pinmux_hsusbb1_pins { | ||
| 75 | pinctrl-single,pins = < | ||
| 76 | 0x5aa (PIN_OUTPUT | MUX_MODE3) /* etk_ctl.hsusb1_clk */ | ||
| 77 | 0x5a8 (PIN_OUTPUT | MUX_MODE3) /* etk_clk.hsusb1_stp */ | ||
| 78 | 0x5bc (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d8.hsusb1_dir */ | ||
| 79 | 0x5be (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d9.hsusb1_nxt */ | ||
| 80 | 0x5ac (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d0.hsusb1_data0 */ | ||
| 81 | 0x5ae (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d1.hsusb1_data1 */ | ||
| 82 | 0x5b0 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d2.hsusb1_data2 */ | ||
| 83 | 0x5b2 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d3.hsusb1_data7 */ | ||
| 84 | 0x5b4 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d4.hsusb1_data4 */ | ||
| 85 | 0x5b6 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d5.hsusb1_data5 */ | ||
| 86 | 0x5b8 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d6.hsusb1_data6 */ | ||
| 87 | 0x5ba (PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d7.hsusb1_data3 */ | ||
| 88 | >; | ||
| 89 | }; | ||
| 90 | |||
| 91 | tfp410_pins: tfp410_dvi_pins { | 73 | tfp410_pins: tfp410_dvi_pins { |
| 92 | pinctrl-single,pins = < | 74 | pinctrl-single,pins = < |
| 93 | 0x196 (PIN_OUTPUT | MUX_MODE4) /* hdq_sio.gpio_170 */ | 75 | 0x196 (PIN_OUTPUT | MUX_MODE4) /* hdq_sio.gpio_170 */ |
| @@ -128,12 +110,36 @@ | |||
| 128 | }; | 110 | }; |
| 129 | }; | 111 | }; |
| 130 | 112 | ||
| 131 | &leds_pins { | 113 | &omap3_pmx_core2 { |
| 132 | pinctrl-single,pins = < | 114 | pinctrl-names = "default"; |
| 133 | 0x5c4 (PIN_OUTPUT | MUX_MODE4) /* etk_d12.gpio_26 */ | 115 | pinctrl-0 = < |
| 134 | 0x5c6 (PIN_OUTPUT | MUX_MODE4) /* etk_d13.gpio_27 */ | 116 | &hsusbb1_pins |
| 135 | 0x5c8 (PIN_OUTPUT | MUX_MODE4) /* etk_d14.gpio_28 */ | ||
| 136 | >; | 117 | >; |
| 118 | |||
| 119 | hsusbb1_pins: pinmux_hsusbb1_pins { | ||
| 120 | pinctrl-single,pins = < | ||
| 121 | OMAP3630_CORE2_IOPAD(0x25da, PIN_OUTPUT | MUX_MODE3) /* etk_ctl.hsusb1_clk */ | ||
| 122 | OMAP3630_CORE2_IOPAD(0x25d8, PIN_OUTPUT | MUX_MODE3) /* etk_clk.hsusb1_stp */ | ||
| 123 | OMAP3630_CORE2_IOPAD(0x25ec, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d8.hsusb1_dir */ | ||
| 124 | OMAP3630_CORE2_IOPAD(0x25ee, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d9.hsusb1_nxt */ | ||
| 125 | OMAP3630_CORE2_IOPAD(0x25dc, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d0.hsusb1_data0 */ | ||
| 126 | OMAP3630_CORE2_IOPAD(0x25de, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d1.hsusb1_data1 */ | ||
| 127 | OMAP3630_CORE2_IOPAD(0x25e0, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d2.hsusb1_data2 */ | ||
| 128 | OMAP3630_CORE2_IOPAD(0x25e2, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d3.hsusb1_data7 */ | ||
| 129 | OMAP3630_CORE2_IOPAD(0x25e4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d4.hsusb1_data4 */ | ||
| 130 | OMAP3630_CORE2_IOPAD(0x25e6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d5.hsusb1_data5 */ | ||
| 131 | OMAP3630_CORE2_IOPAD(0x25e8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d6.hsusb1_data6 */ | ||
| 132 | OMAP3630_CORE2_IOPAD(0x25ea, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d7.hsusb1_data3 */ | ||
| 133 | >; | ||
| 134 | }; | ||
| 135 | |||
| 136 | leds_pins: pinmux_leds_pins { | ||
| 137 | pinctrl-single,pins = < | ||
| 138 | OMAP3630_CORE2_IOPAD(0x25f4, PIN_OUTPUT | MUX_MODE4) /* etk_d12.gpio_26 */ | ||
| 139 | OMAP3630_CORE2_IOPAD(0x25f6, PIN_OUTPUT | MUX_MODE4) /* etk_d13.gpio_27 */ | ||
| 140 | OMAP3630_CORE2_IOPAD(0x25f8, PIN_OUTPUT | MUX_MODE4) /* etk_d14.gpio_28 */ | ||
| 141 | >; | ||
| 142 | }; | ||
| 137 | }; | 143 | }; |
| 138 | 144 | ||
| 139 | &i2c3 { | 145 | &i2c3 { |
diff --git a/arch/arm/boot/dts/omap3-igep0030.dts b/arch/arm/boot/dts/omap3-igep0030.dts index 02a23f8a3384..145c58cfc8ac 100644 --- a/arch/arm/boot/dts/omap3-igep0030.dts +++ b/arch/arm/boot/dts/omap3-igep0030.dts | |||
| @@ -46,10 +46,12 @@ | |||
| 46 | }; | 46 | }; |
| 47 | }; | 47 | }; |
| 48 | 48 | ||
| 49 | &leds_pins { | 49 | &omap3_pmx_core2 { |
| 50 | pinctrl-single,pins = < | 50 | leds_pins: pinmux_leds_pins { |
| 51 | 0x5b0 (PIN_OUTPUT | MUX_MODE4) /* etk_d2.gpio_16 */ | 51 | pinctrl-single,pins = < |
| 52 | >; | 52 | OMAP3630_CORE2_IOPAD(0x25e0, PIN_OUTPUT | MUX_MODE4) /* etk_d2.gpio_16 */ |
| 53 | >; | ||
| 54 | }; | ||
| 53 | }; | 55 | }; |
| 54 | 56 | ||
| 55 | &gpmc { | 57 | &gpmc { |
diff --git a/arch/arm/boot/dts/omap3-sb-t35.dtsi b/arch/arm/boot/dts/omap3-sb-t35.dtsi new file mode 100644 index 000000000000..b9a2fedce7ee --- /dev/null +++ b/arch/arm/boot/dts/omap3-sb-t35.dtsi | |||
| @@ -0,0 +1,40 @@ | |||
| 1 | /* | ||
| 2 | * Common support for CompuLab SB-T35 used on SBC-T3530, SBC-T3517 and SBC-T3730 | ||
| 3 | */ | ||
| 4 | |||
| 5 | &gpmc { | ||
| 6 | ranges = <4 0 0x2d000000 0x01000000>; | ||
| 7 | |||
| 8 | smsc2: ethernet@4,0 { | ||
| 9 | compatible = "smsc,lan9221", "smsc,lan9115"; | ||
| 10 | interrupt-parent = <&gpio3>; | ||
| 11 | interrupts = <1 IRQ_TYPE_LEVEL_LOW>; | ||
| 12 | reg = <4 0 0xff>; | ||
| 13 | bank-width = <2>; | ||
| 14 | gpmc,mux-add-data; | ||
| 15 | gpmc,cs-on-ns = <0>; | ||
| 16 | gpmc,cs-rd-off-ns = <186>; | ||
| 17 | gpmc,cs-wr-off-ns = <186>; | ||
| 18 | gpmc,adv-on-ns = <12>; | ||
| 19 | gpmc,adv-rd-off-ns = <48>; | ||
| 20 | gpmc,adv-wr-off-ns = <48>; | ||
| 21 | gpmc,oe-on-ns = <54>; | ||
| 22 | gpmc,oe-off-ns = <168>; | ||
| 23 | gpmc,we-on-ns = <54>; | ||
| 24 | gpmc,we-off-ns = <168>; | ||
| 25 | gpmc,rd-cycle-ns = <186>; | ||
| 26 | gpmc,wr-cycle-ns = <186>; | ||
| 27 | gpmc,access-ns = <114>; | ||
| 28 | gpmc,page-burst-access-ns = <6>; | ||
| 29 | gpmc,bus-turnaround-ns = <12>; | ||
| 30 | gpmc,cycle2cycle-delay-ns = <18>; | ||
| 31 | gpmc,wr-data-mux-bus-ns = <90>; | ||
| 32 | gpmc,wr-access-ns = <186>; | ||
| 33 | gpmc,cycle2cycle-samecsen; | ||
| 34 | gpmc,cycle2cycle-diffcsen; | ||
| 35 | vddvario-supply = <&vddvario>; | ||
| 36 | vdd33a-supply = <&vdd33a>; | ||
| 37 | reg-io-width = <4>; | ||
| 38 | smsc,save-mac-address; | ||
| 39 | }; | ||
| 40 | }; | ||
diff --git a/arch/arm/boot/dts/omap3-sbc-t3730.dts b/arch/arm/boot/dts/omap3-sbc-t3730.dts new file mode 100644 index 000000000000..c119bd545053 --- /dev/null +++ b/arch/arm/boot/dts/omap3-sbc-t3730.dts | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | /* | ||
| 2 | * Suppport for CompuLab SBC-T3730 with CM-T3730 | ||
| 3 | */ | ||
| 4 | |||
| 5 | #include "omap3-cm-t3730.dts" | ||
| 6 | #include "omap3-sb-t35.dtsi" | ||
| 7 | |||
| 8 | / { | ||
| 9 | model = "CompuLab SBC-T3730 with CM-T3730"; | ||
| 10 | compatible = "compulab,omap3-sbc-t3730", "compulab,omap3-cm-t3730", "ti,omap36xx", "ti,omap3"; | ||
| 11 | }; | ||
| 12 | |||
| 13 | &gpmc { | ||
| 14 | ranges = <5 0 0x2c000000 0x01000000>, | ||
| 15 | <4 0 0x2d000000 0x01000000>; | ||
| 16 | }; | ||
| 17 | |||
| 18 | &smsc2 { | ||
| 19 | pinctrl-names = "default"; | ||
| 20 | pinctrl-0 = <&smsc2_pins>; | ||
| 21 | }; | ||
| 22 | |||
| 23 | &omap3_pmx_core { | ||
| 24 | smsc2_pins: pinmux_smsc2_pins { | ||
| 25 | pinctrl-single,pins = < | ||
| 26 | 0x86 (PIN_OUTPUT | MUX_MODE0) /* gpmc_ncs4.gpmc_ncs4 */ | ||
| 27 | 0xa2 (PIN_INPUT_PULLUP | MUX_MODE4) /* gpmc_wait3.gpio_65 */ | ||
| 28 | >; | ||
| 29 | }; | ||
| 30 | }; \ No newline at end of file | ||
diff --git a/arch/arm/boot/dts/omap3-zoom3.dts b/arch/arm/boot/dts/omap3-zoom3.dts index 15eb9fe5169c..6644f516a42b 100644 --- a/arch/arm/boot/dts/omap3-zoom3.dts +++ b/arch/arm/boot/dts/omap3-zoom3.dts | |||
| @@ -80,13 +80,8 @@ | |||
| 80 | 80 | ||
| 81 | mmc3_pins: pinmux_mmc3_pins { | 81 | mmc3_pins: pinmux_mmc3_pins { |
| 82 | pinctrl-single,pins = < | 82 | pinctrl-single,pins = < |
| 83 | 0x168 (PIN_INPUT | MUX_MODE4) /* mcbsp1_clkx.gpio_162 WLAN IRQ */ | 83 | OMAP3_CORE1_IOPAD(0x2198, PIN_INPUT | MUX_MODE4) /* mcbsp1_clkx.gpio_162 WLAN IRQ */ |
| 84 | 0x1a0 (PIN_INPUT_PULLUP | MUX_MODE3) /* mcspi1_cs1.sdmmc3_cmd */ | 84 | OMAP3_CORE1_IOPAD(0x21d0, PIN_INPUT_PULLUP | MUX_MODE3) /* mcspi1_cs1.sdmmc3_cmd */ |
| 85 | 0x5a8 (PIN_INPUT_PULLUP | MUX_MODE2) /* etk_clk.sdmmc3_clk */ | ||
| 86 | 0x5b4 (PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d4.sdmmc3_dat0 */ | ||
| 87 | 0x5b6 (WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d5.sdmmc3_dat1 */ | ||
| 88 | 0x5b8 (PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d6.sdmmc3_dat2 */ | ||
| 89 | 0x5b2 (PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d3.sdmmc3_dat3 */ | ||
| 90 | >; | 85 | >; |
| 91 | }; | 86 | }; |
| 92 | 87 | ||
| @@ -125,6 +120,18 @@ | |||
| 125 | }; | 120 | }; |
| 126 | }; | 121 | }; |
| 127 | 122 | ||
| 123 | &omap3_pmx_core2 { | ||
| 124 | mmc3_2_pins: pinmux_mmc3_2_pins { | ||
| 125 | pinctrl-single,pins = < | ||
| 126 | OMAP3630_CORE2_IOPAD(0x25d8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_clk.sdmmc3_clk */ | ||
| 127 | OMAP3630_CORE2_IOPAD(0x25e4, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d4.sdmmc3_dat0 */ | ||
| 128 | OMAP3630_CORE2_IOPAD(0x25e6, WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d5.sdmmc3_dat1 */ | ||
| 129 | OMAP3630_CORE2_IOPAD(0x25e8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d6.sdmmc3_dat2 */ | ||
| 130 | OMAP3630_CORE2_IOPAD(0x25e2, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d3.sdmmc3_dat3 */ | ||
| 131 | >; | ||
| 132 | }; | ||
| 133 | }; | ||
| 134 | |||
| 128 | &omap3_pmx_wkup { | 135 | &omap3_pmx_wkup { |
| 129 | wlan_host_wkup: pinmux_wlan_host_wkup_pins { | 136 | wlan_host_wkup: pinmux_wlan_host_wkup_pins { |
| 130 | pinctrl-single,pins = < | 137 | pinctrl-single,pins = < |
| @@ -187,7 +194,7 @@ | |||
| 187 | bus-width = <4>; | 194 | bus-width = <4>; |
| 188 | cap-power-off-card; | 195 | cap-power-off-card; |
| 189 | pinctrl-names = "default"; | 196 | pinctrl-names = "default"; |
| 190 | pinctrl-0 = <&mmc3_pins>; | 197 | pinctrl-0 = <&mmc3_pins &mmc3_2_pins>; |
| 191 | }; | 198 | }; |
| 192 | 199 | ||
| 193 | &uart1 { | 200 | &uart1 { |
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi index daabf99d402a..427395c083f5 100644 --- a/arch/arm/boot/dts/omap3.dtsi +++ b/arch/arm/boot/dts/omap3.dtsi | |||
| @@ -117,7 +117,7 @@ | |||
| 117 | 117 | ||
| 118 | omap3_pmx_core: pinmux@48002030 { | 118 | omap3_pmx_core: pinmux@48002030 { |
| 119 | compatible = "ti,omap3-padconf", "pinctrl-single"; | 119 | compatible = "ti,omap3-padconf", "pinctrl-single"; |
| 120 | reg = <0x48002030 0x05cc>; | 120 | reg = <0x48002030 0x0238>; |
| 121 | #address-cells = <1>; | 121 | #address-cells = <1>; |
| 122 | #size-cells = <0>; | 122 | #size-cells = <0>; |
| 123 | #interrupt-cells = <1>; | 123 | #interrupt-cells = <1>; |
diff --git a/arch/arm/boot/dts/omap34xx.dtsi b/arch/arm/boot/dts/omap34xx.dtsi index 5355d6173748..77d124678c95 100644 --- a/arch/arm/boot/dts/omap34xx.dtsi +++ b/arch/arm/boot/dts/omap34xx.dtsi | |||
| @@ -25,4 +25,17 @@ | |||
| 25 | clock-latency = <300000>; /* From legacy driver */ | 25 | clock-latency = <300000>; /* From legacy driver */ |
| 26 | }; | 26 | }; |
| 27 | }; | 27 | }; |
| 28 | |||
| 29 | ocp { | ||
| 30 | omap3_pmx_core2: pinmux@480025d8 { | ||
| 31 | compatible = "ti,omap3-padconf", "pinctrl-single"; | ||
| 32 | reg = <0x480025d8 0x24>; | ||
| 33 | #address-cells = <1>; | ||
| 34 | #size-cells = <0>; | ||
| 35 | #interrupt-cells = <1>; | ||
| 36 | interrupt-controller; | ||
| 37 | pinctrl-single,register-width = <16>; | ||
| 38 | pinctrl-single,function-mask = <0xff1f>; | ||
| 39 | }; | ||
| 40 | }; | ||
| 28 | }; | 41 | }; |
diff --git a/arch/arm/boot/dts/omap36xx.dtsi b/arch/arm/boot/dts/omap36xx.dtsi index 380c22eb468e..b7c7bd96c404 100644 --- a/arch/arm/boot/dts/omap36xx.dtsi +++ b/arch/arm/boot/dts/omap36xx.dtsi | |||
| @@ -38,5 +38,16 @@ | |||
| 38 | ti,hwmods = "uart4"; | 38 | ti,hwmods = "uart4"; |
| 39 | clock-frequency = <48000000>; | 39 | clock-frequency = <48000000>; |
| 40 | }; | 40 | }; |
| 41 | |||
| 42 | omap3_pmx_core2: pinmux@480025a0 { | ||
| 43 | compatible = "ti,omap3-padconf", "pinctrl-single"; | ||
| 44 | reg = <0x480025a0 0x5c>; | ||
| 45 | #address-cells = <1>; | ||
| 46 | #size-cells = <0>; | ||
| 47 | #interrupt-cells = <1>; | ||
| 48 | interrupt-controller; | ||
| 49 | pinctrl-single,register-width = <16>; | ||
| 50 | pinctrl-single,function-mask = <0xff1f>; | ||
| 51 | }; | ||
| 41 | }; | 52 | }; |
| 42 | }; | 53 | }; |
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c index 5aaf720211f4..3d5b24dcd9a4 100644 --- a/arch/arm/mach-omap2/pdata-quirks.c +++ b/arch/arm/mach-omap2/pdata-quirks.c | |||
| @@ -92,6 +92,33 @@ static void __init hsmmc2_internal_input_clk(void) | |||
| 92 | omap_ctrl_writel(reg, OMAP343X_CONTROL_DEVCONF1); | 92 | omap_ctrl_writel(reg, OMAP343X_CONTROL_DEVCONF1); |
| 93 | } | 93 | } |
| 94 | 94 | ||
| 95 | static int omap3_sbc_t3730_twl_callback(struct device *dev, | ||
| 96 | unsigned gpio, | ||
| 97 | unsigned ngpio) | ||
| 98 | { | ||
| 99 | int res; | ||
| 100 | |||
| 101 | res = gpio_request_one(gpio + 2, GPIOF_OUT_INIT_HIGH, | ||
| 102 | "wlan rst"); | ||
| 103 | if (res) | ||
| 104 | return res; | ||
| 105 | |||
| 106 | gpio_export(gpio, 0); | ||
| 107 | |||
| 108 | return 0; | ||
| 109 | } | ||
| 110 | |||
| 111 | static void __init omap3_sbc_t3730_twl_init(void) | ||
| 112 | { | ||
| 113 | twl_gpio_auxdata.setup = omap3_sbc_t3730_twl_callback; | ||
| 114 | } | ||
| 115 | |||
| 116 | static void __init omap3_sbc_t3730_legacy_init(void) | ||
| 117 | { | ||
| 118 | legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 136); | ||
| 119 | omap_ads7846_init(1, 57, 0, NULL); | ||
| 120 | } | ||
| 121 | |||
| 95 | static void __init omap3_igep0020_legacy_init(void) | 122 | static void __init omap3_igep0020_legacy_init(void) |
| 96 | { | 123 | { |
| 97 | omap3_igep2_display_init_of(); | 124 | omap3_igep2_display_init_of(); |
| @@ -200,6 +227,9 @@ static struct pdata_init auxdata_quirks[] __initdata = { | |||
| 200 | { "nokia,n810", omap2420_n8x0_legacy_init, }, | 227 | { "nokia,n810", omap2420_n8x0_legacy_init, }, |
| 201 | { "nokia,n810-wimax", omap2420_n8x0_legacy_init, }, | 228 | { "nokia,n810-wimax", omap2420_n8x0_legacy_init, }, |
| 202 | #endif | 229 | #endif |
| 230 | #ifdef CONFIG_ARCH_OMAP3 | ||
| 231 | { "compulab,omap3-sbc-t3730", omap3_sbc_t3730_twl_init, }, | ||
| 232 | #endif | ||
| 203 | { /* sentinel */ }, | 233 | { /* sentinel */ }, |
| 204 | }; | 234 | }; |
| 205 | 235 | ||
| @@ -228,6 +258,7 @@ struct of_dev_auxdata omap_auxdata_lookup[] __initdata = { | |||
| 228 | */ | 258 | */ |
| 229 | static struct pdata_init pdata_quirks[] __initdata = { | 259 | static struct pdata_init pdata_quirks[] __initdata = { |
| 230 | #ifdef CONFIG_ARCH_OMAP3 | 260 | #ifdef CONFIG_ARCH_OMAP3 |
| 261 | { "compulab,omap3-sbc-t3730", omap3_sbc_t3730_legacy_init, }, | ||
| 231 | { "nokia,omap3-n900", hsmmc2_internal_input_clk, }, | 262 | { "nokia,omap3-n900", hsmmc2_internal_input_clk, }, |
| 232 | { "nokia,omap3-n9", hsmmc2_internal_input_clk, }, | 263 | { "nokia,omap3-n9", hsmmc2_internal_input_clk, }, |
| 233 | { "nokia,omap3-n950", hsmmc2_internal_input_clk, }, | 264 | { "nokia,omap3-n950", hsmmc2_internal_input_clk, }, |
diff --git a/include/dt-bindings/pinctrl/omap.h b/include/dt-bindings/pinctrl/omap.h index bed35e36fd27..b04528cd033c 100644 --- a/include/dt-bindings/pinctrl/omap.h +++ b/include/dt-bindings/pinctrl/omap.h | |||
| @@ -49,5 +49,25 @@ | |||
| 49 | #define PIN_OFF_INPUT_PULLDOWN (OFF_EN | OFF_PULL_EN) | 49 | #define PIN_OFF_INPUT_PULLDOWN (OFF_EN | OFF_PULL_EN) |
| 50 | #define PIN_OFF_WAKEUPENABLE WAKEUP_EN | 50 | #define PIN_OFF_WAKEUPENABLE WAKEUP_EN |
| 51 | 51 | ||
| 52 | /* | ||
| 53 | * Macros to allow using the absolute physical address instead of the | ||
| 54 | * padconf registers instead of the offset from padconf base. | ||
| 55 | */ | ||
| 56 | #define OMAP_IOPAD_OFFSET(pa, offset) (((pa) & 0xffff) - (offset)) | ||
| 57 | |||
| 58 | #define OMAP2420_CORE_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x0030) (val) | ||
| 59 | #define OMAP2430_CORE_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x2030) (val) | ||
| 60 | #define OMAP3_CORE1_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x2030) (val) | ||
| 61 | #define OMAP3430_CORE2_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x25d8) (val) | ||
| 62 | #define OMAP3630_CORE2_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x25a0) (val) | ||
| 63 | #define OMAP3_WKUP_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x2a00) (val) | ||
| 64 | #define AM33XX_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x0800) (val) | ||
| 65 | #define OMAP4_CORE_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x0040) (val) | ||
| 66 | #define OMAP4_WKUP_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0xe040) (val) | ||
| 67 | #define AM4372_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x0800) (val) | ||
| 68 | #define OMAP5_CORE_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x2840) (val) | ||
| 69 | #define OMAP5_WKUP_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0xc840) (val) | ||
| 70 | #define DRA7XX_CORE_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x3400) (val) | ||
| 71 | |||
| 52 | #endif | 72 | #endif |
| 53 | 73 | ||
