// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Copyright 2016 Freescale Semiconductor, Inc.
 * Copyright 2017-2018 NXP.
 *
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "imx6sll.dtsi"

/ {
	model = "Freescale i.MX6SLL EVK Board";
	compatible = "fsl,imx6sll-evk", "fsl,imx6sll";

	chosen {
		stdout-path = &uart1;
	};

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

	backlight_display: backlight-display {
		compatible = "pwm-backlight";
		pwms = <&pwm1 0 5000000>;
		brightness-levels = <0 4 8 16 32 64 128 255>;
		default-brightness-level = <6>;
		status = "okay";
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_led>;

		led-user {
			label = "debug";
			gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "heartbeat";
		};
	};

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

	reg_usb_otg2_vbus: regulator-otg2-vbus {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_usb_otg2_vbus>;
		regulator-name = "usb_otg2_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_aud3v: regulator-aud3v {
		compatible = "regulator-fixed";
		regulator-name = "wm8962-supply-3v15";
		regulator-min-microvolt = <3150000>;
		regulator-max-microvolt = <3150000>;
		regulator-boot-on;
	};

	reg_aud4v: regulator-aud4v {
		compatible = "regulator-fixed";
		regulator-name = "wm8962-supply-4v2";
		regulator-min-microvolt = <4325000>;
		regulator-max-microvolt = <4325000>;
		regulator-boot-on;
	};

	reg_lcd_3v3: regulator-lcd-3v3 {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_reg_lcd_3v3>;
		regulator-name = "lcd-3v3";
		gpio = <&gpio4 3 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_lcd_5v: regulator-lcd-5v {
		compatible = "regulator-fixed";
		regulator-name = "lcd-5v0";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
	};

	reg_sd1_vmmc: regulator-sd1-vmmc {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_reg_sd1_vmmc>;
		regulator-name = "SD1_SPWR";
		regulator-min-microvolt = <3000000>;
		regulator-max-microvolt = <3000000>;
		gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_sd2_vmmc: regulator-sd2-vmmc {
		compatible = "regulator-fixed";
		regulator-name = "eMMC-VCCQ";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-boot-on;
	};

	reg_sd3_vmmc: regulator-sd3-vmmc {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_reg_sd3_vmmc>;
		regulator-name = "SD3_WIFI";
		regulator-min-microvolt = <3000000>;
		regulator-max-microvolt = <3000000>;
		gpio = <&gpio4 4 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	panel {
		compatible = "sii,43wvf1g";
		backlight = <&backlight_display>;
		dvdd-supply = <&reg_lcd_3v3>;
		avdd-supply = <&reg_lcd_5v>;

		port {
			panel_in: endpoint {
				remote-endpoint = <&display_out>;
			};
		};
	};

	sound {
		compatible = "fsl,imx6sl-evk-wm8962", "fsl,imx-audio-wm8962";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_hp>;
		model = "wm8962-audio";
		audio-cpu = <&ssi2>;
		audio-codec = <&wm8962>;
		audio-routing =
			"Headphone Jack", "HPOUTL",
			"Headphone Jack", "HPOUTR",
			"Ext Spk", "SPKOUTL",
			"Ext Spk", "SPKOUTR",
			"AMIC", "MICBIAS",
			"IN3R", "AMIC";
		mux-int-port = <2>;
		mux-ext-port = <3>;
		hp-det-gpio = <&gpio4 24 GPIO_ACTIVE_LOW>;
	};
};

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

&cpu0 {
	arm-supply = <&sw1a_reg>;
	soc-supply = <&sw1c_reg>;
};

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

	pfuze100: pmic@8 {
		compatible = "fsl,pfuze100";
		reg = <0x08>;

		regulators {
			sw1a_reg: sw1ab {
				regulator-min-microvolt = <300000>;
				regulator-max-microvolt = <1875000>;
				regulator-boot-on;
				regulator-always-on;
				regulator-ramp-delay = <6250>;
			};

			sw1c_reg: sw1c {
				regulator-min-microvolt = <300000>;
				regulator-max-microvolt = <1875000>;
				regulator-boot-on;
				regulator-always-on;
				regulator-ramp-delay = <6250>;
			};

			sw2_reg: sw2 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <3300000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw3a_reg: sw3a {
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1975000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw3b_reg: sw3b {
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1975000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw4_reg: sw4 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			swbst_reg: swbst {
				regulator-min-microvolt = <5000000>;
				regulator-max-microvolt = <5150000>;
			};

			snvs_reg: vsnvs {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3000000>;
				regulator-boot-on;
				regulator-always-on;
			};

			vref_reg: vrefddr {
				regulator-boot-on;
				regulator-always-on;
			};

			vgen1_reg: vgen1 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1550000>;
				regulator-always-on;
			};

			vgen2_reg: vgen2 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1550000>;
			};

			vgen3_reg: vgen3 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
			};

			vgen4_reg: vgen4 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen5_reg: vgen5 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen6_reg: vgen6 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};
		};
	};
};

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

	wm8962: audio-codec@1a {
		compatible = "wlf,wm8962";
		reg = <0x1a>;
		clocks = <&clks IMX6SLL_CLK_EXTERN_AUDIO>;
		DCVDD-supply = <&vgen3_reg>;
		DBVDD-supply = <&reg_aud3v>;
		AVDD-supply = <&vgen3_reg>;
		CPVDD-supply = <&vgen3_reg>;
		MICVDD-supply = <&reg_aud3v>;
		PLLVDD-supply = <&vgen3_reg>;
		SPKVDD1-supply = <&reg_aud4v>;
		SPKVDD2-supply = <&reg_aud4v>;
	};
};

