0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * Copyright 2011 Freescale Semiconductor, Inc.
0004 * Copyright 2011 Linaro Ltd.
0005 */
0006
0007 /dts-v1/;
0008 #include <dt-bindings/gpio/gpio.h>
0009 #include "imx6q.dtsi"
0010
0011 / {
0012 model = "Freescale i.MX6 Quad Armadillo2 Board";
0013 compatible = "fsl,imx6q-arm2", "fsl,imx6q";
0014
0015 memory@10000000 {
0016 device_type = "memory";
0017 reg = <0x10000000 0x80000000>;
0018 };
0019
0020 regulators {
0021 compatible = "simple-bus";
0022 #address-cells = <1>;
0023 #size-cells = <0>;
0024
0025 reg_3p3v: regulator@0 {
0026 compatible = "regulator-fixed";
0027 reg = <0>;
0028 regulator-name = "3P3V";
0029 regulator-min-microvolt = <3300000>;
0030 regulator-max-microvolt = <3300000>;
0031 regulator-always-on;
0032 };
0033
0034 reg_usb_otg_vbus: regulator@1 {
0035 compatible = "regulator-fixed";
0036 reg = <1>;
0037 regulator-name = "usb_otg_vbus";
0038 regulator-min-microvolt = <5000000>;
0039 regulator-max-microvolt = <5000000>;
0040 gpio = <&gpio3 22 0>;
0041 enable-active-high;
0042 };
0043 };
0044
0045 leds {
0046 compatible = "gpio-leds";
0047
0048 debug-led {
0049 label = "Heartbeat";
0050 gpios = <&gpio3 25 0>;
0051 linux,default-trigger = "heartbeat";
0052 };
0053 };
0054 };
0055
0056 &gpmi {
0057 pinctrl-names = "default";
0058 pinctrl-0 = <&pinctrl_gpmi_nand>;
0059 status = "disabled"; /* gpmi nand conflicts with SD */
0060 };
0061
0062 &iomuxc {
0063 pinctrl-names = "default";
0064 pinctrl-0 = <&pinctrl_hog>;
0065
0066 imx6q-arm2 {
0067 pinctrl_hog: hoggrp {
0068 fsl,pins = <
0069 MX6QDL_PAD_EIM_D25__GPIO3_IO25 0x80000000
0070 >;
0071 };
0072
0073 pinctrl_enet: enetgrp {
0074 fsl,pins = <
0075 MX6QDL_PAD_KEY_COL1__ENET_MDIO 0x1b0b0
0076 MX6QDL_PAD_KEY_COL2__ENET_MDC 0x1b0b0
0077 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b030
0078 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b030
0079 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b030
0080 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b030
0081 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b030
0082 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b030
0083 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
0084 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b030
0085 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b030
0086 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b030
0087 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030
0088 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030
0089 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030
0090 MX6QDL_PAD_GPIO_6__ENET_IRQ 0x000b1
0091 >;
0092 };
0093
0094 pinctrl_gpmi_nand: gpminandgrp {
0095 fsl,pins = <
0096 MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1
0097 MX6QDL_PAD_NANDF_ALE__NAND_ALE 0xb0b1
0098 MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1
0099 MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000
0100 MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0xb0b1
0101 MX6QDL_PAD_NANDF_CS1__NAND_CE1_B 0xb0b1
0102 MX6QDL_PAD_SD4_CMD__NAND_RE_B 0xb0b1
0103 MX6QDL_PAD_SD4_CLK__NAND_WE_B 0xb0b1
0104 MX6QDL_PAD_NANDF_D0__NAND_DATA00 0xb0b1
0105 MX6QDL_PAD_NANDF_D1__NAND_DATA01 0xb0b1
0106 MX6QDL_PAD_NANDF_D2__NAND_DATA02 0xb0b1
0107 MX6QDL_PAD_NANDF_D3__NAND_DATA03 0xb0b1
0108 MX6QDL_PAD_NANDF_D4__NAND_DATA04 0xb0b1
0109 MX6QDL_PAD_NANDF_D5__NAND_DATA05 0xb0b1
0110 MX6QDL_PAD_NANDF_D6__NAND_DATA06 0xb0b1
0111 MX6QDL_PAD_NANDF_D7__NAND_DATA07 0xb0b1
0112 MX6QDL_PAD_SD4_DAT0__NAND_DQS 0x00b1
0113 >;
0114 };
0115
0116 pinctrl_uart2: uart2grp {
0117 fsl,pins = <
0118 MX6QDL_PAD_EIM_D26__UART2_RX_DATA 0x1b0b1
0119 MX6QDL_PAD_EIM_D27__UART2_TX_DATA 0x1b0b1
0120 MX6QDL_PAD_EIM_D28__UART2_DTE_CTS_B 0x1b0b1
0121 MX6QDL_PAD_EIM_D29__UART2_DTE_RTS_B 0x1b0b1
0122 >;
0123 };
0124
0125 pinctrl_uart4: uart4grp {
0126 fsl,pins = <
0127 MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
0128 MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
0129 >;
0130 };
0131
0132 pinctrl_usbotg: usbotggrp {
0133 fsl,pins = <
0134 MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
0135 >;
0136 };
0137
0138 pinctrl_usdhc3: usdhc3grp {
0139 fsl,pins = <
0140 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
0141 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
0142 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
0143 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
0144 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
0145 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
0146 MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059
0147 MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059
0148 MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059
0149 MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059
0150 >;
0151 };
0152
0153 pinctrl_usdhc3_cdwp: usdhc3cdwp {
0154 fsl,pins = <
0155 MX6QDL_PAD_NANDF_CS0__GPIO6_IO11 0x80000000
0156 MX6QDL_PAD_NANDF_CS1__GPIO6_IO14 0x80000000
0157 >;
0158 };
0159
0160 pinctrl_usdhc4: usdhc4grp {
0161 fsl,pins = <
0162 MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
0163 MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
0164 MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
0165 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
0166 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
0167 MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
0168 MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059
0169 MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059
0170 MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059
0171 MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059
0172 >;
0173 };
0174 };
0175 };
0176
0177 &fec {
0178 pinctrl-names = "default";
0179 pinctrl-0 = <&pinctrl_enet>;
0180 phy-mode = "rgmii";
0181 interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>,
0182 <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
0183 fsl,err006687-workaround-present;
0184 status = "okay";
0185 };
0186
0187 &usbotg {
0188 vbus-supply = <®_usb_otg_vbus>;
0189 pinctrl-names = "default";
0190 pinctrl-0 = <&pinctrl_usbotg>;
0191 disable-over-current;
0192 status = "okay";
0193 };
0194
0195 &usdhc3 {
0196 cd-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
0197 wp-gpios = <&gpio6 14 GPIO_ACTIVE_HIGH>;
0198 vmmc-supply = <®_3p3v>;
0199 pinctrl-names = "default";
0200 pinctrl-0 = <&pinctrl_usdhc3
0201 &pinctrl_usdhc3_cdwp>;
0202 status = "okay";
0203 };
0204
0205 &usdhc4 {
0206 non-removable;
0207 vmmc-supply = <®_3p3v>;
0208 pinctrl-names = "default";
0209 pinctrl-0 = <&pinctrl_usdhc4>;
0210 status = "okay";
0211 };
0212
0213 &uart2 {
0214 pinctrl-names = "default";
0215 pinctrl-0 = <&pinctrl_uart2>;
0216 fsl,dte-mode;
0217 uart-has-rtscts;
0218 status = "okay";
0219 };
0220
0221 &uart4 {
0222 pinctrl-names = "default";
0223 pinctrl-0 = <&pinctrl_uart4>;
0224 status = "okay";
0225 };