/*
 * Copyright (c) 2018, Renesas Electronics Corporation. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#include <stdint.h>		/* for uint32_t */
#include <mmio.h>
#include "pfc_init_e3.h"
#include "rcar_def.h"

/* GPIO base address */
#define	GPIO_BASE		(0xE6050000U)

/* GPIO registers */
#define	GPIO_IOINTSEL0		(GPIO_BASE + 0x0000U)
#define	GPIO_INOUTSEL0		(GPIO_BASE + 0x0004U)
#define	GPIO_OUTDT0		(GPIO_BASE + 0x0008U)
#define	GPIO_INDT0		(GPIO_BASE + 0x000CU)
#define	GPIO_INTDT0		(GPIO_BASE + 0x0010U)
#define	GPIO_INTCLR0		(GPIO_BASE + 0x0014U)
#define	GPIO_INTMSK0		(GPIO_BASE + 0x0018U)
#define	GPIO_MSKCLR0		(GPIO_BASE + 0x001CU)
#define	GPIO_POSNEG0		(GPIO_BASE + 0x0020U)
#define	GPIO_EDGLEVEL0		(GPIO_BASE + 0x0024U)
#define	GPIO_FILONOFF0		(GPIO_BASE + 0x0028U)
#define	GPIO_INTMSKS0		(GPIO_BASE + 0x0038U)
#define	GPIO_MSKCLRS0		(GPIO_BASE + 0x003CU)
#define	GPIO_OUTDTSEL0		(GPIO_BASE + 0x0040U)
#define	GPIO_OUTDTH0		(GPIO_BASE + 0x0044U)
#define	GPIO_OUTDTL0		(GPIO_BASE + 0x0048U)
#define	GPIO_BOTHEDGE0		(GPIO_BASE + 0x004CU)
#define	GPIO_IOINTSEL1		(GPIO_BASE + 0x1000U)
#define	GPIO_INOUTSEL1		(GPIO_BASE + 0x1004U)
#define	GPIO_OUTDT1		(GPIO_BASE + 0x1008U)
#define	GPIO_INDT1		(GPIO_BASE + 0x100CU)
#define	GPIO_INTDT1		(GPIO_BASE + 0x1010U)
#define	GPIO_INTCLR1		(GPIO_BASE + 0x1014U)
#define	GPIO_INTMSK1		(GPIO_BASE + 0x1018U)
#define	GPIO_MSKCLR1		(GPIO_BASE + 0x101CU)
#define	GPIO_POSNEG1		(GPIO_BASE + 0x1020U)
#define	GPIO_EDGLEVEL1		(GPIO_BASE + 0x1024U)
#define	GPIO_FILONOFF1		(GPIO_BASE + 0x1028U)
#define	GPIO_INTMSKS1		(GPIO_BASE + 0x1038U)
#define	GPIO_MSKCLRS1		(GPIO_BASE + 0x103CU)
#define	GPIO_OUTDTSEL1		(GPIO_BASE + 0x1040U)
#define	GPIO_OUTDTH1		(GPIO_BASE + 0x1044U)
#define	GPIO_OUTDTL1		(GPIO_BASE + 0x1048U)
#define	GPIO_BOTHEDGE1		(GPIO_BASE + 0x104CU)
#define	GPIO_IOINTSEL2		(GPIO_BASE + 0x2000U)
#define	GPIO_INOUTSEL2		(GPIO_BASE + 0x2004U)
#define	GPIO_OUTDT2		(GPIO_BASE + 0x2008U)
#define	GPIO_INDT2		(GPIO_BASE + 0x200CU)
#define	GPIO_INTDT2		(GPIO_BASE + 0x2010U)
#define	GPIO_INTCLR2		(GPIO_BASE + 0x2014U)
#define	GPIO_INTMSK2		(GPIO_BASE + 0x2018U)
#define	GPIO_MSKCLR2		(GPIO_BASE + 0x201CU)
#define	GPIO_POSNEG2		(GPIO_BASE + 0x2020U)
#define	GPIO_EDGLEVEL2		(GPIO_BASE + 0x2024U)
#define	GPIO_FILONOFF2		(GPIO_BASE + 0x2028U)
#define	GPIO_INTMSKS2		(GPIO_BASE + 0x2038U)
#define	GPIO_MSKCLRS2		(GPIO_BASE + 0x203CU)
#define	GPIO_OUTDTSEL2		(GPIO_BASE + 0x2040U)
#define	GPIO_OUTDTH2		(GPIO_BASE + 0x2044U)
#define	GPIO_OUTDTL2		(GPIO_BASE + 0x2048U)
#define	GPIO_BOTHEDGE2		(GPIO_BASE + 0x204CU)
#define	GPIO_IOINTSEL3		(GPIO_BASE + 0x3000U)
#define	GPIO_INOUTSEL3		(GPIO_BASE + 0x3004U)
#define	GPIO_OUTDT3		(GPIO_BASE + 0x3008U)
#define	GPIO_INDT3		(GPIO_BASE + 0x300CU)
#define	GPIO_INTDT3		(GPIO_BASE + 0x3010U)
#define	GPIO_INTCLR3		(GPIO_BASE + 0x3014U)
#define	GPIO_INTMSK3		(GPIO_BASE + 0x3018U)
#define	GPIO_MSKCLR3		(GPIO_BASE + 0x301CU)
#define	GPIO_POSNEG3		(GPIO_BASE + 0x3020U)
#define	GPIO_EDGLEVEL3		(GPIO_BASE + 0x3024U)
#define	GPIO_FILONOFF3		(GPIO_BASE + 0x3028U)
#define	GPIO_INTMSKS3		(GPIO_BASE + 0x3038U)
#define	GPIO_MSKCLRS3		(GPIO_BASE + 0x303CU)
#define	GPIO_OUTDTSEL3		(GPIO_BASE + 0x3040U)
#define	GPIO_OUTDTH3		(GPIO_BASE + 0x3044U)
#define	GPIO_OUTDTL3		(GPIO_BASE + 0x3048U)
#define	GPIO_BOTHEDGE3		(GPIO_BASE + 0x304CU)
#define	GPIO_IOINTSEL4		(GPIO_BASE + 0x4000U)
#define	GPIO_INOUTSEL4		(GPIO_BASE + 0x4004U)
#define	GPIO_OUTDT4		(GPIO_BASE + 0x4008U)
#define	GPIO_INDT4		(GPIO_BASE + 0x400CU)
#define	GPIO_INTDT4		(GPIO_BASE + 0x4010U)
#define	GPIO_INTCLR4		(GPIO_BASE + 0x4014U)
#define	GPIO_INTMSK4		(GPIO_BASE + 0x4018U)
#define	GPIO_MSKCLR4		(GPIO_BASE + 0x401CU)
#define	GPIO_POSNEG4		(GPIO_BASE + 0x4020U)
#define	GPIO_EDGLEVEL4		(GPIO_BASE + 0x4024U)
#define	GPIO_FILONOFF4		(GPIO_BASE + 0x4028U)
#define	GPIO_INTMSKS4		(GPIO_BASE + 0x4038U)
#define	GPIO_MSKCLRS4		(GPIO_BASE + 0x403CU)
#define	GPIO_OUTDTSEL4		(GPIO_BASE + 0x4040U)
#define	GPIO_OUTDTH4		(GPIO_BASE + 0x4044U)
#define	GPIO_OUTDTL4		(GPIO_BASE + 0x4048U)
#define	GPIO_BOTHEDGE4		(GPIO_BASE + 0x404CU)
#define	GPIO_IOINTSEL5		(GPIO_BASE + 0x5000U)
#define	GPIO_INOUTSEL5		(GPIO_BASE + 0x5004U)
#define	GPIO_OUTDT5		(GPIO_BASE + 0x5008U)
#define	GPIO_INDT5		(GPIO_BASE + 0x500CU)
#define	GPIO_INTDT5		(GPIO_BASE + 0x5010U)
#define	GPIO_INTCLR5		(GPIO_BASE + 0x5014U)
#define	GPIO_INTMSK5		(GPIO_BASE + 0x5018U)
#define	GPIO_MSKCLR5		(GPIO_BASE + 0x501CU)
#define	GPIO_POSNEG5		(GPIO_BASE + 0x5020U)
#define	GPIO_EDGLEVEL5		(GPIO_BASE + 0x5024U)
#define	GPIO_FILONOFF5		(GPIO_BASE + 0x5028U)
#define	GPIO_INTMSKS5		(GPIO_BASE + 0x5038U)
#define	GPIO_MSKCLRS5		(GPIO_BASE + 0x503CU)
#define	GPIO_OUTDTSEL5		(GPIO_BASE + 0x5040U)
#define	GPIO_OUTDTH5		(GPIO_BASE + 0x5044U)
#define	GPIO_OUTDTL5		(GPIO_BASE + 0x5048U)
#define	GPIO_BOTHEDGE5		(GPIO_BASE + 0x504CU)
#define	GPIO_IOINTSEL6		(GPIO_BASE + 0x5400U)
#define	GPIO_INOUTSEL6		(GPIO_BASE + 0x5404U)
#define	GPIO_OUTDT6		(GPIO_BASE + 0x5408U)
#define	GPIO_INDT6		(GPIO_BASE + 0x540CU)
#define	GPIO_INTDT6		(GPIO_BASE + 0x5410U)
#define	GPIO_INTCLR6		(GPIO_BASE + 0x5414U)
#define	GPIO_INTMSK6		(GPIO_BASE + 0x5418U)
#define	GPIO_MSKCLR6		(GPIO_BASE + 0x541CU)
#define	GPIO_POSNEG6		(GPIO_BASE + 0x5420U)
#define	GPIO_EDGLEVEL6		(GPIO_BASE + 0x5424U)
#define	GPIO_FILONOFF6		(GPIO_BASE + 0x5428U)
#define	GPIO_INTMSKS6		(GPIO_BASE + 0x5438U)
#define	GPIO_MSKCLRS6		(GPIO_BASE + 0x543CU)
#define	GPIO_OUTDTSEL6		(GPIO_BASE + 0x5440U)
#define	GPIO_OUTDTH6		(GPIO_BASE + 0x5444U)
#define	GPIO_OUTDTL6		(GPIO_BASE + 0x5448U)
#define	GPIO_BOTHEDGE6		(GPIO_BASE + 0x544CU)