&lcdif {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_lcd>;
	status = "okay";

	port {
		display_out: endpoint {
			remote-endpoint = <&panel_in>;
		};
	};
};

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

&snvs_poweroff {
	status = "okay";
};

&snvs_pwrkey {
	status = "okay";
};

&ssi2 {
	status = "okay";
};

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

&usdhc1 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc1>;
	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
	cd-gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;
	wp-gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>;
	keep-power-in-suspend;
	wakeup-source;
	vmmc-supply = <&reg_sd1_vmmc>;
	status = "okay";
};

&usdhc2 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc2>;
	pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
	bus-width = <8>;
	non-removable;
	vqmmc-supply = <&reg_sd2_vmmc>;
	status = "okay";
};

&usbotg1 {
	vbus-supply = <&reg_usb_otg1_vbus>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usbotg1>;
	disable-over-current;
	srp-disable;
	hnp-disable;
	adp-disable;
	status = "okay";
};

&usbotg2 {
	vbus-supply = <&reg_usb_otg2_vbus>;
	dr_mode = "host";
	disable-over-current;
	status = "okay";
};

&usdhc3 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc3>;
	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
	cd-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
	keep-power-in-suspend;
	wakeup-source;
	vmmc-supply = <&reg_sd3_vmmc>;
	status = "okay";
};

&wdog1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_wdog1>;
	fsl,ext-reset-output;
};

