// SPDX-License-Identifier: GPL-2.0 OR X11
/*
 * Copyright (C) 2016 Boundary Devices, Inc.
 */

/dts-v1/;

#include "imx6sx.dtsi"

/ {
	model = "Boundary Devices i.MX6 SoloX Nitrogen6sx Board";
	compatible = "boundary,imx6sx-nitrogen6sx", "fsl,imx6sx";

	memory@80000000 {
		device_type = "memory";
		reg = <0x80000000 0x40000000>;
	};

	backlight-lvds {
		compatible = "pwm-backlight";
		pwms = <&pwm4 0 5000000>;
		brightness-levels = <0 4 8 16 32 64 128 255>;
		default-brightness-level = <6>;
		power-supply = <&reg_3p3v>;
	};

	reg_1p8v: regulator-1p8v {
		compatible = "regulator-fixed";
		regulator-name = "1P8V";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-always-on;
	};

	reg_3p3v: regulator-3p3v {
		compatible = "regulator-fixed";
		regulator-name = "3P3V";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
	};

	reg_can1_3v3: regulator-can1-3v3 {
		compatible = "regulator-fixed";
		regulator-name = "can1-3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpio4 27 GPIO_ACTIVE_LOW>;
	};

	reg_can2_3v3: regulator-can2-3v3 {
		compatible = "regulator-fixed";
		regulator-name = "can2-3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpio4 24 GPIO_ACTIVE_LOW>;
	};

	reg_usb_otg1_vbus: regulator-usb-otg1-vbus {
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_usbotg1_vbus>;
		compatible = "regulator-fixed";
		regulator-name = "usb_otg1_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_wlan: regulator-wlan {
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_reg_wlan>;
		compatible = "regulator-fixed";
		clocks = <&clks IMX6SX_CLK_CKO>;
		regulator-name = "wlan-en";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		startup-delay-us = <70000>;
		gpio = <&gpio7 6 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	sound {
		compatible = "fsl,imx-audio-sgtl5000";
		model = "imx6sx-nitrogen6sx-sgtl5000";
		cpu-dai = <&ssi1>;
		audio-codec = <&codec>;
		audio-routing =
			"MIC_IN", "Mic Jack",
			"Mic Jack", "Mic Bias",
			"Headphone Jack", "HP_OUT";
		mux-int-port = <1>;
		mux-ext-port = <5>;
	};
};

&audmux {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_audmux>;
	status = "okay";
};

&ecspi1 {
	cs-gpios = <&gpio2 16 GPIO_ACTIVE_LOW>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi1>;
	status = "okay";

	flash: flash@0 {
		compatible = "microchip,sst25vf016b";
		spi-max-frequency = <20000000>;
		reg = <0>;
		#address-cells = <1>;
		#size-cells = <1>;

		partition@0 {
			label = "U-Boot";
			reg = <0x0 0xc0000>;
			read-only;
		};

		partition@c0000 {
			label = "env";
			reg = <0xc0000 0x2000>;
			read-only;
		};

		partition@c2000 {
			label = "Kernel";
			reg = <0xc2000 0x11e000>;
		};

		partition@1e0000 {
			label = "M4";
			reg = <0x1e0000 0x20000>;
		};
	};
};

&fec1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_enet1>;
	phy-mode = "rgmii";
	phy-handle = <&ethphy1>;
	phy-supply = <&reg_3p3v>;
	fsl,magic-packet;
	status = "okay";

	mdio {
		#address-cells = <1>;
		#size-cells = <0>;

		ethphy1: ethernet-phy@4 {
			reg = <4>;
		};

		ethphy2: ethernet-phy@5 {
			reg = <5>;
		};
	};
};

&fec2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_enet2>;
	phy-mode = "rgmii";
	phy-handle = <&ethphy2>;
	phy-supply = <&reg_3p3v>;
	fsl,magic-packet;
	status = "okay";
};

&flexcan1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_flexcan1>;
	xceiver-supply = <&reg_can1_3v3>;
	status = "okay";
};

&flexcan2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_flexcan2>;
	xceiver-supply = <&reg_can2_3v3>;
	status = "okay";
};

