// SPDX-License-Identifier: GPL-2.0
/*
 * pinctrl dts fils for Hislicon HiKey development board
 *
 */
#include <dt-bindings/pinctrl/hisi.h>

/ {
	soc {
		pmx0: pinmux@f7010000 {
			pinctrl-names = "default";
			pinctrl-0 = <
				&boot_sel_pmx_func
				&hkadc_ssi_pmx_func
				&codec_clk_pmx_func
				&pwm_in_pmx_func
				&bl_pwm_pmx_func
				>;

			boot_sel_pmx_func: boot-sel-pins {
				pinctrl-single,pins = <
					0x0    MUX_M0	/* BOOT_SEL     (IOMG000) */
				>;
			};

			emmc_pmx_func: emmc-pins {
				pinctrl-single,pins = <
					0x100  MUX_M0	/* EMMC_CLK     (IOMG064) */
					0x104  MUX_M0	/* EMMC_CMD     (IOMG065) */
					0x108  MUX_M0	/* EMMC_DATA0   (IOMG066) */
					0x10c  MUX_M0	/* EMMC_DATA1   (IOMG067) */
					0x110  MUX_M0	/* EMMC_DATA2   (IOMG068) */
					0x114  MUX_M0	/* EMMC_DATA3   (IOMG069) */
					0x118  MUX_M0	/* EMMC_DATA4   (IOMG070) */
					0x11c  MUX_M0	/* EMMC_DATA5   (IOMG071) */
					0x120  MUX_M0	/* EMMC_DATA6   (IOMG072) */
					0x124  MUX_M0	/* EMMC_DATA7   (IOMG073) */
				>;
			};

			sd_pmx_func: sd-pins {
				pinctrl-single,pins = <
					0xc    MUX_M0	/* SD_CLK       (IOMG003) */
					0x10   MUX_M0	/* SD_CMD       (IOMG004) */
					0x14   MUX_M0	/* SD_DATA0     (IOMG005) */
					0x18   MUX_M0	/* SD_DATA1     (IOMG006) */
					0x1c   MUX_M0	/* SD_DATA2     (IOMG007) */
					0x20   MUX_M0	/* SD_DATA3     (IOMG008) */
				>;
			};
			sd_pmx_idle: sd-idle-pins {
				pinctrl-single,pins = <
					0xc    MUX_M1	/* SD_CLK       (IOMG003) */
					0x10   MUX_M1	/* SD_CMD       (IOMG004) */
					0x14   MUX_M1	/* SD_DATA0     (IOMG005) */
					0x18   MUX_M1	/* SD_DATA1     (IOMG006) */
					0x1c   MUX_M1	/* SD_DATA2     (IOMG007) */
					0x20   MUX_M1	/* SD_DATA3     (IOMG008) */
				>;
			};

			sdio_pmx_func: sdio-pins {
				pinctrl-single,pins = <
					0x128  MUX_M0	/* SDIO_CLK     (IOMG074) */
					0x12c  MUX_M0	/* SDIO_CMD     (IOMG075) */
					0x130  MUX_M0	/* SDIO_DATA0   (IOMG076) */
					0x134  MUX_M0	/* SDIO_DATA1   (IOMG077) */
					0x138  MUX_M0	/* SDIO_DATA2   (IOMG078) */
					0x13c  MUX_M0	/* SDIO_DATA3   (IOMG079) */
				>;
			};
			sdio_pmx_idle: sdio-idle-pins {
				pinctrl-single,pins = <
					0x128  MUX_M1	/* SDIO_CLK     (IOMG074) */
					0x12c  MUX_M1	/* SDIO_CMD     (IOMG075) */
					0x130  MUX_M1	/* SDIO_DATA0   (IOMG076) */
					0x134  MUX_M1	/* SDIO_DATA1   (IOMG077) */
					0x138  MUX_M1	/* SDIO_DATA2   (IOMG078) */
					0x13c  MUX_M1	/* SDIO_DATA3   (IOMG079) */
				>;
			};

			isp_pmx_func: isp-pins {
				pinctrl-single,pins = <
					0x24   MUX_M0	/* ISP_PWDN0    (IOMG009) */
					0x28   MUX_M0	/* ISP_PWDN1    (IOMG010) */
					0x2c   MUX_M0	/* ISP_PWDN2    (IOMG011) */
					0x30   MUX_M1	/* ISP_SHUTTER0 (IOMG012) */
					0x34   MUX_M1	/* ISP_SHUTTER1 (IOMG013) */
					0x38   MUX_M1	/* ISP_PWM      (IOMG014) */
					0x3c   MUX_M0	/* ISP_CCLK0    (IOMG015) */
					0x40   MUX_M0	/* ISP_CCLK1    (IOMG016) */
					0x44   MUX_M0	/* ISP_RESETB0  (IOMG017) */
					0x48   MUX_M0	/* ISP_RESETB1  (IOMG018) */
					0x4c   MUX_M1	/* ISP_STROBE0  (IOMG019) */
					0x50   MUX_M1	/* ISP_STROBE1  (IOMG020) */
					0x54   MUX_M0	/* ISP_SDA0     (IOMG021) */
					0x58   MUX_M0	/* ISP_SCL0     (IOMG022) */
					0x5c   MUX_M0	/* ISP_SDA1     (IOMG023) */
					0x60   MUX_M0	/* ISP_SCL1     (IOMG024) */
				>;
			};

			hkadc_ssi_pmx_func: hkadc-ssi-pins {
				pinctrl-single,pins = <
					0x68   MUX_M0	/* HKADC_SSI    (IOMG026) */
				>;
			};

			codec_clk_pmx_func: codec-clk-pins {
				pinctrl-single,pins = <
					0x6c   MUX_M0	/* CODEC_CLK    (IOMG027) */
				>;
			};

			codec_pmx_func: codec-pins {
				pinctrl-single,pins = <
					0x70   MUX_M1	/* DMIC_CLK     (IOMG028) */
					0x74   MUX_M0	/* CODEC_SYNC   (IOMG029) */
					0x78   MUX_M0	/* CODEC_DI     (IOMG030) */
					0x7c   MUX_M0	/* CODEC_DO     (IOMG031) */
				>;
			};

			fm_pmx_func: fm-pins {
				pinctrl-single,pins = <
					0x80   MUX_M1	/* FM_XCLK      (IOMG032) */
					0x84   MUX_M1	/* FM_XFS       (IOMG033) */
					0x88   MUX_M1	/* FM_DI        (IOMG034) */
					0x8c   MUX_M1	/* FM_DO        (IOMG035) */
				>;
			};

			bt_pmx_func: bt-pins {
				pinctrl-single,pins = <
					0x90   MUX_M0	/* BT_XCLK      (IOMG036) */
					0x94   MUX_M0	/* BT_XFS       (IOMG037) */
					0x98   MUX_M0	/* BT_DI        (IOMG038) */
					0x9c   MUX_M0	/* BT_DO        (IOMG039) */
				>;
			};

			pwm_in_pmx_func: pwm-in-pins {
				pinctrl-single,pins = <
					0xb8   MUX_M1	/* PWM_IN       (IOMG046) */
				>;
			};

			bl_pwm_pmx_func: bl-pwm-pins {
				pinctrl-single,pins = <
					0xbc   MUX_M1	/* BL_PWM       (IOMG047) */
				>;
			};

			uart0_pmx_func: uart0-pins {
				pinctrl-single,pins = <
					0xc0   MUX_M0	/* UART0_RXD    (IOMG048) */
					0xc4   MUX_M0	/* UART0_TXD    (IOMG049) */
				>;
			};

			uart1_pmx_func: uart1-pins {
				pinctrl-single,pins = <
					0xc8   MUX_M0	/* UART1_CTS_N  (IOMG050) */
					0xcc   MUX_M0	/* UART1_RTS_N  (IOMG051) */
					0xd0   MUX_M0	/* UART1_RXD    (IOMG052) */
					0xd4   MUX_M0	/* UART1_TXD    (IOMG053) */
				>;
			};

			uart2_pmx_func: uart2-pins {
				pinctrl-single,pins = <
					0xd8   MUX_M0	/* UART2_CTS_N  (IOMG054) */
					0xdc   MUX_M0	/* UART2_RTS_N  (IOMG055) */
					0xe0   MUX_M0	/* UART2_RXD    (IOMG056) */
					0xe4   MUX_M0	/* UART2_TXD    (IOMG057) */
				>;
			};

			uart3_pmx_func: uart3-pins {
				pinctrl-single,pins = <
					0x180  MUX_M1	/* UART3_CTS_N  (IOMG096) */
					0x184  MUX_M1	/* UART3_RTS_N  (IOMG097) */
					0x188  MUX_M1	/* UART3_RXD    (IOMG098) */
					0x18c  MUX_M1	/* UART3_TXD    (IOMG099) */
				>;
			};

			uart4_pmx_func: uart4-pins {
				pinctrl-single,pins = <
					0x1d0  MUX_M1	/* UART4_CTS_N  (IOMG116) */
					0x1d4  MUX_M1	/* UART4_RTS_N  (IOMG117) */
					0x1d8  MUX_M1	/* UART4_RXD    (IOMG118) */
					0x1dc  MUX_M1	/* UART4_TXD    (IOMG119) */
				>;
			};

			uart5_pmx_func: uart5-pins {
				pinctrl-single,pins = <
					0x1c8  MUX_M1	/* UART5_RXD    (IOMG114) */
					0x1cc  MUX_M1	/* UART5_TXD    (IOMG115) */
				>;
			};

			i2c0_pmx_func: i2c0-pins {
				pinctrl-single,pins = <
					0xe8   MUX_M0	/* I2C0_SCL     (IOMG058) */
					0xec   MUX_M0	/* I2C0_SDA     (IOMG059) */
				>;
			};

			i2c1_pmx_func: i2c1-pins {
				pinctrl-single,pins = <
					0xf0   MUX_M0	/* I2C1_SCL     (IOMG060) */
					0xf4   MUX_M0	/* I2C1_SDA     (IOMG061) */
				>;
			};

			i2c2_pmx_func: i2c2-pins {
				pinctrl-single,pins = <
					0xf8   MUX_M0	/* I2C2_SCL     (IOMG062) */
					0xfc   MUX_M0	/* I2C2_SDA     (IOMG063) */
				>;
			};

			spi0_pmx_func: spi0-pins {
				pinctrl-single,pins = <
					0x1a0  MUX_M1   /* SPI0_DI      (IOMG104) */
					0x1a4  MUX_M1	/* SPI0_DO	(IOMG105) */
					0x1a8  MUX_M1	/* SPI0_CS_N	(IOMG106) */
					0x1ac  MUX_M1	/* SPI0_CLK	(IOMG107) */
				>;
			};
		};

		pmx1: pinmux@f7010800 {

			pinctrl-names = "default";
			pinctrl-0 = <
				&boot_sel_cfg_func
				&hkadc_ssi_cfg_func
				&codec_clk_cfg_func
				&pwm_in_cfg_func
				&bl_pwm_cfg_func
				>;

			boot_sel_cfg_func: boot-sel-cfg-pins {
				pinctrl-single,pins = <
					0x0    0x0	/* BOOT_SEL     (IOCFG000) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_UP   PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			hkadc_ssi_cfg_func: hkadc-ssi-cfg-pins {
				pinctrl-single,pins = <
					0x6c   0x0	/* HKADC_SSI    (IOCFG027) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			emmc_clk_cfg_func: emmc-clk-cfg-pins {
				pinctrl-single,pins = <
					0x104  0x0	/* EMMC_CLK     (IOCFG065) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_08MA DRIVE_MASK>;
			};

			emmc_cfg_func: emmc-cfg-pins {
				pinctrl-single,pins = <
					0x108  0x0	/* EMMC_CMD     (IOCFG066) */
					0x10c  0x0	/* EMMC_DATA0   (IOCFG067) */
					0x110  0x0	/* EMMC_DATA1   (IOCFG068) */
					0x114  0x0	/* EMMC_DATA2   (IOCFG069) */
					0x118  0x0	/* EMMC_DATA3   (IOCFG070) */
					0x11c  0x0	/* EMMC_DATA4   (IOCFG071) */
					0x120  0x0	/* EMMC_DATA5   (IOCFG072) */
					0x124  0x0	/* EMMC_DATA6   (IOCFG073) */
					0x128  0x0	/* EMMC_DATA7   (IOCFG074) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_UP   PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_04MA DRIVE_MASK>;
			};

			emmc_rst_cfg_func: emmc-rst-cfg-pins {
				pinctrl-single,pins = <
					0x12c  0x0	/* EMMC_RST_N   (IOCFG075) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_04MA DRIVE_MASK>;
			};

			sd_clk_cfg_func: sd-clk-cfg-pins {
				pinctrl-single,pins = <
					0xc    0x0	/* SD_CLK       (IOCFG003) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_10MA DRIVE_MASK>;
			};
			sd_clk_cfg_idle: sd-clk-cfg-idle-pins {
				pinctrl-single,pins = <
					0xc    0x0	/* SD_CLK       (IOCFG003) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DOWN PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			sd_cfg_func: sd-cfg-pins {
				pinctrl-single,pins = <
					0x10   0x0	/* SD_CMD       (IOCFG004) */
					0x14   0x0	/* SD_DATA0     (IOCFG005) */
					0x18   0x0	/* SD_DATA1     (IOCFG006) */
					0x1c   0x0	/* SD_DATA2     (IOCFG007) */
					0x20   0x0	/* SD_DATA3     (IOCFG008) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_08MA DRIVE_MASK>;
			};
			sd_cfg_idle: sd-cfg-idle-pins {
				pinctrl-single,pins = <
					0x10   0x0	/* SD_CMD       (IOCFG004) */
					0x14   0x0	/* SD_DATA0     (IOCFG005) */
					0x18   0x0	/* SD_DATA1     (IOCFG006) */
					0x1c   0x0	/* SD_DATA2     (IOCFG007) */
					0x20   0x0	/* SD_DATA3     (IOCFG008) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DOWN PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			sdio_clk_cfg_func: sdio-clk-cfg-pins {
				pinctrl-single,pins = <
					0x134  0x0	/* SDIO_CLK     (IOCFG077) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_08MA DRIVE_MASK>;
			};
			sdio_clk_cfg_idle: sdio-clk-cfg-idle-pins {
				pinctrl-single,pins = <
					0x134  0x0	/* SDIO_CLK     (IOCFG077) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DOWN PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			sdio_cfg_func: sdio-cfg-pins {
				pinctrl-single,pins = <
					0x138  0x0	/* SDIO_CMD     (IOCFG078) */
					0x13c  0x0	/* SDIO_DATA0   (IOCFG079) */
					0x140  0x0	/* SDIO_DATA1   (IOCFG080) */
					0x144  0x0	/* SDIO_DATA2   (IOCFG081) */
					0x148  0x0	/* SDIO_DATA3   (IOCFG082) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_UP   PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_04MA DRIVE_MASK>;
			};
			sdio_cfg_idle: sdio-cfg-idle-pins {
				pinctrl-single,pins = <
					0x138  0x0	/* SDIO_CMD     (IOCFG078) */
					0x13c  0x0	/* SDIO_DATA0   (IOCFG079) */
					0x140  0x0	/* SDIO_DATA1   (IOCFG080) */
					0x144  0x0	/* SDIO_DATA2   (IOCFG081) */
					0x148  0x0	/* SDIO_DATA3   (IOCFG082) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_UP   PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			isp_cfg_func1: isp-cfg-func1-pins {
				pinctrl-single,pins = <
					0x28   0x0	/* ISP_PWDN0    (IOCFG010) */
					0x2c   0x0	/* ISP_PWDN1    (IOCFG011) */
					0x30   0x0	/* ISP_PWDN2    (IOCFG012) */
					0x34   0x0	/* ISP_SHUTTER0 (IOCFG013) */
					0x38   0x0	/* ISP_SHUTTER1 (IOCFG014) */
					0x3c   0x0	/* ISP_PWM      (IOCFG015) */
					0x40   0x0	/* ISP_CCLK0    (IOCFG016) */
					0x44   0x0	/* ISP_CCLK1    (IOCFG017) */
					0x48   0x0	/* ISP_RESETB0  (IOCFG018) */
					0x4c   0x0	/* ISP_RESETB1  (IOCFG019) */
					0x50   0x0	/* ISP_STROBE0  (IOCFG020) */
					0x58   0x0	/* ISP_SDA0     (IOCFG022) */
					0x5c   0x0	/* ISP_SCL0     (IOCFG023) */
					0x60   0x0	/* ISP_SDA1     (IOCFG024) */
					0x64   0x0	/* ISP_SCL1     (IOCFG025) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};
			isp_cfg_idle1: isp-cfg-idle1-pins {
				pinctrl-single,pins = <
					0x34   0x0	/* ISP_SHUTTER0 (IOCFG013) */
					0x38   0x0	/* ISP_SHUTTER1 (IOCFG014) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DOWN PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			isp_cfg_func2: isp-cfg-func2-pins {
				pinctrl-single,pins = <
					0x54   0x0	/* ISP_STROBE1  (IOCFG021) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DOWN PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			codec_clk_cfg_func: codec-clk-cfg-pins {
				pinctrl-single,pins = <
					0x70   0x0	/* CODEC_CLK    (IOCFG028) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_04MA DRIVE_MASK>;
			};
			codec_clk_cfg_idle: codec-clk-cfg-idle-pins {
				pinctrl-single,pins = <
					0x70   0x0	/* CODEC_CLK    (IOCFG028) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			codec_cfg_func1: codec-cfg-func1-pins {
				pinctrl-single,pins = <
					0x74   0x0	/* DMIC_CLK     (IOCFG029) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DOWN PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			codec_cfg_func2: codec-cfg-func2-pins {
				pinctrl-single,pins = <
					0x78   0x0	/* CODEC_SYNC   (IOCFG030) */
					0x7c   0x0	/* CODEC_DI     (IOCFG031) */
					0x80   0x0	/* CODEC_DO     (IOCFG032) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_04MA DRIVE_MASK>;
			};
			codec_cfg_idle2: codec-cfg-idle2-pins {
				pinctrl-single,pins = <
					0x78   0x0	/* CODEC_SYNC   (IOCFG030) */
					0x7c   0x0	/* CODEC_DI     (IOCFG031) */
					0x80   0x0	/* CODEC_DO     (IOCFG032) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			fm_cfg_func: fm-cfg-pins {
				pinctrl-single,pins = <
					0x84   0x0	/* FM_XCLK      (IOCFG033) */
					0x88   0x0	/* FM_XFS       (IOCFG034) */
					0x8c   0x0	/* FM_DI        (IOCFG035) */
					0x90   0x0	/* FM_DO        (IOCFG036) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DOWN PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			bt_cfg_func: bt-cfg-pins {
				pinctrl-single,pins = <
					0x94   0x0	/* BT_XCLK      (IOCFG037) */
					0x98   0x0	/* BT_XFS       (IOCFG038) */
					0x9c   0x0	/* BT_DI        (IOCFG039) */
					0xa0   0x0	/* BT_DO        (IOCFG040) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};
			bt_cfg_idle: bt-cfg-idle-pins {
				pinctrl-single,pins = <
					0x94   0x0	/* BT_XCLK      (IOCFG037) */
					0x98   0x0	/* BT_XFS       (IOCFG038) */
					0x9c   0x0	/* BT_DI        (IOCFG039) */
					0xa0   0x0	/* BT_DO        (IOCFG040) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DOWN PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			pwm_in_cfg_func: pwm-in-cfg-pins {
				pinctrl-single,pins = <
					0xbc   0x0	/* PWM_IN       (IOCFG047) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DOWN PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			bl_pwm_cfg_func: bl-pwm-cfg-pins {
				pinctrl-single,pins = <
					0xc0   0x0	/* BL_PWM       (IOCFG048) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DOWN PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			uart0_cfg_func1: uart0-cfg-func1-pins {
				pinctrl-single,pins = <
					0xc4   0x0	/* UART0_RXD    (IOCFG049) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_UP   PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			uart0_cfg_func2: uart0-cfg-func2-pins {
				pinctrl-single,pins = <
					0xc8   0x0	/* UART0_TXD    (IOCFG050) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_04MA DRIVE_MASK>;
			};

			uart1_cfg_func1: uart1-cfg-func1-pins {
				pinctrl-single,pins = <
					0xcc   0x0	/* UART1_CTS_N  (IOCFG051) */
					0xd4   0x0	/* UART1_RXD    (IOCFG053) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_UP   PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			uart1_cfg_func2: uart1-cfg-func2-pins {
				pinctrl-single,pins = <
					0xd0   0x0	/* UART1_RTS_N  (IOCFG052) */
					0xd8   0x0	/* UART1_TXD    (IOCFG054) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			uart2_cfg_func: uart2-cfg-pins {
				pinctrl-single,pins = <
					0xdc   0x0	/* UART2_CTS_N  (IOCFG055) */
					0xe0   0x0	/* UART2_RTS_N  (IOCFG056) */
					0xe4   0x0	/* UART2_RXD    (IOCFG057) */
					0xe8   0x0	/* UART2_TXD    (IOCFG058) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			uart3_cfg_func: uart3-cfg-pins {
				pinctrl-single,pins = <
					0x190  0x0	/* UART3_CTS_N  (IOCFG100) */
					0x194  0x0	/* UART3_RTS_N  (IOCFG101) */
					0x198  0x0	/* UART3_RXD    (IOCFG102) */
					0x19c  0x0	/* UART3_TXD    (IOCFG103) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DOWN PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			uart4_cfg_func: uart4-cfg-pins {
				pinctrl-single,pins = <
					0x1e0  0x0	/* UART4_CTS_N  (IOCFG120) */
					0x1e4  0x0	/* UART4_RTS_N  (IOCFG121) */
					0x1e8  0x0	/* UART4_RXD    (IOCFG122) */
					0x1ec  0x0	/* UART4_TXD    (IOCFG123) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DOWN PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			uart5_cfg_func: uart5-cfg-pins {
				pinctrl-single,pins = <
					0x1d8  0x0	/* UART4_RXD    (IOCFG118) */
					0x1dc  0x0	/* UART4_TXD    (IOCFG119) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DOWN PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			i2c0_cfg_func: i2c0-cfg-pins {
				pinctrl-single,pins = <
					0xec   0x0	/* I2C0_SCL     (IOCFG059) */
					0xf0   0x0	/* I2C0_SDA     (IOCFG060) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			i2c1_cfg_func: i2c1-cfg-pins {
				pinctrl-single,pins = <
					0xf4   0x0	/* I2C1_SCL     (IOCFG061) */
					0xf8   0x0	/* I2C1_SDA     (IOCFG062) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			i2c2_cfg_func: i2c2-cfg-pins {
				pinctrl-single,pins = <
					0xfc   0x0	/* I2C2_SCL     (IOCFG063) */
					0x100  0x0	/* I2C2_SDA     (IOCFG064) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			spi0_cfg_func: spi0-cfg-pins {
				pinctrl-single,pins = <
					0x1b0  0x0	/* SPI0_DI	(IOCFG108) */
					0x1b4  0x0	/* SPI0_DO	(IOCFG109) */
					0x1b8  0x0	/* SPI0_CS_N	(IOCFG110) */
					0x1bc  0x0	/* SPI0_CLK	(IOCFG111) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};
		};

		pmx2: pinmux@f8001800 {

			pinctrl-names = "default";
			pinctrl-0 = <
				&rstout_n_cfg_func
				>;

			rstout_n_cfg_func: rstout-n-cfg-pins {
				pinctrl-single,pins = <
					0x0    0x0	/* RSTOUT_N     (IOCFG000) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			pmu_peri_en_cfg_func: pmu-peri-en-cfg-pins {
				pinctrl-single,pins = <
					0x4    0x0	/* PMU_PERI_EN  (IOCFG001) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			sysclk0_en_cfg_func: sysclk0-en-cfg-pins {
				pinctrl-single,pins = <
					0x8    0x0	/* SYSCLK0_EN   (IOCFG002) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};

			jtag_tdo_cfg_func: jtag-tdo-cfg-pins {
				pinctrl-single,pins = <
					0xc    0x0	/* JTAG_TDO     (IOCFG003) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_08MA DRIVE_MASK>;
			};

			rf_reset_cfg_func: rf-reset-cfg-pins {
				pinctrl-single,pins = <
					0x70   0x0	/* RF_RESET0    (IOCFG028) */
					0x74   0x0	/* RF_RESET1    (IOCFG029) */
				>;
				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS  PULL_DOWN>;
				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
			};
		};
	};
};