Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'omap/dt' into next/late

As pointed out by Stephen Rothwell, commit e52117638b79 ("ARM: dts:
omap3: Add DT entries for OMAP 3 ISP") conflicts with b8845074cfbb
("ARM: dts: omap3: add minimal l4 bus layout with control module support")
in non-obvious ways, causing a build failure when both patches
are present.

This merges the two branches that introduce the respective changes
into the next/late branch to resolve the way that Stephen suggested,
as confirmed by Tony.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lkml.org/lkml/2015/4/6/436
Acked-by: Tony Lindgren <tony@atomide.com>

+1565 -70
+71
Documentation/devicetree/bindings/media/ti,omap3isp.txt
··· 1 + OMAP 3 ISP Device Tree bindings 2 + =============================== 3 + 4 + The DT definitions can be found in include/dt-bindings/media/omap3-isp.h. 5 + 6 + Required properties 7 + =================== 8 + 9 + compatible : must contain "ti,omap3-isp" 10 + 11 + reg : the two registers sets (physical address and length) for the 12 + ISP. The first set contains the core ISP registers up to 13 + the end of the SBL block. The second set contains the 14 + CSI PHYs and receivers registers. 15 + interrupts : the ISP interrupt specifier 16 + iommus : phandle and IOMMU specifier for the IOMMU that serves the ISP 17 + syscon : the phandle and register offset to the Complex I/O or CSI-PHY 18 + register 19 + ti,phy-type : 0 -- OMAP3ISP_PHY_TYPE_COMPLEX_IO (e.g. 3430) 20 + 1 -- OMAP3ISP_PHY_TYPE_CSIPHY (e.g. 3630) 21 + #clock-cells : Must be 1 --- the ISP provides two external clocks, 22 + cam_xclka and cam_xclkb, at indices 0 and 1, 23 + respectively. Please find more information on common 24 + clock bindings in ../clock/clock-bindings.txt. 25 + 26 + Port nodes (optional) 27 + --------------------- 28 + 29 + More documentation on these bindings is available in 30 + video-interfaces.txt in the same directory. 31 + 32 + reg : The interface: 33 + 0 - parallel (CCDC) 34 + 1 - CSIPHY1 -- CSI2C / CCP2B on 3630; 35 + CSI1 -- CSIb on 3430 36 + 2 - CSIPHY2 -- CSI2A / CCP2B on 3630; 37 + CSI2 -- CSIa on 3430 38 + 39 + Optional properties 40 + =================== 41 + 42 + vdd-csiphy1-supply : voltage supply of the CSI-2 PHY 1 43 + vdd-csiphy2-supply : voltage supply of the CSI-2 PHY 2 44 + 45 + Endpoint nodes 46 + -------------- 47 + 48 + lane-polarities : lane polarity (required on CSI-2) 49 + 0 -- not inverted; 1 -- inverted 50 + data-lanes : an array of data lanes from 1 to 3. The length can 51 + be either 1 or 2. (required on CSI-2) 52 + clock-lanes : the clock lane (from 1 to 3). (required on CSI-2) 53 + 54 + 55 + Example 56 + ======= 57 + 58 + isp@480bc000 { 59 + compatible = "ti,omap3-isp"; 60 + reg = <0x480bc000 0x12fc 61 + 0x480bd800 0x0600>; 62 + interrupts = <24>; 63 + iommus = <&mmu_isp>; 64 + syscon = <&scm_conf 0x2f0>; 65 + ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>; 66 + #clock-cells = <1>; 67 + ports { 68 + #address-cells = <1>; 69 + #size-cells = <0>; 70 + }; 71 + };
+20
Documentation/devicetree/bindings/serial/omap_serial.txt
··· 4 4 - compatible : should be "ti,omap2-uart" for OMAP2 controllers 5 5 - compatible : should be "ti,omap3-uart" for OMAP3 controllers 6 6 - compatible : should be "ti,omap4-uart" for OMAP4 controllers 7 + - reg : address and length of the register space 8 + - interrupts or interrupts-extended : Should contain the uart interrupt 9 + specifier or both the interrupt 10 + controller phandle and interrupt 11 + specifier. 7 12 - ti,hwmods : Must be "uart<n>", n being the instance number (1-based) 8 13 9 14 Optional properties: 10 15 - clock-frequency : frequency of the clock input to the UART 16 + - dmas : DMA specifier, consisting of a phandle to the DMA controller 17 + node and a DMA channel number. 18 + - dma-names : "rx" for receive channel, "tx" for transmit channel. 19 + 20 + Example: 21 + 22 + uart4: serial@49042000 { 23 + compatible = "ti,omap3-uart"; 24 + reg = <0x49042000 0x400>; 25 + interrupts = <80>; 26 + dmas = <&sdma 81 &sdma 82>; 27 + dma-names = "tx", "rx"; 28 + ti,hwmods = "uart4"; 29 + clock-frequency = <48000000>; 30 + };
+1 -2
Documentation/devicetree/bindings/sound/omap-twl4030.txt
··· 4 4 - compatible: "ti,omap-twl4030" 5 5 - ti,model: Name of the sound card (for example "omap3beagle") 6 6 - ti,mcbsp: phandle for the McBSP node 7 - - ti,codec: phandle for the twl4030 audio node 8 7 9 8 Optional properties: 9 + - ti,codec: phandle for the twl4030 audio node 10 10 - ti,mcbsp-voice: phandle for the McBSP node connected to the voice port of twl 11 11 - ti, jack-det-gpio: Jack detect GPIO 12 12 - ti,audio-routing: List of connections between audio components. ··· 59 59 ti,model = "omap3beagle"; 60 60 61 61 ti,mcbsp = <&mcbsp2>; 62 - ti,codec = <&twl_audio>; 63 62 };
+1
Documentation/devicetree/bindings/vendor-prefixes.txt
··· 77 77 globalscale Globalscale Technologies, Inc. 78 78 gmt Global Mixed-mode Technology, Inc. 79 79 google Google, Inc. 80 + grinn Grinn 80 81 gumstix Gumstix, Inc. 81 82 gw Gateworks Corporation 82 83 hannstar HannStar Display Corporation
+1
MAINTAINERS
··· 7079 7079 M: Laurent Pinchart <laurent.pinchart@ideasonboard.com> 7080 7080 L: linux-media@vger.kernel.org 7081 7081 S: Maintained 7082 + F: Documentation/devicetree/bindings/media/ti,omap3isp.txt 7082 7083 F: drivers/media/platform/omap3isp/ 7083 7084 F: drivers/staging/media/omap4iss/ 7084 7085
+4 -1
arch/arm/boot/dts/Makefile
··· 388 388 omap3-overo-storm-tobi.dtb \ 389 389 omap3-overo-summit.dtb \ 390 390 omap3-overo-tobi.dtb \ 391 + omap3-pandora-600mhz.dtb \ 392 + omap3-pandora-1ghz.dtb \ 391 393 omap3-sbc-t3517.dtb \ 392 394 omap3-sbc-t3530.dtb \ 393 395 omap3-sbc-t3730.dtb \ ··· 405 403 am335x-evmsk.dtb \ 406 404 am335x-nano.dtb \ 407 405 am335x-pepper.dtb \ 408 - am335x-lxm.dtb 406 + am335x-lxm.dtb \ 407 + am335x-chiliboard.dtb 409 408 dtb-$(CONFIG_ARCH_OMAP4) += \ 410 409 omap4-duovero-parlor.dtb \ 411 410 omap4-panda.dtb \
+112
arch/arm/boot/dts/am335x-chiliboard.dts
··· 1 + /* 2 + * Copyright (C) 2015 Jablotron s.r.o. -- http://www.jablotron.com/ 3 + * Author: Rostislav Lisovy <lisovy@jablotron.cz> 4 + * 5 + * This program is free software; you can redistribute it and/or modify 6 + * it under the terms of the GNU General Public License version 2 as 7 + * published by the Free Software Foundation. 8 + */ 9 + /dts-v1/; 10 + #include "am335x-chilisom.dtsi" 11 + 12 + / { 13 + model = "AM335x Chiliboard"; 14 + compatible = "grinn,am335x-chiliboard", "grinn,am335x-chilisom", 15 + "ti,am33xx"; 16 + 17 + leds { 18 + compatible = "gpio-leds"; 19 + pinctrl-names = "default"; 20 + pinctrl-0 = <&led_gpio_pins>; 21 + 22 + led0 { 23 + label = "led0"; 24 + gpios = <&gpio3 7 GPIO_ACTIVE_LOW>; 25 + default-state = "keep"; 26 + linux,default-trigger = "heartbeat"; 27 + }; 28 + 29 + led1 { 30 + label = "led1"; 31 + gpios = <&gpio3 8 GPIO_ACTIVE_LOW>; 32 + default-state = "keep"; 33 + }; 34 + }; 35 + }; 36 + 37 + &am33xx_pinmux { 38 + usb1_drvvbus: usb1_drvvbus { 39 + pinctrl-single,pins = < 40 + 0x234 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* usb1_drvvbus.usb1_drvvbus */ 41 + >; 42 + }; 43 + 44 + sd_pins: pinmux_sd_card { 45 + pinctrl-single,pins = < 46 + 0xf0 (PIN_INPUT | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */ 47 + 0xf4 (PIN_INPUT | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */ 48 + 0xf8 (PIN_INPUT | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */ 49 + 0xfc (PIN_INPUT | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */ 50 + 0x100 (PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */ 51 + 0x104 (PIN_INPUT | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */ 52 + 0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */ 53 + >; 54 + }; 55 + 56 + led_gpio_pins: led_gpio_pins { 57 + pinctrl-single,pins = < 58 + 0x1e4 (PIN_OUTPUT | MUX_MODE7) /* emu0.gpio3_7 */ 59 + 0x1e8 (PIN_OUTPUT | MUX_MODE7) /* emu1.gpio3_8 */ 60 + >; 61 + }; 62 + }; 63 + 64 + &ldo4_reg { 65 + regulator-min-microvolt = <3300000>; 66 + regulator-max-microvolt = <3300000>; 67 + }; 68 + 69 + /* Ethernet */ 70 + &cpsw_emac0 { 71 + phy_id = <&davinci_mdio>, <0>; 72 + phy-mode = "rmii"; 73 + }; 74 + 75 + &phy_sel { 76 + rmii-clock-ext; 77 + }; 78 + 79 + /* USB */ 80 + &usb { 81 + status = "okay"; 82 + }; 83 + 84 + &usb_ctrl_mod { 85 + status = "okay"; 86 + }; 87 + 88 + &usb1_phy { 89 + status = "okay"; 90 + }; 91 + 92 + &usb1 { 93 + pinctrl-names = "default"; 94 + pinctrl-0 = <&usb1_drvvbus>; 95 + 96 + status = "okay"; 97 + dr_mode = "host"; 98 + }; 99 + 100 + &cppi41dma { 101 + status = "okay"; 102 + }; 103 + 104 + /* microSD */ 105 + &mmc1 { 106 + pinctrl-names = "default"; 107 + pinctrl-0 = <&sd_pins>; 108 + vmmc-supply = <&ldo4_reg>; 109 + bus-width = <0x4>; 110 + cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; 111 + status = "okay"; 112 + };
+239
arch/arm/boot/dts/am335x-chilisom.dtsi
··· 1 + /* 2 + * Copyright (C) 2015 Jablotron s.r.o. -- http://www.jablotron.com/ 3 + * Author: Rostislav Lisovy <lisovy@jablotron.cz> 4 + * 5 + * This program is free software; you can redistribute it and/or modify 6 + * it under the terms of the GNU General Public License version 2 as 7 + * published by the Free Software Foundation. 8 + */ 9 + #include "am33xx.dtsi" 10 + 11 + / { 12 + model = "Grinn AM335x ChiliSOM"; 13 + compatible = "grinn,am335x-chilisom", "ti,am33xx"; 14 + 15 + cpus { 16 + cpu@0 { 17 + cpu0-supply = <&dcdc2_reg>; 18 + }; 19 + }; 20 + 21 + memory { 22 + device_type = "memory"; 23 + reg = <0x80000000 0x20000000>; /* 512 MB */ 24 + }; 25 + }; 26 + 27 + &am33xx_pinmux { 28 + pinctrl-names = "default"; 29 + 30 + i2c0_pins: pinmux_i2c0_pins { 31 + pinctrl-single,pins = < 32 + 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */ 33 + 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */ 34 + >; 35 + }; 36 + 37 + uart0_pins: pinmux_uart0_pins { 38 + pinctrl-single,pins = < 39 + 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */ 40 + 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */ 41 + >; 42 + }; 43 + 44 + cpsw_default: cpsw_default { 45 + pinctrl-single,pins = < 46 + /* Slave 1 */ 47 + 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_crs.rmii1_crs */ 48 + 0x110 (PIN_INPUT_PULLUP | MUX_MODE1) /* mii1_rxerr.rmii1_rxerr */ 49 + 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txen.rmii1_txen */ 50 + 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txd1.rmii1_txd1 */ 51 + 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txd0.rmii1_txd0 */ 52 + 0x13c (PIN_INPUT_PULLUP | MUX_MODE1) /* mii1_rxd1.rmii1_rxd1 */ 53 + 0x140 (PIN_INPUT_PULLUP | MUX_MODE1) /* mii1_rxd0.rmii1_rxd0 */ 54 + 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii1_ref_clk.rmii_ref_clk */ 55 + >; 56 + }; 57 + 58 + cpsw_sleep: cpsw_sleep { 59 + pinctrl-single,pins = < 60 + /* Slave 1 reset value */ 61 + 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7) 62 + 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7) 63 + 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7) 64 + 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7) 65 + 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7) 66 + 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7) 67 + 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7) 68 + 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7) 69 + 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7) 70 + >; 71 + }; 72 + 73 + davinci_mdio_default: davinci_mdio_default { 74 + pinctrl-single,pins = < 75 + /* mdio_data.mdio_data */ 76 + 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) 77 + /* mdio_clk.mdio_clk */ 78 + 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) 79 + >; 80 + }; 81 + 82 + davinci_mdio_sleep: davinci_mdio_sleep { 83 + pinctrl-single,pins = < 84 + /* MDIO reset value */ 85 + 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7) 86 + 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7) 87 + >; 88 + }; 89 + 90 + nandflash_pins: nandflash_pins { 91 + pinctrl-single,pins = < 92 + 0x00 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad0.gpmc_ad0 */ 93 + 0x04 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad1.gpmc_ad1 */ 94 + 0x08 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad2.gpmc_ad2 */ 95 + 0x0c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad3.gpmc_ad3 */ 96 + 0x10 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad4.gpmc_ad4 */ 97 + 0x14 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad5.gpmc_ad5 */ 98 + 0x18 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad6.gpmc_ad6 */ 99 + 0x1c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad7.gpmc_ad7 */ 100 + 101 + 0x70 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0.gpmc_wait0 */ 102 + 0x7c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_csn0.gpmc_csn0 */ 103 + 0x90 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_advn_ale.gpmc_advn_ale */ 104 + 0x94 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_oen_ren.gpmc_oen_ren */ 105 + 0x98 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_wen.gpmc_wen */ 106 + 0x9c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */ 107 + >; 108 + }; 109 + }; 110 + 111 + &uart0 { 112 + pinctrl-names = "default"; 113 + pinctrl-0 = <&uart0_pins>; 114 + 115 + status = "okay"; 116 + }; 117 + 118 + &i2c0 { 119 + pinctrl-names = "default"; 120 + pinctrl-0 = <&i2c0_pins>; 121 + 122 + status = "okay"; 123 + clock-frequency = <400000>; 124 + 125 + tps: tps@24 { 126 + reg = <0x24>; 127 + }; 128 + 129 + }; 130 + 131 + /include/ "tps65217.dtsi" 132 + 133 + &tps { 134 + regulators { 135 + dcdc1_reg: regulator@0 { 136 + regulator-name = "vdds_dpr"; 137 + regulator-always-on; 138 + }; 139 + 140 + dcdc2_reg: regulator@1 { 141 + /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */ 142 + regulator-name = "vdd_mpu"; 143 + regulator-min-microvolt = <925000>; 144 + regulator-max-microvolt = <1325000>; 145 + regulator-boot-on; 146 + regulator-always-on; 147 + }; 148 + 149 + dcdc3_reg: regulator@2 { 150 + /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */ 151 + regulator-name = "vdd_core"; 152 + regulator-min-microvolt = <925000>; 153 + regulator-max-microvolt = <1150000>; 154 + regulator-boot-on; 155 + regulator-always-on; 156 + }; 157 + 158 + ldo1_reg: regulator@3 { 159 + regulator-name = "vio,vrtc,vdds"; 160 + regulator-boot-on; 161 + regulator-always-on; 162 + }; 163 + 164 + ldo2_reg: regulator@4 { 165 + regulator-name = "vdd_3v3aux"; 166 + regulator-boot-on; 167 + regulator-always-on; 168 + }; 169 + 170 + ldo3_reg: regulator@5 { 171 + regulator-name = "vdd_1v8"; 172 + regulator-boot-on; 173 + regulator-always-on; 174 + }; 175 + 176 + ldo4_reg: regulator@6 { 177 + regulator-name = "vdd_3v3d"; 178 + regulator-boot-on; 179 + regulator-always-on; 180 + }; 181 + }; 182 + }; 183 + 184 + /* Ethernet MAC */ 185 + &mac { 186 + slaves = <1>; 187 + pinctrl-names = "default", "sleep"; 188 + pinctrl-0 = <&cpsw_default>; 189 + pinctrl-1 = <&cpsw_sleep>; 190 + status = "okay"; 191 + }; 192 + 193 + &davinci_mdio { 194 + pinctrl-names = "default", "sleep"; 195 + pinctrl-0 = <&davinci_mdio_default>; 196 + pinctrl-1 = <&davinci_mdio_sleep>; 197 + status = "okay"; 198 + }; 199 + 200 + /* NAND Flash */ 201 + &elm { 202 + status = "okay"; 203 + }; 204 + 205 + &gpmc { 206 + status = "okay"; 207 + pinctrl-names = "default"; 208 + pinctrl-0 = <&nandflash_pins>; 209 + ranges = <0 0 0x08000000 0x01000000>; /* CS0 0 @addr 0x08000000, size 0x01000000 */ 210 + nand@0,0 { 211 + reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ 212 + ti,nand-ecc-opt = "bch8"; 213 + ti,elm-id = <&elm>; 214 + nand-bus-width = <8>; 215 + gpmc,device-width = <1>; 216 + gpmc,sync-clk-ps = <0>; 217 + gpmc,cs-on-ns = <0>; 218 + gpmc,cs-rd-off-ns = <44>; 219 + gpmc,cs-wr-off-ns = <44>; 220 + gpmc,adv-on-ns = <6>; 221 + gpmc,adv-rd-off-ns = <34>; 222 + gpmc,adv-wr-off-ns = <44>; 223 + gpmc,we-on-ns = <0>; 224 + gpmc,we-off-ns = <40>; 225 + gpmc,oe-on-ns = <0>; 226 + gpmc,oe-off-ns = <54>; 227 + gpmc,access-ns = <64>; 228 + gpmc,rd-cycle-ns = <82>; 229 + gpmc,wr-cycle-ns = <82>; 230 + gpmc,wait-on-read = "true"; 231 + gpmc,wait-on-write = "true"; 232 + gpmc,bus-turnaround-ns = <0>; 233 + gpmc,cycle2cycle-delay-ns = <0>; 234 + gpmc,clk-activation-ns = <0>; 235 + gpmc,wait-monitoring-ns = <0>; 236 + gpmc,wr-access-ns = <40>; 237 + gpmc,wr-data-mux-bus-ns = <0>; 238 + }; 239 + };
+11 -7
arch/arm/boot/dts/am335x-nano.dts
··· 213 213 pinctrl-0 = <&i2c0_pins>; 214 214 215 215 gpio@20 { 216 - compatible = "mcp,mcp23017"; 216 + compatible = "microchip,mcp23017"; 217 + gpio-controller; 218 + #gpio-cells = <2>; 217 219 reg = <0x20>; 218 220 }; 219 221 ··· 224 222 }; 225 223 226 224 eeprom@53 { 227 - compatible = "mcp,24c02"; 225 + compatible = "microchip,24c02"; 228 226 reg = <0x53>; 229 227 pagesize = <8>; 230 228 }; ··· 299 297 | |-->0x004FFFFF-> Kernel end 300 298 | |-->0x00500000-> File system start 301 299 | | 302 - | |-->0x014FFFFF-> File system end 303 - | |-->0x01500000-> User data start 300 + | |-->0x01FFFFFF-> File system end 301 + | |-->0x02000000-> User data start 304 302 | | 305 303 | |-->0x03FFFFFF-> User data end 306 304 | |-->0x04000000-> Data storage start ··· 329 327 330 328 partition@4 { 331 329 label = "rootfs"; 332 - reg = <0x00500000 0x01000000>; /* 16MB */ 330 + reg = <0x00500000 0x01b00000>; /* 27MB */ 333 331 }; 334 332 335 333 partition@5 { 336 334 label = "user"; 337 - reg = <0x01500000 0x02b00000>; /* 43MB */ 335 + reg = <0x02000000 0x02000000>; /* 32MB */ 338 336 }; 339 337 340 338 partition@6 { ··· 345 343 }; 346 344 347 345 &mac { 348 - dual_emac = <1>; 346 + dual_emac; 349 347 status = "okay"; 350 348 }; 351 349 ··· 355 353 356 354 &cpsw_emac0 { 357 355 phy_id = <&davinci_mdio>, <0>; 356 + phy-mode = "mii"; 358 357 dual_emac_res_vlan = <1>; 359 358 }; 360 359 361 360 &cpsw_emac1 { 362 361 phy_id = <&davinci_mdio>, <1>; 362 + phy-mode = "mii"; 363 363 dual_emac_res_vlan = <2>; 364 364 }; 365 365
+1 -1
arch/arm/boot/dts/am4372.dtsi
··· 897 897 }; 898 898 899 899 hdq: hdq@48347000 { 900 - compatible = "ti,am43xx-hdq"; 900 + compatible = "ti,am4372-hdq"; 901 901 reg = <0x48347000 0x1000>; 902 902 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 903 903 clocks = <&func_12m_clk>;
+22
arch/arm/boot/dts/am437x-idk-evm.dts
··· 133 133 >; 134 134 }; 135 135 136 + i2c2_pins_default: i2c2_pins_default { 137 + pinctrl-single,pins = < 138 + 0x1e8 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE3) /* cam1_data1.i2c2_scl */ 139 + 0x1ec (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE3) /* cam1_data0.i2c2_sda */ 140 + >; 141 + }; 142 + 143 + i2c2_pins_sleep: i2c2_pins_sleep { 144 + pinctrl-single,pins = < 145 + 0x1e8 (PIN_INPUT_PULLDOWN | MUX_MODE7) 146 + 0x1ec (PIN_INPUT_PULLDOWN | MUX_MODE7) 147 + >; 148 + }; 149 + 136 150 mmc1_pins_default: pinmux_mmc1_pins_default { 137 151 pinctrl-single,pins = < 138 152 0x100 (PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */ ··· 275 261 ti,vsel1-state-high; 276 262 vin-supply = <&v3_3d>; 277 263 }; 264 + }; 265 + 266 + &i2c2 { 267 + status = "okay"; 268 + pinctrl-names = "default", "sleep"; 269 + pinctrl-0 = <&i2c2_pins_default>; 270 + pinctrl-1 = <&i2c2_pins_sleep>; 271 + clock-frequency = <100000>; 278 272 }; 279 273 280 274 &epwmss0 {
+8 -1
arch/arm/boot/dts/am57xx-beagle-x15.dts
··· 8 8 /dts-v1/; 9 9 10 10 #include "dra74x.dtsi" 11 - #include <dt-bindings/clk/ti-dra7-atl.h> 12 11 #include <dt-bindings/gpio/gpio.h> 13 12 #include <dt-bindings/interrupt-controller/irq.h> 14 13 ··· 548 549 dr_mode = "host"; 549 550 pinctrl-names = "default"; 550 551 pinctrl-0 = <&usb1_pins>; 552 + }; 553 + 554 + &omap_dwc3_1 { 555 + extcon = <&extcon_usb1>; 556 + }; 557 + 558 + &omap_dwc3_2 { 559 + extcon = <&extcon_usb2>; 551 560 }; 552 561 553 562 &usb2 {
+7 -7
arch/arm/boot/dts/dm8168-evm.dts
··· 29 29 &dm816x_pinmux { 30 30 mcspi1_pins: pinmux_mcspi1_pins { 31 31 pinctrl-single,pins = < 32 - DM816X_IOPAD(0x0a94, PIN_INPUT | MUX_MODE0) /* SPI_SCLK */ 33 - DM816X_IOPAD(0x0a98, PIN_OUTPUT | MUX_MODE0) /* SPI_SCS0 */ 34 - DM816X_IOPAD(0x0aa8, PIN_INPUT | MUX_MODE0) /* SPI_D0 */ 35 - DM816X_IOPAD(0x0aac, PIN_INPUT | MUX_MODE0) /* SPI_D1 */ 32 + DM816X_IOPAD(0x0a94, MUX_MODE0) /* SPI_SCLK */ 33 + DM816X_IOPAD(0x0a98, MUX_MODE0) /* SPI_SCS0 */ 34 + DM816X_IOPAD(0x0aa8, MUX_MODE0) /* SPI_D0 */ 35 + DM816X_IOPAD(0x0aac, MUX_MODE0) /* SPI_D1 */ 36 36 >; 37 37 }; 38 38 39 39 usb0_pins: pinmux_usb0_pins { 40 40 pinctrl-single,pins = < 41 - DM816X_IOPAD(0x0d00, MUX_MODE0) /* USB0_DRVVBUS */ 41 + DM816X_IOPAD(0x0d04, MUX_MODE0) /* USB0_DRVVBUS */ 42 42 >; 43 43 }; 44 44 45 - usb1_pins: pinmux_usb0_pins { 45 + usb1_pins: pinmux_usb1_pins { 46 46 pinctrl-single,pins = < 47 - DM816X_IOPAD(0x0d04, MUX_MODE0) /* USB1_DRVVBUS */ 47 + DM816X_IOPAD(0x0d08, MUX_MODE0) /* USB1_DRVVBUS */ 48 48 >; 49 49 }; 50 50 };
+60
arch/arm/boot/dts/dm816x.dtsi
··· 386 386 mentor,num-eps = <16>; 387 387 mentor,ram-bits = <12>; 388 388 mentor,power = <500>; 389 + 390 + dmas = <&cppi41dma 0 0 &cppi41dma 1 0 391 + &cppi41dma 2 0 &cppi41dma 3 0 392 + &cppi41dma 4 0 &cppi41dma 5 0 393 + &cppi41dma 6 0 &cppi41dma 7 0 394 + &cppi41dma 8 0 &cppi41dma 9 0 395 + &cppi41dma 10 0 &cppi41dma 11 0 396 + &cppi41dma 12 0 &cppi41dma 13 0 397 + &cppi41dma 14 0 &cppi41dma 0 1 398 + &cppi41dma 1 1 &cppi41dma 2 1 399 + &cppi41dma 3 1 &cppi41dma 4 1 400 + &cppi41dma 5 1 &cppi41dma 6 1 401 + &cppi41dma 7 1 &cppi41dma 8 1 402 + &cppi41dma 9 1 &cppi41dma 10 1 403 + &cppi41dma 11 1 &cppi41dma 12 1 404 + &cppi41dma 13 1 &cppi41dma 14 1>; 405 + dma-names = 406 + "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", 407 + "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", 408 + "rx14", "rx15", 409 + "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", 410 + "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", 411 + "tx14", "tx15"; 389 412 }; 390 413 391 414 usb1: usb@47401800 { ··· 426 403 mentor,num-eps = <16>; 427 404 mentor,ram-bits = <12>; 428 405 mentor,power = <500>; 406 + 407 + dmas = <&cppi41dma 15 0 &cppi41dma 16 0 408 + &cppi41dma 17 0 &cppi41dma 18 0 409 + &cppi41dma 19 0 &cppi41dma 20 0 410 + &cppi41dma 21 0 &cppi41dma 22 0 411 + &cppi41dma 23 0 &cppi41dma 24 0 412 + &cppi41dma 25 0 &cppi41dma 26 0 413 + &cppi41dma 27 0 &cppi41dma 28 0 414 + &cppi41dma 29 0 &cppi41dma 15 1 415 + &cppi41dma 16 1 &cppi41dma 17 1 416 + &cppi41dma 18 1 &cppi41dma 19 1 417 + &cppi41dma 20 1 &cppi41dma 21 1 418 + &cppi41dma 22 1 &cppi41dma 23 1 419 + &cppi41dma 24 1 &cppi41dma 25 1 420 + &cppi41dma 26 1 &cppi41dma 27 1 421 + &cppi41dma 28 1 &cppi41dma 29 1>; 422 + dma-names = 423 + "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", 424 + "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", 425 + "rx14", "rx15", 426 + "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", 427 + "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", 428 + "tx14", "tx15"; 429 + }; 430 + 431 + cppi41dma: dma-controller@47402000 { 432 + compatible = "ti,am3359-cppi41"; 433 + reg = <0x47400000 0x1000 434 + 0x47402000 0x1000 435 + 0x47403000 0x1000 436 + 0x47404000 0x4000>; 437 + reg-names = "glue", "controller", "scheduler", "queuemgr"; 438 + interrupts = <17>; 439 + interrupt-names = "glue"; 440 + #dma-cells = <2>; 441 + #dma-channels = <30>; 442 + #dma-requests = <256>; 429 443 }; 430 444 }; 431 445
+8
arch/arm/boot/dts/dra7-evm.dts
··· 543 543 }; 544 544 }; 545 545 546 + &omap_dwc3_1 { 547 + extcon = <&extcon_usb1>; 548 + }; 549 + 550 + &omap_dwc3_2 { 551 + extcon = <&extcon_usb2>; 552 + }; 553 + 546 554 &usb1 { 547 555 dr_mode = "peripheral"; 548 556 pinctrl-names = "default";
-7
arch/arm/boot/dts/dra7.dtsi
··· 700 700 reg = <0x48820000 0x80>; 701 701 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 702 702 ti,hwmods = "timer5"; 703 - ti,timer-dsp; 704 703 }; 705 704 706 705 timer6: timer@48822000 { ··· 707 708 reg = <0x48822000 0x80>; 708 709 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 709 710 ti,hwmods = "timer6"; 710 - ti,timer-dsp; 711 - ti,timer-pwm; 712 711 }; 713 712 714 713 timer7: timer@48824000 { ··· 714 717 reg = <0x48824000 0x80>; 715 718 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 716 719 ti,hwmods = "timer7"; 717 - ti,timer-dsp; 718 720 }; 719 721 720 722 timer8: timer@48826000 { ··· 721 725 reg = <0x48826000 0x80>; 722 726 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 723 727 ti,hwmods = "timer8"; 724 - ti,timer-dsp; 725 - ti,timer-pwm; 726 728 }; 727 729 728 730 timer9: timer@4803e000 { ··· 742 748 reg = <0x48088000 0x80>; 743 749 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 744 750 ti,hwmods = "timer11"; 745 - ti,timer-pwm; 746 751 }; 747 752 748 753 timer13: timer@48828000 {
+8
arch/arm/boot/dts/dra72-evm.dts
··· 380 380 phy-supply = <&ldo4_reg>; 381 381 }; 382 382 383 + &omap_dwc3_1 { 384 + extcon = <&extcon_usb1>; 385 + }; 386 + 387 + &omap_dwc3_2 { 388 + extcon = <&extcon_usb2>; 389 + }; 390 + 383 391 &usb1 { 384 392 dr_mode = "peripheral"; 385 393 pinctrl-names = "default";
+8
arch/arm/boot/dts/dra7xx-clocks.dtsi
··· 1421 1421 ti,dividers = <1>, <8>; 1422 1422 }; 1423 1423 1424 + clkout2_clk: clkout2_clk { 1425 + #clock-cells = <0>; 1426 + compatible = "ti,gate-clock"; 1427 + clocks = <&clkoutmux2_clk_mux>; 1428 + ti,bit-shift = <8>; 1429 + reg = <0x06b0>; 1430 + }; 1431 + 1424 1432 l3init_960m_gfclk: l3init_960m_gfclk { 1425 1433 #clock-cells = <0>; 1426 1434 compatible = "ti,gate-clock";
-1
arch/arm/boot/dts/omap3-beagle-xm.dts
··· 60 60 ti,model = "omap3beagle"; 61 61 62 62 ti,mcbsp = <&mcbsp2>; 63 - ti,codec = <&twl_audio>; 64 63 }; 65 64 66 65 gpio_keys {
+52 -1
arch/arm/boot/dts/omap3-beagle.dts
··· 71 71 ti,model = "omap3beagle"; 72 72 73 73 ti,mcbsp = <&mcbsp2>; 74 - ti,codec = <&twl_audio>; 75 74 }; 76 75 77 76 gpio_keys { ··· 375 376 venc_out: endpoint { 376 377 remote-endpoint = <&tv_connector_in>; 377 378 ti,channels = <2>; 379 + }; 380 + }; 381 + }; 382 + 383 + &gpmc { 384 + status = "ok"; 385 + ranges = <0 0 0x30000000 0x1000000>; /* CS0 space, 16MB */ 386 + 387 + /* Chip select 0 */ 388 + nand@0,0 { 389 + reg = <0 0 4>; /* NAND I/O window, 4 bytes */ 390 + interrupts = <20>; 391 + ti,nand-ecc-opt = "ham1"; 392 + nand-bus-width = <16>; 393 + #address-cells = <1>; 394 + #size-cells = <1>; 395 + 396 + gpmc,device-width = <2>; 397 + gpmc,cs-on-ns = <0>; 398 + gpmc,cs-rd-off-ns = <36>; 399 + gpmc,cs-wr-off-ns = <36>; 400 + gpmc,adv-on-ns = <6>; 401 + gpmc,adv-rd-off-ns = <24>; 402 + gpmc,adv-wr-off-ns = <36>; 403 + gpmc,oe-on-ns = <6>; 404 + gpmc,oe-off-ns = <48>; 405 + gpmc,we-on-ns = <6>; 406 + gpmc,we-off-ns = <30>; 407 + gpmc,rd-cycle-ns = <72>; 408 + gpmc,wr-cycle-ns = <72>; 409 + gpmc,access-ns = <54>; 410 + gpmc,wr-access-ns = <30>; 411 + 412 + partition@0 { 413 + label = "X-Loader"; 414 + reg = <0 0x80000>; 415 + }; 416 + partition@80000 { 417 + label = "U-Boot"; 418 + reg = <0x80000 0x1e0000>; 419 + }; 420 + partition@1c0000 { 421 + label = "U-Boot Env"; 422 + reg = <0x260000 0x20000>; 423 + }; 424 + partition@280000 { 425 + label = "Kernel"; 426 + reg = <0x280000 0x400000>; 427 + }; 428 + partition@780000 { 429 + label = "Filesystem"; 430 + reg = <0x680000 0xf980000>; 378 431 }; 379 432 }; 380 433 };
-1
arch/arm/boot/dts/omap3-cm-t3x30.dtsi
··· 16 16 ti,model = "cm-t35"; 17 17 18 18 ti,mcbsp = <&mcbsp2>; 19 - ti,codec = <&twl_audio>; 20 19 }; 21 20 }; 22 21
-1
arch/arm/boot/dts/omap3-devkit8000.dts
··· 48 48 ti,model = "devkit8000"; 49 49 50 50 ti,mcbsp = <&mcbsp2>; 51 - ti,codec = <&twl_audio>; 52 51 ti,audio-routing = 53 52 "Ext Spk", "PREDRIVEL", 54 53 "Ext Spk", "PREDRIVER",
-1
arch/arm/boot/dts/omap3-gta04.dtsi
··· 46 46 ti,model = "gta04"; 47 47 48 48 ti,mcbsp = <&mcbsp2>; 49 - ti,codec = <&twl_audio>; 50 49 }; 51 50 52 51 spi_lcd {
-1
arch/arm/boot/dts/omap3-igep.dtsi
··· 22 22 compatible = "ti,omap-twl4030"; 23 23 ti,model = "igep2"; 24 24 ti,mcbsp = <&mcbsp2>; 25 - ti,codec = <&twl_audio>; 26 25 }; 27 26 28 27 vdd33: regulator-vdd33 {
-1
arch/arm/boot/dts/omap3-lilly-a83x.dtsi
··· 38 38 ti,model = "lilly-a83x"; 39 39 40 40 ti,mcbsp = <&mcbsp2>; 41 - ti,codec = <&twl_audio>; 42 41 }; 43 42 44 43 reg_vcc3: vcc3 {
+37
arch/arm/boot/dts/omap3-n9.dts
··· 16 16 model = "Nokia N9"; 17 17 compatible = "nokia,omap3-n9", "ti,omap36xx", "ti,omap3"; 18 18 }; 19 + 20 + &i2c2 { 21 + smia_1: camera@10 { 22 + compatible = "nokia,smia"; 23 + reg = <0x10>; 24 + /* No reset gpio */ 25 + vana-supply = <&vaux3>; 26 + clocks = <&isp 0>; 27 + clock-frequency = <9600000>; 28 + nokia,nvm-size = <(16 * 64)>; 29 + port { 30 + smia_1_1: endpoint { 31 + link-frequencies = /bits/ 64 <199200000 210000000 499200000>; 32 + clock-lanes = <0>; 33 + data-lanes = <1 2>; 34 + remote-endpoint = <&csi2a_ep>; 35 + }; 36 + }; 37 + }; 38 + }; 39 + 40 + &isp { 41 + vdd-csiphy1-supply = <&vaux2>; 42 + vdd-csiphy2-supply = <&vaux2>; 43 + ports { 44 + port@2 { 45 + reg = <2>; 46 + csi2a_ep: endpoint { 47 + remote-endpoint = <&smia_1_1>; 48 + clock-lanes = <2>; 49 + data-lanes = <1 3>; 50 + crc = <1>; 51 + lane-polarities = <1 1 1>; 52 + }; 53 + }; 54 + }; 55 + };
+15 -1
arch/arm/boot/dts/omap3-n900.dts
··· 9 9 10 10 /dts-v1/; 11 11 12 - #include "omap34xx-hs.dtsi" 12 + #include "omap34xx.dtsi" 13 13 #include <dt-bindings/input/input.h> 14 + 15 + /* 16 + * Default secure signed bootloader (Nokia X-Loader) does not enable L3 firewall 17 + * for omap AES HW crypto support. When linux kernel try to access memory of AES 18 + * blocks then kernel receive "Unhandled fault: external abort on non-linefetch" 19 + * and crash. Until somebody fix omap-aes.c and omap_hwmod_3xxx_data.c code (no 20 + * crash anymore) omap AES support will be disabled for all Nokia N900 devices. 21 + * There is "unofficial" version of bootloader which enables AES in L3 firewall 22 + * but it is not widely used and to prevent kernel crash rather AES is disabled. 23 + * There is also no runtime detection code if AES is disabled in L3 firewall... 24 + */ 25 + &aes { 26 + status = "disabled"; 27 + }; 14 28 15 29 / { 16 30 model = "Nokia N900";
+1 -1
arch/arm/boot/dts/omap3-n950-n9.dtsi
··· 8 8 * published by the Free Software Foundation. 9 9 */ 10 10 11 - #include "omap36xx-hs.dtsi" 11 + #include "omap36xx.dtsi" 12 12 13 13 / { 14 14 cpus {
+37
arch/arm/boot/dts/omap3-n950.dts
··· 16 16 model = "Nokia N950"; 17 17 compatible = "nokia,omap3-n950", "ti,omap36xx", "ti,omap3"; 18 18 }; 19 + 20 + &i2c2 { 21 + smia_1: camera@10 { 22 + compatible = "nokia,smia"; 23 + reg = <0x10>; 24 + /* No reset gpio */ 25 + vana-supply = <&vaux3>; 26 + clocks = <&isp 0>; 27 + clock-frequency = <9600000>; 28 + nokia,nvm-size = <(16 * 64)>; 29 + port { 30 + smia_1_1: endpoint { 31 + link-frequencies = /bits/ 64 <210000000 333600000 398400000>; 32 + clock-lanes = <0>; 33 + data-lanes = <1 2>; 34 + remote-endpoint = <&csi2a_ep>; 35 + }; 36 + }; 37 + }; 38 + }; 39 + 40 + &isp { 41 + vdd-csiphy1-supply = <&vaux2>; 42 + vdd-csiphy2-supply = <&vaux2>; 43 + ports { 44 + port@2 { 45 + reg = <2>; 46 + csi2a_ep: endpoint { 47 + remote-endpoint = <&smia_1_1>; 48 + clock-lanes = <2>; 49 + data-lanes = <3 1>; 50 + crc = <1>; 51 + lane-polarities = <1 1 1>; 52 + }; 53 + }; 54 + }; 55 + };
-1
arch/arm/boot/dts/omap3-overo-base.dtsi
··· 27 27 ti,model = "overo"; 28 28 29 29 ti,mcbsp = <&mcbsp2>; 30 - ti,codec = <&twl_audio>; 31 30 }; 32 31 33 32 /* HS USB Port 2 Power */
+70
arch/arm/boot/dts/omap3-pandora-1ghz.dts
··· 1 + /* 2 + * Copyright (C) 2015 3 + * Nikolaus Schaller <hns@goldelico.com> 4 + * 5 + * This program is free software; you can redistribute it and/or modify 6 + * it under the terms of the GNU General Public License version 2 as 7 + * published by the Free Software Foundation. 8 + */ 9 + 10 + /* 11 + * device tree for OpenPandora 1GHz with DM3730 12 + */ 13 + 14 + /dts-v1/; 15 + 16 + #include "omap36xx.dtsi" 17 + #include "omap3-pandora-common.dtsi" 18 + 19 + / { 20 + model = "Pandora Handheld Console 1GHz"; 21 + 22 + compatible = "ti,omap36xx", "ti,omap3"; 23 + }; 24 + 25 + &omap3_pmx_core2 { 26 + 27 + pinctrl-names = "default"; 28 + pinctrl-0 = < 29 + &hsusb2_2_pins 30 + &control_pins 31 + >; 32 + 33 + hsusb2_2_pins: pinmux_hsusb2_2_pins { 34 + pinctrl-single,pins = < 35 + OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */ 36 + OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */ 37 + OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */ 38 + OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */ 39 + OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */ 40 + OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */ 41 + >; 42 + }; 43 + 44 + mmc3_pins: pinmux_mmc3_pins { 45 + pinctrl-single,pins = < 46 + OMAP3630_CORE2_IOPAD(0x25d8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_clk.sdmmc3_clk */ 47 + OMAP3630_CORE2_IOPAD(0x25da, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_ctl.sdmmc3_cmd */ 48 + OMAP3630_CORE2_IOPAD(0x25e2, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d3.sdmmc3_dat3 */ 49 + OMAP3630_CORE2_IOPAD(0x25e4, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d4.sdmmc3_dat0 */ 50 + OMAP3630_CORE2_IOPAD(0x25e6, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d5.sdmmc3_dat1 */ 51 + OMAP3630_CORE2_IOPAD(0x25e8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d6.sdmmc3_dat2 */ 52 + >; 53 + }; 54 + 55 + control_pins: pinmux_control_pins { 56 + pinctrl-single,pins = < 57 + OMAP3630_CORE2_IOPAD(0x25dc, PIN_INPUT_PULLDOWN | MUX_MODE4) /* etk_d0.gpio_14 = HP_SHUTDOWN */ 58 + OMAP3630_CORE2_IOPAD(0x25de, PIN_OUTPUT | MUX_MODE4) /* etk_d1.gpio_15 = BT_SHUTDOWN */ 59 + OMAP3630_CORE2_IOPAD(0x25e0, PIN_OUTPUT | MUX_MODE4) /* etk_d2.gpio_16 = RESET_USB_HOST */ 60 + OMAP3630_CORE2_IOPAD(0x25ea, PIN_INPUT | MUX_MODE4) /* etk_d7.gpio_21 = WIFI IRQ */ 61 + OMAP3630_CORE2_IOPAD(0x25ec, PIN_OUTPUT | MUX_MODE4) /* etk_d8.gpio_22 = MSECURE */ 62 + OMAP3630_CORE2_IOPAD(0x25ee, PIN_OUTPUT | MUX_MODE4) /* etk_d9.gpio_23 = WIFI_POWER */ 63 + OMAP3_WKUP_IOPAD(0x2a54, PIN_INPUT | MUX_MODE4) /* reserved.gpio_127 = MMC2_WP */ 64 + OMAP3_WKUP_IOPAD(0x2a56, PIN_INPUT | MUX_MODE4) /* reserved.gpio_126 = MMC1_WP */ 65 + OMAP3_WKUP_IOPAD(0x2a58, PIN_OUTPUT | MUX_MODE4) /* reserved.gpio_128 = LED_MMC1 */ 66 + OMAP3_WKUP_IOPAD(0x2a5a, PIN_OUTPUT | MUX_MODE4) /* reserved.gpio_129 = LED_MMC2 */ 67 + 68 + >; 69 + }; 70 + };
+65
arch/arm/boot/dts/omap3-pandora-600mhz.dts
··· 1 + /* 2 + * Copyright (C) 2015 3 + * Nikolaus Schaller <hns@goldelico.com> 4 + * 5 + * This program is free software; you can redistribute it and/or modify 6 + * it under the terms of the GNU General Public License version 2 as 7 + * published by the Free Software Foundation. 8 + */ 9 + 10 + /* 11 + * device tree for OpenPandora with OMAP3530 12 + */ 13 + 14 + /dts-v1/; 15 + 16 + #include "omap34xx.dtsi" 17 + #include "omap3-pandora-common.dtsi" 18 + 19 + / { 20 + model = "Pandora Handheld Console"; 21 + 22 + compatible = "ti,omap3"; 23 + }; 24 + 25 + &omap3_pmx_core2 { 26 + 27 + pinctrl-names = "default"; 28 + pinctrl-0 = < 29 + &hsusb2_2_pins 30 + &control_pins 31 + >; 32 + 33 + hsusb2_2_pins: pinmux_hsusb2_2_pins { 34 + pinctrl-single,pins = < 35 + OMAP3430_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */ 36 + OMAP3430_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */ 37 + OMAP3430_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */ 38 + OMAP3430_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */ 39 + OMAP3430_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */ 40 + OMAP3430_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */ 41 + >; 42 + }; 43 + 44 + mmc3_pins: pinmux_mmc3_pins { 45 + pinctrl-single,pins = < 46 + OMAP3430_CORE2_IOPAD(0x25d8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_clk.sdmmc3_clk */ 47 + OMAP3430_CORE2_IOPAD(0x25da, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_ctl.sdmmc3_cmd */ 48 + OMAP3430_CORE2_IOPAD(0x25e2, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d3.sdmmc3_dat3 */ 49 + OMAP3430_CORE2_IOPAD(0x25e4, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d4.sdmmc3_dat0 */ 50 + OMAP3430_CORE2_IOPAD(0x25e6, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d5.sdmmc3_dat1 */ 51 + OMAP3430_CORE2_IOPAD(0x25e8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d6.sdmmc3_dat2 */ 52 + >; 53 + }; 54 + 55 + control_pins: pinmux_control_pins { 56 + pinctrl-single,pins = < 57 + OMAP3430_CORE2_IOPAD(0x25dc, PIN_INPUT_PULLDOWN | MUX_MODE4) /* etk_d0.gpio_14 = HP_SHUTDOWN */ 58 + OMAP3430_CORE2_IOPAD(0x25de, PIN_OUTPUT | MUX_MODE4) /* etk_d1.gpio_15 = BT_SHUTDOWN */ 59 + OMAP3430_CORE2_IOPAD(0x25e0, PIN_OUTPUT | MUX_MODE4) /* etk_d2.gpio_16 = RESET_USB_HOST */ 60 + OMAP3430_CORE2_IOPAD(0x25ea, PIN_INPUT | MUX_MODE4) /* etk_d7.gpio_21 = WIFI IRQ */ 61 + OMAP3430_CORE2_IOPAD(0x25ec, PIN_OUTPUT | MUX_MODE4) /* etk_d8.gpio_22 = MSECURE */ 62 + OMAP3430_CORE2_IOPAD(0x25ee, PIN_OUTPUT | MUX_MODE4) /* etk_d9.gpio_23 = WIFI_POWER */ 63 + >; 64 + }; 65 + };
+640
arch/arm/boot/dts/omap3-pandora-common.dtsi
··· 1 + /* 2 + * Copyright (C) 2015 3 + * Nikolaus Schaller <hns@goldelico.com> 4 + * 5 + * Common device tree include for OpenPandora devices. 6 + * 7 + * This program is free software; you can redistribute it and/or modify 8 + * it under the terms of the GNU General Public License version 2 as 9 + * published by the Free Software Foundation. 10 + */ 11 + 12 + #include <dt-bindings/input/input.h> 13 + 14 + / { 15 + cpus { 16 + cpu@0 { 17 + cpu0-supply = <&vcc>; 18 + }; 19 + }; 20 + 21 + memory { 22 + device_type = "memory"; 23 + reg = <0x80000000 0x20000000>; /* 512 MB */ 24 + }; 25 + 26 + aliases { 27 + display0 = &lcd; 28 + }; 29 + 30 + tv: connector@1 { 31 + compatible = "connector-analog-tv"; 32 + label = "tv"; 33 + 34 + port { 35 + tv_connector_in: endpoint { 36 + remote-endpoint = <&venc_out>; 37 + }; 38 + }; 39 + }; 40 + 41 + gpio-leds { 42 + 43 + compatible = "gpio-leds"; 44 + 45 + pinctrl-names = "default"; 46 + pinctrl-0 = <&led_pins>; 47 + 48 + led@1 { 49 + label = "pandora::sd1"; 50 + gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>; /* GPIO_128 */ 51 + linux,default-trigger = "mmc0"; 52 + default-state = "off"; 53 + }; 54 + 55 + led@2 { 56 + label = "pandora::sd2"; 57 + gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; /* GPIO_129 */ 58 + linux,default-trigger = "mmc1"; 59 + default-state = "off"; 60 + }; 61 + 62 + led@3 { 63 + label = "pandora::bluetooth"; 64 + gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>; /* GPIO_158 */ 65 + linux,default-trigger = "heartbeat"; 66 + default-state = "off"; 67 + }; 68 + 69 + led@4 { 70 + label = "pandora::wifi"; 71 + gpios = <&gpio5 31 GPIO_ACTIVE_HIGH>; /* GPIO_159 */ 72 + linux,default-trigger = "mmc2"; 73 + default-state = "off"; 74 + }; 75 + }; 76 + 77 + gpio-keys { 78 + compatible = "gpio-keys"; 79 + 80 + pinctrl-names = "default"; 81 + pinctrl-0 = <&button_pins>; 82 + 83 + up-button { 84 + label = "up"; 85 + linux,code = <KEY_UP>; 86 + gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* GPIO_110 */ 87 + gpio-key,wakeup; 88 + }; 89 + 90 + down-button { 91 + label = "down"; 92 + linux,code = <KEY_DOWN>; 93 + gpios = <&gpio4 7 GPIO_ACTIVE_LOW>; /* GPIO_103 */ 94 + gpio-key,wakeup; 95 + }; 96 + 97 + left-button { 98 + label = "left"; 99 + linux,code = <KEY_LEFT>; 100 + gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; /* GPIO_96 */ 101 + gpio-key,wakeup; 102 + }; 103 + 104 + right-button { 105 + label = "right"; 106 + linux,code = <KEY_RIGHT>; 107 + gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; /* GPIO_98 */ 108 + gpio-key,wakeup; 109 + }; 110 + 111 + pageup-button { 112 + label = "game 1"; 113 + linux,code = <KEY_PAGEUP>; 114 + gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* GPIO_109 */ 115 + gpio-key,wakeup; 116 + }; 117 + 118 + pagedown-button { 119 + label = "game 3"; 120 + linux,code = <KEY_PAGEDOWN>; 121 + gpios = <&gpio4 10 GPIO_ACTIVE_LOW>; /* GPIO_106 */ 122 + gpio-key,wakeup; 123 + }; 124 + 125 + home-button { 126 + label = "game 4"; 127 + linux,code = <KEY_HOME>; 128 + gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* GPIO_101 */ 129 + gpio-key,wakeup; 130 + }; 131 + 132 + end-button { 133 + label = "game 2"; 134 + linux,code = <KEY_END>; 135 + gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* GPIO_111 */ 136 + gpio-key,wakeup; 137 + }; 138 + 139 + right-shift { 140 + label = "l"; 141 + linux,code = <KEY_RIGHTSHIFT>; 142 + gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; /* GPIO_102 */ 143 + gpio-key,wakeup; 144 + }; 145 + 146 + kp-plus { 147 + label = "l2"; 148 + linux,code = <KEY_KPPLUS>; 149 + gpios = <&gpio4 1 GPIO_ACTIVE_LOW>; /* GPIO_97 */ 150 + gpio-key,wakeup; 151 + }; 152 + 153 + right-ctrl { 154 + label = "r"; 155 + linux,code = <KEY_RIGHTCTRL>; 156 + gpios = <&gpio4 9 GPIO_ACTIVE_LOW>; /* GPIO_105 */ 157 + gpio-key,wakeup; 158 + }; 159 + 160 + kp-minus { 161 + label = "r2"; 162 + linux,code = <KEY_KPMINUS>; 163 + gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; /* GPIO_107 */ 164 + gpio-key,wakeup; 165 + }; 166 + 167 + left-ctrl { 168 + label = "ctrl"; 169 + linux,code = <KEY_LEFTCTRL>; 170 + gpios = <&gpio4 8 GPIO_ACTIVE_LOW>; /* GPIO_104 */ 171 + gpio-key,wakeup; 172 + }; 173 + 174 + menu { 175 + label = "menu"; 176 + linux,code = <KEY_MENU>; 177 + gpios = <&gpio4 3 GPIO_ACTIVE_LOW>; /* GPIO_99 */ 178 + gpio-key,wakeup; 179 + }; 180 + 181 + hold { 182 + label = "hold"; 183 + linux,code = <KEY_COFFEE>; 184 + gpios = <&gpio6 16 GPIO_ACTIVE_LOW>; /* GPIO_176 */ 185 + gpio-key,wakeup; 186 + }; 187 + 188 + left-alt { 189 + label = "alt"; 190 + linux,code = <KEY_LEFTALT>; 191 + gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>; /* GPIO_100 */ 192 + gpio-key,wakeup; 193 + }; 194 + 195 + lid { 196 + label = "lid"; 197 + linux,code = <0x00>; /* SW_LID lid shut */ 198 + linux,input-type = <0x05>; /* EV_SW */ 199 + gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>; /* GPIO_108 */ 200 + }; 201 + }; 202 + }; 203 + 204 + &omap3_pmx_core { 205 + 206 + mmc1_pins: pinmux_mmc1_pins { 207 + pinctrl-single,pins = < 208 + OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ 209 + OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ 210 + OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ 211 + OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ 212 + OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ 213 + OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ 214 + >; 215 + }; 216 + 217 + mmc2_pins: pinmux_mmc2_pins { 218 + pinctrl-single,pins = < 219 + OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */ 220 + OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */ 221 + OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */ 222 + OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */ 223 + OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */ 224 + OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */ 225 + OMAP3_CORE1_IOPAD(0x2164, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat4.sdmmc2_dirdat0 */ 226 + OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat5.sdmmc2_dirdat1 */ 227 + OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat6.sdmmc2_dircmd */ 228 + OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat7.sdmmc2_clkin */ 229 + >; 230 + }; 231 + 232 + dss_dpi_pins: pinmux_dss_dpi_pins { 233 + pinctrl-single,pins = < 234 + OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ 235 + OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ 236 + OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ 237 + OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ 238 + OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */ 239 + OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */ 240 + OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */ 241 + OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */ 242 + OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */ 243 + OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */ 244 + OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ 245 + OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ 246 + OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ 247 + OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ 248 + OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ 249 + OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ 250 + OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ 251 + OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ 252 + OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ 253 + OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ 254 + OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ 255 + OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ 256 + OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */ 257 + OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */ 258 + OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */ 259 + OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */ 260 + OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ 261 + OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ 262 + OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4) /* GPIO_157 = lcd reset */ 263 + >; 264 + }; 265 + 266 + uart3_pins: pinmux_uart3_pins { 267 + pinctrl-single,pins = < 268 + OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ 269 + OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ 270 + >; 271 + }; 272 + 273 + led_pins: pinmux_leds_pins { 274 + pinctrl-single,pins = < 275 + OMAP3_CORE1_IOPAD(0x2154, PIN_OUTPUT | MUX_MODE4) /* GPIO_128 */ 276 + OMAP3_CORE1_IOPAD(0x2156, PIN_OUTPUT | MUX_MODE4) /* GPIO_129 */ 277 + OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE4) /* GPIO_158 */ 278 + OMAP3_CORE1_IOPAD(0x2192, PIN_OUTPUT | MUX_MODE4) /* GPIO_159 */ 279 + >; 280 + }; 281 + 282 + button_pins: pinmux_button_pins { 283 + pinctrl-single,pins = < 284 + OMAP3_CORE1_IOPAD(0x2110, PIN_INPUT | MUX_MODE4) /* GPIO_96 */ 285 + OMAP3_CORE1_IOPAD(0x2112, PIN_INPUT | MUX_MODE4) /* GPIO_97 */ 286 + OMAP3_CORE1_IOPAD(0x2114, PIN_INPUT | MUX_MODE4) /* GPIO_98 */ 287 + OMAP3_CORE1_IOPAD(0x2116, PIN_INPUT | MUX_MODE4) /* GPIO_99 */ 288 + OMAP3_CORE1_IOPAD(0x2118, PIN_INPUT | MUX_MODE4) /* GPIO_100 */ 289 + OMAP3_CORE1_IOPAD(0x211a, PIN_INPUT | MUX_MODE4) /* GPIO_101 */ 290 + OMAP3_CORE1_IOPAD(0x211c, PIN_INPUT | MUX_MODE4) /* GPIO_102 */ 291 + OMAP3_CORE1_IOPAD(0x211e, PIN_INPUT | MUX_MODE4) /* GPIO_103 */ 292 + OMAP3_CORE1_IOPAD(0x2120, PIN_INPUT | MUX_MODE4) /* GPIO_104 */ 293 + OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE4) /* GPIO_105 */ 294 + OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE4) /* GPIO_106 */ 295 + OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE4) /* GPIO_107 */ 296 + OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE4) /* GPIO_108 */ 297 + OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4) /* GPIO_109 */ 298 + OMAP3_CORE1_IOPAD(0x212c, PIN_INPUT | MUX_MODE4) /* GPIO_110 */ 299 + OMAP3_CORE1_IOPAD(0x212e, PIN_INPUT | MUX_MODE4) /* GPIO_111 */ 300 + OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT | MUX_MODE4) /* GPIO_176 */ 301 + >; 302 + }; 303 + 304 + penirq_pins: pinmux_penirq_pins { 305 + pinctrl-single,pins = < 306 + /* here we could enable to wakeup the cpu from suspend by a pen touch */ 307 + OMAP3_CORE1_IOPAD(0x210c, PIN_INPUT | MUX_MODE4) /* GPIO_94 */ 308 + >; 309 + }; 310 + 311 + }; 312 + 313 + &omap3_pmx_core2 { 314 + /* define in CPU specific file that includes this one 315 + * use either OMAP3430_CORE2_IOPAD() or OMAP3630_CORE2_IOPAD() 316 + */ 317 + }; 318 + 319 + &i2c1 { 320 + clock-frequency = <2600000>; 321 + 322 + twl: twl@48 { 323 + reg = <0x48>; 324 + interrupts = <7>; /* SYS_NIRQ cascaded to intc */ 325 + interrupt-parent = <&intc>; 326 + 327 + twl_power: power { 328 + compatible = "ti,twl4030-power-reset"; 329 + ti,use_poweroff; 330 + }; 331 + 332 + twl_audio: audio { 333 + compatible = "ti,twl4030-audio"; 334 + 335 + codec { 336 + ti,ramp_delay_value = <3>; 337 + }; 338 + }; 339 + }; 340 + }; 341 + 342 + #include "twl4030.dtsi" 343 + #include "twl4030_omap3.dtsi" 344 + 345 + &twl_keypad { 346 + keypad,num-rows = <8>; 347 + keypad,num-columns = <6>; 348 + linux,keymap = < 349 + MATRIX_KEY(0, 0, KEY_9) 350 + MATRIX_KEY(0, 1, KEY_8) 351 + MATRIX_KEY(0, 2, KEY_I) 352 + MATRIX_KEY(0, 3, KEY_J) 353 + MATRIX_KEY(0, 4, KEY_N) 354 + MATRIX_KEY(0, 5, KEY_M) 355 + MATRIX_KEY(1, 0, KEY_0) 356 + MATRIX_KEY(1, 1, KEY_7) 357 + MATRIX_KEY(1, 2, KEY_U) 358 + MATRIX_KEY(1, 3, KEY_H) 359 + MATRIX_KEY(1, 4, KEY_B) 360 + MATRIX_KEY(1, 5, KEY_SPACE) 361 + MATRIX_KEY(2, 0, KEY_BACKSPACE) 362 + MATRIX_KEY(2, 1, KEY_6) 363 + MATRIX_KEY(2, 2, KEY_Y) 364 + MATRIX_KEY(2, 3, KEY_G) 365 + MATRIX_KEY(2, 4, KEY_V) 366 + MATRIX_KEY(2, 5, KEY_FN) 367 + MATRIX_KEY(3, 0, KEY_O) 368 + MATRIX_KEY(3, 1, KEY_5) 369 + MATRIX_KEY(3, 2, KEY_T) 370 + MATRIX_KEY(3, 3, KEY_F) 371 + MATRIX_KEY(3, 4, KEY_C) 372 + MATRIX_KEY(4, 0, KEY_P) 373 + MATRIX_KEY(4, 1, KEY_4) 374 + MATRIX_KEY(4, 2, KEY_R) 375 + MATRIX_KEY(4, 3, KEY_D) 376 + MATRIX_KEY(4, 4, KEY_X) 377 + MATRIX_KEY(5, 0, KEY_K) 378 + MATRIX_KEY(5, 1, KEY_3) 379 + MATRIX_KEY(5, 2, KEY_E) 380 + MATRIX_KEY(5, 3, KEY_S) 381 + MATRIX_KEY(5, 4, KEY_Z) 382 + MATRIX_KEY(6, 0, KEY_L) 383 + MATRIX_KEY(6, 1, KEY_2) 384 + MATRIX_KEY(6, 2, KEY_W) 385 + MATRIX_KEY(6, 3, KEY_A) 386 + MATRIX_KEY(6, 4, KEY_RIGHTBRACE) 387 + MATRIX_KEY(7, 0, KEY_ENTER) 388 + MATRIX_KEY(7, 1, KEY_1) 389 + MATRIX_KEY(7, 2, KEY_Q) 390 + MATRIX_KEY(7, 3, KEY_LEFTSHIFT) 391 + MATRIX_KEY(7, 4, KEY_LEFTBRACE ) 392 + >; 393 + }; 394 + 395 + /* backup battery charger */ 396 + &charger { 397 + ti,bb-uvolt = <3200000>; 398 + ti,bb-uamp = <150>; 399 + }; 400 + 401 + /* MMC2 */ 402 + &vmmc2 { 403 + regulator-min-microvolt = <1850000>; 404 + regulator-max-microvolt = <3150000>; 405 + }; 406 + 407 + /* LCD */ 408 + &vaux1 { 409 + regulator-min-microvolt = <3000000>; 410 + regulator-max-microvolt = <3000000>; 411 + }; 412 + 413 + /* USB Host PHY */ 414 + &vaux2 { 415 + regulator-min-microvolt = <1800000>; 416 + regulator-max-microvolt = <1800000>; 417 + }; 418 + 419 + /* available on expansion connector */ 420 + &vaux3 { 421 + regulator-min-microvolt = <2800000>; 422 + regulator-max-microvolt = <2800000>; 423 + }; 424 + 425 + /* ADS7846 and nubs */ 426 + &vaux4 { 427 + regulator-min-microvolt = <2800000>; 428 + regulator-max-microvolt = <2800000>; 429 + }; 430 + 431 + /* power audio DAC and LID sensor */ 432 + &vsim { 433 + regulator-min-microvolt = <2800000>; 434 + regulator-max-microvolt = <2800000>; 435 + regulator-always-on; 436 + }; 437 + 438 + &i2c2 { 439 + clock-frequency = <100000>; 440 + /* no clients so we should disable clock */ 441 + }; 442 + 443 + &i2c3 { 444 + clock-frequency = <100000>; 445 + 446 + bq27500@55 { 447 + compatible = "ti,bq27500"; 448 + reg = <0x55>; 449 + }; 450 + 451 + }; 452 + 453 + &usb_otg_hs { 454 + interface-type = <0>; 455 + usb-phy = <&usb2_phy>; 456 + phys = <&usb2_phy>; 457 + phy-names = "usb2-phy"; 458 + mode = <3>; 459 + power = <50>; 460 + }; 461 + 462 + &mmc1 { 463 + pinctrl-names = "default"; 464 + pinctrl-0 = <&mmc1_pins>; 465 + vmmc-supply = <&vmmc1>; 466 + bus-width = <4>; 467 + cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>; 468 + wp-gpios = <&gpio4 30 GPIO_ACTIVE_LOW>; /* GPIO_126 */ 469 + }; 470 + 471 + &mmc2 { 472 + pinctrl-names = "default"; 473 + pinctrl-0 = <&mmc2_pins>; 474 + vmmc-supply = <&vmmc2>; 475 + bus-width = <4>; 476 + cd-gpios = <&twl_gpio 1 GPIO_ACTIVE_HIGH>; 477 + wp-gpios = <&gpio4 31 GPIO_ACTIVE_LOW>; /* GPIO_127 */ 478 + }; 479 + 480 + /* bluetooth*/ 481 + &uart1 { 482 + }; 483 + 484 + /* spare (expansion connector) */ 485 + &uart2 { 486 + }; 487 + 488 + /* console (expansion connector) */ 489 + &uart3 { 490 + pinctrl-names = "default"; 491 + pinctrl-0 = <&uart3_pins>; 492 + interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>; 493 + }; 494 + 495 + &usbhshost { 496 + port2-mode = "ehci-phy"; 497 + }; 498 + 499 + &gpmc { 500 + ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */ 501 + 502 + nand@0,0 { 503 + reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ 504 + nand-bus-width = <16>; 505 + ti,nand-ecc-opt = "sw"; 506 + 507 + gpmc,sync-clk-ps = <0>; 508 + gpmc,cs-on-ns = <0>; 509 + gpmc,cs-rd-off-ns = <44>; 510 + gpmc,cs-wr-off-ns = <44>; 511 + gpmc,adv-on-ns = <6>; 512 + gpmc,adv-rd-off-ns = <34>; 513 + gpmc,adv-wr-off-ns = <44>; 514 + gpmc,we-off-ns = <40>; 515 + gpmc,oe-off-ns = <54>; 516 + gpmc,access-ns = <64>; 517 + gpmc,rd-cycle-ns = <82>; 518 + gpmc,wr-cycle-ns = <82>; 519 + gpmc,wr-access-ns = <40>; 520 + gpmc,wr-data-mux-bus-ns = <0>; 521 + gpmc,device-width = <2>; 522 + 523 + #address-cells = <1>; 524 + #size-cells = <1>; 525 + 526 + /* u-boot uses mtdparts=nand:512k(xloader),1920k(uboot),128k(uboot-env),10m(boot),-(rootfs) */ 527 + 528 + x-loader@0 { 529 + label = "xloader"; 530 + reg = <0 0x80000>; 531 + }; 532 + 533 + bootloaders@80000 { 534 + label = "uboot"; 535 + reg = <0x80000 0x1e0000>; 536 + }; 537 + 538 + bootloaders_env@260000 { 539 + label = "uboot-env"; 540 + reg = <0x260000 0x20000>; 541 + }; 542 + 543 + kernel@280000 { 544 + label = "boot"; 545 + reg = <0x280000 0xa00000>; 546 + }; 547 + 548 + filesystem@680000 { 549 + label = "rootfs"; 550 + reg = <0xc80000 0>; /* 0 = MTDPART_SIZ_FULL */ 551 + }; 552 + }; 553 + }; 554 + 555 + &mcspi1 { 556 + tsc2046@0 { 557 + reg = <0>; /* CS0 */ 558 + compatible = "ti,tsc2046"; 559 + spi-max-frequency = <1000000>; 560 + pinctrl-names = "default"; 561 + pinctrl-0 = <&penirq_pins>; 562 + interrupt-parent = <&gpio3>; 563 + interrupts = <30 0>; /* GPIO_94 */ 564 + pendown-gpio = <&gpio3 30 0>; 565 + vcc-supply = <&vaux4>; 566 + 567 + ti,x-min = /bits/ 16 <0>; 568 + ti,x-max = /bits/ 16 <8000>; 569 + ti,y-min = /bits/ 16 <0>; 570 + ti,y-max = /bits/ 16 <4800>; 571 + ti,x-plate-ohms = /bits/ 16 <40>; 572 + ti,pressure-max = /bits/ 16 <255>; 573 + 574 + linux,wakeup; 575 + }; 576 + 577 + lcd: lcd@1 { 578 + reg = <1>; /* CS1 */ 579 + compatible = "omapdss,tpo,td043mtea1"; 580 + spi-max-frequency = <100000>; 581 + spi-cpol; 582 + spi-cpha; 583 + 584 + label = "lcd"; 585 + reset-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>; /* GPIO_157 */ 586 + vcc-supply = <&vaux1>; 587 + 588 + port { 589 + lcd_in: endpoint { 590 + remote-endpoint = <&dpi_out>; 591 + }; 592 + }; 593 + }; 594 + 595 + 596 + }; 597 + 598 + /* n/a - used as GPIOs */ 599 + &mcbsp1 { 600 + }; 601 + 602 + /* audio DAC */ 603 + &mcbsp2 { 604 + }; 605 + 606 + /* bluetooth */ 607 + &mcbsp3 { 608 + }; 609 + 610 + /* to twl4030*/ 611 + &mcbsp4 { 612 + }; 613 + 614 + &venc { 615 + status = "ok"; 616 + 617 + vdda-supply = <&vdac>; 618 + 619 + port { 620 + venc_out: endpoint { 621 + remote-endpoint = <&tv_connector_in>; 622 + ti,channels = <2>; 623 + }; 624 + }; 625 + }; 626 + 627 + &dss { 628 + pinctrl-names = "default"; 629 + pinctrl-0 = < &dss_dpi_pins >; 630 + 631 + status = "ok"; 632 + vdds_dsi-supply = <&vpll2>; 633 + 634 + port { 635 + dpi_out: endpoint { 636 + remote-endpoint = <&lcd_in>; 637 + data-lines = <24>; 638 + }; 639 + }; 640 + };
+10 -2
arch/arm/boot/dts/omap3-tao3530.dtsi
··· 8 8 */ 9 9 /dts-v1/; 10 10 11 - #include "omap34xx-hs.dtsi" 11 + #include "omap34xx.dtsi" 12 + 13 + /* Secure omaps have some devices inaccessible depending on the firmware */ 14 + &aes { 15 + status = "disabled"; 16 + }; 17 + 18 + &sham { 19 + status = "disabled"; 20 + }; 12 21 13 22 / { 14 23 cpus { ··· 54 45 55 46 /* McBSP2 is used for onboard sound, same as on beagle */ 56 47 ti,mcbsp = <&mcbsp2>; 57 - ti,codec = <&twl_audio>; 58 48 }; 59 49 60 50 /* Regulator to enable/switch the vcc of the Wifi module */
-16
arch/arm/boot/dts/omap34xx-hs.dtsi
··· 1 - /* Disabled modules for secure omaps */ 2 - 3 - #include "omap34xx.dtsi" 4 - 5 - /* Secure omaps have some devices inaccessible depending on the firmware */ 6 - &aes { 7 - status = "disabled"; 8 - }; 9 - 10 - &sham { 11 - status = "disabled"; 12 - }; 13 - 14 - &timer12 { 15 - status = "disabled"; 16 - };
+17
arch/arm/boot/dts/omap34xx.dtsi
··· 8 8 * kind, whether express or implied. 9 9 */ 10 10 11 + #include <dt-bindings/media/omap3-isp.h> 12 + 11 13 #include "omap3.dtsi" 12 14 13 15 / { ··· 38 36 interrupt-controller; 39 37 pinctrl-single,register-width = <16>; 40 38 pinctrl-single,function-mask = <0xff1f>; 39 + }; 40 + 41 + isp: isp@480bc000 { 42 + compatible = "ti,omap3-isp"; 43 + reg = <0x480bc000 0x12fc 44 + 0x480bd800 0x017c>; 45 + interrupts = <24>; 46 + iommus = <&mmu_isp>; 47 + syscon = <&scm_conf 0xdc>; 48 + ti,phy-type = <OMAP3ISP_PHY_TYPE_COMPLEX_IO>; 49 + #clock-cells = <1>; 50 + ports { 51 + #address-cells = <1>; 52 + #size-cells = <0>; 53 + }; 41 54 }; 42 55 }; 43 56 };
-16
arch/arm/boot/dts/omap36xx-hs.dtsi
··· 1 - /* Disabled modules for secure omaps */ 2 - 3 - #include "omap36xx.dtsi" 4 - 5 - /* Secure omaps have some devices inaccessible depending on the firmware */ 6 - &aes { 7 - status = "disabled"; 8 - }; 9 - 10 - &sham { 11 - status = "disabled"; 12 - }; 13 - 14 - &timer12 { 15 - status = "disabled"; 16 - };
+17
arch/arm/boot/dts/omap36xx.dtsi
··· 8 8 * kind, whether express or implied. 9 9 */ 10 10 11 + #include <dt-bindings/media/omap3-isp.h> 12 + 11 13 #include "omap3.dtsi" 12 14 13 15 / { ··· 70 68 interrupt-controller; 71 69 pinctrl-single,register-width = <16>; 72 70 pinctrl-single,function-mask = <0xff1f>; 71 + }; 72 + 73 + isp: isp@480bc000 { 74 + compatible = "ti,omap3-isp"; 75 + reg = <0x480bc000 0x12fc 76 + 0x480bd800 0x0600>; 77 + interrupts = <24>; 78 + iommus = <&mmu_isp>; 79 + syscon = <&scm_conf 0x2f0>; 80 + ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>; 81 + #clock-cells = <1>; 82 + ports { 83 + #address-cells = <1>; 84 + #size-cells = <0>; 85 + }; 73 86 }; 74 87 }; 75 88 };
+22
include/dt-bindings/media/omap3-isp.h
··· 1 + /* 2 + * include/dt-bindings/media/omap3-isp.h 3 + * 4 + * Copyright (C) 2015 Sakari Ailus 5 + * 6 + * This program is free software; you can redistribute it and/or 7 + * modify it under the terms of the GNU General Public License 8 + * version 2 as published by the Free Software Foundation. 9 + * 10 + * This program is distributed in the hope that it will be useful, but 11 + * WITHOUT ANY WARRANTY; without even the implied warranty of 12 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 + * General Public License for more details. 14 + */ 15 + 16 + #ifndef __DT_BINDINGS_OMAP3_ISP_H__ 17 + #define __DT_BINDINGS_OMAP3_ISP_H__ 18 + 19 + #define OMAP3ISP_PHY_TYPE_COMPLEX_IO 0 20 + #define OMAP3ISP_PHY_TYPE_CSIPHY 1 21 + 22 + #endif /* __DT_BINDINGS_OMAP3_ISP_H__ */