&i2c1 {
	clock-frequency = <100000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c1>;
	status = "okay";

	codec: sgtl5000@a {
		compatible = "fsl,sgtl5000";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_sgtl5000>;
		reg = <0x0a>;
		#sound-dai-cells = <0>;
		clocks = <&clks IMX6SX_CLK_CKO2>;
		VDDA-supply = <&reg_1p8v>;
		VDDIO-supply = <&reg_1p8v>;
		VDDD-supply = <&reg_1p8v>;
		assigned-clocks = <&clks IMX6SX_CLK_CKO2_SEL>,
				  <&clks IMX6SX_CLK_CKO2>;
		assigned-clock-parents = <&clks IMX6SX_CLK_OSC>;
		assigned-clock-rates = <0>, <24000000>;
	};
};

&i2c2 {
	clock-frequency = <100000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c2>;
	status = "okay";
};

&i2c3 {
	clock-frequency = <100000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c3>;
	status = "okay";
};

&pcie {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pcie>;
	reset-gpio = <&gpio4 10 GPIO_ACTIVE_LOW>;
	status = "okay";
};

&pwm4 {
	#pwm-cells = <2>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pwm4>;
	status = "okay";
};

&ssi1 {
	status = "okay";
};

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart1>;
	status = "okay";
};

&uart2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart2>;
	status = "okay";
};

&uart3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart3>;
	uart-has-rtscts;
	status = "okay";
};

&uart5 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart5>;
	status = "okay";
};

&usbotg1 {
	vbus-supply = <&reg_usb_otg1_vbus>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usbotg1>;
	status = "okay";
};

&usbotg2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usbotg2>;
	dr_mode = "host";
	disable-over-current;
	reset-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
	status = "okay";
};

&usdhc2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc2>;
	bus-width = <4>;
	cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
	keep-power-in-suspend;
	wakeup-source;
	status = "okay";
};

&usdhc3 {
	#address-cells = <1>;
	#size-cells = <0>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc3>;
	bus-width = <4>;
	non-removable;
	keep-power-in-suspend;
	vmmc-supply = <&reg_wlan>;
	cap-power-off-card;
	cap-sdio-irq;
	status = "okay";

	brcmf: wifi@1 {
		reg = <1>;
		compatible = "brcm,bcm4329-fmac";
		interrupt-parent = <&gpio7>;
		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
	};

	wlcore: wlcore@2 {
		compatible = "ti,wl1271";
		reg = <2>;
		interrupt-parent = <&gpio7>;
		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
		ref-clock-frequency = <38400000>;
	};
};

&usdhc4 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc4_50mhz>;
	pinctrl-1 = <&pinctrl_usdhc4_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc4_200mhz>;
	bus-width = <8>;
	non-removable;
	vmmc-supply = <&reg_1p8v>;
	keep-power-in-suspend;
	status = "okay";
};

