0001 /*
0002 * Copyright 2015 Savoir-faire Linux
0003 *
0004 * This device tree is based on imx51-babbage.dts
0005 *
0006 * Licensed under the X11 license or the GPL v2 (or later)
0007 */
0008
0009 /dts-v1/;
0010 #include "imx51.dtsi"
0011
0012 / {
0013 model = "Technologic Systems TS-4800";
0014 compatible = "technologic,imx51-ts4800", "fsl,imx51";
0015
0016 chosen {
0017 stdout-path = &uart1;
0018 };
0019
0020 memory@90000000 {
0021 device_type = "memory";
0022 reg = <0x90000000 0x10000000>;
0023 };
0024
0025 clocks {
0026 ckih1 {
0027 clock-frequency = <22579200>;
0028 };
0029
0030 ckih2 {
0031 clock-frequency = <24576000>;
0032 };
0033 };
0034
0035 backlight_reg: regulator-backlight {
0036 compatible = "regulator-fixed";
0037 pinctrl-names = "default";
0038 pinctrl-0 = <&pinctrl_enable_lcd>;
0039 regulator-name = "enable_lcd_reg";
0040 regulator-min-microvolt = <3300000>;
0041 regulator-max-microvolt = <3300000>;
0042 gpio = <&gpio4 9 GPIO_ACTIVE_HIGH>;
0043 enable-active-high;
0044 };
0045
0046 backlight: backlight {
0047 compatible = "pwm-backlight";
0048 pwms = <&pwm1 0 78770>;
0049 brightness-levels = <0 150 200 255>;
0050 default-brightness-level = <1>;
0051 power-supply = <&backlight_reg>;
0052 };
0053
0054 display1: disp1 {
0055 compatible = "fsl,imx-parallel-display";
0056 interface-pix-fmt = "rgb24";
0057 pinctrl-names = "default";
0058 pinctrl-0 = <&pinctrl_lcd>;
0059
0060 display-timings {
0061 800x480p60 {
0062 native-mode;
0063 clock-frequency = <30066000>;
0064 hactive = <800>;
0065 vactive = <480>;
0066 hfront-porch = <50>;
0067 hback-porch = <70>;
0068 hsync-len = <50>;
0069 vback-porch = <0>;
0070 vfront-porch = <0>;
0071 vsync-len = <50>;
0072 };
0073 };
0074
0075 port {
0076 display0_in: endpoint {
0077 remote-endpoint = <&ipu_di0_disp1>;
0078 };
0079 };
0080 };
0081 };
0082
0083 &esdhc1 {
0084 pinctrl-names = "default";
0085 pinctrl-0 = <&pinctrl_esdhc1>;
0086 cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
0087 wp-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
0088 status = "okay";
0089 };
0090
0091 &fec {
0092 pinctrl-names = "default";
0093 pinctrl-0 = <&pinctrl_fec>;
0094 phy-mode = "mii";
0095 phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
0096 phy-reset-duration = <1>;
0097 status = "okay";
0098 };
0099
0100 &i2c2 {
0101 pinctrl-names = "default";
0102 pinctrl-0 = <&pinctrl_i2c2>;
0103 status = "okay";
0104
0105 rtc: rtc@68 {
0106 compatible = "st,m41t00";
0107 reg = <0x68>;
0108 };
0109 };
0110
0111 &ipu_di0_disp1 {
0112 remote-endpoint = <&display0_in>;
0113 };
0114
0115 &pwm1 {
0116 #pwm-cells = <2>;
0117 pinctrl-names = "default";
0118 pinctrl-0 = <&pinctrl_pwm_backlight>;
0119 status = "okay";
0120 };
0121
0122 &uart1 {
0123 pinctrl-names = "default";
0124 pinctrl-0 = <&pinctrl_uart1>;
0125 status = "okay";
0126 };
0127
0128 &uart2 {
0129 pinctrl-names = "default";
0130 pinctrl-0 = <&pinctrl_uart2>;
0131 status = "okay";
0132 };
0133
0134 &uart3 {
0135 pinctrl-names = "default";
0136 pinctrl-0 = <&pinctrl_uart3>;
0137 status = "okay";
0138 };
0139
0140 &weim {
0141 pinctrl-names = "default";
0142 pinctrl-0 = <&pinctrl_weim>;
0143 status = "okay";
0144
0145 fpga@0 {
0146 compatible = "simple-bus";
0147 fsl,weim-cs-timing = <0x0061008F 0x00000002 0x1c022000
0148 0x00000000 0x1c092480 0x00000000>;
0149 reg = <0 0x0000000 0x1d000>;
0150 #address-cells = <1>;
0151 #size-cells = <1>;
0152 ranges = <0 0 0 0x1d000>;
0153
0154 syscon: syscon@10000 {
0155 compatible = "syscon", "simple-mfd";
0156 reg = <0x10000 0x3d>;
0157 reg-io-width = <2>;
0158
0159 wdt {
0160 compatible = "technologic,ts4800-wdt";
0161 syscon = <&syscon 0xe>;
0162 };
0163 };
0164
0165 touchscreen@12000 {
0166 compatible = "technologic,ts4800-ts";
0167 reg = <0x12000 0x1000>;
0168 syscon = <&syscon 0x10 6>;
0169 };
0170
0171 fpga_irqc: fpga-irqc@15000 {
0172 compatible = "technologic,ts4800-irqc";
0173 reg = <0x15000 0x1000>;
0174 pinctrl-names = "default";
0175 pinctrl-0 = <&pinctrl_interrupt_fpga>;
0176 interrupt-parent = <&gpio2>;
0177 interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
0178 interrupt-controller;
0179 #interrupt-cells = <1>;
0180 };
0181
0182 can@1a000 {
0183 compatible = "technologic,sja1000";
0184 reg = <0x1a000 0x100>;
0185 interrupt-parent = <&fpga_irqc>;
0186 interrupts = <1>;
0187 reg-io-width = <2>;
0188 nxp,tx-output-config = <0x06>;
0189 nxp,external-clock-frequency = <24000000>;
0190 };
0191 };
0192 };
0193
0194 &iomuxc {
0195 pinctrl_ecspi1: ecspi1grp {
0196 fsl,pins = <
0197 MX51_PAD_CSPI1_MISO__ECSPI1_MISO 0x185
0198 MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 0x185
0199 MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 0x185
0200 MX51_PAD_CSPI1_SS0__GPIO4_24 0x85 /* CS0 */
0201 >;
0202 };
0203
0204 pinctrl_enable_lcd: enablelcdgrp {
0205 fsl,pins = <
0206 MX51_PAD_CSI2_D12__GPIO4_9 0x1c5
0207 >;
0208 };
0209
0210 pinctrl_esdhc1: esdhc1grp {
0211 fsl,pins = <
0212 MX51_PAD_SD1_CMD__SD1_CMD 0x400020d5
0213 MX51_PAD_SD1_CLK__SD1_CLK 0x20d5
0214 MX51_PAD_SD1_DATA0__SD1_DATA0 0x20d5
0215 MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5
0216 MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5
0217 MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5
0218 MX51_PAD_GPIO1_0__GPIO1_0 0x100
0219 MX51_PAD_GPIO1_1__GPIO1_1 0x100
0220 >;
0221 };
0222
0223 pinctrl_fec: fecgrp {
0224 fsl,pins = <
0225 MX51_PAD_EIM_EB2__FEC_MDIO 0x000001f5
0226 MX51_PAD_EIM_EB3__FEC_RDATA1 0x00000085
0227 MX51_PAD_EIM_CS2__FEC_RDATA2 0x00000085
0228 MX51_PAD_EIM_CS3__FEC_RDATA3 0x00000085
0229 MX51_PAD_EIM_CS4__FEC_RX_ER 0x00000180
0230 MX51_PAD_EIM_CS5__FEC_CRS 0x00000180
0231 MX51_PAD_DISP2_DAT10__FEC_COL 0x00000180
0232 MX51_PAD_DISP2_DAT11__FEC_RX_CLK 0x00000180
0233 MX51_PAD_DISP2_DAT14__FEC_RDATA0 0x00002180
0234 MX51_PAD_DISP2_DAT15__FEC_TDATA0 0x00002004
0235 MX51_PAD_NANDF_CS2__FEC_TX_ER 0x00002004
0236 MX51_PAD_DI2_PIN2__FEC_MDC 0x00002004
0237 MX51_PAD_DISP2_DAT6__FEC_TDATA1 0x00002004
0238 MX51_PAD_DISP2_DAT7__FEC_TDATA2 0x00002004
0239 MX51_PAD_DISP2_DAT8__FEC_TDATA3 0x00002004
0240 MX51_PAD_DISP2_DAT9__FEC_TX_EN 0x00002004
0241 MX51_PAD_DISP2_DAT13__FEC_TX_CLK 0x00002180
0242 MX51_PAD_DISP2_DAT12__FEC_RX_DV 0x000020a4
0243 MX51_PAD_EIM_A20__GPIO2_14 0x00000085 /* Phy Reset */
0244 >;
0245 };
0246
0247 pinctrl_i2c2: i2c2grp {
0248 fsl,pins = <
0249 MX51_PAD_KEY_COL4__I2C2_SCL 0x400001ed
0250 MX51_PAD_KEY_COL5__I2C2_SDA 0x400001ed
0251 >;
0252 };
0253
0254 pinctrl_interrupt_fpga: fpgaicgrp {
0255 fsl,pins = <
0256 MX51_PAD_EIM_D27__GPIO2_9 0xe5
0257 >;
0258 };
0259
0260 pinctrl_lcd: lcdgrp {
0261 fsl,pins = <
0262 MX51_PAD_DISP1_DAT0__DISP1_DAT0 0x5
0263 MX51_PAD_DISP1_DAT1__DISP1_DAT1 0x5
0264 MX51_PAD_DISP1_DAT2__DISP1_DAT2 0x5
0265 MX51_PAD_DISP1_DAT3__DISP1_DAT3 0x5
0266 MX51_PAD_DISP1_DAT4__DISP1_DAT4 0x5
0267 MX51_PAD_DISP1_DAT5__DISP1_DAT5 0x5
0268 MX51_PAD_DISP1_DAT6__DISP1_DAT6 0x5
0269 MX51_PAD_DISP1_DAT7__DISP1_DAT7 0x5
0270 MX51_PAD_DISP1_DAT8__DISP1_DAT8 0x5
0271 MX51_PAD_DISP1_DAT9__DISP1_DAT9 0x5
0272 MX51_PAD_DISP1_DAT10__DISP1_DAT10 0x5
0273 MX51_PAD_DISP1_DAT11__DISP1_DAT11 0x5
0274 MX51_PAD_DISP1_DAT12__DISP1_DAT12 0x5
0275 MX51_PAD_DISP1_DAT13__DISP1_DAT13 0x5
0276 MX51_PAD_DISP1_DAT14__DISP1_DAT14 0x5
0277 MX51_PAD_DISP1_DAT15__DISP1_DAT15 0x5
0278 MX51_PAD_DISP1_DAT16__DISP1_DAT16 0x5
0279 MX51_PAD_DISP1_DAT17__DISP1_DAT17 0x5
0280 MX51_PAD_DISP1_DAT18__DISP1_DAT18 0x5
0281 MX51_PAD_DISP1_DAT19__DISP1_DAT19 0x5
0282 MX51_PAD_DISP1_DAT20__DISP1_DAT20 0x5
0283 MX51_PAD_DISP1_DAT21__DISP1_DAT21 0x5
0284 MX51_PAD_DISP1_DAT22__DISP1_DAT22 0x5
0285 MX51_PAD_DISP1_DAT23__DISP1_DAT23 0x5
0286 MX51_PAD_DI1_PIN2__DI1_PIN2 0x5
0287 MX51_PAD_DI1_PIN3__DI1_PIN3 0x5
0288 MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK 0x5
0289 MX51_PAD_DI_GP4__DI2_PIN15 0x5
0290 >;
0291 };
0292
0293 pinctrl_pwm_backlight: backlightgrp {
0294 fsl,pins = <
0295 MX51_PAD_GPIO1_2__PWM1_PWMO 0x80000000
0296 >;
0297 };
0298
0299 pinctrl_uart1: uart1grp {
0300 fsl,pins = <
0301 MX51_PAD_UART1_RXD__UART1_RXD 0x1c5
0302 MX51_PAD_UART1_TXD__UART1_TXD 0x1c5
0303 >;
0304 };
0305
0306 pinctrl_uart2: uart2grp {
0307 fsl,pins = <
0308 MX51_PAD_UART2_RXD__UART2_RXD 0x1c5
0309 MX51_PAD_UART2_TXD__UART2_TXD 0x1c5
0310 >;
0311 };
0312
0313 pinctrl_uart3: uart3grp {
0314 fsl,pins = <
0315 MX51_PAD_EIM_D25__UART3_RXD 0x1c5
0316 MX51_PAD_EIM_D26__UART3_TXD 0x1c5
0317 >;
0318 };
0319
0320 pinctrl_weim: weimgrp {
0321 fsl,pins = <
0322 MX51_PAD_EIM_DTACK__EIM_DTACK 0x85
0323 MX51_PAD_EIM_CS0__EIM_CS0 0x0
0324 MX51_PAD_EIM_CS1__EIM_CS1 0x0
0325 MX51_PAD_EIM_EB0__EIM_EB0 0x85
0326 MX51_PAD_EIM_EB1__EIM_EB1 0x85
0327 MX51_PAD_EIM_OE__EIM_OE 0x85
0328 MX51_PAD_EIM_LBA__EIM_LBA 0x85
0329 >;
0330 };
0331 };