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

ARM: dts: TS-4800: add basic device tree

This device tree adds support for TS-4800 by Technologic Systems. This
board is based on MX51-babbage, but there are some subtle differences in
the pins used, and there is an additional FPGA that is memory-mapped.

More details here:
http://wiki.embeddedarm.com/wiki/TS-4800

Signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>

authored by

Damien Riegel and committed by
Shawn Guo
b446ff22 7ee70f23

+182 -1
+2 -1
arch/arm/boot/dts/Makefile
··· 268 268 imx51-apf51dev.dtb \ 269 269 imx51-babbage.dtb \ 270 270 imx51-digi-connectcore-jsk.dtb \ 271 - imx51-eukrea-mbimxsd51-baseboard.dtb 271 + imx51-eukrea-mbimxsd51-baseboard.dtb \ 272 + imx51-ts4800.dtb 272 273 dtb-$(CONFIG_SOC_IMX53) += \ 273 274 imx53-ard.dtb \ 274 275 imx53-m53evk.dtb \
+180
arch/arm/boot/dts/imx51-ts4800.dts
··· 1 + /* 2 + * Copyright 2015 Savoir-faire Linux 3 + * 4 + * This device tree is based on imx51-babbage.dts 5 + * 6 + * Licensed under the X11 license or the GPL v2 (or later) 7 + */ 8 + 9 + /dts-v1/; 10 + #include "imx51.dtsi" 11 + 12 + / { 13 + model = "Technologic Systems TS-4800"; 14 + compatible = "technologic,imx51-ts4800", "fsl,imx51"; 15 + 16 + chosen { 17 + stdout-path = &uart1; 18 + }; 19 + 20 + memory { 21 + reg = <0x90000000 0x10000000>; 22 + }; 23 + 24 + soc { 25 + fpga { 26 + compatible = "simple-bus"; 27 + reg = <0xb0000000 0x1d000>; 28 + #address-cells = <1>; 29 + #size-cells = <1>; 30 + ranges; 31 + 32 + syscon: syscon@b0010000 { 33 + compatible = "syscon", "simple-mfd"; 34 + reg = <0xb0010000 0x3d>; 35 + reg-io-width = <2>; 36 + 37 + wdt@e { 38 + compatible = "technologic,ts4800-wdt"; 39 + syscon = <&syscon 0xe>; 40 + }; 41 + }; 42 + }; 43 + }; 44 + 45 + clocks { 46 + ckih1 { 47 + clock-frequency = <22579200>; 48 + }; 49 + 50 + ckih2 { 51 + clock-frequency = <24576000>; 52 + }; 53 + }; 54 + }; 55 + 56 + &esdhc1 { 57 + pinctrl-names = "default"; 58 + pinctrl-0 = <&pinctrl_esdhc1>; 59 + cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; 60 + wp-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; 61 + status = "okay"; 62 + }; 63 + 64 + &fec { 65 + pinctrl-names = "default"; 66 + pinctrl-0 = <&pinctrl_fec>; 67 + phy-mode = "mii"; 68 + phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>; 69 + phy-reset-duration = <1>; 70 + status = "okay"; 71 + }; 72 + 73 + &i2c2 { 74 + pinctrl-names = "default"; 75 + pinctrl-0 = <&pinctrl_i2c2>; 76 + status = "okay"; 77 + 78 + rtc: m41t00@68 { 79 + compatible = "stm,m41t00"; 80 + reg = <0x68>; 81 + }; 82 + }; 83 + 84 + &uart1 { 85 + pinctrl-names = "default"; 86 + pinctrl-0 = <&pinctrl_uart1>; 87 + status = "okay"; 88 + }; 89 + 90 + &uart2 { 91 + pinctrl-names = "default"; 92 + pinctrl-0 = <&pinctrl_uart2>; 93 + status = "okay"; 94 + }; 95 + 96 + &uart3 { 97 + pinctrl-names = "default"; 98 + pinctrl-0 = <&pinctrl_uart3>; 99 + status = "okay"; 100 + }; 101 + 102 + &iomuxc { 103 + pinctrl_ecspi1: ecspi1grp { 104 + fsl,pins = < 105 + MX51_PAD_CSPI1_MISO__ECSPI1_MISO 0x185 106 + MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 0x185 107 + MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 0x185 108 + MX51_PAD_CSPI1_SS0__GPIO4_24 0x85 /* CS0 */ 109 + >; 110 + }; 111 + 112 + pinctrl_esdhc1: esdhc1grp { 113 + fsl,pins = < 114 + MX51_PAD_SD1_CMD__SD1_CMD 0x400020d5 115 + MX51_PAD_SD1_CLK__SD1_CLK 0x20d5 116 + MX51_PAD_SD1_DATA0__SD1_DATA0 0x20d5 117 + MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5 118 + MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5 119 + MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5 120 + MX51_PAD_GPIO1_0__GPIO1_0 0x100 121 + MX51_PAD_GPIO1_1__GPIO1_1 0x100 122 + >; 123 + }; 124 + 125 + pinctrl_fec: fecgrp { 126 + fsl,pins = < 127 + MX51_PAD_EIM_EB2__FEC_MDIO 0x000001f5 128 + MX51_PAD_EIM_EB3__FEC_RDATA1 0x00000085 129 + MX51_PAD_EIM_CS2__FEC_RDATA2 0x00000085 130 + MX51_PAD_EIM_CS3__FEC_RDATA3 0x00000085 131 + MX51_PAD_EIM_CS4__FEC_RX_ER 0x00000180 132 + MX51_PAD_EIM_CS5__FEC_CRS 0x00000180 133 + MX51_PAD_DISP2_DAT10__FEC_COL 0x00000180 134 + MX51_PAD_DISP2_DAT11__FEC_RX_CLK 0x00000180 135 + MX51_PAD_DISP2_DAT14__FEC_RDATA0 0x00002180 136 + MX51_PAD_DISP2_DAT15__FEC_TDATA0 0x00002004 137 + MX51_PAD_NANDF_CS2__FEC_TX_ER 0x00002004 138 + MX51_PAD_DI2_PIN2__FEC_MDC 0x00002004 139 + MX51_PAD_DISP2_DAT6__FEC_TDATA1 0x00002004 140 + MX51_PAD_DISP2_DAT7__FEC_TDATA2 0x00002004 141 + MX51_PAD_DISP2_DAT8__FEC_TDATA3 0x00002004 142 + MX51_PAD_DISP2_DAT9__FEC_TX_EN 0x00002004 143 + MX51_PAD_DISP2_DAT13__FEC_TX_CLK 0x00002180 144 + MX51_PAD_DISP2_DAT12__FEC_RX_DV 0x000020a4 145 + MX51_PAD_EIM_A20__GPIO2_14 0x00000085 /* Phy Reset */ 146 + >; 147 + }; 148 + 149 + pinctrl_i2c2: i2c2grp { 150 + fsl,pins = < 151 + MX51_PAD_KEY_COL4__I2C2_SCL 0x400001ed 152 + MX51_PAD_KEY_COL5__I2C2_SDA 0x400001ed 153 + >; 154 + }; 155 + 156 + pinctrl_uart1: uart1grp { 157 + fsl,pins = < 158 + MX51_PAD_UART1_RXD__UART1_RXD 0x1c5 159 + MX51_PAD_UART1_TXD__UART1_TXD 0x1c5 160 + MX51_PAD_UART1_RTS__UART1_RTS 0x1c5 161 + MX51_PAD_UART1_CTS__UART1_CTS 0x1c5 162 + >; 163 + }; 164 + 165 + pinctrl_uart2: uart2grp { 166 + fsl,pins = < 167 + MX51_PAD_UART2_RXD__UART2_RXD 0x1c5 168 + MX51_PAD_UART2_TXD__UART2_TXD 0x1c5 169 + >; 170 + }; 171 + 172 + pinctrl_uart3: uart3grp { 173 + fsl,pins = < 174 + MX51_PAD_EIM_D25__UART3_RXD 0x1c5 175 + MX51_PAD_EIM_D26__UART3_TXD 0x1c5 176 + MX51_PAD_EIM_D27__UART3_RTS 0x1c5 177 + MX51_PAD_EIM_D24__UART3_CTS 0x1c5 178 + >; 179 + }; 180 + };