1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Common support for CompuLab CM-T3x CoMs 4*724ba675SRob Herring */ 5*724ba675SRob Herring 6*724ba675SRob Herring/ { 7*724ba675SRob Herring 8*724ba675SRob Herring memory@80000000 { 9*724ba675SRob Herring device_type = "memory"; 10*724ba675SRob Herring reg = <0x80000000 0x10000000>; /* 256 MB */ 11*724ba675SRob Herring }; 12*724ba675SRob Herring 13*724ba675SRob Herring leds { 14*724ba675SRob Herring compatible = "gpio-leds"; 15*724ba675SRob Herring pinctrl-names = "default"; 16*724ba675SRob Herring pinctrl-0 = <&green_led_pins>; 17*724ba675SRob Herring ledb { 18*724ba675SRob Herring label = "cm-t3x:green"; 19*724ba675SRob Herring gpios = <&gpio6 26 GPIO_ACTIVE_HIGH>; /* gpio186 */ 20*724ba675SRob Herring linux,default-trigger = "heartbeat"; 21*724ba675SRob Herring }; 22*724ba675SRob Herring }; 23*724ba675SRob Herring 24*724ba675SRob Herring /* HS USB Port 1 Power */ 25*724ba675SRob Herring hsusb1_power: hsusb1_power_reg { 26*724ba675SRob Herring compatible = "regulator-fixed"; 27*724ba675SRob Herring regulator-name = "hsusb1_vbus"; 28*724ba675SRob Herring regulator-min-microvolt = <3300000>; 29*724ba675SRob Herring regulator-max-microvolt = <3300000>; 30*724ba675SRob Herring startup-delay-us = <70000>; 31*724ba675SRob Herring }; 32*724ba675SRob Herring 33*724ba675SRob Herring /* HS USB Port 2 Power */ 34*724ba675SRob Herring hsusb2_power: hsusb2_power_reg { 35*724ba675SRob Herring compatible = "regulator-fixed"; 36*724ba675SRob Herring regulator-name = "hsusb2_vbus"; 37*724ba675SRob Herring regulator-min-microvolt = <3300000>; 38*724ba675SRob Herring regulator-max-microvolt = <3300000>; 39*724ba675SRob Herring startup-delay-us = <70000>; 40*724ba675SRob Herring }; 41*724ba675SRob Herring 42*724ba675SRob Herring /* HS USB Host PHY on PORT 1 */ 43*724ba675SRob Herring hsusb1_phy: hsusb1_phy { 44*724ba675SRob Herring compatible = "usb-nop-xceiv"; 45*724ba675SRob Herring vcc-supply = <&hsusb1_power>; 46*724ba675SRob Herring #phy-cells = <0>; 47*724ba675SRob Herring }; 48*724ba675SRob Herring 49*724ba675SRob Herring /* HS USB Host PHY on PORT 2 */ 50*724ba675SRob Herring hsusb2_phy: hsusb2-phy-pins { 51*724ba675SRob Herring compatible = "usb-nop-xceiv"; 52*724ba675SRob Herring vcc-supply = <&hsusb2_power>; 53*724ba675SRob Herring #phy-cells = <0>; 54*724ba675SRob Herring }; 55*724ba675SRob Herring 56*724ba675SRob Herring ads7846reg: ads7846-reg { 57*724ba675SRob Herring compatible = "regulator-fixed"; 58*724ba675SRob Herring regulator-name = "ads7846-reg"; 59*724ba675SRob Herring regulator-min-microvolt = <3300000>; 60*724ba675SRob Herring regulator-max-microvolt = <3300000>; 61*724ba675SRob Herring }; 62*724ba675SRob Herring 63*724ba675SRob Herring tv0: svideo-connector { 64*724ba675SRob Herring compatible = "svideo-connector"; 65*724ba675SRob Herring label = "tv"; 66*724ba675SRob Herring 67*724ba675SRob Herring port { 68*724ba675SRob Herring tv_connector_in: endpoint { 69*724ba675SRob Herring remote-endpoint = <&venc_out>; 70*724ba675SRob Herring }; 71*724ba675SRob Herring }; 72*724ba675SRob Herring }; 73*724ba675SRob Herring}; 74*724ba675SRob Herring 75*724ba675SRob Herring&omap3_pmx_core { 76*724ba675SRob Herring 77*724ba675SRob Herring uart3_pins: uart3-pins { 78*724ba675SRob Herring pinctrl-single,pins = < 79*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ 80*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ 81*724ba675SRob Herring >; 82*724ba675SRob Herring }; 83*724ba675SRob Herring 84*724ba675SRob Herring mmc1_pins: mmc1-pins { 85*724ba675SRob Herring pinctrl-single,pins = < 86*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ 87*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ 88*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ 89*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ 90*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ 91*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ 92*724ba675SRob Herring >; 93*724ba675SRob Herring }; 94*724ba675SRob Herring 95*724ba675SRob Herring green_led_pins: green-led-pins { 96*724ba675SRob Herring pinctrl-single,pins = < 97*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21e2, PIN_OUTPUT | MUX_MODE4) /* sys_clkout2.gpio_186 */ 98*724ba675SRob Herring >; 99*724ba675SRob Herring }; 100*724ba675SRob Herring 101*724ba675SRob Herring dss_dpi_pins_common: dss-dpi-common-pins { 102*724ba675SRob Herring pinctrl-single,pins = < 103*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ 104*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ 105*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ 106*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ 107*724ba675SRob Herring 108*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ 109*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ 110*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ 111*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ 112*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ 113*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ 114*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ 115*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ 116*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ 117*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ 118*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ 119*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ 120*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */ 121*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */ 122*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */ 123*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */ 124*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ 125*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ 126*724ba675SRob Herring >; 127*724ba675SRob Herring }; 128*724ba675SRob Herring 129*724ba675SRob Herring dss_dpi_pins_cm_t35x: dss-dpi-cm-t35x-pins { 130*724ba675SRob Herring pinctrl-single,pins = < 131*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */ 132*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */ 133*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */ 134*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */ 135*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */ 136*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */ 137*724ba675SRob Herring >; 138*724ba675SRob Herring }; 139*724ba675SRob Herring 140*724ba675SRob Herring ads7846_pins: ads7846-pins { 141*724ba675SRob Herring pinctrl-single,pins = < 142*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20ba, PIN_INPUT_PULLUP | MUX_MODE4) /* gpmc_ncs6.gpio_57 */ 143*724ba675SRob Herring >; 144*724ba675SRob Herring }; 145*724ba675SRob Herring 146*724ba675SRob Herring mcspi1_pins: mcspi1-pins { 147*724ba675SRob Herring pinctrl-single,pins = < 148*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0) /* mcspi1_clk */ 149*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21ca, PIN_INPUT | MUX_MODE0) /* mcspi1_simo */ 150*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT | MUX_MODE0) /* mcspi1_somi */ 151*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21ce, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcspi1_cs0 */ 152*724ba675SRob Herring >; 153*724ba675SRob Herring }; 154*724ba675SRob Herring 155*724ba675SRob Herring i2c1_pins: i2c1-pins { 156*724ba675SRob Herring pinctrl-single,pins = < 157*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */ 158*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */ 159*724ba675SRob Herring >; 160*724ba675SRob Herring }; 161*724ba675SRob Herring 162*724ba675SRob Herring mcbsp2_pins: mcbsp2-pins { 163*724ba675SRob Herring pinctrl-single,pins = < 164*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x213c, PIN_INPUT | MUX_MODE0) /* mcbsp2_fsx */ 165*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x213e, PIN_INPUT | MUX_MODE0) /* mcbsp2_clkx */ 166*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2140, PIN_INPUT | MUX_MODE0) /* mcbsp2_dr */ 167*724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2142, PIN_OUTPUT | MUX_MODE0) /* mcbsp2_dx */ 168*724ba675SRob Herring >; 169*724ba675SRob Herring }; 170*724ba675SRob Herring}; 171*724ba675SRob Herring 172*724ba675SRob Herring&uart3 { 173*724ba675SRob Herring pinctrl-names = "default"; 174*724ba675SRob Herring pinctrl-0 = <&uart3_pins>; 175*724ba675SRob Herring}; 176*724ba675SRob Herring 177*724ba675SRob Herring&mmc1 { 178*724ba675SRob Herring pinctrl-names = "default"; 179*724ba675SRob Herring pinctrl-0 = <&mmc1_pins>; 180*724ba675SRob Herring bus-width = <4>; 181*724ba675SRob Herring}; 182*724ba675SRob Herring 183*724ba675SRob Herring&mmc3 { 184*724ba675SRob Herring status = "disabled"; 185*724ba675SRob Herring}; 186*724ba675SRob Herring 187*724ba675SRob Herring&i2c1 { 188*724ba675SRob Herring pinctrl-names = "default"; 189*724ba675SRob Herring pinctrl-0 = <&i2c1_pins>; 190*724ba675SRob Herring 191*724ba675SRob Herring clock-frequency = <400000>; 192*724ba675SRob Herring 193*724ba675SRob Herring at24@50 { 194*724ba675SRob Herring compatible = "atmel,24c02"; 195*724ba675SRob Herring pagesize = <16>; 196*724ba675SRob Herring reg = <0x50>; 197*724ba675SRob Herring }; 198*724ba675SRob Herring}; 199*724ba675SRob Herring 200*724ba675SRob Herring&i2c3 { 201*724ba675SRob Herring clock-frequency = <400000>; 202*724ba675SRob Herring}; 203*724ba675SRob Herring 204*724ba675SRob Herring&usbhshost { 205*724ba675SRob Herring port1-mode = "ehci-phy"; 206*724ba675SRob Herring port2-mode = "ehci-phy"; 207*724ba675SRob Herring}; 208*724ba675SRob Herring 209*724ba675SRob Herring&usbhsehci { 210*724ba675SRob Herring phys = <&hsusb1_phy &hsusb2_phy>; 211*724ba675SRob Herring}; 212*724ba675SRob Herring 213*724ba675SRob Herring&mcspi1 { 214*724ba675SRob Herring pinctrl-names = "default"; 215*724ba675SRob Herring pinctrl-0 = <&mcspi1_pins>; 216*724ba675SRob Herring 217*724ba675SRob Herring /* touch controller */ 218*724ba675SRob Herring ads7846@0 { 219*724ba675SRob Herring pinctrl-names = "default"; 220*724ba675SRob Herring pinctrl-0 = <&ads7846_pins>; 221*724ba675SRob Herring 222*724ba675SRob Herring compatible = "ti,ads7846"; 223*724ba675SRob Herring vcc-supply = <&ads7846reg>; 224*724ba675SRob Herring 225*724ba675SRob Herring reg = <0>; /* CS0 */ 226*724ba675SRob Herring spi-max-frequency = <1500000>; 227*724ba675SRob Herring 228*724ba675SRob Herring interrupt-parent = <&gpio2>; 229*724ba675SRob Herring interrupts = <25 0>; /* gpio_57 */ 230*724ba675SRob Herring pendown-gpio = <&gpio2 25 GPIO_ACTIVE_HIGH>; 231*724ba675SRob Herring 232*724ba675SRob Herring ti,x-min = /bits/ 16 <0x0>; 233*724ba675SRob Herring ti,x-max = /bits/ 16 <0x0fff>; 234*724ba675SRob Herring ti,y-min = /bits/ 16 <0x0>; 235*724ba675SRob Herring ti,y-max = /bits/ 16 <0x0fff>; 236*724ba675SRob Herring 237*724ba675SRob Herring ti,x-plate-ohms = /bits/ 16 <180>; 238*724ba675SRob Herring ti,pressure-max = /bits/ 16 <255>; 239*724ba675SRob Herring 240*724ba675SRob Herring ti,debounce-max = /bits/ 16 <30>; 241*724ba675SRob Herring ti,debounce-tol = /bits/ 16 <10>; 242*724ba675SRob Herring ti,debounce-rep = /bits/ 16 <1>; 243*724ba675SRob Herring 244*724ba675SRob Herring wakeup-source; 245*724ba675SRob Herring }; 246*724ba675SRob Herring}; 247*724ba675SRob Herring 248*724ba675SRob Herring&venc { 249*724ba675SRob Herring status = "okay"; 250*724ba675SRob Herring 251*724ba675SRob Herring port { 252*724ba675SRob Herring venc_out: endpoint { 253*724ba675SRob Herring remote-endpoint = <&tv_connector_in>; 254*724ba675SRob Herring ti,channels = <2>; 255*724ba675SRob Herring }; 256*724ba675SRob Herring }; 257*724ba675SRob Herring}; 258*724ba675SRob Herring 259*724ba675SRob Herring&mcbsp2 { 260*724ba675SRob Herring status = "okay"; 261*724ba675SRob Herring 262*724ba675SRob Herring pinctrl-names = "default"; 263*724ba675SRob Herring pinctrl-0 = <&mcbsp2_pins>; 264*724ba675SRob Herring}; 265*724ba675SRob Herring 266*724ba675SRob Herring&gpmc { 267*724ba675SRob Herring ranges = <0 0 0x30000000 0x01000000>; /* CS0: 16MB for NAND */ 268*724ba675SRob Herring 269*724ba675SRob Herring nand@0,0 { 270*724ba675SRob Herring compatible = "ti,omap2-nand"; 271*724ba675SRob Herring reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ 272*724ba675SRob Herring interrupt-parent = <&gpmc>; 273*724ba675SRob Herring interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ 274*724ba675SRob Herring <1 IRQ_TYPE_NONE>; /* termcount */ 275*724ba675SRob Herring nand-bus-width = <8>; 276*724ba675SRob Herring gpmc,device-width = <1>; 277*724ba675SRob Herring ti,nand-ecc-opt = "sw"; 278*724ba675SRob Herring 279*724ba675SRob Herring gpmc,cs-on-ns = <0>; 280*724ba675SRob Herring gpmc,cs-rd-off-ns = <120>; 281*724ba675SRob Herring gpmc,cs-wr-off-ns = <120>; 282*724ba675SRob Herring 283*724ba675SRob Herring gpmc,adv-on-ns = <0>; 284*724ba675SRob Herring gpmc,adv-rd-off-ns = <120>; 285*724ba675SRob Herring gpmc,adv-wr-off-ns = <120>; 286*724ba675SRob Herring 287*724ba675SRob Herring gpmc,we-on-ns = <6>; 288*724ba675SRob Herring gpmc,we-off-ns = <90>; 289*724ba675SRob Herring 290*724ba675SRob Herring gpmc,oe-on-ns = <6>; 291*724ba675SRob Herring gpmc,oe-off-ns = <90>; 292*724ba675SRob Herring 293*724ba675SRob Herring gpmc,page-burst-access-ns = <6>; 294*724ba675SRob Herring gpmc,access-ns = <72>; 295*724ba675SRob Herring gpmc,cycle2cycle-delay-ns = <60>; 296*724ba675SRob Herring 297*724ba675SRob Herring gpmc,rd-cycle-ns = <120>; 298*724ba675SRob Herring gpmc,wr-cycle-ns = <120>; 299*724ba675SRob Herring gpmc,wr-access-ns = <186>; 300*724ba675SRob Herring gpmc,wr-data-mux-bus-ns = <90>; 301*724ba675SRob Herring 302*724ba675SRob Herring #address-cells = <1>; 303*724ba675SRob Herring #size-cells = <1>; 304*724ba675SRob Herring 305*724ba675SRob Herring partition@0 { 306*724ba675SRob Herring label = "xloader"; 307*724ba675SRob Herring reg = <0 0x80000>; 308*724ba675SRob Herring }; 309*724ba675SRob Herring partition@80000 { 310*724ba675SRob Herring label = "uboot"; 311*724ba675SRob Herring reg = <0x80000 0x1e0000>; 312*724ba675SRob Herring }; 313*724ba675SRob Herring partition@260000 { 314*724ba675SRob Herring label = "uboot environment"; 315*724ba675SRob Herring reg = <0x260000 0x40000>; 316*724ba675SRob Herring }; 317*724ba675SRob Herring partition@2a0000 { 318*724ba675SRob Herring label = "linux"; 319*724ba675SRob Herring reg = <0x2a0000 0x400000>; 320*724ba675SRob Herring }; 321*724ba675SRob Herring partition@6a0000 { 322*724ba675SRob Herring label = "rootfs"; 323*724ba675SRob Herring reg = <0x6a0000 0x1f880000>; 324*724ba675SRob Herring }; 325*724ba675SRob Herring }; 326*724ba675SRob Herring}; 327