/* Pin functon base address */
#define	PFC_BASE		(0xE6060000U)

/* Pin functon registers */
#define	PFC_PMMR		(PFC_BASE + 0x0000U)
#define PFC_GPSR0		(PFC_BASE + 0x0100U)
#define PFC_GPSR1		(PFC_BASE + 0x0104U)
#define PFC_GPSR2		(PFC_BASE + 0x0108U)
#define PFC_GPSR3		(PFC_BASE + 0x010CU)
#define PFC_GPSR4		(PFC_BASE + 0x0110U)
#define	PFC_GPSR5		(PFC_BASE + 0x0114U)
#define	PFC_GPSR6		(PFC_BASE + 0x0118U)
#define	PFC_IPSR0		(PFC_BASE + 0x0200U)
#define	PFC_IPSR1		(PFC_BASE + 0x0204U)
#define	PFC_IPSR2		(PFC_BASE + 0x0208U)
#define	PFC_IPSR3		(PFC_BASE + 0x020CU)
#define	PFC_IPSR4		(PFC_BASE + 0x0210U)
#define	PFC_IPSR5		(PFC_BASE + 0x0214U)
#define	PFC_IPSR6		(PFC_BASE + 0x0218U)
#define	PFC_IPSR7		(PFC_BASE + 0x021CU)
#define	PFC_IPSR8		(PFC_BASE + 0x0220U)
#define	PFC_IPSR9		(PFC_BASE + 0x0224U)
#define	PFC_IPSR10		(PFC_BASE + 0x0228U)
#define	PFC_IPSR11		(PFC_BASE + 0x022CU)
#define	PFC_IPSR12		(PFC_BASE + 0x0230U)
#define	PFC_IPSR13		(PFC_BASE + 0x0234U)
#define	PFC_IPSR14		(PFC_BASE + 0x0238U)
#define	PFC_IPSR15		(PFC_BASE + 0x023CU)
#define PFC_IOCTRL30		(PFC_BASE + 0x0380U)
#define PFC_IOCTRL32		(PFC_BASE + 0x0388U)
#define PFC_IOCTRL40		(PFC_BASE + 0x03C0U)
#define	PFC_PUEN0		(PFC_BASE + 0x0400U)
#define	PFC_PUEN1		(PFC_BASE + 0x0404U)
#define	PFC_PUEN2		(PFC_BASE + 0x0408U)
#define	PFC_PUEN3		(PFC_BASE + 0x040CU)
#define	PFC_PUEN4		(PFC_BASE + 0x0410U)
#define	PFC_PUEN5		(PFC_BASE + 0x0414U)
#define	PFC_PUD0		(PFC_BASE + 0x0440U)
#define	PFC_PUD1		(PFC_BASE + 0x0444U)
#define	PFC_PUD2		(PFC_BASE + 0x0448U)
#define	PFC_PUD3		(PFC_BASE + 0x044CU)
#define	PFC_PUD4		(PFC_BASE + 0x0450U)
#define	PFC_PUD5		(PFC_BASE + 0x0454U)
#define	PFC_MOD_SEL0		(PFC_BASE + 0x0500U)
#define	PFC_MOD_SEL1		(PFC_BASE + 0x0504U)