&iomuxc {
	pinctrl_audmux3: audmux3grp {
		fsl,pins = <
			MX6SLL_PAD_AUD_TXC__AUD3_TXC		0x4130b0
			MX6SLL_PAD_AUD_TXFS__AUD3_TXFS		0x4130b0
			MX6SLL_PAD_AUD_TXD__AUD3_TXD		0x4110b0
			MX6SLL_PAD_AUD_RXD__AUD3_RXD		0x4130b0
			MX6SLL_PAD_AUD_MCLK__AUDIO_CLK_OUT	0x4130b0
		>;
	};

	pinctrl_hp: hpgrp {
		fsl,pins = <
			MX6SLL_PAD_GPIO4_IO24__GPIO4_IO24 0x17059 /* HP DETECT */
		>;
	};

	pinctrl_reg_sd3_vmmc: sd3vmmcgrp {
		fsl,pins = <
			MX6SLL_PAD_KEY_COL6__GPIO4_IO04 0x17059
		>;
	};

	pinctrl_usb_otg1_vbus: vbus1grp {
		fsl,pins = <
			MX6SLL_PAD_KEY_COL4__GPIO4_IO00 0x17059
		>;
	};

	pinctrl_usb_otg2_vbus: vbus2grp {
		fsl,pins = <
			MX6SLL_PAD_KEY_COL5__GPIO4_IO02 0x17059
		>;
	};

	pinctrl_reg_lcd_3v3: reglcd3v3grp {
		fsl,pins = <
			MX6SLL_PAD_KEY_ROW5__GPIO4_IO03 0x17059
		>;
	};

	pinctrl_reg_sd1_vmmc: sd1vmmcgrp {
		fsl,pins = <
			MX6SLL_PAD_KEY_COL3__GPIO3_IO30 0x17059
		>;
	};

	pinctrl_uart1: uart1grp {
		fsl,pins = <
			MX6SLL_PAD_UART1_TXD__UART1_DCE_TX 0x1b0b1
			MX6SLL_PAD_UART1_RXD__UART1_DCE_RX 0x1b0b1
		>;
	};

	pinctrl_usdhc1: usdhc1grp {
		fsl,pins = <
			MX6SLL_PAD_SD1_CMD__SD1_CMD	0x17059
			MX6SLL_PAD_SD1_CLK__SD1_CLK	0x13059
			MX6SLL_PAD_SD1_DATA0__SD1_DATA0	0x17059
			MX6SLL_PAD_SD1_DATA1__SD1_DATA1	0x17059
			MX6SLL_PAD_SD1_DATA2__SD1_DATA2	0x17059
			MX6SLL_PAD_SD1_DATA3__SD1_DATA3	0x17059
		>;
	};

	pinctrl_usdhc1_100mhz: usdhc1grp-100mhz {
		fsl,pins = <
			MX6SLL_PAD_SD1_CMD__SD1_CMD	0x170b9
			MX6SLL_PAD_SD1_CLK__SD1_CLK	0x130b9
			MX6SLL_PAD_SD1_DATA0__SD1_DATA0	0x170b9
			MX6SLL_PAD_SD1_DATA1__SD1_DATA1	0x170b9
			MX6SLL_PAD_SD1_DATA2__SD1_DATA2	0x170b9
			MX6SLL_PAD_SD1_DATA3__SD1_DATA3	0x170b9
		>;
	};

	pinctrl_usdhc1_200mhz: usdhc1grp-200mhz {
		fsl,pins = <
			MX6SLL_PAD_SD1_CMD__SD1_CMD	0x170f9
			MX6SLL_PAD_SD1_CLK__SD1_CLK	0x130f9
			MX6SLL_PAD_SD1_DATA0__SD1_DATA0	0x170f9
			MX6SLL_PAD_SD1_DATA1__SD1_DATA1	0x170f9
			MX6SLL_PAD_SD1_DATA2__SD1_DATA2	0x170f9
			MX6SLL_PAD_SD1_DATA3__SD1_DATA3	0x170f9
		>;
	};

	pinctrl_usdhc2: usdhc2grp {
		fsl,pins = <
			MX6SLL_PAD_SD2_CMD__SD2_CMD		0x17059
			MX6SLL_PAD_SD2_CLK__SD2_CLK		0x13059
			MX6SLL_PAD_SD2_DATA0__SD2_DATA0		0x17059
			MX6SLL_PAD_SD2_DATA1__SD2_DATA1		0x17059
			MX6SLL_PAD_SD2_DATA2__SD2_DATA2		0x17059
			MX6SLL_PAD_SD2_DATA3__SD2_DATA3		0x17059
			MX6SLL_PAD_SD2_DATA4__SD2_DATA4		0x17059
			MX6SLL_PAD_SD2_DATA5__SD2_DATA5		0x17059
			MX6SLL_PAD_SD2_DATA6__SD2_DATA6		0x17059
			MX6SLL_PAD_SD2_DATA7__SD2_DATA7		0x17059
			MX6SLL_PAD_GPIO4_IO21__SD2_STROBE	0x13059
		>;
	};

	pinctrl_usdhc2_100mhz: usdhc2grp-100mhz {
		fsl,pins = <
			MX6SLL_PAD_SD2_CMD__SD2_CMD		0x170b9
			MX6SLL_PAD_SD2_CLK__SD2_CLK		0x130b9
			MX6SLL_PAD_SD2_DATA0__SD2_DATA0		0x170b9
			MX6SLL_PAD_SD2_DATA1__SD2_DATA1		0x170b9
			MX6SLL_PAD_SD2_DATA2__SD2_DATA2		0x170b9
			MX6SLL_PAD_SD2_DATA3__SD2_DATA3		0x170b9
			MX6SLL_PAD_SD2_DATA4__SD2_DATA4		0x170b9
			MX6SLL_PAD_SD2_DATA5__SD2_DATA5		0x170b9
			MX6SLL_PAD_SD2_DATA6__SD2_DATA6		0x170b9
			MX6SLL_PAD_SD2_DATA7__SD2_DATA7		0x170b9
			MX6SLL_PAD_GPIO4_IO21__SD2_STROBE	0x130b9
		>;
	};

	pinctrl_usdhc2_200mhz: usdhc2grp-200mhz {
		fsl,pins = <
			MX6SLL_PAD_SD2_CMD__SD2_CMD		0x170f9
			MX6SLL_PAD_SD2_CLK__SD2_CLK		0x130f9
			MX6SLL_PAD_SD2_DATA0__SD2_DATA0		0x170f9
			MX6SLL_PAD_SD2_DATA1__SD2_DATA1		0x170f9
			MX6SLL_PAD_SD2_DATA2__SD2_DATA2		0x170f9
			MX6SLL_PAD_SD2_DATA3__SD2_DATA3		0x170f9
			MX6SLL_PAD_SD2_DATA4__SD2_DATA4		0x170f9
			MX6SLL_PAD_SD2_DATA5__SD2_DATA5		0x170f9
			MX6SLL_PAD_SD2_DATA6__SD2_DATA6		0x170f9
			MX6SLL_PAD_SD2_DATA7__SD2_DATA7		0x170f9
			MX6SLL_PAD_GPIO4_IO21__SD2_STROBE	0x130f9
		>;
	};

	pinctrl_usbotg1: usbotg1grp {
		fsl,pins = <
			MX6SLL_PAD_EPDC_PWR_COM__USB_OTG1_ID 0x17059
		>;
	};

	pinctrl_usdhc3: usdhc3grp {
		fsl,pins = <
			MX6SLL_PAD_SD3_CMD__SD3_CMD		0x17061
			MX6SLL_PAD_SD3_CLK__SD3_CLK		0x13061
			MX6SLL_PAD_SD3_DATA0__SD3_DATA0		0x17061
			MX6SLL_PAD_SD3_DATA1__SD3_DATA1		0x17061
			MX6SLL_PAD_SD3_DATA2__SD3_DATA2		0x17061
			MX6SLL_PAD_SD3_DATA3__SD3_DATA3		0x17061
			MX6SLL_PAD_REF_CLK_32K__GPIO3_IO22	0x17059
		>;
	};

	pinctrl_usdhc3_100mhz: usdhc3grp-100mhz {
		fsl,pins = <
			MX6SLL_PAD_SD3_CMD__SD3_CMD		0x170a1
			MX6SLL_PAD_SD3_CLK__SD3_CLK		0x130a1
			MX6SLL_PAD_SD3_DATA0__SD3_DATA0		0x170a1
			MX6SLL_PAD_SD3_DATA1__SD3_DATA1		0x170a1
			MX6SLL_PAD_SD3_DATA2__SD3_DATA2		0x170a1
			MX6SLL_PAD_SD3_DATA3__SD3_DATA3		0x170a1
			MX6SLL_PAD_REF_CLK_32K__GPIO3_IO22	0x17059
		>;
	};

	pinctrl_usdhc3_200mhz: usdhc3grp-200mhz {
		fsl,pins = <
			MX6SLL_PAD_SD3_CMD__SD3_CMD		0x170e9
			MX6SLL_PAD_SD3_CLK__SD3_CLK		0x130f9
			MX6SLL_PAD_SD3_DATA0__SD3_DATA0		0x170e9
			MX6SLL_PAD_SD3_DATA1__SD3_DATA1		0x170e9
			MX6SLL_PAD_SD3_DATA2__SD3_DATA2		0x170e9
			MX6SLL_PAD_SD3_DATA3__SD3_DATA3		0x170e9
			MX6SLL_PAD_REF_CLK_32K__GPIO3_IO22	0x17059
		>;
	};

	pinctrl_i2c1: i2c1grp {
		fsl,pins = <
			MX6SLL_PAD_I2C1_SCL__I2C1_SCL	 0x4001b8b1
			MX6SLL_PAD_I2C1_SDA__I2C1_SDA	 0x4001b8b1
		>;
	};

	pinctrl_i2c3: i2c3grp {
		fsl,pins = <
			MX6SLL_PAD_AUD_RXFS__I2C3_SCL  0x4041b8b1
			MX6SLL_PAD_AUD_RXC__I2C3_SDA   0x4041b8b1
		>;
	};

	pinctrl_lcd: lcdgrp {
		fsl,pins = <
			MX6SLL_PAD_LCD_DATA00__LCD_DATA00	0x79
			MX6SLL_PAD_LCD_DATA01__LCD_DATA01	0x79
			MX6SLL_PAD_LCD_DATA02__LCD_DATA02	0x79
			MX6SLL_PAD_LCD_DATA03__LCD_DATA03	0x79
			MX6SLL_PAD_LCD_DATA04__LCD_DATA04	0x79
			MX6SLL_PAD_LCD_DATA05__LCD_DATA05	0x79
			MX6SLL_PAD_LCD_DATA06__LCD_DATA06	0x79
			MX6SLL_PAD_LCD_DATA07__LCD_DATA07	0x79
			MX6SLL_PAD_LCD_DATA08__LCD_DATA08	0x79
			MX6SLL_PAD_LCD_DATA09__LCD_DATA09	0x79
			MX6SLL_PAD_LCD_DATA10__LCD_DATA10	0x79
			MX6SLL_PAD_LCD_DATA11__LCD_DATA11	0x79
			MX6SLL_PAD_LCD_DATA12__LCD_DATA12	0x79
			MX6SLL_PAD_LCD_DATA13__LCD_DATA13	0x79
			MX6SLL_PAD_LCD_DATA14__LCD_DATA14	0x79
			MX6SLL_PAD_LCD_DATA15__LCD_DATA15	0x79
			MX6SLL_PAD_LCD_DATA16__LCD_DATA16	0x79
			MX6SLL_PAD_LCD_DATA17__LCD_DATA17	0x79
			MX6SLL_PAD_LCD_DATA18__LCD_DATA18	0x79
			MX6SLL_PAD_LCD_DATA19__LCD_DATA19	0x79
			MX6SLL_PAD_LCD_DATA20__LCD_DATA20	0x79
			MX6SLL_PAD_LCD_DATA21__LCD_DATA21	0x79
			MX6SLL_PAD_LCD_DATA22__LCD_DATA22	0x79
			MX6SLL_PAD_LCD_DATA23__LCD_DATA23	0x79
			MX6SLL_PAD_LCD_CLK__LCD_CLK		0x79
			MX6SLL_PAD_LCD_ENABLE__LCD_ENABLE	0x79
			MX6SLL_PAD_LCD_HSYNC__LCD_HSYNC		0x79
			MX6SLL_PAD_LCD_VSYNC__LCD_VSYNC		0x79
			MX6SLL_PAD_LCD_RESET__LCD_RESET		0x79
		>;
	};

	pinctrl_led: ledgrp {
		fsl,pins = <
			MX6SLL_PAD_EPDC_VCOM1__GPIO2_IO04	0x17059
		>;
	};

	pinctrl_pwm1: pmw1grp {
		fsl,pins = <
			MX6SLL_PAD_PWM1__PWM1_OUT   0x110b0
		>;
	};

	pinctrl_wdog1: wdog1grp	{
		fsl,pins = <
			MX6SLL_PAD_WDOG_B__WDOG1_B   0x170b0
		>;
	};
};
