// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (c) 2018 Protonic Holland */ /dts-v1/; #include "imx6q.dtsi" #include "imx6qdl-prti6q.dtsi" #include / { model = "Protonic WD2 board"; compatible = "prt,prtwd2", "fsl,imx6q"; memory@10000000 { device_type = "memory"; reg = <0x10000000 0x20000000>; }; memory@80000000 { device_type = "memory"; reg = <0x80000000 0x20000000>; }; usdhc2_wifi_pwrseq: usdhc2_wifi_pwrseq { compatible = "mmc-pwrseq-simple"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_wifi_npd>; reset-gpios = <&gpio6 10 GPIO_ACTIVE_LOW>; }; /* PRTWD2 rev 1 bitbang I2C for Ethernet Switch */ i2c { compatible = "i2c-gpio"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c4>; sda-gpios = <&gpio1 22 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; scl-gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>; i2c-gpio,delay-us = <20>; /* ~10 kHz */ i2c-gpio,scl-output-only; #address-cells = <1>; #size-cells = <0>; }; }; &can1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_can1 &pinctrl_can1phy>; status = "okay"; }; &fec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet>; phy-mode = "rmii"; clocks = <&clks IMX6QDL_CLK_ENET>, <&clks IMX6QDL_CLK_ENET>; clock-names = "ipg", "ahb"; status = "okay"; fixed-link { speed = <100>; pause; full-duplex; }; }; &i2c3 { adc@49 { compatible = "ti,ads1015"; reg = <0x49>; #address-cells = <1>; #size-cells = <0>; /* V in */ channel@4 { reg = <4>; ti,gain = <1>; ti,datarate = <3>; }; /* I charge */ channel@5 { reg = <5>; ti,gain = <1>; ti,datarate = <3>; }; /* V bus */ channel@6 { reg = <6>; ti,gain = <1>; ti,datarate = <3>; }; /* nc */ channel@7 { reg = <7>; ti,gain = <1>; ti,datarate = <3>; }; }; }; &usdhc2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc2>; no-1-8-v; non-removable; mmc-pwrseq = <&usdhc2_wifi_pwrseq>; #address-cells = <1>; #size-cells = <0>; status = "okay"; wifi@1 { compatible = "brcm,bcm4329-fmac"; reg = <1>; }; }; &iomuxc { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usb_eth_chg>; pinctrl_can1phy: can1phy { fsl,pins = < /* CAN1_SR */ MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x13070 >; }; pinctrl_enet: enetgrp { fsl,pins = < /* MX6QDL_ENET_PINGRP4 */ MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0 0x1b0b0 MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1 0x1b0b0 MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER 0x130b0 MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0 MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0 0x1b0b0 MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x1b0b0 MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0 MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x1b0b0 /* Phy reset */ MX6QDL_PAD_CSI0_DAT4__GPIO5_IO22 0x1b0b0 /* nINTRP */ MX6QDL_PAD_CSI0_DAT5__GPIO5_IO23 0x1b0b0 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x10030 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x10030 >; }; pinctrl_i2c4: i2c4grp { fsl,pins = < MX6QDL_PAD_ENET_MDIO__GPIO1_IO22 0x1f8b0 MX6QDL_PAD_ENET_MDC__GPIO1_IO31 0x1f8b0 >; }; pinctrl_usb_eth_chg: usbethchggrp { fsl,pins = < /* USB charging control */ MX6QDL_PAD_NANDF_CS0__GPIO6_IO11 0x130b0 MX6QDL_PAD_NANDF_CS1__GPIO6_IO14 0x130b0 MX6QDL_PAD_NANDF_CS2__GPIO6_IO15 0x130b0 MX6QDL_PAD_NANDF_CS3__GPIO6_IO16 0x130b0 >; }; pinctrl_usdhc2: usdhc2grp { fsl,pins = < MX6QDL_PAD_SD2_CMD__SD2_CMD 0x170b9 MX6QDL_PAD_SD2_CLK__SD2_CLK 0x100b9 MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x170b9 MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x170b9 MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x170b9 MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x170b9 >; }; pinctrl_wifi_npd: wifinpd { fsl,pins = < /* WL_REG_ON */ MX6QDL_PAD_NANDF_RB0__GPIO6_IO10 0x13069 >; }; };