#define GPSR0_SDA4		((uint32_t)1U << 17U)
#define GPSR0_SCL4		((uint32_t)1U << 16U)
#define	GPSR0_D15		((uint32_t)1U << 15U)
#define	GPSR0_D14		((uint32_t)1U << 14U)
#define	GPSR0_D13		((uint32_t)1U << 13U)
#define	GPSR0_D12		((uint32_t)1U << 12U)
#define	GPSR0_D11		((uint32_t)1U << 11U)
#define	GPSR0_D10		((uint32_t)1U << 10U)
#define	GPSR0_D9		((uint32_t)1U << 9U)
#define	GPSR0_D8		((uint32_t)1U << 8U)
#define	GPSR0_D7		((uint32_t)1U << 7U)
#define	GPSR0_D6		((uint32_t)1U << 6U)
#define	GPSR0_D5		((uint32_t)1U << 5U)
#define	GPSR0_D4		((uint32_t)1U << 4U)
#define	GPSR0_D3		((uint32_t)1U << 3U)
#define	GPSR0_D2		((uint32_t)1U << 2U)
#define	GPSR0_D1		((uint32_t)1U << 1U)
#define	GPSR0_D0		((uint32_t)1U << 0U)
#define	GPSR1_WE0		((uint32_t)1U << 22U)
#define	GPSR1_CS0		((uint32_t)1U << 21U)
#define	GPSR1_CLKOUT		((uint32_t)1U << 20U)
#define	GPSR1_A19		((uint32_t)1U << 19U)
#define	GPSR1_A18		((uint32_t)1U << 18U)
#define	GPSR1_A17		((uint32_t)1U << 17U)
#define	GPSR1_A16		((uint32_t)1U << 16U)
#define	GPSR1_A15		((uint32_t)1U << 15U)
#define	GPSR1_A14		((uint32_t)1U << 14U)
#define	GPSR1_A13		((uint32_t)1U << 13U)
#define	GPSR1_A12		((uint32_t)1U << 12U)
#define	GPSR1_A11		((uint32_t)1U << 11U)
#define	GPSR1_A10		((uint32_t)1U << 10U)
#define	GPSR1_A9		((uint32_t)1U << 9U)
#define	GPSR1_A8		((uint32_t)1U << 8U)
#define	GPSR1_A7		((uint32_t)1U << 7U)
#define	GPSR1_A6		((uint32_t)1U << 6U)
#define	GPSR1_A5		((uint32_t)1U << 5U)
#define	GPSR1_A4		((uint32_t)1U << 4U)
#define	GPSR1_A3		((uint32_t)1U << 3U)
#define	GPSR1_A2		((uint32_t)1U << 2U)
#define	GPSR1_A1		((uint32_t)1U << 1U)
#define	GPSR1_A0		((uint32_t)1U << 0U)
#define	GPSR2_BIT27_REVERCED 	((uint32_t)1U << 27U)
#define	GPSR2_BIT26_REVERCED 	((uint32_t)1U << 26U)
#define	GPSR2_EX_WAIT0		((uint32_t)1U << 25U)
#define	GPSR2_RD_WR		((uint32_t)1U << 24U)
#define	GPSR2_RD		((uint32_t)1U << 23U)
#define	GPSR2_BS		((uint32_t)1U << 22U)
#define	GPSR2_AVB_PHY_INT	((uint32_t)1U << 21U)
#define GPSR2_AVB_TXCREFCLK	((uint32_t)1U << 20U)
#define	GPSR2_AVB_RD3		((uint32_t)1U << 19U)
#define	GPSR2_AVB_RD2		((uint32_t)1U << 18U)
#define	GPSR2_AVB_RD1		((uint32_t)1U << 17U)
#define	GPSR2_AVB_RD0		((uint32_t)1U << 16U)
#define	GPSR2_AVB_RXC		((uint32_t)1U << 15U)
#define	GPSR2_AVB_RX_CTL	((uint32_t)1U << 14U)
#define GPSR2_RPC_RESET		((uint32_t)1U << 13U)
#define GPSR2_RPC_RPC_INT	((uint32_t)1U << 12U)
#define GPSR2_QSPI1_SSL		((uint32_t)1U << 11U)
#define GPSR2_QSPI1_IO3		((uint32_t)1U << 10U)
#define GPSR2_QSPI1_IO2		((uint32_t)1U << 9U)
#define GPSR2_QSPI1_MISO_IO1	((uint32_t)1U << 8U)
#define GPSR2_QSPI1_MOSI_IO0	((uint32_t)1U << 7U)
#define GPSR2_QSPI1_SPCLK	((uint32_t)1U << 6U)
#define GPSR2_QSPI0_SSL		((uint32_t)1U << 5U)
#define GPSR2_QSPI0_IO3		((uint32_t)1U << 4U)
#define GPSR2_QSPI0_IO2		((uint32_t)1U << 3U)
#define GPSR2_QSPI0_MISO_IO1	((uint32_t)1U << 2U)
#define GPSR2_QSPI0_MOSI_IO0	((uint32_t)1U << 1U)
#define GPSR2_QSPI0_SPCLK	((uint32_t)1U << 0U)
#define	GPSR3_SD1_WP		((uint32_t)1U << 15U)
#define	GPSR3_SD1_CD		((uint32_t)1U << 14U)
#define	GPSR3_SD0_WP		((uint32_t)1U << 13U)
#define	GPSR3_SD0_CD		((uint32_t)1U << 12U)
#define	GPSR3_SD1_DAT3		((uint32_t)1U << 11U)
#define	GPSR3_SD1_DAT2		((uint32_t)1U << 10U)
#define	GPSR3_SD1_DAT1		((uint32_t)1U << 9U)
#define	GPSR3_SD1_DAT0		((uint32_t)1U << 8U)
#define	GPSR3_SD1_CMD		((uint32_t)1U << 7U)
#define	GPSR3_SD1_CLK		((uint32_t)1U << 6U)
#define	GPSR3_SD0_DAT3		((uint32_t)1U << 5U)
#define	GPSR3_SD0_DAT2		((uint32_t)1U << 4U)
#define	GPSR3_SD0_DAT1		((uint32_t)1U << 3U)
#define	GPSR3_SD0_DAT0		((uint32_t)1U << 2U)
#define	GPSR3_SD0_CMD		((uint32_t)1U << 1U)
#define	GPSR3_SD0_CLK		((uint32_t)1U << 0U)
#define	GPSR4_SD3_DS		((uint32_t)1U << 10U)
#define	GPSR4_SD3_DAT7		((uint32_t)1U << 9U)
#define	GPSR4_SD3_DAT6		((uint32_t)1U << 8U)
#define	GPSR4_SD3_DAT5		((uint32_t)1U << 7U)
#define	GPSR4_SD3_DAT4		((uint32_t)1U << 6U)
#define	GPSR4_SD3_DAT3		((uint32_t)1U << 5U)
#define	GPSR4_SD3_DAT2		((uint32_t)1U << 4U)
#define	GPSR4_SD3_DAT1		((uint32_t)1U << 3U)
#define	GPSR4_SD3_DAT0		((uint32_t)1U << 2U)
#define	GPSR4_SD3_CMD		((uint32_t)1U << 1U)
#define	GPSR4_SD3_CLK		((uint32_t)1U << 0U)
#define	GPSR5_MLB_DAT		((uint32_t)1U << 19U)
#define	GPSR5_MLB_SIG		((uint32_t)1U << 18U)
#define	GPSR5_MLB_CLK		((uint32_t)1U << 17U)
#define	GPSR5_SSI_SDATA9	((uint32_t)1U << 16U)
#define	GPSR5_MSIOF0_SS2	((uint32_t)1U << 15U)
#define	GPSR5_MSIOF0_SS1	((uint32_t)1U << 14U)
#define	GPSR5_MSIOF0_SYNC	((uint32_t)1U << 13U)
#define	GPSR5_MSIOF0_TXD	((uint32_t)1U << 12U)
#define	GPSR5_MSIOF0_RXD	((uint32_t)1U << 11U)
#define	GPSR5_MSIOF0_SCK	((uint32_t)1U << 10U)
#define	GPSR5_RX2_A		((uint32_t)1U << 9U)
#define	GPSR5_TX2_A		((uint32_t)1U << 8U)
#define	GPSR5_SCK2_A		((uint32_t)1U << 7U)
#define	GPSR5_TX1		((uint32_t)1U << 6U)
#define	GPSR5_RX1		((uint32_t)1U << 5U)
#define	GPSR5_RTS0_TANS_A	((uint32_t)1U << 4U)
#define	GPSR5_CTS0_A		((uint32_t)1U << 3U)
#define	GPSR5_TX0_A		((uint32_t)1U << 2U)
#define	GPSR5_RX0_A		((uint32_t)1U << 1U)
#define	GPSR5_SCK0_A		((uint32_t)1U << 0U)
#define	GPSR6_USB30_PWEN	((uint32_t)1U << 17U)
#define	GPSR6_SSI_SDATA6	((uint32_t)1U << 16U)
#define	GPSR6_SSI_WS6		((uint32_t)1U << 15U)
#define	GPSR6_SSI_SCK6		((uint32_t)1U << 14U)
#define	GPSR6_SSI_SDATA5	((uint32_t)1U << 13U)
#define	GPSR6_SSI_WS5		((uint32_t)1U << 12U)
#define	GPSR6_SSI_SCK5		((uint32_t)1U << 11U)
#define	GPSR6_SSI_SDATA4	((uint32_t)1U << 10U)
#define	GPSR6_USB30_OVC		((uint32_t)1U << 9U)
#define	GPSR6_AUDIO_CLKA	((uint32_t)1U << 8U)
#define	GPSR6_SSI_SDATA3	((uint32_t)1U << 7U)
#define	GPSR6_SSI_WS349		((uint32_t)1U << 6U)
#define	GPSR6_SSI_SCK349	((uint32_t)1U << 5U)
#define	GPSR6_SSI_SDATA2	((uint32_t)1U << 4U)
#define	GPSR6_SSI_SDATA1	((uint32_t)1U << 3U)
#define	GPSR6_SSI_SDATA0	((uint32_t)1U << 2U)
#define	GPSR6_SSI_WS01239	((uint32_t)1U << 1U)
#define	GPSR6_SSI_SCK01239	((uint32_t)1U << 0U)

