1// SPDX-License-Identifier: GPL-2.0+ OR MIT 2/* 3 * Copyright (C) 2019 Linaro Ltd. 4 */ 5 6/dts-v1/; 7 8#include "imx7d.dtsi" 9 10/ { 11 model = "96Boards Meerkat96 Board"; 12 compatible = "novtech,imx7d-meerkat96", "fsl,imx7d"; 13 14 chosen { 15 stdout-path = &uart6; 16 }; 17 18 memory@80000000 { 19 device_type = "memory"; 20 reg = <0x80000000 0x20000000>; /* 512MB */ 21 }; 22 23 reg_wlreg_on: regulator-wlreg-on { 24 compatible = "regulator-fixed"; 25 pinctrl-names = "default"; 26 pinctrl-0 = <&pinctrl_wlreg_on>; 27 regulator-name = "wlreg_on"; 28 regulator-min-microvolt = <3300000>; 29 regulator-max-microvolt = <3300000>; 30 startup-delay-us = <100>; 31 gpio = <&gpio6 15 GPIO_ACTIVE_HIGH>; 32 enable-active-high; 33 regulator-always-on; 34 }; 35 36 reg_3p3v: regulator-3p3v { 37 compatible = "regulator-fixed"; 38 regulator-name = "3P3V"; 39 regulator-min-microvolt = <3300000>; 40 regulator-max-microvolt = <3300000>; 41 regulator-always-on; 42 }; 43 44 reg_usb_otg1_vbus: regulator-usb-otg1-vbus { 45 compatible = "regulator-fixed"; 46 regulator-name = "usb_otg1_vbus"; 47 regulator-min-microvolt = <5000000>; 48 regulator-max-microvolt = <5000000>; 49 }; 50 51 reg_usb_otg2_vbus: regulator-usb-otg2-vbus { 52 compatible = "regulator-fixed"; 53 regulator-name = "usb_otg2_vbus"; 54 regulator-min-microvolt = <5000000>; 55 regulator-max-microvolt = <5000000>; 56 gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>; 57 enable-active-high; 58 }; 59 60 leds { 61 compatible = "gpio-leds"; 62 pinctrl-names = "default"; 63 pinctrl-0 = <&pinctrl_gpio_leds>; 64 65 led1 { 66 label = "green:user1"; 67 gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; 68 linux,default-trigger = "heartbeat"; 69 default-state = "off"; 70 }; 71 72 led2 { 73 label = "green:user2"; 74 gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; 75 linux,default-trigger = "mmc0"; 76 default-state = "off"; 77 }; 78 79 led3 { 80 label = "green:user3"; 81 gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; 82 linux,default-trigger = "mmc1"; 83 default-state = "off"; 84 }; 85 86 led4 { 87 label = "green:user4"; 88 gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; 89 linux,default-trigger = "none"; 90 default-state = "off"; 91 panic-indicator; 92 }; 93 94 led5 { 95 label = "yellow:wlan"; 96 gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>; 97 linux,default-trigger = "phy0tx"; 98 default-state = "off"; 99 }; 100 101 led6 { 102 label = "blue:bt"; 103 gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>; 104 linux,default-trigger = "bluetooth-power"; 105 default-state = "off"; 106 }; 107 }; 108}; 109 110&i2c1 { 111 pinctrl-names = "default"; 112 pinctrl-0 = <&pinctrl_i2c1>; 113 status = "okay"; 114}; 115 116&i2c2 { 117 pinctrl-names = "default"; 118 pinctrl-0 = <&pinctrl_i2c2>; 119 status = "okay"; 120}; 121 122&i2c3 { 123 pinctrl-names = "default"; 124 pinctrl-0 = <&pinctrl_i2c3>; 125 status = "okay"; 126}; 127 128&i2c4 { 129 pinctrl-names = "default"; 130 pinctrl-0 = <&pinctrl_i2c4>; 131 status = "okay"; 132}; 133 134&lcdif { 135 pinctrl-names = "default"; 136 pinctrl-0 = <&pinctrl_lcdif>; 137 status = "okay"; 138}; 139 140&uart1 { 141 pinctrl-names = "default"; 142 pinctrl-0 = <&pinctrl_uart1>; 143 assigned-clocks = <&clks IMX7D_UART1_ROOT_SRC>; 144 assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>; 145 status = "okay"; 146}; 147 148&uart3 { 149 pinctrl-names = "default"; 150 pinctrl-0 = <&pinctrl_uart3>; 151 assigned-clocks = <&clks IMX7D_UART3_ROOT_SRC>; 152 assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>; 153 uart-has-rtscts; 154 status = "okay"; 155}; 156 157&uart6 { 158 pinctrl-names = "default"; 159 pinctrl-0 = <&pinctrl_uart6>; 160 assigned-clocks = <&clks IMX7D_UART6_ROOT_SRC>; 161 assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>; 162 status = "okay"; 163}; 164 165&uart7 { 166 pinctrl-names = "default"; 167 pinctrl-0 = <&pinctrl_uart7 &pinctrl_bt_gpios>; 168 assigned-clocks = <&clks IMX7D_UART7_ROOT_SRC>; 169 assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>; 170 uart-has-rtscts; 171 fsl,dte-mode; 172 status = "okay"; 173 174 bluetooth { 175 compatible = "brcm,bcm43438-bt"; 176 device-wakeup-gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>; 177 host-wakeup-gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>; 178 }; 179}; 180 181&usbotg1 { 182 vbus-supply = <®_usb_otg1_vbus>; 183 status = "okay"; 184}; 185 186&usbotg2 { 187 vbus-supply = <®_usb_otg2_vbus>; 188 dr_mode = "host"; 189 status = "okay"; 190}; 191 192&usdhc1 { 193 pinctrl-names = "default"; 194 pinctrl-0 = <&pinctrl_usdhc1>; 195 keep-power-in-suspend; 196 fsl,tuning-step = <2>; 197 vmmc-supply = <®_3p3v>; 198 no-1-8-v; 199 broken-cd; 200 status = "okay"; 201}; 202 203&usdhc3 { 204 #address-cells = <1>; 205 #size-cells = <0>; 206 pinctrl-names = "default"; 207 pinctrl-0 = <&pinctrl_usdhc3>; 208 bus-width = <4>; 209 no-1-8-v; 210 no-mmc; 211 non-removable; 212 keep-power-in-suspend; 213 wakeup-source; 214 vmmc-supply = <®_wlreg_on>; 215 vqmmc-supply = <®_3p3v>; 216 status = "okay"; 217 218 brcmf: wifi@1 { 219 reg = <1>; 220 compatible = "brcm,bcm4329-fmac"; 221 pinctrl-names = "default"; 222 pinctrl-0 = <&pinctrl_wlan_irq>; 223 interrupt-parent = <&gpio6>; 224 interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; 225 interrupt-names = "host-wake"; 226 }; 227}; 228 229&iomuxc { 230 pinctrl_bt_gpios: btgpiosgrp { 231 fsl,pins = < 232 MX7D_PAD_SAI1_TX_BCLK__GPIO6_IO13 0x59 233 MX7D_PAD_ECSPI1_MOSI__GPIO4_IO17 0x1f 234 >; 235 }; 236 237 pinctrl_gpio_leds: gpioledsgrp { 238 fsl,pins = < 239 MX7D_PAD_LPSR_GPIO1_IO00__GPIO1_IO0 0x59 240 MX7D_PAD_LPSR_GPIO1_IO04__GPIO1_IO4 0x59 241 MX7D_PAD_LPSR_GPIO1_IO05__GPIO1_IO5 0x59 242 MX7D_PAD_LPSR_GPIO1_IO06__GPIO1_IO6 0x59 243 MX7D_PAD_LPSR_GPIO1_IO07__GPIO1_IO7 0x59 244 MX7D_PAD_SD1_RESET_B__GPIO5_IO2 0x59 245 >; 246 }; 247 248 pinctrl_i2c1: i2c1grp { 249 fsl,pins = < 250 MX7D_PAD_I2C1_SDA__I2C1_SDA 0x4000007f 251 MX7D_PAD_I2C1_SCL__I2C1_SCL 0x4000007f 252 >; 253 }; 254 255 pinctrl_i2c2: i2c2grp { 256 fsl,pins = < 257 MX7D_PAD_I2C2_SDA__I2C2_SDA 0x4000007f 258 MX7D_PAD_I2C2_SCL__I2C2_SCL 0x4000007f 259 >; 260 }; 261 262 pinctrl_i2c3: i2c3grp { 263 fsl,pins = < 264 MX7D_PAD_ENET1_RGMII_RD1__I2C3_SDA 0x4000007f 265 MX7D_PAD_ENET1_RGMII_RD0__I2C3_SCL 0x4000007f 266 >; 267 }; 268 269 pinctrl_i2c4: i2c4grp { 270 fsl,pins = < 271 MX7D_PAD_SAI1_RX_BCLK__I2C4_SDA 0x4000007f 272 MX7D_PAD_SAI1_RX_SYNC__I2C4_SCL 0x4000007f 273 >; 274 }; 275 276 pinctrl_lcdif: lcdifgrp { 277 fsl,pins = < 278 MX7D_PAD_LCD_DATA00__LCD_DATA0 0x79 279 MX7D_PAD_LCD_DATA01__LCD_DATA1 0x79 280 MX7D_PAD_LCD_DATA02__LCD_DATA2 0x79 281 MX7D_PAD_LCD_DATA03__LCD_DATA3 0x79 282 MX7D_PAD_LCD_DATA04__LCD_DATA4 0x79 283 MX7D_PAD_LCD_DATA05__LCD_DATA5 0x79 284 MX7D_PAD_LCD_DATA06__LCD_DATA6 0x79 285 MX7D_PAD_LCD_DATA07__LCD_DATA7 0x79 286 MX7D_PAD_LCD_DATA08__LCD_DATA8 0x79 287 MX7D_PAD_LCD_DATA09__LCD_DATA9 0x79 288 MX7D_PAD_LCD_DATA10__LCD_DATA10 0x79 289 MX7D_PAD_LCD_DATA11__LCD_DATA11 0x79 290 MX7D_PAD_LCD_DATA12__LCD_DATA12 0x79 291 MX7D_PAD_LCD_DATA13__LCD_DATA13 0x79 292 MX7D_PAD_LCD_DATA14__LCD_DATA14 0x79 293 MX7D_PAD_LCD_DATA15__LCD_DATA15 0x79 294 MX7D_PAD_LCD_DATA16__LCD_DATA16 0x79 295 MX7D_PAD_LCD_DATA17__LCD_DATA17 0x79 296 MX7D_PAD_LCD_DATA18__LCD_DATA18 0x79 297 MX7D_PAD_LCD_DATA19__LCD_DATA19 0x79 298 MX7D_PAD_LCD_DATA20__LCD_DATA20 0x79 299 MX7D_PAD_LCD_DATA21__LCD_DATA21 0x79 300 MX7D_PAD_LCD_DATA22__LCD_DATA22 0x79 301 MX7D_PAD_LCD_DATA23__LCD_DATA23 0x79 302 MX7D_PAD_LCD_CLK__LCD_CLK 0x79 303 MX7D_PAD_LCD_ENABLE__LCD_ENABLE 0x79 304 MX7D_PAD_LCD_VSYNC__LCD_VSYNC 0x79 305 MX7D_PAD_LCD_HSYNC__LCD_HSYNC 0x79 306 MX7D_PAD_LCD_RESET__LCD_RESET 0x79 307 >; 308 }; 309 310 pinctrl_uart1: uart1grp { 311 fsl,pins = < 312 MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX 0x79 313 MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX 0x79 314 >; 315 }; 316 317 pinctrl_uart3: uart3grp { 318 fsl,pins = < 319 MX7D_PAD_SD3_DATA4__UART3_DCE_RX 0x79 320 MX7D_PAD_SD3_DATA5__UART3_DCE_TX 0x79 321 MX7D_PAD_SD3_DATA6__UART3_DCE_RTS 0x79 322 MX7D_PAD_SD3_DATA7__UART3_DCE_CTS 0x79 323 >; 324 }; 325 326 pinctrl_uart6: uart6grp { 327 fsl,pins = < 328 MX7D_PAD_SD1_CD_B__UART6_DCE_RX 0x79 329 MX7D_PAD_SD1_WP__UART6_DCE_TX 0x79 330 >; 331 }; 332 333 pinctrl_uart7: uart7grp { 334 fsl,pins = < 335 MX7D_PAD_ECSPI2_SCLK__UART7_DTE_TX 0x79 336 MX7D_PAD_ECSPI2_MOSI__UART7_DTE_RX 0x79 337 MX7D_PAD_ECSPI2_MISO__UART7_DTE_CTS 0x79 338 MX7D_PAD_ECSPI2_SS0__UART7_DTE_RTS 0x79 339 >; 340 }; 341 342 pinctrl_usdhc1: usdhc1grp { 343 fsl,pins = < 344 MX7D_PAD_SD1_CMD__SD1_CMD 0x59 345 MX7D_PAD_SD1_CLK__SD1_CLK 0x19 346 MX7D_PAD_SD1_DATA0__SD1_DATA0 0x59 347 MX7D_PAD_SD1_DATA1__SD1_DATA1 0x59 348 MX7D_PAD_SD1_DATA2__SD1_DATA2 0x59 349 MX7D_PAD_SD1_DATA3__SD1_DATA3 0x59 350 >; 351 }; 352 353 pinctrl_usdhc3: usdhc3grp { 354 fsl,pins = < 355 MX7D_PAD_SD3_CMD__SD3_CMD 0x59 356 MX7D_PAD_SD3_CLK__SD3_CLK 0x0D 357 MX7D_PAD_SD3_DATA0__SD3_DATA0 0x59 358 MX7D_PAD_SD3_DATA1__SD3_DATA1 0x59 359 MX7D_PAD_SD3_DATA2__SD3_DATA2 0x59 360 MX7D_PAD_SD3_DATA3__SD3_DATA3 0x59 361 >; 362 }; 363 364 pinctrl_wlan_irq: wlanirqgrp { 365 fsl,pins = < 366 MX7D_PAD_SAI1_TX_SYNC__GPIO6_IO14 0x19 367 >; 368 }; 369 370 pinctrl_wlreg_on: wlregongrp { 371 fsl,pins = < 372 MX7D_PAD_SAI1_TX_DATA__GPIO6_IO15 0x19 373 >; 374 }; 375}; 376