1*724ba675SRob Herring/* 2*724ba675SRob Herring * Copyright 2015 Savoir-faire Linux 3*724ba675SRob Herring * 4*724ba675SRob Herring * This device tree is based on imx51-babbage.dts 5*724ba675SRob Herring * 6*724ba675SRob Herring * Licensed under the X11 license or the GPL v2 (or later) 7*724ba675SRob Herring */ 8*724ba675SRob Herring 9*724ba675SRob Herring/dts-v1/; 10*724ba675SRob Herring#include "imx51.dtsi" 11*724ba675SRob Herring 12*724ba675SRob Herring/ { 13*724ba675SRob Herring model = "Technologic Systems TS-4800"; 14*724ba675SRob Herring compatible = "technologic,imx51-ts4800", "fsl,imx51"; 15*724ba675SRob Herring 16*724ba675SRob Herring chosen { 17*724ba675SRob Herring stdout-path = &uart1; 18*724ba675SRob Herring }; 19*724ba675SRob Herring 20*724ba675SRob Herring memory@90000000 { 21*724ba675SRob Herring device_type = "memory"; 22*724ba675SRob Herring reg = <0x90000000 0x10000000>; 23*724ba675SRob Herring }; 24*724ba675SRob Herring 25*724ba675SRob Herring clocks { 26*724ba675SRob Herring ckih1 { 27*724ba675SRob Herring clock-frequency = <22579200>; 28*724ba675SRob Herring }; 29*724ba675SRob Herring 30*724ba675SRob Herring ckih2 { 31*724ba675SRob Herring clock-frequency = <24576000>; 32*724ba675SRob Herring }; 33*724ba675SRob Herring }; 34*724ba675SRob Herring 35*724ba675SRob Herring backlight_reg: regulator-backlight { 36*724ba675SRob Herring compatible = "regulator-fixed"; 37*724ba675SRob Herring pinctrl-names = "default"; 38*724ba675SRob Herring pinctrl-0 = <&pinctrl_enable_lcd>; 39*724ba675SRob Herring regulator-name = "enable_lcd_reg"; 40*724ba675SRob Herring regulator-min-microvolt = <3300000>; 41*724ba675SRob Herring regulator-max-microvolt = <3300000>; 42*724ba675SRob Herring gpio = <&gpio4 9 GPIO_ACTIVE_HIGH>; 43*724ba675SRob Herring enable-active-high; 44*724ba675SRob Herring }; 45*724ba675SRob Herring 46*724ba675SRob Herring backlight: backlight { 47*724ba675SRob Herring compatible = "pwm-backlight"; 48*724ba675SRob Herring pwms = <&pwm1 0 78770>; 49*724ba675SRob Herring brightness-levels = <0 150 200 255>; 50*724ba675SRob Herring default-brightness-level = <1>; 51*724ba675SRob Herring power-supply = <&backlight_reg>; 52*724ba675SRob Herring }; 53*724ba675SRob Herring 54*724ba675SRob Herring display1: disp1 { 55*724ba675SRob Herring compatible = "fsl,imx-parallel-display"; 56*724ba675SRob Herring interface-pix-fmt = "rgb24"; 57*724ba675SRob Herring pinctrl-names = "default"; 58*724ba675SRob Herring pinctrl-0 = <&pinctrl_lcd>; 59*724ba675SRob Herring 60*724ba675SRob Herring display-timings { 61*724ba675SRob Herring 800x480p60 { 62*724ba675SRob Herring native-mode; 63*724ba675SRob Herring clock-frequency = <30066000>; 64*724ba675SRob Herring hactive = <800>; 65*724ba675SRob Herring vactive = <480>; 66*724ba675SRob Herring hfront-porch = <50>; 67*724ba675SRob Herring hback-porch = <70>; 68*724ba675SRob Herring hsync-len = <50>; 69*724ba675SRob Herring vback-porch = <0>; 70*724ba675SRob Herring vfront-porch = <0>; 71*724ba675SRob Herring vsync-len = <50>; 72*724ba675SRob Herring }; 73*724ba675SRob Herring }; 74*724ba675SRob Herring 75*724ba675SRob Herring port { 76*724ba675SRob Herring display0_in: endpoint { 77*724ba675SRob Herring remote-endpoint = <&ipu_di0_disp1>; 78*724ba675SRob Herring }; 79*724ba675SRob Herring }; 80*724ba675SRob Herring }; 81*724ba675SRob Herring}; 82*724ba675SRob Herring 83*724ba675SRob Herring&esdhc1 { 84*724ba675SRob Herring pinctrl-names = "default"; 85*724ba675SRob Herring pinctrl-0 = <&pinctrl_esdhc1>; 86*724ba675SRob Herring cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; 87*724ba675SRob Herring wp-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; 88*724ba675SRob Herring status = "okay"; 89*724ba675SRob Herring}; 90*724ba675SRob Herring 91*724ba675SRob Herring&fec { 92*724ba675SRob Herring pinctrl-names = "default"; 93*724ba675SRob Herring pinctrl-0 = <&pinctrl_fec>; 94*724ba675SRob Herring phy-mode = "mii"; 95*724ba675SRob Herring phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>; 96*724ba675SRob Herring phy-reset-duration = <1>; 97*724ba675SRob Herring status = "okay"; 98*724ba675SRob Herring}; 99*724ba675SRob Herring 100*724ba675SRob Herring&i2c2 { 101*724ba675SRob Herring pinctrl-names = "default"; 102*724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c2>; 103*724ba675SRob Herring status = "okay"; 104*724ba675SRob Herring 105*724ba675SRob Herring rtc: rtc@68 { 106*724ba675SRob Herring compatible = "st,m41t00"; 107*724ba675SRob Herring reg = <0x68>; 108*724ba675SRob Herring }; 109*724ba675SRob Herring}; 110*724ba675SRob Herring 111*724ba675SRob Herring&ipu_di0_disp1 { 112*724ba675SRob Herring remote-endpoint = <&display0_in>; 113*724ba675SRob Herring}; 114*724ba675SRob Herring 115*724ba675SRob Herring&pwm1 { 116*724ba675SRob Herring #pwm-cells = <2>; 117*724ba675SRob Herring pinctrl-names = "default"; 118*724ba675SRob Herring pinctrl-0 = <&pinctrl_pwm_backlight>; 119*724ba675SRob Herring status = "okay"; 120*724ba675SRob Herring}; 121*724ba675SRob Herring 122*724ba675SRob Herring&uart1 { 123*724ba675SRob Herring pinctrl-names = "default"; 124*724ba675SRob Herring pinctrl-0 = <&pinctrl_uart1>; 125*724ba675SRob Herring status = "okay"; 126*724ba675SRob Herring}; 127*724ba675SRob Herring 128*724ba675SRob Herring&uart2 { 129*724ba675SRob Herring pinctrl-names = "default"; 130*724ba675SRob Herring pinctrl-0 = <&pinctrl_uart2>; 131*724ba675SRob Herring status = "okay"; 132*724ba675SRob Herring}; 133*724ba675SRob Herring 134*724ba675SRob Herring&uart3 { 135*724ba675SRob Herring pinctrl-names = "default"; 136*724ba675SRob Herring pinctrl-0 = <&pinctrl_uart3>; 137*724ba675SRob Herring status = "okay"; 138*724ba675SRob Herring}; 139*724ba675SRob Herring 140*724ba675SRob Herring&weim { 141*724ba675SRob Herring pinctrl-names = "default"; 142*724ba675SRob Herring pinctrl-0 = <&pinctrl_weim>; 143*724ba675SRob Herring status = "okay"; 144*724ba675SRob Herring 145*724ba675SRob Herring fpga@0 { 146*724ba675SRob Herring compatible = "simple-bus"; 147*724ba675SRob Herring fsl,weim-cs-timing = <0x0061008F 0x00000002 0x1c022000 148*724ba675SRob Herring 0x00000000 0x1c092480 0x00000000>; 149*724ba675SRob Herring reg = <0 0x0000000 0x1d000>; 150*724ba675SRob Herring #address-cells = <1>; 151*724ba675SRob Herring #size-cells = <1>; 152*724ba675SRob Herring ranges = <0 0 0 0x1d000>; 153*724ba675SRob Herring 154*724ba675SRob Herring syscon: syscon@10000 { 155*724ba675SRob Herring compatible = "syscon", "simple-mfd"; 156*724ba675SRob Herring reg = <0x10000 0x3d>; 157*724ba675SRob Herring reg-io-width = <2>; 158*724ba675SRob Herring 159*724ba675SRob Herring wdt { 160*724ba675SRob Herring compatible = "technologic,ts4800-wdt"; 161*724ba675SRob Herring syscon = <&syscon 0xe>; 162*724ba675SRob Herring }; 163*724ba675SRob Herring }; 164*724ba675SRob Herring 165*724ba675SRob Herring touchscreen@12000 { 166*724ba675SRob Herring compatible = "technologic,ts4800-ts"; 167*724ba675SRob Herring reg = <0x12000 0x1000>; 168*724ba675SRob Herring syscon = <&syscon 0x10 6>; 169*724ba675SRob Herring }; 170*724ba675SRob Herring 171*724ba675SRob Herring fpga_irqc: fpga-irqc@15000 { 172*724ba675SRob Herring compatible = "technologic,ts4800-irqc"; 173*724ba675SRob Herring reg = <0x15000 0x1000>; 174*724ba675SRob Herring pinctrl-names = "default"; 175*724ba675SRob Herring pinctrl-0 = <&pinctrl_interrupt_fpga>; 176*724ba675SRob Herring interrupt-parent = <&gpio2>; 177*724ba675SRob Herring interrupts = <9 IRQ_TYPE_LEVEL_HIGH>; 178*724ba675SRob Herring interrupt-controller; 179*724ba675SRob Herring #interrupt-cells = <1>; 180*724ba675SRob Herring }; 181*724ba675SRob Herring 182*724ba675SRob Herring can@1a000 { 183*724ba675SRob Herring compatible = "technologic,sja1000"; 184*724ba675SRob Herring reg = <0x1a000 0x100>; 185*724ba675SRob Herring interrupt-parent = <&fpga_irqc>; 186*724ba675SRob Herring interrupts = <1>; 187*724ba675SRob Herring reg-io-width = <2>; 188*724ba675SRob Herring nxp,tx-output-config = <0x06>; 189*724ba675SRob Herring nxp,external-clock-frequency = <24000000>; 190*724ba675SRob Herring }; 191*724ba675SRob Herring }; 192*724ba675SRob Herring}; 193*724ba675SRob Herring 194*724ba675SRob Herring&iomuxc { 195*724ba675SRob Herring pinctrl_ecspi1: ecspi1grp { 196*724ba675SRob Herring fsl,pins = < 197*724ba675SRob Herring MX51_PAD_CSPI1_MISO__ECSPI1_MISO 0x185 198*724ba675SRob Herring MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 0x185 199*724ba675SRob Herring MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 0x185 200*724ba675SRob Herring MX51_PAD_CSPI1_SS0__GPIO4_24 0x85 /* CS0 */ 201*724ba675SRob Herring >; 202*724ba675SRob Herring }; 203*724ba675SRob Herring 204*724ba675SRob Herring pinctrl_enable_lcd: enablelcdgrp { 205*724ba675SRob Herring fsl,pins = < 206*724ba675SRob Herring MX51_PAD_CSI2_D12__GPIO4_9 0x1c5 207*724ba675SRob Herring >; 208*724ba675SRob Herring }; 209*724ba675SRob Herring 210*724ba675SRob Herring pinctrl_esdhc1: esdhc1grp { 211*724ba675SRob Herring fsl,pins = < 212*724ba675SRob Herring MX51_PAD_SD1_CMD__SD1_CMD 0x400020d5 213*724ba675SRob Herring MX51_PAD_SD1_CLK__SD1_CLK 0x20d5 214*724ba675SRob Herring MX51_PAD_SD1_DATA0__SD1_DATA0 0x20d5 215*724ba675SRob Herring MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5 216*724ba675SRob Herring MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5 217*724ba675SRob Herring MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5 218*724ba675SRob Herring MX51_PAD_GPIO1_0__GPIO1_0 0x100 219*724ba675SRob Herring MX51_PAD_GPIO1_1__GPIO1_1 0x100 220*724ba675SRob Herring >; 221*724ba675SRob Herring }; 222*724ba675SRob Herring 223*724ba675SRob Herring pinctrl_fec: fecgrp { 224*724ba675SRob Herring fsl,pins = < 225*724ba675SRob Herring MX51_PAD_EIM_EB2__FEC_MDIO 0x000001f5 226*724ba675SRob Herring MX51_PAD_EIM_EB3__FEC_RDATA1 0x00000085 227*724ba675SRob Herring MX51_PAD_EIM_CS2__FEC_RDATA2 0x00000085 228*724ba675SRob Herring MX51_PAD_EIM_CS3__FEC_RDATA3 0x00000085 229*724ba675SRob Herring MX51_PAD_EIM_CS4__FEC_RX_ER 0x00000180 230*724ba675SRob Herring MX51_PAD_EIM_CS5__FEC_CRS 0x00000180 231*724ba675SRob Herring MX51_PAD_DISP2_DAT10__FEC_COL 0x00000180 232*724ba675SRob Herring MX51_PAD_DISP2_DAT11__FEC_RX_CLK 0x00000180 233*724ba675SRob Herring MX51_PAD_DISP2_DAT14__FEC_RDATA0 0x00002180 234*724ba675SRob Herring MX51_PAD_DISP2_DAT15__FEC_TDATA0 0x00002004 235*724ba675SRob Herring MX51_PAD_NANDF_CS2__FEC_TX_ER 0x00002004 236*724ba675SRob Herring MX51_PAD_DI2_PIN2__FEC_MDC 0x00002004 237*724ba675SRob Herring MX51_PAD_DISP2_DAT6__FEC_TDATA1 0x00002004 238*724ba675SRob Herring MX51_PAD_DISP2_DAT7__FEC_TDATA2 0x00002004 239*724ba675SRob Herring MX51_PAD_DISP2_DAT8__FEC_TDATA3 0x00002004 240*724ba675SRob Herring MX51_PAD_DISP2_DAT9__FEC_TX_EN 0x00002004 241*724ba675SRob Herring MX51_PAD_DISP2_DAT13__FEC_TX_CLK 0x00002180 242*724ba675SRob Herring MX51_PAD_DISP2_DAT12__FEC_RX_DV 0x000020a4 243*724ba675SRob Herring MX51_PAD_EIM_A20__GPIO2_14 0x00000085 /* Phy Reset */ 244*724ba675SRob Herring >; 245*724ba675SRob Herring }; 246*724ba675SRob Herring 247*724ba675SRob Herring pinctrl_i2c2: i2c2grp { 248*724ba675SRob Herring fsl,pins = < 249*724ba675SRob Herring MX51_PAD_KEY_COL4__I2C2_SCL 0x400001ed 250*724ba675SRob Herring MX51_PAD_KEY_COL5__I2C2_SDA 0x400001ed 251*724ba675SRob Herring >; 252*724ba675SRob Herring }; 253*724ba675SRob Herring 254*724ba675SRob Herring pinctrl_interrupt_fpga: fpgaicgrp { 255*724ba675SRob Herring fsl,pins = < 256*724ba675SRob Herring MX51_PAD_EIM_D27__GPIO2_9 0xe5 257*724ba675SRob Herring >; 258*724ba675SRob Herring }; 259*724ba675SRob Herring 260*724ba675SRob Herring pinctrl_lcd: lcdgrp { 261*724ba675SRob Herring fsl,pins = < 262*724ba675SRob Herring MX51_PAD_DISP1_DAT0__DISP1_DAT0 0x5 263*724ba675SRob Herring MX51_PAD_DISP1_DAT1__DISP1_DAT1 0x5 264*724ba675SRob Herring MX51_PAD_DISP1_DAT2__DISP1_DAT2 0x5 265*724ba675SRob Herring MX51_PAD_DISP1_DAT3__DISP1_DAT3 0x5 266*724ba675SRob Herring MX51_PAD_DISP1_DAT4__DISP1_DAT4 0x5 267*724ba675SRob Herring MX51_PAD_DISP1_DAT5__DISP1_DAT5 0x5 268*724ba675SRob Herring MX51_PAD_DISP1_DAT6__DISP1_DAT6 0x5 269*724ba675SRob Herring MX51_PAD_DISP1_DAT7__DISP1_DAT7 0x5 270*724ba675SRob Herring MX51_PAD_DISP1_DAT8__DISP1_DAT8 0x5 271*724ba675SRob Herring MX51_PAD_DISP1_DAT9__DISP1_DAT9 0x5 272*724ba675SRob Herring MX51_PAD_DISP1_DAT10__DISP1_DAT10 0x5 273*724ba675SRob Herring MX51_PAD_DISP1_DAT11__DISP1_DAT11 0x5 274*724ba675SRob Herring MX51_PAD_DISP1_DAT12__DISP1_DAT12 0x5 275*724ba675SRob Herring MX51_PAD_DISP1_DAT13__DISP1_DAT13 0x5 276*724ba675SRob Herring MX51_PAD_DISP1_DAT14__DISP1_DAT14 0x5 277*724ba675SRob Herring MX51_PAD_DISP1_DAT15__DISP1_DAT15 0x5 278*724ba675SRob Herring MX51_PAD_DISP1_DAT16__DISP1_DAT16 0x5 279*724ba675SRob Herring MX51_PAD_DISP1_DAT17__DISP1_DAT17 0x5 280*724ba675SRob Herring MX51_PAD_DISP1_DAT18__DISP1_DAT18 0x5 281*724ba675SRob Herring MX51_PAD_DISP1_DAT19__DISP1_DAT19 0x5 282*724ba675SRob Herring MX51_PAD_DISP1_DAT20__DISP1_DAT20 0x5 283*724ba675SRob Herring MX51_PAD_DISP1_DAT21__DISP1_DAT21 0x5 284*724ba675SRob Herring MX51_PAD_DISP1_DAT22__DISP1_DAT22 0x5 285*724ba675SRob Herring MX51_PAD_DISP1_DAT23__DISP1_DAT23 0x5 286*724ba675SRob Herring MX51_PAD_DI1_PIN2__DI1_PIN2 0x5 287*724ba675SRob Herring MX51_PAD_DI1_PIN3__DI1_PIN3 0x5 288*724ba675SRob Herring MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK 0x5 289*724ba675SRob Herring MX51_PAD_DI_GP4__DI2_PIN15 0x5 290*724ba675SRob Herring >; 291*724ba675SRob Herring }; 292*724ba675SRob Herring 293*724ba675SRob Herring pinctrl_pwm_backlight: backlightgrp { 294*724ba675SRob Herring fsl,pins = < 295*724ba675SRob Herring MX51_PAD_GPIO1_2__PWM1_PWMO 0x80000000 296*724ba675SRob Herring >; 297*724ba675SRob Herring }; 298*724ba675SRob Herring 299*724ba675SRob Herring pinctrl_uart1: uart1grp { 300*724ba675SRob Herring fsl,pins = < 301*724ba675SRob Herring MX51_PAD_UART1_RXD__UART1_RXD 0x1c5 302*724ba675SRob Herring MX51_PAD_UART1_TXD__UART1_TXD 0x1c5 303*724ba675SRob Herring >; 304*724ba675SRob Herring }; 305*724ba675SRob Herring 306*724ba675SRob Herring pinctrl_uart2: uart2grp { 307*724ba675SRob Herring fsl,pins = < 308*724ba675SRob Herring MX51_PAD_UART2_RXD__UART2_RXD 0x1c5 309*724ba675SRob Herring MX51_PAD_UART2_TXD__UART2_TXD 0x1c5 310*724ba675SRob Herring >; 311*724ba675SRob Herring }; 312*724ba675SRob Herring 313*724ba675SRob Herring pinctrl_uart3: uart3grp { 314*724ba675SRob Herring fsl,pins = < 315*724ba675SRob Herring MX51_PAD_EIM_D25__UART3_RXD 0x1c5 316*724ba675SRob Herring MX51_PAD_EIM_D26__UART3_TXD 0x1c5 317*724ba675SRob Herring >; 318*724ba675SRob Herring }; 319*724ba675SRob Herring 320*724ba675SRob Herring pinctrl_weim: weimgrp { 321*724ba675SRob Herring fsl,pins = < 322*724ba675SRob Herring MX51_PAD_EIM_DTACK__EIM_DTACK 0x85 323*724ba675SRob Herring MX51_PAD_EIM_CS0__EIM_CS0 0x0 324*724ba675SRob Herring MX51_PAD_EIM_CS1__EIM_CS1 0x0 325*724ba675SRob Herring MX51_PAD_EIM_EB0__EIM_EB0 0x85 326*724ba675SRob Herring MX51_PAD_EIM_EB1__EIM_EB1 0x85 327*724ba675SRob Herring MX51_PAD_EIM_OE__EIM_OE 0x85 328*724ba675SRob Herring MX51_PAD_EIM_LBA__EIM_LBA 0x85 329*724ba675SRob Herring >; 330*724ba675SRob Herring }; 331*724ba675SRob Herring}; 332