#define	IPSR_28_FUNC(x)		((uint32_t)(x) << 28U)
#define	IPSR_24_FUNC(x)		((uint32_t)(x) << 24U)
#define	IPSR_20_FUNC(x)		((uint32_t)(x) << 20U)
#define	IPSR_16_FUNC(x)		((uint32_t)(x) << 16U)
#define	IPSR_12_FUNC(x)		((uint32_t)(x) << 12U)
#define	IPSR_8_FUNC(x)		((uint32_t)(x) << 8U)
#define	IPSR_4_FUNC(x)		((uint32_t)(x) << 4U)
#define	IPSR_0_FUNC(x)		((uint32_t)(x) << 0U)

#define IOCTRL30_MASK		(0x0007F000U)
#define	POC_SD3_DS_33V		((uint32_t)1U << 29U)
#define	POC_SD3_DAT7_33V	((uint32_t)1U << 28U)
#define	POC_SD3_DAT6_33V	((uint32_t)1U << 27U)
#define	POC_SD3_DAT5_33V	((uint32_t)1U << 26U)
#define	POC_SD3_DAT4_33V	((uint32_t)1U << 25U)
#define	POC_SD3_DAT3_33V	((uint32_t)1U << 24U)
#define	POC_SD3_DAT2_33V	((uint32_t)1U << 23U)
#define	POC_SD3_DAT1_33V	((uint32_t)1U << 22U)
#define	POC_SD3_DAT0_33V	((uint32_t)1U << 21U)
#define	POC_SD3_CMD_33V		((uint32_t)1U << 20U)
#define	POC_SD3_CLK_33V		((uint32_t)1U << 19U)
#define	POC_SD1_DAT3_33V	((uint32_t)1U << 11U)
#define	POC_SD1_DAT2_33V	((uint32_t)1U << 10U)
#define	POC_SD1_DAT1_33V	((uint32_t)1U << 9U)
#define	POC_SD1_DAT0_33V	((uint32_t)1U << 8U)
#define	POC_SD1_CMD_33V		((uint32_t)1U << 7U)
#define	POC_SD1_CLK_33V		((uint32_t)1U << 6U)
#define	POC_SD0_DAT3_33V	((uint32_t)1U << 5U)
#define	POC_SD0_DAT2_33V	((uint32_t)1U << 4U)
#define	POC_SD0_DAT1_33V	((uint32_t)1U << 3U)
#define	POC_SD0_DAT0_33V	((uint32_t)1U << 2U)
#define	POC_SD0_CMD_33V		((uint32_t)1U << 1U)
#define	POC_SD0_CLK_33V		((uint32_t)1U << 0U)

#define IOCTRL32_MASK		(0xFFFFFFFEU)
#define POC2_VREF_33V		((uint32_t)1U << 0U)

