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

ARM: dts: imx53: Add Menlosystems M53 board

Add device tree for the Menlosystems board based on i.MX53 M53 SoM.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
To: linux-arm-kernel@lists.infradead.org
Signed-off-by: Shawn Guo <shawnguo@kernel.org>

authored by

Marek Vasut and committed by
Shawn Guo
716be61d 6143613a

+312
+1
arch/arm/boot/dts/Makefile
··· 381 381 imx53-kp-ddc.dtb \ 382 382 imx53-kp-hsc.dtb \ 383 383 imx53-m53evk.dtb \ 384 + imx53-m53menlo.dtb \ 384 385 imx53-mba53.dtb \ 385 386 imx53-ppd.dtb \ 386 387 imx53-qsb.dtb \
+311
arch/arm/boot/dts/imx53-m53menlo.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (C) 2019 Marek Vasut <marex@denx.de> 4 + */ 5 + 6 + /dts-v1/; 7 + #include "imx53-m53.dtsi" 8 + 9 + / { 10 + model = "MENLO M53 EMBEDDED DEVICE"; 11 + compatible = "menlo,m53menlo", "fsl,imx53"; 12 + 13 + leds { 14 + compatible = "gpio-leds"; 15 + pinctrl-names = "default"; 16 + pinctrl-0 = <&pinctrl_led>; 17 + 18 + user1 { 19 + label = "TestLed601"; 20 + gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>; 21 + linux,default-trigger = "mmc0"; 22 + }; 23 + 24 + user2 { 25 + label = "TestLed602"; 26 + gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>; 27 + linux,default-trigger = "heartbeat"; 28 + }; 29 + 30 + eth { 31 + label = "EthLedYe"; 32 + gpios = <&gpio2 11 GPIO_ACTIVE_LOW>; 33 + linux,default-trigger = "none"; 34 + }; 35 + }; 36 + 37 + panel { 38 + compatible = "edt,etm070080dh6"; 39 + enable-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>; 40 + 41 + port { 42 + panel_in: endpoint { 43 + remote-endpoint = <&lvds0_out>; 44 + }; 45 + }; 46 + }; 47 + 48 + reg_usbh1_vbus: regulator-usbh1-vbus { 49 + compatible = "regulator-fixed"; 50 + regulator-name = "vbus"; 51 + regulator-min-microvolt = <5000000>; 52 + regulator-max-microvolt = <5000000>; 53 + gpio = <&gpio1 2 GPIO_ACTIVE_LOW>; 54 + }; 55 + }; 56 + 57 + &can1 { 58 + pinctrl-names = "default"; 59 + pinctrl-0 = <&pinctrl_can1>; 60 + status = "okay"; 61 + }; 62 + 63 + &can2 { 64 + pinctrl-names = "default"; 65 + pinctrl-0 = <&pinctrl_can2>; 66 + status = "okay"; 67 + }; 68 + 69 + &clks { 70 + assigned-clocks = <&clks IMX5_CLK_CKO1_SEL>, 71 + <&clks IMX5_CLK_CKO1_PODF>, 72 + <&clks IMX5_CLK_CKO1>; 73 + assigned-clock-parents = <&clks IMX5_CLK_AHB>; 74 + assigned-clock-rates = <133333334>, <33333334>, <33333334>; 75 + }; 76 + 77 + &esdhc1 { 78 + pinctrl-names = "default"; 79 + pinctrl-0 = <&pinctrl_esdhc1>; 80 + cd-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; 81 + wp-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; 82 + status = "okay"; 83 + }; 84 + 85 + &fec { 86 + pinctrl-names = "default"; 87 + pinctrl-0 = <&pinctrl_fec>; 88 + phy-mode = "rmii"; 89 + status = "okay"; 90 + }; 91 + 92 + &i2c1 { 93 + pinctrl-names = "default"; 94 + pinctrl-0 = <&pinctrl_i2c1>; 95 + status = "okay"; 96 + 97 + touchscreen@38 { 98 + compatible = "edt,edt-ft5x06"; 99 + reg = <0x38>; 100 + pinctrl-names = "default"; 101 + pinctrl-0 = <&pinctrl_edt_ft5x06>; 102 + interrupt-parent = <&gpio6>; 103 + interrupts = <5 IRQ_TYPE_EDGE_FALLING>; 104 + reset-gpios = <&gpio2 9 GPIO_ACTIVE_LOW>; 105 + wake-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>; 106 + }; 107 + 108 + eeprom@50 { 109 + compatible = "atmel,24c64"; 110 + reg = <0x50>; 111 + pagesize = <32>; 112 + }; 113 + 114 + dac@60 { 115 + compatible = "microchip,mcp4725"; 116 + reg = <0x60>; 117 + }; 118 + }; 119 + 120 + &i2c2 { 121 + touchscreen@41 { 122 + status = "disabled"; 123 + }; 124 + }; 125 + 126 + &i2c3 { 127 + pinctrl-names = "default"; 128 + pinctrl-0 = <&pinctrl_i2c3>; 129 + status = "okay"; 130 + }; 131 + 132 + &iomuxc { 133 + pinctrl-names = "default"; 134 + pinctrl-0 = <&pinctrl_hog>; 135 + 136 + imx53-m53evk { 137 + hoggrp { 138 + fsl,pins = < 139 + MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x1c4 140 + MX53_PAD_EIM_EB3__GPIO2_31 0x1d5 141 + MX53_PAD_PATA_DA_0__GPIO7_6 0x1d5 142 + MX53_PAD_GPIO_19__CCM_CLKO 0x1d5 143 + MX53_PAD_CSI0_MCLK__CCM_CSI0_MCLK 0x1d5 144 + MX53_PAD_CSI0_DAT4__GPIO5_22 0x1d5 145 + MX53_PAD_CSI0_DAT5__GPIO5_23 0x1d5 146 + MX53_PAD_CSI0_DAT6__GPIO5_24 0x1d5 147 + MX53_PAD_CSI0_DAT7__GPIO5_25 0x1d5 148 + MX53_PAD_CSI0_DAT8__GPIO5_26 0x1d5 149 + MX53_PAD_CSI0_DAT9__GPIO5_27 0x1d5 150 + MX53_PAD_CSI0_DAT10__GPIO5_28 0x1d5 151 + MX53_PAD_CSI0_DAT11__GPIO5_29 0x1d5 152 + MX53_PAD_CSI0_DAT14__GPIO6_0 0x1d5 153 + >; 154 + }; 155 + 156 + pinctrl_led: ledgrp { 157 + fsl,pins = < 158 + MX53_PAD_CSI0_DAT15__GPIO6_1 0x1d5 159 + MX53_PAD_CSI0_DAT16__GPIO6_2 0x1d5 160 + >; 161 + }; 162 + 163 + pinctrl_can1: can1grp { 164 + fsl,pins = < 165 + MX53_PAD_GPIO_7__CAN1_TXCAN 0x1c4 166 + MX53_PAD_GPIO_8__CAN1_RXCAN 0x1c4 167 + >; 168 + }; 169 + 170 + pinctrl_can2: can2grp { 171 + fsl,pins = < 172 + MX53_PAD_KEY_COL4__CAN2_TXCAN 0x1c4 173 + MX53_PAD_KEY_ROW4__CAN2_RXCAN 0x1c4 174 + >; 175 + }; 176 + 177 + pinctrl_display_gpio: display-gpiogrp { 178 + fsl,pins = < 179 + MX53_PAD_CSI0_DAT12__GPIO5_30 0x1d5 /* Reset */ 180 + MX53_PAD_CSI0_DAT13__GPIO5_31 0x1d5 /* Interrupt */ 181 + >; 182 + }; 183 + 184 + pinctrl_edt_ft5x06: edt-ft5x06grp { 185 + fsl,pins = < 186 + MX53_PAD_PATA_DATA9__GPIO2_9 0x1d5 /* Reset */ 187 + MX53_PAD_CSI0_DAT19__GPIO6_5 0x1d5 /* Interrupt */ 188 + MX53_PAD_PATA_DATA10__GPIO2_10 0x1d5 /* Wake */ 189 + >; 190 + }; 191 + 192 + pinctrl_esdhc1: esdhc1grp { 193 + fsl,pins = < 194 + MX53_PAD_SD1_DATA0__ESDHC1_DAT0 0x1d5 195 + MX53_PAD_SD1_DATA1__ESDHC1_DAT1 0x1d5 196 + MX53_PAD_SD1_DATA2__ESDHC1_DAT2 0x1d5 197 + MX53_PAD_SD1_DATA3__ESDHC1_DAT3 0x1d5 198 + MX53_PAD_SD1_CMD__ESDHC1_CMD 0x1d5 199 + MX53_PAD_SD1_CLK__ESDHC1_CLK 0x1d5 200 + >; 201 + }; 202 + 203 + pinctrl_fec: fecgrp { 204 + fsl,pins = < 205 + MX53_PAD_FEC_MDC__FEC_MDC 0x4 206 + MX53_PAD_FEC_MDIO__FEC_MDIO 0x1fc 207 + MX53_PAD_FEC_REF_CLK__FEC_TX_CLK 0x180 208 + MX53_PAD_FEC_RX_ER__FEC_RX_ER 0x180 209 + MX53_PAD_FEC_CRS_DV__FEC_RX_DV 0x180 210 + MX53_PAD_FEC_RXD1__FEC_RDATA_1 0x180 211 + MX53_PAD_FEC_RXD0__FEC_RDATA_0 0x180 212 + MX53_PAD_FEC_TX_EN__FEC_TX_EN 0x4 213 + MX53_PAD_FEC_TXD1__FEC_TDATA_1 0x4 214 + MX53_PAD_FEC_TXD0__FEC_TDATA_0 0x4 215 + >; 216 + }; 217 + 218 + pinctrl_i2c1: i2c1grp { 219 + fsl,pins = < 220 + MX53_PAD_EIM_D21__I2C1_SCL 0x400001e4 221 + MX53_PAD_EIM_D28__I2C1_SDA 0x400001e4 222 + >; 223 + }; 224 + 225 + pinctrl_i2c3: i2c3grp { 226 + fsl,pins = < 227 + MX53_PAD_GPIO_6__I2C3_SDA 0x400001e4 228 + MX53_PAD_GPIO_5__I2C3_SCL 0x400001e4 229 + >; 230 + }; 231 + 232 + pinctrl_lvds0: lvds0grp { 233 + /* LVDS pins only have pin mux configuration */ 234 + fsl,pins = < 235 + MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 0x80000000 236 + MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 0x80000000 237 + MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 0x80000000 238 + MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 0x80000000 239 + MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000 240 + >; 241 + }; 242 + 243 + pinctrl_uart1: uart1grp { 244 + fsl,pins = < 245 + MX53_PAD_PATA_DIOW__UART1_TXD_MUX 0x1e4 246 + MX53_PAD_PATA_DMACK__UART1_RXD_MUX 0x1e4 247 + >; 248 + }; 249 + 250 + pinctrl_uart2: uart2grp { 251 + fsl,pins = < 252 + MX53_PAD_PATA_BUFFER_EN__UART2_RXD_MUX 0x1e4 253 + MX53_PAD_PATA_DMARQ__UART2_TXD_MUX 0x1e4 254 + >; 255 + }; 256 + 257 + pinctrl_usb: usbgrp { 258 + fsl,pins = < 259 + MX53_PAD_GPIO_2__GPIO1_2 0x1d5 260 + MX53_PAD_GPIO_3__USBOH3_USBH1_OC 0x1d5 261 + >; 262 + }; 263 + }; 264 + }; 265 + 266 + &ldb { 267 + pinctrl-names = "default"; 268 + pinctrl-0 = <&pinctrl_lvds0>; 269 + status = "okay"; 270 + 271 + lvds0: lvds-channel@0 { 272 + reg = <0>; 273 + fsl,data-mapping = "spwg"; 274 + fsl,data-width = <18>; 275 + status = "okay"; 276 + 277 + port@2 { 278 + reg = <2>; 279 + 280 + lvds0_out: endpoint { 281 + remote-endpoint = <&panel_in>; 282 + }; 283 + }; 284 + }; 285 + }; 286 + 287 + &uart1 { 288 + pinctrl-names = "default"; 289 + pinctrl-0 = <&pinctrl_uart1>; 290 + status = "okay"; 291 + }; 292 + 293 + &uart2 { 294 + pinctrl-names = "default"; 295 + pinctrl-0 = <&pinctrl_uart2>; 296 + status = "okay"; 297 + }; 298 + 299 + &usbh1 { 300 + pinctrl-names = "default"; 301 + pinctrl-0 = <&pinctrl_usb>; 302 + vbus-supply = <&reg_usbh1_vbus>; 303 + phy_type = "utmi"; 304 + dr_mode = "peripheral"; 305 + status = "okay"; 306 + }; 307 + 308 + &usbotg { 309 + dr_mode = "peripheral"; 310 + status = "okay"; 311 + };