162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright 2011 Freescale Semiconductor, Inc.
462306a36Sopenharmony_ci * Copyright 2011 Linaro Ltd.
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci/dts-v1/;
862306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
962306a36Sopenharmony_ci#include "imx6q.dtsi"
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci/ {
1262306a36Sopenharmony_ci	model = "Freescale i.MX6 Quad Armadillo2 Board";
1362306a36Sopenharmony_ci	compatible = "fsl,imx6q-arm2", "fsl,imx6q";
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	memory@10000000 {
1662306a36Sopenharmony_ci		device_type = "memory";
1762306a36Sopenharmony_ci		reg = <0x10000000 0x80000000>;
1862306a36Sopenharmony_ci	};
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	reg_3p3v: regulator-3p3v {
2162306a36Sopenharmony_ci		compatible = "regulator-fixed";
2262306a36Sopenharmony_ci		regulator-name = "3P3V";
2362306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
2462306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
2562306a36Sopenharmony_ci		regulator-always-on;
2662306a36Sopenharmony_ci	};
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	reg_usb_otg_vbus: regulator-usb-otg-vbus {
2962306a36Sopenharmony_ci		compatible = "regulator-fixed";
3062306a36Sopenharmony_ci		regulator-name = "usb_otg_vbus";
3162306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
3262306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
3362306a36Sopenharmony_ci		gpio = <&gpio3 22 0>;
3462306a36Sopenharmony_ci		enable-active-high;
3562306a36Sopenharmony_ci	};
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci	leds {
3862306a36Sopenharmony_ci		compatible = "gpio-leds";
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci		debug-led {
4162306a36Sopenharmony_ci			label = "Heartbeat";
4262306a36Sopenharmony_ci			gpios = <&gpio3 25 0>;
4362306a36Sopenharmony_ci			linux,default-trigger = "heartbeat";
4462306a36Sopenharmony_ci		};
4562306a36Sopenharmony_ci	};
4662306a36Sopenharmony_ci};
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci&gpmi {
4962306a36Sopenharmony_ci	pinctrl-names = "default";
5062306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_gpmi_nand>;
5162306a36Sopenharmony_ci	status = "disabled"; /* gpmi nand conflicts with SD */
5262306a36Sopenharmony_ci};
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci&iomuxc {
5562306a36Sopenharmony_ci	pinctrl-names = "default";
5662306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_hog>;
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci	imx6q-arm2 {
5962306a36Sopenharmony_ci		pinctrl_hog: hoggrp {
6062306a36Sopenharmony_ci			fsl,pins = <
6162306a36Sopenharmony_ci				MX6QDL_PAD_EIM_D25__GPIO3_IO25 0x80000000
6262306a36Sopenharmony_ci			>;
6362306a36Sopenharmony_ci		};
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci		pinctrl_enet: enetgrp {
6662306a36Sopenharmony_ci			fsl,pins = <
6762306a36Sopenharmony_ci				MX6QDL_PAD_KEY_COL1__ENET_MDIO		0x1b0b0
6862306a36Sopenharmony_ci				MX6QDL_PAD_KEY_COL2__ENET_MDC		0x1b0b0
6962306a36Sopenharmony_ci				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b030
7062306a36Sopenharmony_ci				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b030
7162306a36Sopenharmony_ci				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b030
7262306a36Sopenharmony_ci				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b030
7362306a36Sopenharmony_ci				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b030
7462306a36Sopenharmony_ci				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b030
7562306a36Sopenharmony_ci				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
7662306a36Sopenharmony_ci				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
7762306a36Sopenharmony_ci				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030
7862306a36Sopenharmony_ci				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030
7962306a36Sopenharmony_ci				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
8062306a36Sopenharmony_ci				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
8162306a36Sopenharmony_ci				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030
8262306a36Sopenharmony_ci				MX6QDL_PAD_GPIO_6__ENET_IRQ		0x000b1
8362306a36Sopenharmony_ci			>;
8462306a36Sopenharmony_ci		};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci		pinctrl_gpmi_nand: gpminandgrp {
8762306a36Sopenharmony_ci			fsl,pins = <
8862306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_CLE__NAND_CLE		0xb0b1
8962306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_ALE__NAND_ALE		0xb0b1
9062306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_WP_B__NAND_WP_B	0xb0b1
9162306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_RB0__NAND_READY_B	0xb000
9262306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_CS0__NAND_CE0_B	0xb0b1
9362306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_CS1__NAND_CE1_B	0xb0b1
9462306a36Sopenharmony_ci				MX6QDL_PAD_SD4_CMD__NAND_RE_B		0xb0b1
9562306a36Sopenharmony_ci				MX6QDL_PAD_SD4_CLK__NAND_WE_B		0xb0b1
9662306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_D0__NAND_DATA00	0xb0b1
9762306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_D1__NAND_DATA01	0xb0b1
9862306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_D2__NAND_DATA02	0xb0b1
9962306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_D3__NAND_DATA03	0xb0b1
10062306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_D4__NAND_DATA04	0xb0b1
10162306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_D5__NAND_DATA05	0xb0b1
10262306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_D6__NAND_DATA06	0xb0b1
10362306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_D7__NAND_DATA07	0xb0b1
10462306a36Sopenharmony_ci				MX6QDL_PAD_SD4_DAT0__NAND_DQS		0x00b1
10562306a36Sopenharmony_ci			>;
10662306a36Sopenharmony_ci		};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci		pinctrl_uart2: uart2grp {
10962306a36Sopenharmony_ci			fsl,pins = <
11062306a36Sopenharmony_ci				MX6QDL_PAD_EIM_D26__UART2_RX_DATA	0x1b0b1
11162306a36Sopenharmony_ci				MX6QDL_PAD_EIM_D27__UART2_TX_DATA	0x1b0b1
11262306a36Sopenharmony_ci				MX6QDL_PAD_EIM_D28__UART2_DTE_CTS_B	0x1b0b1
11362306a36Sopenharmony_ci				MX6QDL_PAD_EIM_D29__UART2_DTE_RTS_B	0x1b0b1
11462306a36Sopenharmony_ci			>;
11562306a36Sopenharmony_ci		};
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci		pinctrl_uart4: uart4grp {
11862306a36Sopenharmony_ci			fsl,pins = <
11962306a36Sopenharmony_ci				MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1
12062306a36Sopenharmony_ci				MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
12162306a36Sopenharmony_ci			>;
12262306a36Sopenharmony_ci		};
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci		pinctrl_usbotg: usbotggrp {
12562306a36Sopenharmony_ci			fsl,pins = <
12662306a36Sopenharmony_ci				MX6QDL_PAD_GPIO_1__USB_OTG_ID		0x17059
12762306a36Sopenharmony_ci			>;
12862306a36Sopenharmony_ci		};
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci		pinctrl_usdhc3: usdhc3grp {
13162306a36Sopenharmony_ci			fsl,pins = <
13262306a36Sopenharmony_ci				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
13362306a36Sopenharmony_ci				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
13462306a36Sopenharmony_ci				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
13562306a36Sopenharmony_ci				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
13662306a36Sopenharmony_ci				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
13762306a36Sopenharmony_ci				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
13862306a36Sopenharmony_ci				MX6QDL_PAD_SD3_DAT4__SD3_DATA4		0x17059
13962306a36Sopenharmony_ci				MX6QDL_PAD_SD3_DAT5__SD3_DATA5		0x17059
14062306a36Sopenharmony_ci				MX6QDL_PAD_SD3_DAT6__SD3_DATA6		0x17059
14162306a36Sopenharmony_ci				MX6QDL_PAD_SD3_DAT7__SD3_DATA7		0x17059
14262306a36Sopenharmony_ci			>;
14362306a36Sopenharmony_ci		};
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci		pinctrl_usdhc3_cdwp: usdhc3cdwp {
14662306a36Sopenharmony_ci			fsl,pins = <
14762306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_CS0__GPIO6_IO11 0x80000000
14862306a36Sopenharmony_ci				MX6QDL_PAD_NANDF_CS1__GPIO6_IO14 0x80000000
14962306a36Sopenharmony_ci			>;
15062306a36Sopenharmony_ci		};
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci		pinctrl_usdhc4: usdhc4grp {
15362306a36Sopenharmony_ci			fsl,pins = <
15462306a36Sopenharmony_ci				MX6QDL_PAD_SD4_CMD__SD4_CMD		0x17059
15562306a36Sopenharmony_ci				MX6QDL_PAD_SD4_CLK__SD4_CLK		0x10059
15662306a36Sopenharmony_ci				MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x17059
15762306a36Sopenharmony_ci				MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x17059
15862306a36Sopenharmony_ci				MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x17059
15962306a36Sopenharmony_ci				MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x17059
16062306a36Sopenharmony_ci				MX6QDL_PAD_SD4_DAT4__SD4_DATA4		0x17059
16162306a36Sopenharmony_ci				MX6QDL_PAD_SD4_DAT5__SD4_DATA5		0x17059
16262306a36Sopenharmony_ci				MX6QDL_PAD_SD4_DAT6__SD4_DATA6		0x17059
16362306a36Sopenharmony_ci				MX6QDL_PAD_SD4_DAT7__SD4_DATA7		0x17059
16462306a36Sopenharmony_ci			>;
16562306a36Sopenharmony_ci		};
16662306a36Sopenharmony_ci	};
16762306a36Sopenharmony_ci};
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci&fec {
17062306a36Sopenharmony_ci	pinctrl-names = "default";
17162306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_enet>;
17262306a36Sopenharmony_ci	phy-mode = "rgmii";
17362306a36Sopenharmony_ci	/delete-property/ interrupts;
17462306a36Sopenharmony_ci	interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>,
17562306a36Sopenharmony_ci			      <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
17662306a36Sopenharmony_ci	fsl,err006687-workaround-present;
17762306a36Sopenharmony_ci	status = "okay";
17862306a36Sopenharmony_ci};
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci&usbotg {
18162306a36Sopenharmony_ci	vbus-supply = <&reg_usb_otg_vbus>;
18262306a36Sopenharmony_ci	pinctrl-names = "default";
18362306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_usbotg>;
18462306a36Sopenharmony_ci	disable-over-current;
18562306a36Sopenharmony_ci	status = "okay";
18662306a36Sopenharmony_ci};
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ci&usdhc3 {
18962306a36Sopenharmony_ci	cd-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
19062306a36Sopenharmony_ci	wp-gpios = <&gpio6 14 GPIO_ACTIVE_HIGH>;
19162306a36Sopenharmony_ci	vmmc-supply = <&reg_3p3v>;
19262306a36Sopenharmony_ci	pinctrl-names = "default";
19362306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_usdhc3
19462306a36Sopenharmony_ci		     &pinctrl_usdhc3_cdwp>;
19562306a36Sopenharmony_ci	status = "okay";
19662306a36Sopenharmony_ci};
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_ci&usdhc4 {
19962306a36Sopenharmony_ci	non-removable;
20062306a36Sopenharmony_ci	vmmc-supply = <&reg_3p3v>;
20162306a36Sopenharmony_ci	pinctrl-names = "default";
20262306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_usdhc4>;
20362306a36Sopenharmony_ci	status = "okay";
20462306a36Sopenharmony_ci};
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_ci&uart2 {
20762306a36Sopenharmony_ci	pinctrl-names = "default";
20862306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_uart2>;
20962306a36Sopenharmony_ci	fsl,dte-mode;
21062306a36Sopenharmony_ci	uart-has-rtscts;
21162306a36Sopenharmony_ci	status = "okay";
21262306a36Sopenharmony_ci};
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ci&uart4 {
21562306a36Sopenharmony_ci	pinctrl-names = "default";
21662306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_uart4>;
21762306a36Sopenharmony_ci	status = "okay";
21862306a36Sopenharmony_ci};
219