#define	MOD_SEL0_ADGB_A		((uint32_t)0U << 29U)
#define	MOD_SEL0_ADGB_B		((uint32_t)1U << 29U)
#define	MOD_SEL0_ADGB_C		((uint32_t)2U << 29U)
#define	MOD_SEL0_DRIF0_A	((uint32_t)0U << 28U)
#define	MOD_SEL0_DRIF0_B	((uint32_t)1U << 28U)
#define	MOD_SEL0_FM_A		((uint32_t)0U << 26U)
#define	MOD_SEL0_FM_B		((uint32_t)1U << 26U)
#define	MOD_SEL0_FM_C		((uint32_t)2U << 26U)
#define	MOD_SEL0_FSO_A		((uint32_t)0U << 25U)
#define	MOD_SEL0_FSO_B		((uint32_t)1U << 25U)
#define	MOD_SEL0_HSCIF0_A	((uint32_t)0U << 24U)
#define	MOD_SEL0_HSCIF0_B	((uint32_t)1U << 24U)
#define	MOD_SEL0_HSCIF1_A	((uint32_t)0U << 23U)
#define	MOD_SEL0_HSCIF1_B	((uint32_t)1U << 23U)
#define	MOD_SEL0_HSCIF2_A	((uint32_t)0U << 22U)
#define	MOD_SEL0_HSCIF2_B	((uint32_t)1U << 22U)
#define	MOD_SEL0_I2C1_A		((uint32_t)0U << 20U)
#define	MOD_SEL0_I2C1_B		((uint32_t)1U << 20U)
#define	MOD_SEL0_I2C1_C		((uint32_t)2U << 20U)
#define	MOD_SEL0_I2C1_D		((uint32_t)3U << 20U)
#define	MOD_SEL0_I2C2_A		((uint32_t)0U << 17U)
#define	MOD_SEL0_I2C2_B		((uint32_t)1U << 17U)
#define	MOD_SEL0_I2C2_C		((uint32_t)2U << 17U)
#define	MOD_SEL0_I2C2_D		((uint32_t)3U << 17U)
#define	MOD_SEL0_I2C2_E		((uint32_t)4U << 17U)
#define	MOD_SEL0_NDFC_A		((uint32_t)0U << 16U)
#define	MOD_SEL0_NDFC_B		((uint32_t)1U << 16U)
#define	MOD_SEL0_PWM0_A		((uint32_t)0U << 15U)
#define	MOD_SEL0_PWM0_B		((uint32_t)1U << 15U)
#define	MOD_SEL0_PWM1_A		((uint32_t)0U << 14U)
#define	MOD_SEL0_PWM1_B		((uint32_t)1U << 14U)
#define	MOD_SEL0_PWM2_A		((uint32_t)0U << 12U)
#define	MOD_SEL0_PWM2_B		((uint32_t)1U << 12U)
#define	MOD_SEL0_PWM2_C		((uint32_t)2U << 12U)
#define	MOD_SEL0_PWM3_A		((uint32_t)0U << 10U)
#define	MOD_SEL0_PWM3_B		((uint32_t)1U << 10U)
#define	MOD_SEL0_PWM3_C		((uint32_t)2U << 10U)
#define	MOD_SEL0_PWM4_A		((uint32_t)0U << 9U)
#define	MOD_SEL0_PWM4_B		((uint32_t)1U << 9U)
#define	MOD_SEL0_PWM5_A		((uint32_t)0U << 8U)
#define	MOD_SEL0_PWM5_B		((uint32_t)1U << 8U)
#define	MOD_SEL0_PWM6_A		((uint32_t)0U << 7U)
#define	MOD_SEL0_PWM6_B		((uint32_t)1U << 7U)
#define	MOD_SEL0_REMOCON_A	((uint32_t)0U << 5U)
#define	MOD_SEL0_REMOCON_B	((uint32_t)1U << 5U)
#define	MOD_SEL0_REMOCON_C	((uint32_t)2U << 5U)
#define	MOD_SEL0_SCIF_A		((uint32_t)0U << 4U)
#define	MOD_SEL0_SCIF_B		((uint32_t)1U << 4U)
#define	MOD_SEL0_SCIF0_A	((uint32_t)0U << 3U)
#define	MOD_SEL0_SCIF0_B	((uint32_t)1U << 3U)
#define	MOD_SEL0_SCIF2_A	((uint32_t)0U << 2U)
#define	MOD_SEL0_SCIF2_B	((uint32_t)1U << 2U)
#define	MOD_SEL0_SPEED_PULSE_IF_A	((uint32_t)0U << 0U)
#define	MOD_SEL0_SPEED_PULSE_IF_B	((uint32_t)1U << 0U)
#define	MOD_SEL0_SPEED_PULSE_IF_C	((uint32_t)2U << 0U)
#define	MOD_SEL1_SIMCARD_A	((uint32_t)0U << 31U)
#define	MOD_SEL1_SIMCARD_B	((uint32_t)1U << 31U)
#define	MOD_SEL1_SSI2_A		((uint32_t)0U << 30U)
#define	MOD_SEL1_SSI2_B		((uint32_t)1U << 30U)
#define	MOD_SEL1_TIMER_TMU_A	((uint32_t)0U << 29U)
#define	MOD_SEL1_TIMER_TMU_B	((uint32_t)1U << 29U)
#define MOD_SEL1_USB20_CH0_A	((uint32_t)0U << 28U)
#define MOD_SEL1_USB20_CH0_B	((uint32_t)1U << 28U)
#define	MOD_SEL1_DRIF2_A	((uint32_t)0U << 26U)
#define	MOD_SEL1_DRIF2_B	((uint32_t)1U << 26U)
#define	MOD_SEL1_DRIF3_A	((uint32_t)0U << 25U)
#define	MOD_SEL1_DRIF3_B	((uint32_t)1U << 25U)
#define	MOD_SEL1_HSCIF3_A	((uint32_t)0U << 22U)
#define	MOD_SEL1_HSCIF3_B	((uint32_t)1U << 22U)
#define	MOD_SEL1_HSCIF3_C	((uint32_t)2U << 22U)
#define	MOD_SEL1_HSCIF3_D	((uint32_t)3U << 22U)
#define	MOD_SEL1_HSCIF3_E	((uint32_t)4U << 22U)
#define	MOD_SEL1_HSCIF4_A	((uint32_t)0U << 19U)
#define	MOD_SEL1_HSCIF4_B	((uint32_t)1U << 19U)
#define	MOD_SEL1_HSCIF4_C	((uint32_t)2U << 19U)
#define	MOD_SEL1_HSCIF4_D	((uint32_t)3U << 19U)
#define	MOD_SEL1_HSCIF4_E	((uint32_t)4U << 19U)
#define	MOD_SEL1_I2C6_A		((uint32_t)0U << 18U)
#define	MOD_SEL1_I2C6_B		((uint32_t)1U << 18U)
#define	MOD_SEL1_I2C7_A		((uint32_t)0U << 17U)
#define	MOD_SEL1_I2C7_B		((uint32_t)1U << 17U)
#define	MOD_SEL1_MSIOF2_A	((uint32_t)0U << 16U)
#define	MOD_SEL1_MSIOF2_B	((uint32_t)1U << 16U)
#define	MOD_SEL1_MSIOF3_A	((uint32_t)0U << 15U)
#define	MOD_SEL1_MSIOF3_B	((uint32_t)1U << 15U)
#define	MOD_SEL1_SCIF3_A	((uint32_t)0U << 13U)
#define	MOD_SEL1_SCIF3_B	((uint32_t)1U << 13U)
#define	MOD_SEL1_SCIF3_C	((uint32_t)2U << 13U)
#define	MOD_SEL1_SCIF4_A	((uint32_t)0U << 11U)
#define	MOD_SEL1_SCIF4_B	((uint32_t)1U << 11U)
#define	MOD_SEL1_SCIF4_C	((uint32_t)2U << 11U)
#define	MOD_SEL1_SCIF5_A	((uint32_t)0U << 9U)
#define	MOD_SEL1_SCIF5_B	((uint32_t)1U << 9U)
#define	MOD_SEL1_SCIF5_C	((uint32_t)2U << 9U)
#define	MOD_SEL1_VIN4_A		((uint32_t)0U << 8U)
#define	MOD_SEL1_VIN4_B		((uint32_t)1U << 8U)
#define	MOD_SEL1_VIN5_A		((uint32_t)0U << 7U)
#define	MOD_SEL1_VIN5_B		((uint32_t)1U << 7U)
#define	MOD_SEL1_ADGC_A		((uint32_t)0U << 5U)
#define	MOD_SEL1_ADGC_B		((uint32_t)1U << 5U)
#define	MOD_SEL1_ADGC_C		((uint32_t)2U << 5U)
#define	MOD_SEL1_SSI9_A		((uint32_t)0U << 4U)
#define	MOD_SEL1_SSI9_B		((uint32_t)1U << 4U)