&iomuxc {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_hog>;

	pinctrl_audmux: audmuxgrp {
		fsl,pins = <
			MX6SX_PAD_SD1_DATA0__AUDMUX_AUD5_RXD	0x1b0b0
			MX6SX_PAD_SD1_DATA1__AUDMUX_AUD5_TXC	0x1b0b0
			MX6SX_PAD_SD1_DATA2__AUDMUX_AUD5_TXFS	0x1b0b0
			MX6SX_PAD_SD1_DATA3__AUDMUX_AUD5_TXD	0x1b0b0
		>;
	};

	pinctrl_ecspi1: ecspi1grp {
		fsl,pins = <
			MX6SX_PAD_KEY_COL1__ECSPI1_MISO		0x100b1
			MX6SX_PAD_KEY_ROW0__ECSPI1_MOSI		0x100b1
			MX6SX_PAD_KEY_COL0__ECSPI1_SCLK		0x100b1
			MX6SX_PAD_KEY_ROW1__GPIO2_IO_16		0x0b0b1
		>;
	};

	pinctrl_enet1: enet1grp {
		fsl,pins = <
			MX6SX_PAD_ENET1_MDIO__ENET1_MDIO	0x1b0b0
			MX6SX_PAD_ENET1_MDC__ENET1_MDC		0x1b0b0
			MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0	0x30b1
			MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1	0x30b1
			MX6SX_PAD_RGMII1_TD2__ENET1_TX_DATA_2	0x30b1
			MX6SX_PAD_RGMII1_TD3__ENET1_TX_DATA_3	0x30b1
			MX6SX_PAD_RGMII1_TXC__ENET1_RGMII_TXC	0x30b1
			MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN	0x30b1
			MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0	0x3081
			MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1	0x3081
			MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN	0x3081
			MX6SX_PAD_RGMII1_RD2__ENET1_RX_DATA_2	0x3081
			MX6SX_PAD_RGMII1_RD3__ENET1_RX_DATA_3	0x3081
			MX6SX_PAD_RGMII1_RXC__ENET1_RX_CLK	0x3081
			MX6SX_PAD_ENET2_CRS__GPIO2_IO_7		0xb0b0
			MX6SX_PAD_ENET1_RX_CLK__GPIO2_IO_4	0xb0b0
			MX6SX_PAD_ENET1_TX_CLK__GPIO2_IO_5	0xb0b0
		>;
	};

	pinctrl_enet2: enet2grp {
		fsl,pins = <
			MX6SX_PAD_RGMII2_TD0__ENET2_TX_DATA_0	0x30b1
			MX6SX_PAD_RGMII2_TD1__ENET2_TX_DATA_1	0x30b1
			MX6SX_PAD_RGMII2_TD2__ENET2_TX_DATA_2	0x30b1
			MX6SX_PAD_RGMII2_TD3__ENET2_TX_DATA_3	0x30b1
			MX6SX_PAD_RGMII2_TXC__ENET2_RGMII_TXC	0x30b1
			MX6SX_PAD_RGMII2_TX_CTL__ENET2_TX_EN	0x30b1
			MX6SX_PAD_RGMII2_RD0__ENET2_RX_DATA_0	0x3081
			MX6SX_PAD_RGMII2_RD1__ENET2_RX_DATA_1	0x3081
			MX6SX_PAD_RGMII2_RX_CTL__ENET2_RX_EN	0x3081
			MX6SX_PAD_RGMII2_RD2__ENET2_RX_DATA_2	0x3081
			MX6SX_PAD_RGMII2_RD3__ENET2_RX_DATA_3	0x3081
			MX6SX_PAD_RGMII2_RXC__ENET2_RX_CLK	0x3081
			MX6SX_PAD_ENET2_COL__GPIO2_IO_6		0xb0b0
			MX6SX_PAD_ENET2_RX_CLK__GPIO2_IO_8	0xb0b0
			MX6SX_PAD_ENET2_TX_CLK__GPIO2_IO_9	0xb0b0
		>;
	};

	pinctrl_flexcan1: flexcan1grp {
		fsl,pins = <
			MX6SX_PAD_QSPI1B_DQS__CAN1_TX		0x1b0b0
			MX6SX_PAD_QSPI1A_SS1_B__CAN1_RX		0x1b0b0
			MX6SX_PAD_QSPI1B_DATA3__GPIO4_IO_27	0x1b0b0
			MX6SX_PAD_QSPI1B_DATA3__GPIO4_IO_27	0x0b0b0
		>;
	};

	pinctrl_flexcan2: flexcan2grp {
		fsl,pins = <
			MX6SX_PAD_QSPI1A_DQS__CAN2_TX		0x1b0b0
			MX6SX_PAD_QSPI1B_SS1_B__CAN2_RX		0x1b0b0
			MX6SX_PAD_QSPI1B_DATA0__GPIO4_IO_24	0x0b0b0
		>;
	};

	pinctrl_hog: hoggrp {
		fsl,pins = <
			MX6SX_PAD_NAND_CE0_B__GPIO4_IO_1	0x1b0b0
			MX6SX_PAD_NAND_CLE__GPIO4_IO_3		0x1b0b0
			MX6SX_PAD_NAND_RE_B__GPIO4_IO_12	0x1b0b0
			MX6SX_PAD_NAND_WE_B__GPIO4_IO_14	0x1b0b0
			MX6SX_PAD_NAND_WP_B__GPIO4_IO_15	0x1b0b0
			MX6SX_PAD_NAND_READY_B__GPIO4_IO_13	0x1b0b0
			MX6SX_PAD_QSPI1A_DATA0__GPIO4_IO_16	0x1b0b0
			MX6SX_PAD_QSPI1A_DATA1__GPIO4_IO_17	0x1b0b0
			MX6SX_PAD_QSPI1A_DATA2__GPIO4_IO_18	0x1b0b0
			MX6SX_PAD_QSPI1A_DATA3__GPIO4_IO_19	0x1b0b0
			MX6SX_PAD_SD1_CMD__CCM_CLKO1		0x000b0
			MX6SX_PAD_SD3_DATA5__GPIO7_IO_7		0x1b0b0
			/* Test points */
			MX6SX_PAD_NAND_DATA04__GPIO4_IO_8	0x1b0b0
			MX6SX_PAD_QSPI1B_DATA1__GPIO4_IO_25	0x1b0b0
		>;
	};

	pinctrl_i2c1: i2c1grp {
		fsl,pins = <
			MX6SX_PAD_GPIO1_IO00__I2C1_SCL		0x4001b8b1
			MX6SX_PAD_GPIO1_IO01__I2C1_SDA		0x4001b8b1
		>;
	};

	pinctrl_i2c2: i2c2grp {
		fsl,pins = <
			MX6SX_PAD_GPIO1_IO02__I2C2_SCL		0x4001b8b1
			MX6SX_PAD_GPIO1_IO03__I2C2_SDA		0x4001b8b1
		>;
	};

	pinctrl_i2c3: i2c3grp {
		fsl,pins = <
			MX6SX_PAD_KEY_COL4__I2C3_SCL		0x4001b8b1
			MX6SX_PAD_KEY_ROW4__I2C3_SDA		0x4001b8b1
		>;
	};

	pinctrl_pcie: pciegrp {
		fsl,pins = <
			MX6SX_PAD_NAND_DATA05__GPIO4_IO_9	0xb0b0
			MX6SX_PAD_NAND_DATA06__GPIO4_IO_10	0xb0b0
			MX6SX_PAD_NAND_DATA07__GPIO4_IO_11	0xb0b0
		>;
	};

	pinctrl_pwm4: pwm4grp {
		fsl,pins = <
			MX6SX_PAD_GPIO1_IO13__PWM4_OUT		0x110b0
		>;
	};

	pinctrl_reg_wlan: reg-wlangrp {
		fsl,pins = <
			MX6SX_PAD_SD3_DATA4__GPIO7_IO_6		0x1b0b0
			MX6SX_PAD_GPIO1_IO11__CCM_CLKO1		0x000b0
		>;
	};

	pinctrl_sgtl5000: sgtl5000grp {
		fsl,pins = <
			MX6SX_PAD_GPIO1_IO12__CCM_CLKO2		0x000b0
			MX6SX_PAD_ENET1_COL__GPIO2_IO_0		0x1b0b0
			MX6SX_PAD_ENET1_CRS__GPIO2_IO_1		0x1b0b0
			MX6SX_PAD_QSPI1A_SS0_B__GPIO4_IO_22	0xb0b0
		>;
	};

	pinctrl_uart1: uart1grp {
		fsl,pins = <
			MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX		0x1b0b1
			MX6SX_PAD_GPIO1_IO05__UART1_DCE_RX		0x1b0b1
		>;
	};

	pinctrl_uart2: uart2grp {
		fsl,pins = <
			MX6SX_PAD_GPIO1_IO06__UART2_DCE_TX		0x1b0b1
			MX6SX_PAD_GPIO1_IO07__UART2_DCE_RX		0x1b0b1
		>;
	};

	pinctrl_uart3: uart3grp {
		fsl,pins = <
			MX6SX_PAD_QSPI1B_SS0_B__UART3_DCE_TX		0x1b0b1
			MX6SX_PAD_QSPI1B_SCLK__UART3_DCE_RX		0x1b0b1
		>;
	};

	pinctrl_uart5: uart5grp {
		fsl,pins = <
			MX6SX_PAD_KEY_COL3__UART5_DCE_TX		0x1b0b1
			MX6SX_PAD_KEY_ROW3__UART5_DCE_RX		0x1b0b1
			MX6SX_PAD_SD3_DATA6__UART3_DCE_RTS		0x1b0b1
			MX6SX_PAD_SD3_DATA7__UART3_DCE_CTS		0x1b0b1
		>;
	};

	pinctrl_usbotg1: usbotg1grp {
		fsl,pins = <
			MX6SX_PAD_GPIO1_IO08__USB_OTG1_OC	0x1b0b0
			MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID	0x170b1
		>;
	};

	pinctrl_usbotg1_vbus: usbotg1-vbusgrp {
		fsl,pins = <
			MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9	0x1b0b0
		>;
	};

	pinctrl_usbotg2: usbotg2grp {
		fsl,pins = <
			MX6SX_PAD_QSPI1B_DATA2__GPIO4_IO_26	0xb0b0
		>;
	};

	pinctrl_usdhc2: usdhc2grp {
		fsl,pins = <
			MX6SX_PAD_SD2_CMD__USDHC2_CMD		0x17059
			MX6SX_PAD_SD2_CLK__USDHC2_CLK		0x10059
			MX6SX_PAD_SD2_DATA0__USDHC2_DATA0	0x17059
			MX6SX_PAD_SD2_DATA1__USDHC2_DATA1	0x17059
			MX6SX_PAD_SD2_DATA2__USDHC2_DATA2	0x17059
			MX6SX_PAD_SD2_DATA3__USDHC2_DATA3	0x17059
			MX6SX_PAD_KEY_COL2__GPIO2_IO_12		0x1b0b0
		>;
	};

	pinctrl_usdhc3: usdhc3grp {
		fsl,pins = <
			MX6SX_PAD_SD3_CLK__USDHC3_CLK		0x10071
			MX6SX_PAD_SD3_CMD__USDHC3_CMD		0x17071
			MX6SX_PAD_SD3_DATA0__USDHC3_DATA0	0x17071
			MX6SX_PAD_SD3_DATA1__USDHC3_DATA1	0x17071
			MX6SX_PAD_SD3_DATA2__USDHC3_DATA2	0x17071
			MX6SX_PAD_SD3_DATA3__USDHC3_DATA3	0x17071
		>;
	};

	pinctrl_usdhc4_50mhz: usdhc4-50mhzgrp {
		fsl,pins = <
			MX6SX_PAD_SD4_CLK__USDHC4_CLK		0x10071
			MX6SX_PAD_SD4_CMD__USDHC4_CMD		0x17071
			MX6SX_PAD_SD4_RESET_B__USDHC4_RESET_B	0x17071
			MX6SX_PAD_SD4_DATA0__USDHC4_DATA0	0x17071
			MX6SX_PAD_SD4_DATA1__USDHC4_DATA1	0x17071
			MX6SX_PAD_SD4_DATA2__USDHC4_DATA2	0x17071
			MX6SX_PAD_SD4_DATA3__USDHC4_DATA3	0x17071
			MX6SX_PAD_SD4_DATA4__USDHC4_DATA4	0x17071
			MX6SX_PAD_SD4_DATA5__USDHC4_DATA5	0x17071
			MX6SX_PAD_SD4_DATA6__USDHC4_DATA6	0x17071
			MX6SX_PAD_SD4_DATA7__USDHC4_DATA7	0x17071
		>;
	};

	pinctrl_usdhc4_100mhz: usdhc4-100mhzgrp {
		fsl,pins = <
			MX6SX_PAD_SD4_CLK__USDHC4_CLK		0x100b9
			MX6SX_PAD_SD4_CMD__USDHC4_CMD		0x170b9
			MX6SX_PAD_SD4_DATA0__USDHC4_DATA0	0x170b9
			MX6SX_PAD_SD4_DATA1__USDHC4_DATA1	0x170b9
			MX6SX_PAD_SD4_DATA2__USDHC4_DATA2	0x170b9
			MX6SX_PAD_SD4_DATA3__USDHC4_DATA3	0x170b9
			MX6SX_PAD_SD4_DATA4__USDHC4_DATA4	0x170b9
			MX6SX_PAD_SD4_DATA5__USDHC4_DATA5	0x170b9
			MX6SX_PAD_SD4_DATA6__USDHC4_DATA6	0x170b9
			MX6SX_PAD_SD4_DATA7__USDHC4_DATA7	0x170b9
		>;
	};

	pinctrl_usdhc4_200mhz: usdhc4-200mhzgrp {
		fsl,pins = <
			MX6SX_PAD_SD4_CLK__USDHC4_CLK		0x100f9
			MX6SX_PAD_SD4_CMD__USDHC4_CMD		0x170f9
			MX6SX_PAD_SD4_DATA0__USDHC4_DATA0	0x170f9
			MX6SX_PAD_SD4_DATA1__USDHC4_DATA1	0x170f9
			MX6SX_PAD_SD4_DATA2__USDHC4_DATA2	0x170f9
			MX6SX_PAD_SD4_DATA3__USDHC4_DATA3	0x170f9
			MX6SX_PAD_SD4_DATA4__USDHC4_DATA4	0x170f9
			MX6SX_PAD_SD4_DATA5__USDHC4_DATA5	0x170f9
			MX6SX_PAD_SD4_DATA6__USDHC4_DATA6	0x170f9
			MX6SX_PAD_SD4_DATA7__USDHC4_DATA7	0x170f9
		>;
	};
};