static void pfc_reg_write(uint32_t addr, uint32_t data);

static void pfc_reg_write(uint32_t addr, uint32_t data)
{
	mmio_write_32(PFC_PMMR, ~data);
	mmio_write_32((uintptr_t) addr, data);
}

void pfc_init_e3(void)
{
	uint32_t reg;

	/* initialize module select */
	pfc_reg_write(PFC_MOD_SEL0, MOD_SEL0_ADGB_A
		      | MOD_SEL0_DRIF0_A
		      | MOD_SEL0_FM_A
		      | MOD_SEL0_FSO_A
		      | MOD_SEL0_HSCIF0_A
		      | MOD_SEL0_HSCIF1_A
		      | MOD_SEL0_HSCIF2_A
		      | MOD_SEL0_I2C1_A
		      | MOD_SEL0_I2C2_A
		      | MOD_SEL0_NDFC_A
		      | MOD_SEL0_PWM0_A
		      | MOD_SEL0_PWM1_A
		      | MOD_SEL0_PWM2_A
		      | MOD_SEL0_PWM3_A
		      | MOD_SEL0_PWM4_A
		      | MOD_SEL0_PWM5_A
		      | MOD_SEL0_PWM6_A
		      | MOD_SEL0_REMOCON_A
		      | MOD_SEL0_SCIF_A
		      | MOD_SEL0_SCIF0_A
		      | MOD_SEL0_SCIF2_A | MOD_SEL0_SPEED_PULSE_IF_A);
	pfc_reg_write(PFC_MOD_SEL1, MOD_SEL1_SIMCARD_A
		      | MOD_SEL1_SSI2_A
		      | MOD_SEL1_TIMER_TMU_A
		      | MOD_SEL1_USB20_CH0_B
		      | MOD_SEL1_DRIF2_A
		      | MOD_SEL1_DRIF3_A
		      | MOD_SEL1_HSCIF3_A
		      | MOD_SEL1_HSCIF4_A
		      | MOD_SEL1_I2C6_A
		      | MOD_SEL1_I2C7_A
		      | MOD_SEL1_MSIOF2_A
		      | MOD_SEL1_MSIOF3_A
		      | MOD_SEL1_SCIF3_A
		      | MOD_SEL1_SCIF4_A
		      | MOD_SEL1_SCIF5_A
		      | MOD_SEL1_VIN4_A
		      | MOD_SEL1_VIN5_A | MOD_SEL1_ADGC_A | MOD_SEL1_SSI9_A);

	/* initialize peripheral function select */
	pfc_reg_write(PFC_IPSR0, IPSR_28_FUNC(0)	/* QSPI1_MISO/IO1 */
		      |IPSR_24_FUNC(0)	/* QSPI1_MOSI/IO0 */
		      |IPSR_20_FUNC(0)	/* QSPI1_SPCLK */
		      |IPSR_16_FUNC(0)	/* QSPI0_IO3 */
		      |IPSR_12_FUNC(0)	/* QSPI0_IO2 */
		      |IPSR_8_FUNC(0)	/* QSPI0_MISO/IO1 */
		      |IPSR_4_FUNC(0)	/* QSPI0_MOSI/IO0 */
		      |IPSR_0_FUNC(0));	/* QSPI0_SPCLK */
	pfc_reg_write(PFC_IPSR1, IPSR_28_FUNC(0)	/* AVB_RD2 */
		      |IPSR_24_FUNC(0)	/* AVB_RD1 */
		      |IPSR_20_FUNC(0)	/* AVB_RD0 */
		      |IPSR_16_FUNC(0)	/* RPC_RESET# */
		      |IPSR_12_FUNC(0)	/* RPC_INT# */
		      |IPSR_8_FUNC(0)	/* QSPI1_SSL */
		      |IPSR_4_FUNC(0)	/* QSPI1_IO3 */
		      |IPSR_0_FUNC(0));	/* QSPI1_IO2 */
	pfc_reg_write(PFC_IPSR2, IPSR_28_FUNC(1)	/* IRQ0 */
		      |IPSR_24_FUNC(0)
		      | IPSR_20_FUNC(0)
		      | IPSR_16_FUNC(2)	/* AVB_LINK */
		      |IPSR_12_FUNC(0)
		      | IPSR_8_FUNC(0)	/* AVB_MDC */
		      |IPSR_4_FUNC(0)	/* AVB_MDIO */
		      |IPSR_0_FUNC(0));	/* AVB_TXCREFCLK */
	pfc_reg_write(PFC_IPSR3, IPSR_28_FUNC(5)	/* DU_HSYNC */
		      |IPSR_24_FUNC(0)
		      | IPSR_20_FUNC(0)
		      | IPSR_16_FUNC(0)
		      | IPSR_12_FUNC(5)	/* DU_DG4 */
		      |IPSR_8_FUNC(5)	/* DU_DOTCLKOUT0 */
		      |IPSR_4_FUNC(5)	/* DU_DISP */
		      |IPSR_0_FUNC(1));	/* IRQ1 */
	pfc_reg_write(PFC_IPSR4, IPSR_28_FUNC(5)	/* DU_DB5 */
		      |IPSR_24_FUNC(5)	/* DU_DB4 */
		      |IPSR_20_FUNC(5)	/* DU_DB3 */
		      |IPSR_16_FUNC(5)	/* DU_DB2 */
		      |IPSR_12_FUNC(5)	/* DU_DG6 */
		      |IPSR_8_FUNC(5)	/* DU_VSYNC */
		      |IPSR_4_FUNC(5)	/* DU_DG5 */
		      |IPSR_0_FUNC(5));	/* DU_DG7 */
	pfc_reg_write(PFC_IPSR5, IPSR_28_FUNC(5)	/* DU_DR3 */
		      |IPSR_24_FUNC(5)	/* DU_DB7 */
		      |IPSR_20_FUNC(5)	/* DU_DR2 */
		      |IPSR_16_FUNC(5)	/* DU_DR1 */
		      |IPSR_12_FUNC(5)	/* DU_DR0 */
		      |IPSR_8_FUNC(5)	/* DU_DB1 */
		      |IPSR_4_FUNC(5)	/* DU_DB0 */
		      |IPSR_0_FUNC(5));	/* DU_DB6 */
	pfc_reg_write(PFC_IPSR6, IPSR_28_FUNC(5)	/* DU_DG1 */
		      |IPSR_24_FUNC(5)	/* DU_DG0 */
		      |IPSR_20_FUNC(5)	/* DU_DR7 */
		      |IPSR_16_FUNC(2)	/* IRQ5 */
		      |IPSR_12_FUNC(5)	/* DU_DR6 */
		      |IPSR_8_FUNC(5)	/* DU_DR5 */
		      |IPSR_4_FUNC(0)
		      | IPSR_0_FUNC(5));	/* DU_DR4 */
	pfc_reg_write(PFC_IPSR7, IPSR_28_FUNC(0)	/* SD0_CLK */
		      |IPSR_24_FUNC(0)
		      | IPSR_20_FUNC(5)	/* DU_DOTCLKIN0 */
		      |IPSR_16_FUNC(5)	/* DU_DG3 */
		      |IPSR_12_FUNC(0)
		      | IPSR_8_FUNC(0)
		      | IPSR_4_FUNC(0)
		      | IPSR_0_FUNC(5));	/* DU_DG2 */
	pfc_reg_write(PFC_IPSR8, IPSR_28_FUNC(0)	/* SD1_DAT0 */
		      |IPSR_24_FUNC(0)	/* SD1_CMD */
		      |IPSR_20_FUNC(0)	/* SD1_CLK */
		      |IPSR_16_FUNC(0)	/* SD0_DAT3 */
		      |IPSR_12_FUNC(0)	/* SD0_DAT2 */
		      |IPSR_8_FUNC(0)	/* SD0_DAT1 */
		      |IPSR_4_FUNC(0)	/* SD0_DAT0 */
		      |IPSR_0_FUNC(0));	/* SD0_CMD */
	pfc_reg_write(PFC_IPSR9, IPSR_28_FUNC(0)	/* SD3_DAT2 */
		      |IPSR_24_FUNC(0)	/* SD3_DAT1 */
		      |IPSR_20_FUNC(0)	/* SD3_DAT0 */
		      |IPSR_16_FUNC(0)	/* SD3_CMD */
		      |IPSR_12_FUNC(0)	/* SD3_CLK */
		      |IPSR_8_FUNC(0)	/* SD1_DAT3 */
		      |IPSR_4_FUNC(0)	/* SD1_DAT2 */
		      |IPSR_0_FUNC(0));	/* SD1_DAT1 */
	pfc_reg_write(PFC_IPSR10, IPSR_28_FUNC(0)	/* SD0_WP */
		      |IPSR_24_FUNC(0)	/* SD0_CD */
		      |IPSR_20_FUNC(0)	/* SD3_DS */
		      |IPSR_16_FUNC(0)	/* SD3_DAT7 */
		      |IPSR_12_FUNC(0)	/* SD3_DAT6 */
		      |IPSR_8_FUNC(0)	/* SD3_DAT5 */
		      |IPSR_4_FUNC(0)	/* SD3_DAT4 */
		      |IPSR_0_FUNC(0));	/* SD3_DAT3 */
	pfc_reg_write(PFC_IPSR11, IPSR_28_FUNC(0)
		      | IPSR_24_FUNC(0)
		      | IPSR_20_FUNC(2)	/* AUDIO_CLKOUT1_A */
		      |IPSR_16_FUNC(2)	/* AUDIO_CLKOUT_A */
		      |IPSR_12_FUNC(0)
		      | IPSR_8_FUNC(0)
		      | IPSR_4_FUNC(0)	/* SD1_WP */
		      |IPSR_0_FUNC(0));	/* SD1_CD */
	pfc_reg_write(PFC_IPSR12, IPSR_28_FUNC(0)
		      | IPSR_24_FUNC(0)
		      | IPSR_20_FUNC(0)
		      | IPSR_16_FUNC(0)
		      | IPSR_12_FUNC(0)	/* RX2_A */
		      |IPSR_8_FUNC(0)	/* TX2_A */
		      |IPSR_4_FUNC(2)	/* AUDIO_CLKB_A */
		      |IPSR_0_FUNC(0));
	pfc_reg_write(PFC_IPSR13, IPSR_28_FUNC(0)
		      | IPSR_24_FUNC(0)
		      | IPSR_20_FUNC(0)
		      | IPSR_16_FUNC(0)
		      | IPSR_12_FUNC(0)
		      | IPSR_8_FUNC(2)	/* AUDIO_CLKC_A */
		      |IPSR_4_FUNC(1)	/* HTX2_A */
		      |IPSR_0_FUNC(1));	/* HRX2_A */
	pfc_reg_write(PFC_IPSR14, IPSR_28_FUNC(3)	/* USB0_PWEN_B */
		      |IPSR_24_FUNC(0)	/* SSI_SDATA4 */
		      |IPSR_20_FUNC(0)	/* SSI_SDATA3 */
		      |IPSR_16_FUNC(0)	/* SSI_WS349 */
		      |IPSR_12_FUNC(0)	/* SSI_SCK349 */
		      |IPSR_8_FUNC(0)
		      | IPSR_4_FUNC(0)	/* SSI_SDATA1 */
		      |IPSR_0_FUNC(0));	/* SSI_SDATA0 */
	pfc_reg_write(PFC_IPSR15, IPSR_28_FUNC(0)	/* USB30_OVC */
		      |IPSR_24_FUNC(0)	/* USB30_PWEN */
		      |IPSR_20_FUNC(0)	/* AUDIO_CLKA */
		      |IPSR_16_FUNC(1)	/* HRTS2#_A */
		      |IPSR_12_FUNC(1)	/* HCTS2#_A */
		      |IPSR_8_FUNC(0)
		      | IPSR_4_FUNC(0)
		      | IPSR_0_FUNC(3));	/* USB0_OVC_B */

	/* initialize GPIO/perihperal function select */
	pfc_reg_write(PFC_GPSR0, GPSR0_SCL4
		      | GPSR0_D15
		      | GPSR0_D11
		      | GPSR0_D10
		      | GPSR0_D9
		      | GPSR0_D8
		      | GPSR0_D7
		      | GPSR0_D6
		      | GPSR0_D5 | GPSR0_D3 | GPSR0_D2 | GPSR0_D1 | GPSR0_D0);
	pfc_reg_write(PFC_GPSR1, GPSR1_WE0
		      | GPSR1_CS0
		      | GPSR1_A19
		      | GPSR1_A18
		      | GPSR1_A17
		      | GPSR1_A16
		      | GPSR1_A15
		      | GPSR1_A14
		      | GPSR1_A13
		      | GPSR1_A12
		      | GPSR1_A11
		      | GPSR1_A10
		      | GPSR1_A9
		      | GPSR1_A8
		      | GPSR1_A4 | GPSR1_A3 | GPSR1_A2 | GPSR1_A1 | GPSR1_A0);
	pfc_reg_write(PFC_GPSR2, GPSR2_BIT27_REVERCED
		      | GPSR2_BIT26_REVERCED
		      | GPSR2_RD
		      | GPSR2_AVB_PHY_INT
		      | GPSR2_AVB_TXCREFCLK
		      | GPSR2_AVB_RD3
		      | GPSR2_AVB_RD2
		      | GPSR2_AVB_RD1
		      | GPSR2_AVB_RD0
		      | GPSR2_AVB_RXC
		      | GPSR2_AVB_RX_CTL
		      | GPSR2_RPC_RESET
		      | GPSR2_RPC_RPC_INT
		      | GPSR2_QSPI1_SSL
		      | GPSR2_QSPI1_IO3
		      | GPSR2_QSPI1_IO2
		      | GPSR2_QSPI1_MISO_IO1
		      | GPSR2_QSPI1_MOSI_IO0
		      | GPSR2_QSPI1_SPCLK
		      | GPSR2_QSPI0_SSL
		      | GPSR2_QSPI0_IO3
		      | GPSR2_QSPI0_IO2
		      | GPSR2_QSPI0_MISO_IO1
		      | GPSR2_QSPI0_MOSI_IO0 | GPSR2_QSPI0_SPCLK);
	pfc_reg_write(PFC_GPSR3, GPSR3_SD1_WP
		      | GPSR3_SD1_CD
		      | GPSR3_SD0_WP
		      | GPSR3_SD0_CD
		      | GPSR3_SD1_DAT3
		      | GPSR3_SD1_DAT2
		      | GPSR3_SD1_DAT1
		      | GPSR3_SD1_DAT0
		      | GPSR3_SD1_CMD
		      | GPSR3_SD1_CLK
		      | GPSR3_SD0_DAT3
		      | GPSR3_SD0_DAT2
		      | GPSR3_SD0_DAT1
		      | GPSR3_SD0_DAT0 | GPSR3_SD0_CMD | GPSR3_SD0_CLK);
	pfc_reg_write(PFC_GPSR4, GPSR4_SD3_DS
		      | GPSR4_SD3_DAT7
		      | GPSR4_SD3_DAT6
		      | GPSR4_SD3_DAT5
		      | GPSR4_SD3_DAT4
		      | GPSR4_SD3_DAT3
		      | GPSR4_SD3_DAT2
		      | GPSR4_SD3_DAT1
		      | GPSR4_SD3_DAT0 | GPSR4_SD3_CMD | GPSR4_SD3_CLK);
	pfc_reg_write(PFC_GPSR5, GPSR5_SSI_SDATA9
		      | GPSR5_MSIOF0_SS2
		      | GPSR5_MSIOF0_SS1
		      | GPSR5_RX2_A
		      | GPSR5_TX2_A
		      | GPSR5_SCK2_A | GPSR5_RTS0_TANS_A | GPSR5_CTS0_A);
	pfc_reg_write(PFC_GPSR6, GPSR6_USB30_PWEN
		      | GPSR6_SSI_SDATA6
		      | GPSR6_SSI_WS6
		      | GPSR6_SSI_WS5
		      | GPSR6_SSI_SCK5
		      | GPSR6_SSI_SDATA4
		      | GPSR6_USB30_OVC
		      | GPSR6_AUDIO_CLKA
		      | GPSR6_SSI_SDATA3
		      | GPSR6_SSI_WS349
		      | GPSR6_SSI_SCK349
		      | GPSR6_SSI_SDATA1
		      | GPSR6_SSI_SDATA0
		      | GPSR6_SSI_WS01239 | GPSR6_SSI_SCK01239);

	/* initialize POC control */
	reg = mmio_read_32(PFC_IOCTRL30);
	reg = ((reg & IOCTRL30_MASK) | POC_SD1_DAT3_33V
	       | POC_SD1_DAT2_33V
	       | POC_SD1_DAT1_33V
	       | POC_SD1_DAT0_33V
	       | POC_SD1_CMD_33V
	       | POC_SD1_CLK_33V
	       | POC_SD0_DAT3_33V
	       | POC_SD0_DAT2_33V
	       | POC_SD0_DAT1_33V
	       | POC_SD0_DAT0_33V | POC_SD0_CMD_33V | POC_SD0_CLK_33V);
	pfc_reg_write(PFC_IOCTRL30, reg);
	reg = mmio_read_32(PFC_IOCTRL32);
	reg = (reg & IOCTRL32_MASK);
	pfc_reg_write(PFC_IOCTRL32, reg);

	/* initialize LSI pin pull-up/down control */
	pfc_reg_write(PFC_PUD0, 0xFDF80000U);
	pfc_reg_write(PFC_PUD1, 0xCE298464U);
	pfc_reg_write(PFC_PUD2, 0xA4C380F4U);
	pfc_reg_write(PFC_PUD3, 0x0000079FU);
	pfc_reg_write(PFC_PUD4, 0xFFF0FFFFU);
	pfc_reg_write(PFC_PUD5, 0x40000000U);

	/* initialize LSI pin pull-enable register */
	pfc_reg_write(PFC_PUEN0, 0xFFF00000U);
	pfc_reg_write(PFC_PUEN1, 0x00000000U);
	pfc_reg_write(PFC_PUEN2, 0x00000004U);
	pfc_reg_write(PFC_PUEN3, 0x00000000U);
	pfc_reg_write(PFC_PUEN4, 0x07800010U);
	pfc_reg_write(PFC_PUEN5, 0x00000000U);

	/* initialize positive/negative logic select */
	mmio_write_32(GPIO_POSNEG0, 0x00000000U);
	mmio_write_32(GPIO_POSNEG1, 0x00000000U);
	mmio_write_32(GPIO_POSNEG2, 0x00000000U);
	mmio_write_32(GPIO_POSNEG3, 0x00000000U);
	mmio_write_32(GPIO_POSNEG4, 0x00000000U);
	mmio_write_32(GPIO_POSNEG5, 0x00000000U);
	mmio_write_32(GPIO_POSNEG6, 0x00000000U);

	/* initialize general IO/interrupt switching */
	mmio_write_32(GPIO_IOINTSEL0, 0x00020000U);
	mmio_write_32(GPIO_IOINTSEL1, 0x00000000U);
	mmio_write_32(GPIO_IOINTSEL2, 0x00000000U);
	mmio_write_32(GPIO_IOINTSEL3, 0x00000000U);
	mmio_write_32(GPIO_IOINTSEL4, 0x00000000U);
	mmio_write_32(GPIO_IOINTSEL5, 0x00000000U);
	mmio_write_32(GPIO_IOINTSEL6, 0x00000000U);

	/* initialize general output register */
	mmio_write_32(GPIO_OUTDT0, 0x00000010U);
	mmio_write_32(GPIO_OUTDT1, 0x00100000U);
	mmio_write_32(GPIO_OUTDT2, 0x00000000U);
	mmio_write_32(GPIO_OUTDT3, 0x00008000U);
	mmio_write_32(GPIO_OUTDT5, 0x00060000U);
	mmio_write_32(GPIO_OUTDT6, 0x00000000U);

	/* initialize general input/output switching */
	mmio_write_32(GPIO_INOUTSEL0, 0x00000010U);
	mmio_write_32(GPIO_INOUTSEL1, 0x00100020U);
	mmio_write_32(GPIO_INOUTSEL2, 0x03000000U);
	mmio_write_32(GPIO_INOUTSEL3, 0x00008000U);
	mmio_write_32(GPIO_INOUTSEL4, 0x00000000U);
	mmio_write_32(GPIO_INOUTSEL5, 0x00060000U);
	mmio_write_32(GPIO_INOUTSEL6, 0x00004000U);
}
