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

#include <stdint.h>

#include <lib/mmio.h>

#include "pfc_init_g2h.h"
#include "rcar_def.h"
#include "../pfc_regs.h"

#define GPSR0_D15			BIT(15)
#define GPSR0_D14			BIT(14)
#define GPSR0_D13			BIT(13)
#define GPSR0_D12			BIT(12)
#define GPSR0_D11			BIT(11)
#define GPSR0_D10			BIT(10)
#define GPSR0_D9			BIT(9)
#define GPSR0_D8			BIT(8)
#define GPSR0_D7			BIT(7)
#define GPSR0_D6			BIT(6)
#define GPSR0_D5			BIT(5)
#define GPSR0_D4			BIT(4)
#define GPSR0_D3			BIT(3)
#define GPSR0_D2			BIT(2)
#define GPSR0_D1			BIT(1)
#define GPSR0_D0			BIT(0)
#define GPSR1_CLKOUT			BIT(28)
#define GPSR1_EX_WAIT0_A		BIT(27)
#define GPSR1_WE1			BIT(26)
#define GPSR1_WE0			BIT(25)
#define GPSR1_RD_WR			BIT(24)
#define GPSR1_RD			BIT(23)
#define GPSR1_BS			BIT(22)
#define GPSR1_CS1_A26			BIT(21)
#define GPSR1_CS0			BIT(20)
#define GPSR1_A19			BIT(19)
#define GPSR1_A18			BIT(18)
#define GPSR1_A17			BIT(17)
#define GPSR1_A16			BIT(16)
#define GPSR1_A15			BIT(15)
#define GPSR1_A14			BIT(14)
#define GPSR1_A13			BIT(13)
#define GPSR1_A12			BIT(12)
#define GPSR1_A11			BIT(11)
#define GPSR1_A10			BIT(10)
#define GPSR1_A9			BIT(9)
#define GPSR1_A8			BIT(8)
#define GPSR1_A7			BIT(7)
#define GPSR1_A6			BIT(6)
#define GPSR1_A5			BIT(5)
#define GPSR1_A4			BIT(4)
#define GPSR1_A3			BIT(3)
#define GPSR1_A2			BIT(2)
#define GPSR1_A1			BIT(1)
#define GPSR1_A0			BIT(0)
#define GPSR2_AVB_AVTP_CAPTURE_A	BIT(14)
#define GPSR2_AVB_AVTP_MATCH_A		BIT(13)
#define GPSR2_AVB_LINK			BIT(12)
#define GPSR2_AVB_PHY_INT		BIT(11)
#define GPSR2_AVB_MAGIC			BIT(10)
#define GPSR2_AVB_MDC			BIT(9)
#define GPSR2_PWM2_A			BIT(8)
#define GPSR2_PWM1_A			BIT(7)
#define GPSR2_PWM0			BIT(6)
#define GPSR2_IRQ5			BIT(5)
#define GPSR2_IRQ4			BIT(4)
#define GPSR2_IRQ3			BIT(3)
#define GPSR2_IRQ2			BIT(2)
#define GPSR2_IRQ1			BIT(1)
#define GPSR2_IRQ0			BIT(0)
#define GPSR3_SD1_WP			BIT(15)
#define GPSR3_SD1_CD			BIT(14)
#define GPSR3_SD0_WP			BIT(13)
#define GPSR3_SD0_CD			BIT(12)
#define GPSR3_SD1_DAT3			BIT(11)
#define GPSR3_SD1_DAT2			BIT(10)
#define GPSR3_SD1_DAT1			BIT(9)
#define GPSR3_SD1_DAT0			BIT(8)
#define GPSR3_SD1_CMD			BIT(7)
#define GPSR3_SD1_CLK			BIT(6)
#define GPSR3_SD0_DAT3			BIT(5)
#define GPSR3_SD0_DAT2			BIT(4)
#define GPSR3_SD0_DAT1			BIT(3)
#define GPSR3_SD0_DAT0			BIT(2)
#define GPSR3_SD0_CMD			BIT(1)
#define GPSR3_SD0_CLK			BIT(0)
#define GPSR4_SD3_DS			BIT(17)
#define GPSR4_SD3_DAT7			BIT(16)
#define GPSR4_SD3_DAT6			BIT(15)
#define GPSR4_SD3_DAT5			BIT(14)
#define GPSR4_SD3_DAT4			BIT(13)
#define GPSR4_SD3_DAT3			BIT(12)
#define GPSR4_SD3_DAT2			BIT(11)
#define GPSR4_SD3_DAT1			BIT(10)
#define GPSR4_SD3_DAT0			BIT(9)
#define GPSR4_SD3_CMD			BIT(8)
#define GPSR4_SD3_CLK			BIT(7)
#define GPSR4_SD2_DS			BIT(6)
#define GPSR4_SD2_DAT3			BIT(5)
#define GPSR4_SD2_DAT2			BIT(4)
#define GPSR4_SD2_DAT1			BIT(3)
#define GPSR4_SD2_DAT0			BIT(2)
#define GPSR4_SD2_CMD			BIT(1)
#define GPSR4_SD2_CLK			BIT(0)
#define GPSR5_MLB_DAT			BIT(25)
#define GPSR5_MLB_SIG			BIT(24)
#define GPSR5_MLB_CLK			BIT(23)
#define GPSR5_MSIOF0_RXD		BIT(22)
#define GPSR5_MSIOF0_SS2		BIT(21)
#define GPSR5_MSIOF0_TXD		BIT(20)
#define GPSR5_MSIOF0_SS1		BIT(19)
#define GPSR5_MSIOF0_SYNC		BIT(18)
#define GPSR5_MSIOF0_SCK		BIT(17)
#define GPSR5_HRTS0			BIT(16)
#define GPSR5_HCTS0			BIT(15)
#define GPSR5_HTX0			BIT(14)
#define GPSR5_HRX0			BIT(13)
#define GPSR5_HSCK0			BIT(12)
#define GPSR5_RX2_A			BIT(11)
#define GPSR5_TX2_A			BIT(10)
#define GPSR5_SCK2			BIT(9)
#define GPSR5_RTS1			BIT(8)
#define GPSR5_CTS1			BIT(7)
#define GPSR5_TX1_A			BIT(6)
#define GPSR5_RX1_A			BIT(5)
#define GPSR5_RTS0			BIT(4)
#define GPSR5_CTS0			BIT(3)
#define GPSR5_TX0			BIT(2)
#define GPSR5_RX0			BIT(1)
#define GPSR5_SCK0			BIT(0)
#define GPSR6_USB31_OVC			BIT(31)
#define GPSR6_USB31_PWEN		BIT(30)
#define GPSR6_USB30_OVC			BIT(29)
#define GPSR6_USB30_PWEN		BIT(28)
#define GPSR6_USB1_OVC			BIT(27)
#define GPSR6_USB1_PWEN			BIT(26)
#define GPSR6_USB0_OVC			BIT(25)
#define GPSR6_USB0_PWEN			BIT(24)
#define GPSR6_AUDIO_CLKB_B		BIT(23)
#define GPSR6_AUDIO_CLKA_A		BIT(22)
#define GPSR6_SSI_SDATA9_A		BIT(21)
#define GPSR6_SSI_SDATA8		BIT(20)
#define GPSR6_SSI_SDATA7		BIT(19)
#define GPSR6_SSI_WS78			BIT(18)
#define GPSR6_SSI_SCK78			BIT(17)
#define GPSR6_SSI_SDATA6		BIT(16)
#define GPSR6_SSI_WS6			BIT(15)
#define GPSR6_SSI_SCK6			BIT(14)
#define GPSR6_SSI_SDATA5		BIT(13)
#define GPSR6_SSI_WS5			BIT(12)
#define GPSR6_SSI_SCK5			BIT(11)
#define GPSR6_SSI_SDATA4		BIT(10)
#define GPSR6_SSI_WS4			BIT(9)
#define GPSR6_SSI_SCK4			BIT(8)
#define GPSR6_SSI_SDATA3		BIT(7)
#define GPSR6_SSI_WS34			BIT(6)
#define GPSR6_SSI_SCK34			BIT(5)
#define GPSR6_SSI_SDATA2_A		BIT(4)
#define GPSR6_SSI_SDATA1_A		BIT(3)
#define GPSR6_SSI_SDATA0		BIT(2)
#define GPSR6_SSI_WS0129		BIT(1)
#define GPSR6_SSI_SCK0129		BIT(0)
#define GPSR7_AVS2			BIT(1)
#define GPSR7_AVS1			BIT(0)

#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 POC_SD3_DS_33V			BIT(29)
#define POC_SD3_DAT7_33V		BIT(28)
#define POC_SD3_DAT6_33V		BIT(27)
#define POC_SD3_DAT5_33V		BIT(26)
#define POC_SD3_DAT4_33V		BIT(25)
#define POC_SD3_DAT3_33V		BIT(24)
#define POC_SD3_DAT2_33V		BIT(23)
#define POC_SD3_DAT1_33V		BIT(22)
#define POC_SD3_DAT0_33V		BIT(21)
#define POC_SD3_CMD_33V			BIT(20)
#define POC_SD3_CLK_33V			BIT(19)
#define POC_SD2_DS_33V			BIT(18)
#define POC_SD2_DAT3_33V		BIT(17)
#define POC_SD2_DAT2_33V		BIT(16)
#define POC_SD2_DAT1_33V		BIT(15)
#define POC_SD2_DAT0_33V		BIT(14)
#define POC_SD2_CMD_33V			BIT(13)
#define POC_SD2_CLK_33V			BIT(12)
#define POC_SD1_DAT3_33V		BIT(11)
#define POC_SD1_DAT2_33V		BIT(10)
#define POC_SD1_DAT1_33V		BIT(9)
#define POC_SD1_DAT0_33V		BIT(8)
#define POC_SD1_CMD_33V			BIT(7)
#define POC_SD1_CLK_33V			BIT(6)
#define POC_SD0_DAT3_33V		BIT(5)
#define POC_SD0_DAT2_33V		BIT(4)
#define POC_SD0_DAT1_33V		BIT(3)
#define POC_SD0_DAT0_33V		BIT(2)
#define POC_SD0_CMD_33V			BIT(1)
#define POC_SD0_CLK_33V			BIT(0)

#define DRVCTRL0_MASK			(0xCCCCCCCCU)
#define DRVCTRL1_MASK			(0xCCCCCCC8U)
#define DRVCTRL2_MASK			(0x88888888U)
#define DRVCTRL3_MASK			(0x88888888U)
#define DRVCTRL4_MASK			(0x88888888U)
#define DRVCTRL5_MASK			(0x88888888U)
#define DRVCTRL6_MASK			(0x88888888U)
#define DRVCTRL7_MASK			(0x88888888U)
#define DRVCTRL8_MASK			(0x88888888U)
#define DRVCTRL9_MASK			(0x88888888U)
#define DRVCTRL10_MASK			(0x88888888U)
#define DRVCTRL11_MASK			(0x888888CCU)
#define DRVCTRL12_MASK			(0xCCCFFFCFU)
#define DRVCTRL13_MASK			(0xCC888888U)
#define DRVCTRL14_MASK			(0x88888888U)
#define DRVCTRL15_MASK			(0x88888888U)
#define DRVCTRL16_MASK			(0x88888888U)
#define DRVCTRL17_MASK			(0x88888888U)
#define DRVCTRL18_MASK			(0x88888888U)
#define DRVCTRL19_MASK			(0x88888888U)
#define DRVCTRL20_MASK			(0x88888888U)
#define DRVCTRL21_MASK			(0x88888888U)
#define DRVCTRL22_MASK			(0x88888888U)
#define DRVCTRL23_MASK			(0x88888888U)
#define DRVCTRL24_MASK			(0x8888888FU)

#define DRVCTRL0_QSPI0_SPCLK(x)		((uint32_t)(x) << 28U)
#define DRVCTRL0_QSPI0_MOSI_IO0(x)	((uint32_t)(x) << 24U)
#define DRVCTRL0_QSPI0_MISO_IO1(x)	((uint32_t)(x) << 20U)
#define DRVCTRL0_QSPI0_IO2(x)		((uint32_t)(x) << 16U)
#define DRVCTRL0_QSPI0_IO3(x)		((uint32_t)(x) << 12U)
#define DRVCTRL0_QSPI0_SSL(x)		((uint32_t)(x) << 8U)
#define DRVCTRL0_QSPI1_SPCLK(x)		((uint32_t)(x) << 4U)
#define DRVCTRL0_QSPI1_MOSI_IO0(x)	((uint32_t)(x) << 0U)
#define DRVCTRL1_QSPI1_MISO_IO1(x)	((uint32_t)(x) << 28U)
#define DRVCTRL1_QSPI1_IO2(x)		((uint32_t)(x) << 24U)
#define DRVCTRL1_QSPI1_IO3(x)		((uint32_t)(x) << 20U)
#define DRVCTRL1_QSPI1_SS(x)		((uint32_t)(x) << 16U)
#define DRVCTRL1_RPC_INT(x)		((uint32_t)(x) << 12U)
#define DRVCTRL1_RPC_WP(x)		((uint32_t)(x) << 8U)
#define DRVCTRL1_RPC_RESET(x)		((uint32_t)(x) << 4U)
#define DRVCTRL1_AVB_RX_CTL(x)		((uint32_t)(x) << 0U)
#define DRVCTRL2_AVB_RXC(x)		((uint32_t)(x) << 28U)
#define DRVCTRL2_AVB_RD0(x)		((uint32_t)(x) << 24U)
#define DRVCTRL2_AVB_RD1(x)		((uint32_t)(x) << 20U)
#define DRVCTRL2_AVB_RD2(x)		((uint32_t)(x) << 16U)
#define DRVCTRL2_AVB_RD3(x)		((uint32_t)(x) << 12U)
#define DRVCTRL2_AVB_TX_CTL(x)		((uint32_t)(x) << 8U)
#define DRVCTRL2_AVB_TXC(x)		((uint32_t)(x) << 4U)
#define DRVCTRL2_AVB_TD0(x)		((uint32_t)(x) << 0U)
#define DRVCTRL3_AVB_TD1(x)		((uint32_t)(x) << 28U)
#define DRVCTRL3_AVB_TD2(x)		((uint32_t)(x) << 24U)
#define DRVCTRL3_AVB_TD3(x)		((uint32_t)(x) << 20U)
#define DRVCTRL3_AVB_TXCREFCLK(x)	((uint32_t)(x) << 16U)
#define DRVCTRL3_AVB_MDIO(x)		((uint32_t)(x) << 12U)
#define DRVCTRL3_AVB_MDC(x)		((uint32_t)(x) << 8U)
#define DRVCTRL3_AVB_MAGIC(x)		((uint32_t)(x) << 4U)
#define DRVCTRL3_AVB_PHY_INT(x)		((uint32_t)(x) << 0U)
#define DRVCTRL4_AVB_LINK(x)		((uint32_t)(x) << 28U)
#define DRVCTRL4_AVB_AVTP_MATCH(x)	((uint32_t)(x) << 24U)
#define DRVCTRL4_AVB_AVTP_CAPTURE(x)	((uint32_t)(x) << 20U)
#define DRVCTRL4_IRQ0(x)		((uint32_t)(x) << 16U)
#define DRVCTRL4_IRQ1(x)		((uint32_t)(x) << 12U)
#define DRVCTRL4_IRQ2(x)		((uint32_t)(x) << 8U)
#define DRVCTRL4_IRQ3(x)		((uint32_t)(x) << 4U)
#define DRVCTRL4_IRQ4(x)		((uint32_t)(x) << 0U)
#define DRVCTRL5_IRQ5(x)		((uint32_t)(x) << 28U)
#define DRVCTRL5_PWM0(x)		((uint32_t)(x) << 24U)
#define DRVCTRL5_PWM1(x)		((uint32_t)(x) << 20U)
#define DRVCTRL5_PWM2(x)		((uint32_t)(x) << 16U)
#define DRVCTRL5_A0(x)			((uint32_t)(x) << 12U)
#define DRVCTRL5_A1(x)			((uint32_t)(x) << 8U)
#define DRVCTRL5_A2(x)			((uint32_t)(x) << 4U)
#define DRVCTRL5_A3(x)			((uint32_t)(x) << 0U)
#define DRVCTRL6_A4(x)			((uint32_t)(x) << 28U)
#define DRVCTRL6_A5(x)			((uint32_t)(x) << 24U)
#define DRVCTRL6_A6(x)			((uint32_t)(x) << 20U)
#define DRVCTRL6_A7(x)			((uint32_t)(x) << 16U)
#define DRVCTRL6_A8(x)			((uint32_t)(x) << 12U)
#define DRVCTRL6_A9(x)			((uint32_t)(x) << 8U)
#define DRVCTRL6_A10(x)			((uint32_t)(x) << 4U)
#define DRVCTRL6_A11(x)			((uint32_t)(x) << 0U)
#define DRVCTRL7_A12(x)			((uint32_t)(x) << 28U)
#define DRVCTRL7_A13(x)			((uint32_t)(x) << 24U)
#define DRVCTRL7_A14(x)			((uint32_t)(x) << 20U)
#define DRVCTRL7_A15(x)			((uint32_t)(x) << 16U)
#define DRVCTRL7_A16(x)			((uint32_t)(x) << 12U)
#define DRVCTRL7_A17(x)			((uint32_t)(x) << 8U)
#define DRVCTRL7_A18(x)			((uint32_t)(x) << 4U)
#define DRVCTRL7_A19(x)			((uint32_t)(x) << 0U)
#define DRVCTRL8_CLKOUT(x)		((uint32_t)(x) << 28U)
#define DRVCTRL8_CS0(x)			((uint32_t)(x) << 24U)
#define DRVCTRL8_CS1_A2(x)		((uint32_t)(x) << 20U)
#define DRVCTRL8_BS(x)			((uint32_t)(x) << 16U)
#define DRVCTRL8_RD(x)			((uint32_t)(x) << 12U)
#define DRVCTRL8_RD_W(x)		((uint32_t)(x) << 8U)
#define DRVCTRL8_WE0(x)			((uint32_t)(x) << 4U)
#define DRVCTRL8_WE1(x)			((uint32_t)(x) << 0U)
#define DRVCTRL9_EX_WAIT0(x)		((uint32_t)(x) << 28U)
#define DRVCTRL9_PRESETOU(x)		((uint32_t)(x) << 24U)
#define DRVCTRL9_D0(x)			((uint32_t)(x) << 20U)
#define DRVCTRL9_D1(x)			((uint32_t)(x) << 16U)
#define DRVCTRL9_D2(x)			((uint32_t)(x) << 12U)
#define DRVCTRL9_D3(x)			((uint32_t)(x) << 8U)
#define DRVCTRL9_D4(x)			((uint32_t)(x) << 4U)
#define DRVCTRL9_D5(x)			((uint32_t)(x) << 0U)
#define DRVCTRL10_D6(x)			((uint32_t)(x) << 28U)
#define DRVCTRL10_D7(x)			((uint32_t)(x) << 24U)
#define DRVCTRL10_D8(x)			((uint32_t)(x) << 20U)
#define DRVCTRL10_D9(x)			((uint32_t)(x) << 16U)
#define DRVCTRL10_D10(x)		((uint32_t)(x) << 12U)
#define DRVCTRL10_D11(x)		((uint32_t)(x) << 8U)
#define DRVCTRL10_D12(x)		((uint32_t)(x) << 4U)
#define DRVCTRL10_D13(x)		((uint32_t)(x) << 0U)
#define DRVCTRL11_D14(x)		((uint32_t)(x) << 28U)
#define DRVCTRL11_D15(x)		((uint32_t)(x) << 24U)
#define DRVCTRL11_AVS1(x)		((uint32_t)(x) << 20U)
#define DRVCTRL11_AVS2(x)		((uint32_t)(x) << 16U)
#define DRVCTRL11_GP7_02(x)		((uint32_t)(x) << 12U)
#define DRVCTRL11_GP7_03(x)		((uint32_t)(x) << 8U)
#define DRVCTRL11_DU_DOTCLKIN0(x)	((uint32_t)(x) << 4U)
#define DRVCTRL11_DU_DOTCLKIN1(x)	((uint32_t)(x) << 0U)
#define DRVCTRL12_DU_DOTCLKIN2(x)	((uint32_t)(x) << 28U)
#define DRVCTRL12_DU_DOTCLKIN3(x)	((uint32_t)(x) << 24U)
#define DRVCTRL12_DU_FSCLKST(x)		((uint32_t)(x) << 20U)
#define DRVCTRL12_DU_TMS(x)		((uint32_t)(x) << 4U)
#define DRVCTRL13_TDO(x)		((uint32_t)(x) << 28U)
#define DRVCTRL13_ASEBRK(x)		((uint32_t)(x) << 24U)
#define DRVCTRL13_SD0_CLK(x)		((uint32_t)(x) << 20U)
#define DRVCTRL13_SD0_CMD(x)		((uint32_t)(x) << 16U)
#define DRVCTRL13_SD0_DAT0(x)		((uint32_t)(x) << 12U)
#define DRVCTRL13_SD0_DAT1(x)		((uint32_t)(x) << 8U)
#define DRVCTRL13_SD0_DAT2(x)		((uint32_t)(x) << 4U)
#define DRVCTRL13_SD0_DAT3(x)		((uint32_t)(x) << 0U)
#define DRVCTRL14_SD1_CLK(x)		((uint32_t)(x) << 28U)
#define DRVCTRL14_SD1_CMD(x)		((uint32_t)(x) << 24U)
#define DRVCTRL14_SD1_DAT0(x)		((uint32_t)(x) << 20U)
#define DRVCTRL14_SD1_DAT1(x)		((uint32_t)(x) << 16U)
#define DRVCTRL14_SD1_DAT2(x)		((uint32_t)(x) << 12U)
#define DRVCTRL14_SD1_DAT3(x)		((uint32_t)(x) << 8U)
#define DRVCTRL14_SD2_CLK(x)		((uint32_t)(x) << 4U)
#define DRVCTRL14_SD2_CMD(x)		((uint32_t)(x) << 0U)
#define DRVCTRL15_SD2_DAT0(x)		((uint32_t)(x) << 28U)
#define DRVCTRL15_SD2_DAT1(x)		((uint32_t)(x) << 24U)
#define DRVCTRL15_SD2_DAT2(x)		((uint32_t)(x) << 20U)
#define DRVCTRL15_SD2_DAT3(x)		((uint32_t)(x) << 16U)
#define DRVCTRL15_SD2_DS(x)		((uint32_t)(x) << 12U)
#define DRVCTRL15_SD3_CLK(x)		((uint32_t)(x) << 8U)
#define DRVCTRL15_SD3_CMD(x)		((uint32_t)(x) << 4U)
#define DRVCTRL15_SD3_DAT0(x)		((uint32_t)(x) << 0U)
#define DRVCTRL16_SD3_DAT1(x)		((uint32_t)(x) << 28U)
#define DRVCTRL16_SD3_DAT2(x)		((uint32_t)(x) << 24U)
#define DRVCTRL16_SD3_DAT3(x)		((uint32_t)(x) << 20U)
#define DRVCTRL16_SD3_DAT4(x)		((uint32_t)(x) << 16U)
#define DRVCTRL16_SD3_DAT5(x)		((uint32_t)(x) << 12U)
#define DRVCTRL16_SD3_DAT6(x)		((uint32_t)(x) << 8U)
#define DRVCTRL16_SD3_DAT7(x)		((uint32_t)(x) << 4U)
#define DRVCTRL16_SD3_DS(x)		((uint32_t)(x) << 0U)
#define DRVCTRL17_SD0_CD(x)		((uint32_t)(x) << 28U)
#define DRVCTRL17_SD0_WP(x)		((uint32_t)(x) << 24U)
#define DRVCTRL17_SD1_CD(x)		((uint32_t)(x) << 20U)
#define DRVCTRL17_SD1_WP(x)		((uint32_t)(x) << 16U)
#define DRVCTRL17_SCK0(x)		((uint32_t)(x) << 12U)
#define DRVCTRL17_RX0(x)		((uint32_t)(x) << 8U)
#define DRVCTRL17_TX0(x)		((uint32_t)(x) << 4U)
#define DRVCTRL17_CTS0(x)		((uint32_t)(x) << 0U)
#define DRVCTRL18_RTS0_TANS(x)		((uint32_t)(x) << 28U)
#define DRVCTRL18_RX1(x)		((uint32_t)(x) << 24U)
#define DRVCTRL18_TX1(x)		((uint32_t)(x) << 20U)
#define DRVCTRL18_CTS1(x)		((uint32_t)(x) << 16U)
#define DRVCTRL18_RTS1_TANS(x)		((uint32_t)(x) << 12U)
#define DRVCTRL18_SCK2(x)		((uint32_t)(x) << 8U)
#define DRVCTRL18_TX2(x)		((uint32_t)(x) << 4U)
#define DRVCTRL18_RX2(x)		((uint32_t)(x) << 0U)
#define DRVCTRL19_HSCK0(x)		((uint32_t)(x) << 28U)
#define DRVCTRL19_HRX0(x)		((uint32_t)(x) << 24U)
#define DRVCTRL19_HTX0(x)		((uint32_t)(x) << 20U)
#define DRVCTRL19_HCTS0(x)		((uint32_t)(x) << 16U)
#define DRVCTRL19_HRTS0(x)		((uint32_t)(x) << 12U)
#define DRVCTRL19_MSIOF0_SCK(x)		((uint32_t)(x) << 8U)
#define DRVCTRL19_MSIOF0_SYNC(x)	((uint32_t)(x) << 4U)
#define DRVCTRL19_MSIOF0_SS1(x)		((uint32_t)(x) << 0U)
#define DRVCTRL20_MSIOF0_TXD(x)		((uint32_t)(x) << 28U)
#define DRVCTRL20_MSIOF0_SS2(x)		((uint32_t)(x) << 24U)
#define DRVCTRL20_MSIOF0_RXD(x)		((uint32_t)(x) << 20U)
#define DRVCTRL20_MLB_CLK(x)		((uint32_t)(x) << 16U)
#define DRVCTRL20_MLB_SIG(x)		((uint32_t)(x) << 12U)
#define DRVCTRL20_MLB_DAT(x)		((uint32_t)(x) << 8U)
#define DRVCTRL20_MLB_REF(x)		((uint32_t)(x) << 4U)
#define DRVCTRL20_SSI_SCK0129(x)	((uint32_t)(x) << 0U)
#define DRVCTRL21_SSI_WS0129(x)		((uint32_t)(x) << 28U)
#define DRVCTRL21_SSI_SDATA0(x)		((uint32_t)(x) << 24U)
#define DRVCTRL21_SSI_SDATA1(x)		((uint32_t)(x) << 20U)
#define DRVCTRL21_SSI_SDATA2(x)		((uint32_t)(x) << 16U)
#define DRVCTRL21_SSI_SCK34(x)		((uint32_t)(x) << 12U)
#define DRVCTRL21_SSI_WS34(x)		((uint32_t)(x) << 8U)
#define DRVCTRL21_SSI_SDATA3(x)		((uint32_t)(x) << 4U)
#define DRVCTRL21_SSI_SCK4(x)		((uint32_t)(x) << 0U)
#define DRVCTRL22_SSI_WS4(x)		((uint32_t)(x) << 28U)
#define DRVCTRL22_SSI_SDATA4(x)		((uint32_t)(x) << 24U)
#define DRVCTRL22_SSI_SCK5(x)		((uint32_t)(x) << 20U)
#define DRVCTRL22_SSI_WS5(x)		((uint32_t)(x) << 16U)
#define DRVCTRL22_SSI_SDATA5(x)		((uint32_t)(x) << 12U)
#define DRVCTRL22_SSI_SCK6(x)		((uint32_t)(x) << 8U)
#define DRVCTRL22_SSI_WS6(x)		((uint32_t)(x) << 4U)
#define DRVCTRL22_SSI_SDATA6(x)		((uint32_t)(x) << 0U)
#define DRVCTRL23_SSI_SCK78(x)		((uint32_t)(x) << 28U)
#define DRVCTRL23_SSI_WS78(x)		((uint32_t)(x) << 24U)
#define DRVCTRL23_SSI_SDATA7(x)		((uint32_t)(x) << 20U)
#define DRVCTRL23_SSI_SDATA8(x)		((uint32_t)(x) << 16U)
#define DRVCTRL23_SSI_SDATA9(x)		((uint32_t)(x) << 12U)
#define DRVCTRL23_AUDIO_CLKA(x)		((uint32_t)(x) << 8U)
#define DRVCTRL23_AUDIO_CLKB(x)		((uint32_t)(x) << 4U)
#define DRVCTRL23_USB0_PWEN(x)		((uint32_t)(x) << 0U)
#define DRVCTRL24_USB0_OVC(x)		((uint32_t)(x) << 28U)
#define DRVCTRL24_USB1_PWEN(x)		((uint32_t)(x) << 24U)
#define DRVCTRL24_USB1_OVC(x)		((uint32_t)(x) << 20U)
#define DRVCTRL24_USB30_PWEN(x)		((uint32_t)(x) << 16U)
#define DRVCTRL24_USB30_OVC(x)		((uint32_t)(x) << 12U)
#define DRVCTRL24_USB31_PWEN(x)		((uint32_t)(x) << 8U)
#define DRVCTRL24_USB31_OVC(x)		((uint32_t)(x) << 4U)

#define MOD_SEL0_MSIOF3_A		((uint32_t)0U << 29U)
#define MOD_SEL0_MSIOF3_B		((uint32_t)1U << 29U)
#define MOD_SEL0_MSIOF3_C		((uint32_t)2U << 29U)
#define MOD_SEL0_MSIOF3_D		((uint32_t)3U << 29U)
#define MOD_SEL0_MSIOF3_E		((uint32_t)4U << 29U)
#define MOD_SEL0_MSIOF2_A		((uint32_t)0U << 27U)
#define MOD_SEL0_MSIOF2_B		((uint32_t)1U << 27U)
#define MOD_SEL0_MSIOF2_C		((uint32_t)2U << 27U)
#define MOD_SEL0_MSIOF2_D		((uint32_t)3U << 27U)
#define MOD_SEL0_MSIOF1_A		((uint32_t)0U << 24U)
#define MOD_SEL0_MSIOF1_B		((uint32_t)1U << 24U)
#define MOD_SEL0_MSIOF1_C		((uint32_t)2U << 24U)
#define MOD_SEL0_MSIOF1_D		((uint32_t)3U << 24U)
#define MOD_SEL0_MSIOF1_E		((uint32_t)4U << 24U)
#define MOD_SEL0_MSIOF1_F		((uint32_t)5U << 24U)
#define MOD_SEL0_MSIOF1_G		((uint32_t)6U << 24U)
#define MOD_SEL0_LBSC_A			((uint32_t)0U << 23U)
#define MOD_SEL0_LBSC_B			((uint32_t)1U << 23U)
#define MOD_SEL0_IEBUS_A		((uint32_t)0U << 22U)
#define MOD_SEL0_IEBUS_B		((uint32_t)1U << 22U)
#define MOD_SEL0_I2C2_A			((uint32_t)0U << 21U)
#define MOD_SEL0_I2C2_B			((uint32_t)1U << 21U)
#define MOD_SEL0_I2C1_A			((uint32_t)0U << 20U)
#define MOD_SEL0_I2C1_B			((uint32_t)1U << 20U)
#define MOD_SEL0_HSCIF4_A		((uint32_t)0U << 19U)
#define MOD_SEL0_HSCIF4_B		((uint32_t)1U << 19U)
#define MOD_SEL0_HSCIF3_A		((uint32_t)0U << 17U)
#define MOD_SEL0_HSCIF3_B		((uint32_t)1U << 17U)
#define MOD_SEL0_HSCIF3_C		((uint32_t)2U << 17U)
#define MOD_SEL0_HSCIF3_D		((uint32_t)3U << 17U)
#define MOD_SEL0_HSCIF1_A		((uint32_t)0U << 16U)
#define MOD_SEL0_HSCIF1_B		((uint32_t)1U << 16U)
#define MOD_SEL0_FSO_A			((uint32_t)0U << 15U)
#define MOD_SEL0_FSO_B			((uint32_t)1U << 15U)
#define MOD_SEL0_HSCIF2_A		((uint32_t)0U << 13U)
#define MOD_SEL0_HSCIF2_B		((uint32_t)1U << 13U)
#define MOD_SEL0_HSCIF2_C		((uint32_t)2U << 13U)
#define MOD_SEL0_ETHERAVB_A		((uint32_t)0U << 12U)
#define MOD_SEL0_ETHERAVB_B		((uint32_t)1U << 12U)
#define MOD_SEL0_DRIF3_A		((uint32_t)0U << 11U)
#define MOD_SEL0_DRIF3_B		((uint32_t)1U << 11U)
#define MOD_SEL0_DRIF2_A		((uint32_t)0U << 10U)
#define MOD_SEL0_DRIF2_B		((uint32_t)1U << 10U)
#define MOD_SEL0_DRIF1_A		((uint32_t)0U << 8U)
#define MOD_SEL0_DRIF1_B		((uint32_t)1U << 8U)
#define MOD_SEL0_DRIF1_C		((uint32_t)2U << 8U)
#define MOD_SEL0_DRIF0_A		((uint32_t)0U << 6U)
#define MOD_SEL0_DRIF0_B		((uint32_t)1U << 6U)
#define MOD_SEL0_DRIF0_C		((uint32_t)2U << 6U)
#define MOD_SEL0_CANFD0_A		((uint32_t)0U << 5U)
#define MOD_SEL0_CANFD0_B		((uint32_t)1U << 5U)
#define MOD_SEL0_ADG_A_A		((uint32_t)0U << 3U)
#define MOD_SEL0_ADG_A_B		((uint32_t)1U << 3U)
#define MOD_SEL0_ADG_A_C		((uint32_t)2U << 3U)
#define MOD_SEL1_TSIF1_A		((uint32_t)0U << 30U)
#define MOD_SEL1_TSIF1_B		((uint32_t)1U << 30U)
#define MOD_SEL1_TSIF1_C		((uint32_t)2U << 30U)
#define MOD_SEL1_TSIF1_D		((uint32_t)3U << 30U)
#define MOD_SEL1_TSIF0_A		((uint32_t)0U << 27U)
#define MOD_SEL1_TSIF0_B		((uint32_t)1U << 27U)
#define MOD_SEL1_TSIF0_C		((uint32_t)2U << 27U)
#define MOD_SEL1_TSIF0_D		((uint32_t)3U << 27U)
#define MOD_SEL1_TSIF0_E		((uint32_t)4U << 27U)
#define MOD_SEL1_TIMER_TMU_A		((uint32_t)0U << 26U)
#define MOD_SEL1_TIMER_TMU_B		((uint32_t)1U << 26U)
#define MOD_SEL1_SSP1_1_A		((uint32_t)0U << 24U)
#define MOD_SEL1_SSP1_1_B		((uint32_t)1U << 24U)
#define MOD_SEL1_SSP1_1_C		((uint32_t)2U << 24U)
#define MOD_SEL1_SSP1_1_D		((uint32_t)3U << 24U)
#define MOD_SEL1_SSP1_0_A		((uint32_t)0U << 21U)
#define MOD_SEL1_SSP1_0_B		((uint32_t)1U << 21U)
#define MOD_SEL1_SSP1_0_C		((uint32_t)2U << 21U)
#define MOD_SEL1_SSP1_0_D		((uint32_t)3U << 21U)
#define MOD_SEL1_SSP1_0_E		((uint32_t)4U << 21U)
#define MOD_SEL1_SSI_A			((uint32_t)0U << 20U)
#define MOD_SEL1_SSI_B			((uint32_t)1U << 20U)
#define MOD_SEL1_SPEED_PULSE_IF_A	((uint32_t)0U << 19U)
#define MOD_SEL1_SPEED_PULSE_IF_B	((uint32_t)1U << 19U)
#define MOD_SEL1_SIMCARD_A		((uint32_t)0U << 17U)
#define MOD_SEL1_SIMCARD_B		((uint32_t)1U << 17U)
#define MOD_SEL1_SIMCARD_C		((uint32_t)2U << 17U)
#define MOD_SEL1_SIMCARD_D		((uint32_t)3U << 17U)
#define MOD_SEL1_SDHI2_A		((uint32_t)0U << 16U)
#define MOD_SEL1_SDHI2_B		((uint32_t)1U << 16U)
#define MOD_SEL1_SCIF4_A		((uint32_t)0U << 14U)
#define MOD_SEL1_SCIF4_B		((uint32_t)1U << 14U)
#define MOD_SEL1_SCIF4_C		((uint32_t)2U << 14U)
#define MOD_SEL1_SCIF3_A		((uint32_t)0U << 13U)
#define MOD_SEL1_SCIF3_B		((uint32_t)1U << 13U)
#define MOD_SEL1_SCIF2_A		((uint32_t)0U << 12U)
#define MOD_SEL1_SCIF2_B		((uint32_t)1U << 12U)
#define MOD_SEL1_SCIF1_A		((uint32_t)0U << 11U)
#define MOD_SEL1_SCIF1_B		((uint32_t)1U << 11U)
#define MOD_SEL1_SCIF_A			((uint32_t)0U << 10U)
#define MOD_SEL1_SCIF_B			((uint32_t)1U << 10U)
#define MOD_SEL1_REMOCON_A		((uint32_t)0U << 9U)
#define MOD_SEL1_REMOCON_B		((uint32_t)1U << 9U)
#define MOD_SEL1_RCAN0_A		((uint32_t)0U << 6U)
#define MOD_SEL1_RCAN0_B		((uint32_t)1U << 6U)
#define MOD_SEL1_PWM6_A			((uint32_t)0U << 5U)
#define MOD_SEL1_PWM6_B			((uint32_t)1U << 5U)
#define MOD_SEL1_PWM5_A			((uint32_t)0U << 4U)
#define MOD_SEL1_PWM5_B			((uint32_t)1U << 4U)
#define MOD_SEL1_PWM4_A			((uint32_t)0U << 3U)
#define MOD_SEL1_PWM4_B			((uint32_t)1U << 3U)
#define MOD_SEL1_PWM3_A			((uint32_t)0U << 2U)
#define MOD_SEL1_PWM3_B			((uint32_t)1U << 2U)
#define MOD_SEL1_PWM2_A			((uint32_t)0U << 1U)
#define MOD_SEL1_PWM2_B			((uint32_t)1U << 1U)
#define MOD_SEL1_PWM1_A			((uint32_t)0U << 0U)
#define MOD_SEL1_PWM1_B			((uint32_t)1U << 0U)
#define MOD_SEL2_I2C_5_A		((uint32_t)0U << 31U)
#define MOD_SEL2_I2C_5_B		((uint32_t)1U << 31U)
#define MOD_SEL2_I2C_3_A		((uint32_t)0U << 30U)
#define MOD_SEL2_I2C_3_B		((uint32_t)1U << 30U)
#define MOD_SEL2_I2C_0_A		((uint32_t)0U << 29U)
#define MOD_SEL2_I2C_0_B		((uint32_t)1U << 29U)
#define MOD_SEL2_FM_A			((uint32_t)0U << 27U)
#define MOD_SEL2_FM_B			((uint32_t)1U << 27U)
#define MOD_SEL2_FM_C			((uint32_t)2U << 27U)
#define MOD_SEL2_FM_D			((uint32_t)3U << 27U)
#define MOD_SEL2_SCIF5_A		((uint32_t)0U << 26U)
#define MOD_SEL2_SCIF5_B		((uint32_t)1U << 26U)
#define MOD_SEL2_I2C6_A			((uint32_t)0U << 23U)
#define MOD_SEL2_I2C6_B			((uint32_t)1U << 23U)
#define MOD_SEL2_I2C6_C			((uint32_t)2U << 23U)
#define MOD_SEL2_NDF_A			((uint32_t)0U << 22U)
#define MOD_SEL2_NDF_B			((uint32_t)1U << 22U)
#define MOD_SEL2_SSI2_A			((uint32_t)0U << 21U)
#define MOD_SEL2_SSI2_B			((uint32_t)1U << 21U)
#define MOD_SEL2_SSI9_A			((uint32_t)0U << 20U)
#define MOD_SEL2_SSI9_B			((uint32_t)1U << 20U)
#define MOD_SEL2_TIMER_TMU2_A		((uint32_t)0U << 19U)
#define MOD_SEL2_TIMER_TMU2_B		((uint32_t)1U << 19U)
#define MOD_SEL2_ADG_B_A		((uint32_t)0U << 18U)
#define MOD_SEL2_ADG_B_B		((uint32_t)1U << 18U)
#define MOD_SEL2_ADG_C_A		((uint32_t)0U << 17U)
#define MOD_SEL2_ADG_C_B		((uint32_t)1U << 17U)
#define MOD_SEL2_VIN4_A			((uint32_t)0U << 0U)
#define MOD_SEL2_VIN4_B			((uint32_t)1U << 0U)

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_g2h(void)
{
	uint32_t reg;

	/* initialize module select */
	pfc_reg_write(PFC_MOD_SEL0,
		      MOD_SEL0_MSIOF3_A |
		      MOD_SEL0_MSIOF2_A |
		      MOD_SEL0_MSIOF1_A |
		      MOD_SEL0_LBSC_A |
		      MOD_SEL0_IEBUS_A |
		      MOD_SEL0_I2C2_A |
		      MOD_SEL0_I2C1_A |
		      MOD_SEL0_HSCIF4_A |
		      MOD_SEL0_HSCIF3_A |
		      MOD_SEL0_HSCIF1_A |
		      MOD_SEL0_FSO_A |
		      MOD_SEL0_HSCIF2_A |
		      MOD_SEL0_ETHERAVB_A |
		      MOD_SEL0_DRIF3_A |
		      MOD_SEL0_DRIF2_A |
		      MOD_SEL0_DRIF1_A |
		      MOD_SEL0_DRIF0_A |
		      MOD_SEL0_CANFD0_A |
		      MOD_SEL0_ADG_A_A);

	pfc_reg_write(PFC_MOD_SEL1,
		      MOD_SEL1_TSIF1_A |
		      MOD_SEL1_TSIF0_A |
		      MOD_SEL1_TIMER_TMU_A |
		      MOD_SEL1_SSP1_1_A |
		      MOD_SEL1_SSP1_0_A |
		      MOD_SEL1_SSI_A |
		      MOD_SEL1_SPEED_PULSE_IF_A |
		      MOD_SEL1_SIMCARD_A |
		      MOD_SEL1_SDHI2_A |
		      MOD_SEL1_SCIF4_A |
		      MOD_SEL1_SCIF3_A |
		      MOD_SEL1_SCIF2_A |
		      MOD_SEL1_SCIF1_A |
		      MOD_SEL1_SCIF_A |
		      MOD_SEL1_REMOCON_A |
		      MOD_SEL1_RCAN0_A |
		      MOD_SEL1_PWM6_A |
		      MOD_SEL1_PWM5_A |
		      MOD_SEL1_PWM4_A |
		      MOD_SEL1_PWM3_A |
		      MOD_SEL1_PWM2_A |
		      MOD_SEL1_PWM1_A);

	pfc_reg_write(PFC_MOD_SEL2,
		      MOD_SEL2_I2C_5_B |
		      MOD_SEL2_I2C_3_B |
		      MOD_SEL2_I2C_0_B |
		      MOD_SEL2_FM_A |
		      MOD_SEL2_SCIF5_A |
		      MOD_SEL2_I2C6_A |
		      MOD_SEL2_NDF_A |
		      MOD_SEL2_SSI2_A |
		      MOD_SEL2_SSI9_A |
		      MOD_SEL2_TIMER_TMU2_A |
		      MOD_SEL2_ADG_B_A |
		      MOD_SEL2_ADG_C_A |
		      MOD_SEL2_VIN4_A);

	/* initialize peripheral function select */
	pfc_reg_write(PFC_IPSR0,
		      IPSR_28_FUNC(0) |
		      IPSR_24_FUNC(0) |
		      IPSR_20_FUNC(0) |
		      IPSR_16_FUNC(0) |
		      IPSR_12_FUNC(0) |
		      IPSR_8_FUNC(0) |
		      IPSR_4_FUNC(0) |
		      IPSR_0_FUNC(0));

	pfc_reg_write(PFC_IPSR1,
		      IPSR_28_FUNC(6) |
		      IPSR_24_FUNC(0) |
		      IPSR_20_FUNC(0) |
		      IPSR_16_FUNC(0) |
		      IPSR_12_FUNC(3) |
		      IPSR_8_FUNC(3) |
		      IPSR_4_FUNC(3) |
		      IPSR_0_FUNC(3));

	pfc_reg_write(PFC_IPSR2,
		      IPSR_28_FUNC(0) |
		      IPSR_24_FUNC(6) |
		      IPSR_20_FUNC(6) |
		      IPSR_16_FUNC(6) |
		      IPSR_12_FUNC(6) |
		      IPSR_8_FUNC(6) |
		      IPSR_4_FUNC(6) |
		      IPSR_0_FUNC(6));

	pfc_reg_write(PFC_IPSR3,
		      IPSR_28_FUNC(6) |
		      IPSR_24_FUNC(6) |
		      IPSR_20_FUNC(6) |
		      IPSR_16_FUNC(6) |
		      IPSR_12_FUNC(6) |
		      IPSR_8_FUNC(0) |
		      IPSR_4_FUNC(0) |
		      IPSR_0_FUNC(0));

	pfc_reg_write(PFC_IPSR4,
		      IPSR_28_FUNC(0) |
		      IPSR_24_FUNC(0) |
		      IPSR_20_FUNC(0) |
		      IPSR_16_FUNC(0) |
		      IPSR_12_FUNC(0) |
		      IPSR_8_FUNC(6) |
		      IPSR_4_FUNC(6) |
		      IPSR_0_FUNC(6));

	pfc_reg_write(PFC_IPSR5,
		      IPSR_28_FUNC(0) |
		      IPSR_24_FUNC(0) |
		      IPSR_20_FUNC(0) |
		      IPSR_16_FUNC(0) |
		      IPSR_12_FUNC(0) |
		      IPSR_8_FUNC(6) |
		      IPSR_4_FUNC(0) |
		      IPSR_0_FUNC(0));

	pfc_reg_write(PFC_IPSR6,
		      IPSR_28_FUNC(6) |
		      IPSR_24_FUNC(6) |
		      IPSR_20_FUNC(6) |
		      IPSR_16_FUNC(6) |
		      IPSR_12_FUNC(6) |
		      IPSR_8_FUNC(0) |
		      IPSR_4_FUNC(0) |
		      IPSR_0_FUNC(0));

	pfc_reg_write(PFC_IPSR7,
		      IPSR_28_FUNC(0) |
		      IPSR_24_FUNC(0) |
		      IPSR_20_FUNC(0) |
		      IPSR_16_FUNC(0) |
		      IPSR_12_FUNC(0) |
		      IPSR_8_FUNC(6) |
		      IPSR_4_FUNC(6) |
		      IPSR_0_FUNC(6));

	pfc_reg_write(PFC_IPSR8,
		      IPSR_28_FUNC(1) |
		      IPSR_24_FUNC(1) |
		      IPSR_20_FUNC(1) |
		      IPSR_16_FUNC(1) |
		      IPSR_12_FUNC(0) |
		      IPSR_8_FUNC(0) |
		      IPSR_4_FUNC(0) |
		      IPSR_0_FUNC(0));

	pfc_reg_write(PFC_IPSR9,
		      IPSR_28_FUNC(0) |
		      IPSR_24_FUNC(0) |
		      IPSR_20_FUNC(0) |
		      IPSR_16_FUNC(0) |
		      IPSR_12_FUNC(0) |
		      IPSR_8_FUNC(0) |
		      IPSR_4_FUNC(0) |
		      IPSR_0_FUNC(0));

	pfc_reg_write(PFC_IPSR10,
		      IPSR_28_FUNC(0) |
		      IPSR_24_FUNC(0) |
		      IPSR_20_FUNC(0) |
		      IPSR_16_FUNC(0) |
		      IPSR_12_FUNC(0) |
		      IPSR_8_FUNC(0) |
		      IPSR_4_FUNC(0) |
		      IPSR_0_FUNC(0));

	pfc_reg_write(PFC_IPSR11,
		      IPSR_28_FUNC(0) |
		      IPSR_24_FUNC(4) |
		      IPSR_20_FUNC(0) |
		      IPSR_16_FUNC(0) |
		      IPSR_12_FUNC(0) |
		      IPSR_8_FUNC(0) |
		      IPSR_4_FUNC(0) |
		      IPSR_0_FUNC(0));

	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) |
		      IPSR_8_FUNC(4) |
		      IPSR_4_FUNC(0) |
		      IPSR_0_FUNC(0));

	pfc_reg_write(PFC_IPSR13,
		      IPSR_28_FUNC(8) |
		      IPSR_24_FUNC(0) |
		      IPSR_20_FUNC(0) |
		      IPSR_16_FUNC(0) |
		      IPSR_12_FUNC(0) |
		      IPSR_8_FUNC(3) |
		      IPSR_4_FUNC(0) |
		      IPSR_0_FUNC(0));

	pfc_reg_write(PFC_IPSR14,
		      IPSR_28_FUNC(0) |
		      IPSR_24_FUNC(0) |
		      IPSR_20_FUNC(0) |
		      IPSR_16_FUNC(0) |
		      IPSR_12_FUNC(0) |
		      IPSR_8_FUNC(0) |
		      IPSR_4_FUNC(3) |
		      IPSR_0_FUNC(8));

	pfc_reg_write(PFC_IPSR15,
		      IPSR_28_FUNC(0) |
		      IPSR_24_FUNC(0) |
		      IPSR_20_FUNC(0) |
		      IPSR_16_FUNC(0) |
		      IPSR_12_FUNC(0) |
		      IPSR_8_FUNC(0) |
		      IPSR_4_FUNC(0) |
		      IPSR_0_FUNC(0));

	pfc_reg_write(PFC_IPSR16,
		      IPSR_28_FUNC(0) |
		      IPSR_24_FUNC(0) |
		      IPSR_20_FUNC(0) |
		      IPSR_16_FUNC(0) |
		      IPSR_12_FUNC(0) |
		      IPSR_8_FUNC(0) |
		      IPSR_4_FUNC(0) |
		      IPSR_0_FUNC(0));

	pfc_reg_write(PFC_IPSR17,
		      IPSR_28_FUNC(0) |
		      IPSR_24_FUNC(0) |
		      IPSR_20_FUNC(0) |
		      IPSR_16_FUNC(0) |
		      IPSR_12_FUNC(0) |
		      IPSR_8_FUNC(0) |
		      IPSR_4_FUNC(1) |
		      IPSR_0_FUNC(0));

	pfc_reg_write(PFC_IPSR18,
		      IPSR_4_FUNC(0) |
		      IPSR_0_FUNC(0));

	/* initialize GPIO/peripheral function select */
	pfc_reg_write(PFC_GPSR0,
		      GPSR0_D15 |
		      GPSR0_D14 |
		      GPSR0_D13 |
		      GPSR0_D12 |
		      GPSR0_D11 |
		      GPSR0_D10 |
		      GPSR0_D9 |
		      GPSR0_D8 |
		      GPSR0_D7 |
		      GPSR0_D6 |
		      GPSR0_D5 |
		      GPSR0_D4 |
		      GPSR0_D3 |
		      GPSR0_D2 |
		      GPSR0_D0);

	pfc_reg_write(PFC_GPSR1,
		      GPSR1_CLKOUT |
		      GPSR1_EX_WAIT0_A |
		      GPSR1_WE1 |
		      GPSR1_RD |
		      GPSR1_RD_WR |
		      GPSR1_CS0 |
		      GPSR1_A19 |
		      GPSR1_A18 |
		      GPSR1_A17 |
		      GPSR1_A16 |
		      GPSR1_A15 |
		      GPSR1_A14 |
		      GPSR1_A13 |
		      GPSR1_A12 |
		      GPSR1_A7 |
		      GPSR1_A6 |
		      GPSR1_A5 |
		      GPSR1_A4 |
		      GPSR1_A3 |
		      GPSR1_A2 |
		      GPSR1_A1 |
		      GPSR1_A0);

	pfc_reg_write(PFC_GPSR2,
		      GPSR2_AVB_AVTP_CAPTURE_A |
		      GPSR2_AVB_AVTP_MATCH_A |
		      GPSR2_AVB_LINK |
		      GPSR2_AVB_PHY_INT |
		      GPSR2_AVB_MDC |
		      GPSR2_PWM2_A |
		      GPSR2_PWM1_A |
		      GPSR2_IRQ4 |
		      GPSR2_IRQ3 |
		      GPSR2_IRQ2 |
		      GPSR2_IRQ1 |
		      GPSR2_IRQ0);

	pfc_reg_write(PFC_GPSR3,
		      GPSR3_SD0_CD |
		      GPSR3_SD1_DAT3 |
		      GPSR3_SD1_DAT2 |
		      GPSR3_SD1_DAT1 |
		      GPSR3_SD1_DAT0 |
		      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 |
		      GPSR4_SD2_DAT3 |
		      GPSR4_SD2_DAT2 |
		      GPSR4_SD2_DAT1 |
		      GPSR4_SD2_DAT0 |
		      GPSR4_SD2_CMD |
		      GPSR4_SD2_CLK);

	pfc_reg_write(PFC_GPSR5,
		      GPSR5_MSIOF0_RXD |
		      GPSR5_MSIOF0_TXD |
		      GPSR5_MSIOF0_SYNC |
		      GPSR5_MSIOF0_SCK |
		      GPSR5_RX2_A |
		      GPSR5_TX2_A |
		      GPSR5_RTS1 |
		      GPSR5_CTS1 |
		      GPSR5_TX1_A |
		      GPSR5_RX1_A |
		      GPSR5_RTS0 |
		      GPSR5_SCK0);

	pfc_reg_write(PFC_GPSR6,
		      GPSR6_AUDIO_CLKB_B |
		      GPSR6_AUDIO_CLKA_A |
		      GPSR6_SSI_WS6 |
		      GPSR6_SSI_SCK6 |
		      GPSR6_SSI_SDATA4 |
		      GPSR6_SSI_WS4 |
		      GPSR6_SSI_SCK4 |
		      GPSR6_SSI_SDATA1_A |
		      GPSR6_SSI_SDATA0 |
		      GPSR6_SSI_WS0129 |
		      GPSR6_SSI_SCK0129);

	pfc_reg_write(PFC_GPSR7,
		      GPSR7_AVS2 |
		      GPSR7_AVS1);

	/* initialize POC control register */
	pfc_reg_write(PFC_POCCTRL0,
		      POC_SD0_DAT3_33V |
		      POC_SD0_DAT2_33V |
		      POC_SD0_DAT1_33V |
		      POC_SD0_DAT0_33V |
		      POC_SD0_CMD_33V |
		      POC_SD0_CLK_33V);

	/* initialize DRV control register */
	reg = mmio_read_32(PFC_DRVCTRL0);
	reg = (reg & DRVCTRL0_MASK) |
	      DRVCTRL0_QSPI0_SPCLK(3) |
	      DRVCTRL0_QSPI0_MOSI_IO0(3) |
	      DRVCTRL0_QSPI0_MISO_IO1(3) |
	      DRVCTRL0_QSPI0_IO2(3) |
	      DRVCTRL0_QSPI0_IO3(3) |
	      DRVCTRL0_QSPI0_SSL(3) |
	      DRVCTRL0_QSPI1_SPCLK(3) |
	      DRVCTRL0_QSPI1_MOSI_IO0(3);
	pfc_reg_write(PFC_DRVCTRL0, reg);

	reg = mmio_read_32(PFC_DRVCTRL1);
	reg = (reg & DRVCTRL1_MASK) |
	      DRVCTRL1_QSPI1_MISO_IO1(3) |
	      DRVCTRL1_QSPI1_IO2(3) |
	      DRVCTRL1_QSPI1_IO3(3) |
	      DRVCTRL1_QSPI1_SS(3) |
	      DRVCTRL1_RPC_INT(3) |
	      DRVCTRL1_RPC_WP(3) |
	      DRVCTRL1_RPC_RESET(3) |
	      DRVCTRL1_AVB_RX_CTL(7);
	pfc_reg_write(PFC_DRVCTRL1, reg);

	reg = mmio_read_32(PFC_DRVCTRL2);
	reg = (reg & DRVCTRL2_MASK) |
	      DRVCTRL2_AVB_RXC(7) |
	      DRVCTRL2_AVB_RD0(7) |
	      DRVCTRL2_AVB_RD1(7) |
	      DRVCTRL2_AVB_RD2(7) |
	      DRVCTRL2_AVB_RD3(7) |
	      DRVCTRL2_AVB_TX_CTL(3) |
	      DRVCTRL2_AVB_TXC(3) |
	      DRVCTRL2_AVB_TD0(3);
	pfc_reg_write(PFC_DRVCTRL2, reg);

	reg = mmio_read_32(PFC_DRVCTRL3);
	reg = (reg & DRVCTRL3_MASK) |
	      DRVCTRL3_AVB_TD1(3) |
	      DRVCTRL3_AVB_TD2(3) |
	      DRVCTRL3_AVB_TD3(3) |
	      DRVCTRL3_AVB_TXCREFCLK(7) |
	      DRVCTRL3_AVB_MDIO(7) |
	      DRVCTRL3_AVB_MDC(7) |
	      DRVCTRL3_AVB_MAGIC(7) |
	      DRVCTRL3_AVB_PHY_INT(7);
	pfc_reg_write(PFC_DRVCTRL3, reg);

	reg = mmio_read_32(PFC_DRVCTRL4);
	reg = (reg & DRVCTRL4_MASK) |
	      DRVCTRL4_AVB_LINK(7) |
	      DRVCTRL4_AVB_AVTP_MATCH(7) |
	      DRVCTRL4_AVB_AVTP_CAPTURE(7) |
	      DRVCTRL4_IRQ0(7) |
	      DRVCTRL4_IRQ1(7) |
	      DRVCTRL4_IRQ2(7) |
	      DRVCTRL4_IRQ3(7) |
	      DRVCTRL4_IRQ4(7);
	pfc_reg_write(PFC_DRVCTRL4, reg);

	reg = mmio_read_32(PFC_DRVCTRL5);
	reg = (reg & DRVCTRL5_MASK) |
	      DRVCTRL5_IRQ5(7) |
	      DRVCTRL5_PWM0(7) |
	      DRVCTRL5_PWM1(7) |
	      DRVCTRL5_PWM2(7) |
	      DRVCTRL5_A0(3) |
	      DRVCTRL5_A1(3) |
	      DRVCTRL5_A2(3) |
	      DRVCTRL5_A3(3);
	pfc_reg_write(PFC_DRVCTRL5, reg);

	reg = mmio_read_32(PFC_DRVCTRL6);
	reg = (reg & DRVCTRL6_MASK) |
	      DRVCTRL6_A4(3) |
	      DRVCTRL6_A5(3) |
	      DRVCTRL6_A6(3) |
	      DRVCTRL6_A7(3) |
	      DRVCTRL6_A8(7) |
	      DRVCTRL6_A9(7) |
	      DRVCTRL6_A10(7) |
	      DRVCTRL6_A11(7);
	pfc_reg_write(PFC_DRVCTRL6, reg);

	reg = mmio_read_32(PFC_DRVCTRL7);
	reg = (reg & DRVCTRL7_MASK) |
	      DRVCTRL7_A12(3) |
	      DRVCTRL7_A13(3) |
	      DRVCTRL7_A14(3) |
	      DRVCTRL7_A15(3) |
	      DRVCTRL7_A16(3) |
	      DRVCTRL7_A17(3) |
	      DRVCTRL7_A18(3) |
	      DRVCTRL7_A19(3);
	pfc_reg_write(PFC_DRVCTRL7, reg);

	reg = mmio_read_32(PFC_DRVCTRL8);
	reg = (reg & DRVCTRL8_MASK) |
	      DRVCTRL8_CLKOUT(7) |
	      DRVCTRL8_CS0(7) |
	      DRVCTRL8_CS1_A2(7) |
	      DRVCTRL8_BS(7) |
	      DRVCTRL8_RD(7) |
	      DRVCTRL8_RD_W(7) |
	      DRVCTRL8_WE0(7) |
	      DRVCTRL8_WE1(7);
	pfc_reg_write(PFC_DRVCTRL8, reg);

	reg = mmio_read_32(PFC_DRVCTRL9);
	reg = (reg & DRVCTRL9_MASK) |
	      DRVCTRL9_EX_WAIT0(7) |
	      DRVCTRL9_PRESETOU(7) |
	      DRVCTRL9_D0(7) |
	      DRVCTRL9_D1(7) |
	      DRVCTRL9_D2(7) |
	      DRVCTRL9_D3(7) |
	      DRVCTRL9_D4(7) |
	      DRVCTRL9_D5(7);
	pfc_reg_write(PFC_DRVCTRL9, reg);

	reg = mmio_read_32(PFC_DRVCTRL10);
	reg = (reg & DRVCTRL10_MASK) |
	      DRVCTRL10_D6(7) |
	      DRVCTRL10_D7(7) |
	      DRVCTRL10_D8(3) |
	      DRVCTRL10_D9(3) |
	      DRVCTRL10_D10(3) |
	      DRVCTRL10_D11(3) |
	      DRVCTRL10_D12(3) |
	      DRVCTRL10_D13(3);
	pfc_reg_write(PFC_DRVCTRL10, reg);

	reg = mmio_read_32(PFC_DRVCTRL11);
	reg = (reg & DRVCTRL11_MASK) |
	      DRVCTRL11_D14(3) |
	      DRVCTRL11_D15(3) |
	      DRVCTRL11_AVS1(7) |
	      DRVCTRL11_AVS2(7) |
	      DRVCTRL11_GP7_02(7) |
	      DRVCTRL11_GP7_03(7) |
	      DRVCTRL11_DU_DOTCLKIN0(3) |
	      DRVCTRL11_DU_DOTCLKIN1(3);
	pfc_reg_write(PFC_DRVCTRL11, reg);

	reg = mmio_read_32(PFC_DRVCTRL12);
	reg = (reg & DRVCTRL12_MASK) |
	      DRVCTRL12_DU_DOTCLKIN2(3) |
	      DRVCTRL12_DU_DOTCLKIN3(3) |
	      DRVCTRL12_DU_FSCLKST(3) |
	      DRVCTRL12_DU_TMS(3);
	pfc_reg_write(PFC_DRVCTRL12, reg);

	reg = mmio_read_32(PFC_DRVCTRL13);
	reg = (reg & DRVCTRL13_MASK) |
	      DRVCTRL13_TDO(3) |
	      DRVCTRL13_ASEBRK(3) |
	      DRVCTRL13_SD0_CLK(7) |
	      DRVCTRL13_SD0_CMD(7) |
	      DRVCTRL13_SD0_DAT0(7) |
	      DRVCTRL13_SD0_DAT1(7) |
	      DRVCTRL13_SD0_DAT2(7) |
	      DRVCTRL13_SD0_DAT3(7);
	pfc_reg_write(PFC_DRVCTRL13, reg);

	reg = mmio_read_32(PFC_DRVCTRL14);
	reg = (reg & DRVCTRL14_MASK) |
	      DRVCTRL14_SD1_CLK(7) |
	      DRVCTRL14_SD1_CMD(7) |
	      DRVCTRL14_SD1_DAT0(5) |
	      DRVCTRL14_SD1_DAT1(5) |
	      DRVCTRL14_SD1_DAT2(5) |
	      DRVCTRL14_SD1_DAT3(5) |
	      DRVCTRL14_SD2_CLK(5) |
	      DRVCTRL14_SD2_CMD(5);
	pfc_reg_write(PFC_DRVCTRL14, reg);

	reg = mmio_read_32(PFC_DRVCTRL15);
	reg = (reg & DRVCTRL15_MASK) |
	      DRVCTRL15_SD2_DAT0(5) |
	      DRVCTRL15_SD2_DAT1(5) |
	      DRVCTRL15_SD2_DAT2(5) |
	      DRVCTRL15_SD2_DAT3(5) |
	      DRVCTRL15_SD2_DS(5) |
	      DRVCTRL15_SD3_CLK(7) |
	      DRVCTRL15_SD3_CMD(7) |
	      DRVCTRL15_SD3_DAT0(7);
	pfc_reg_write(PFC_DRVCTRL15, reg);

	reg = mmio_read_32(PFC_DRVCTRL16);
	reg = (reg & DRVCTRL16_MASK) |
	      DRVCTRL16_SD3_DAT1(7) |
	      DRVCTRL16_SD3_DAT2(7) |
	      DRVCTRL16_SD3_DAT3(7) |
	      DRVCTRL16_SD3_DAT4(7) |
	      DRVCTRL16_SD3_DAT5(7) |
	      DRVCTRL16_SD3_DAT6(7) |
	      DRVCTRL16_SD3_DAT7(7) |
	      DRVCTRL16_SD3_DS(7);
	pfc_reg_write(PFC_DRVCTRL16, reg);

	reg = mmio_read_32(PFC_DRVCTRL17);
	reg = (reg & DRVCTRL17_MASK) |
	      DRVCTRL17_SD0_CD(7) |
	      DRVCTRL17_SD0_WP(7) |
	      DRVCTRL17_SD1_CD(7) |
	      DRVCTRL17_SD1_WP(7) |
	      DRVCTRL17_SCK0(7) |
	      DRVCTRL17_RX0(7) |
	      DRVCTRL17_TX0(7) |
	      DRVCTRL17_CTS0(7);
	pfc_reg_write(PFC_DRVCTRL17, reg);

	reg = mmio_read_32(PFC_DRVCTRL18);
	reg = (reg & DRVCTRL18_MASK) |
	      DRVCTRL18_RTS0_TANS(7) |
	      DRVCTRL18_RX1(7) |
	      DRVCTRL18_TX1(7) |
	      DRVCTRL18_CTS1(7) |
	      DRVCTRL18_RTS1_TANS(7) |
	      DRVCTRL18_SCK2(7) |
	      DRVCTRL18_TX2(7) |
	      DRVCTRL18_RX2(7);
	pfc_reg_write(PFC_DRVCTRL18, reg);

	reg = mmio_read_32(PFC_DRVCTRL19);
	reg = (reg & DRVCTRL19_MASK) |
	      DRVCTRL19_HSCK0(7) |
	      DRVCTRL19_HRX0(7) |
	      DRVCTRL19_HTX0(7) |
	      DRVCTRL19_HCTS0(7) |
	      DRVCTRL19_HRTS0(7) |
	      DRVCTRL19_MSIOF0_SCK(7) |
	      DRVCTRL19_MSIOF0_SYNC(7) |
	      DRVCTRL19_MSIOF0_SS1(7);
	pfc_reg_write(PFC_DRVCTRL19, reg);

	reg = mmio_read_32(PFC_DRVCTRL20);
	reg = (reg & DRVCTRL20_MASK) |
	      DRVCTRL20_MSIOF0_TXD(7) |
	      DRVCTRL20_MSIOF0_SS2(7) |
	      DRVCTRL20_MSIOF0_RXD(7) |
	      DRVCTRL20_MLB_CLK(7) |
	      DRVCTRL20_MLB_SIG(7) |
	      DRVCTRL20_MLB_DAT(7) |
	      DRVCTRL20_MLB_REF(7) |
	      DRVCTRL20_SSI_SCK0129(7);
	pfc_reg_write(PFC_DRVCTRL20, reg);

	reg = mmio_read_32(PFC_DRVCTRL21);
	reg = (reg & DRVCTRL21_MASK) |
	      DRVCTRL21_SSI_WS0129(7) |
	      DRVCTRL21_SSI_SDATA0(7) |
	      DRVCTRL21_SSI_SDATA1(7) |
	      DRVCTRL21_SSI_SDATA2(7) |
	      DRVCTRL21_SSI_SCK34(7) |
	      DRVCTRL21_SSI_WS34(7) |
	      DRVCTRL21_SSI_SDATA3(7) |
	      DRVCTRL21_SSI_SCK4(7);
	pfc_reg_write(PFC_DRVCTRL21, reg);

	reg = mmio_read_32(PFC_DRVCTRL22);
	reg = (reg & DRVCTRL22_MASK) |
	      DRVCTRL22_SSI_WS4(7) |
	      DRVCTRL22_SSI_SDATA4(7) |
	      DRVCTRL22_SSI_SCK5(7) |
	      DRVCTRL22_SSI_WS5(7) |
	      DRVCTRL22_SSI_SDATA5(7) |
	      DRVCTRL22_SSI_SCK6(7) |
	      DRVCTRL22_SSI_WS6(7) |
	      DRVCTRL22_SSI_SDATA6(7);
	pfc_reg_write(PFC_DRVCTRL22, reg);

	reg = mmio_read_32(PFC_DRVCTRL23);
	reg = (reg & DRVCTRL23_MASK) |
	      DRVCTRL23_SSI_SCK78(7) |
	      DRVCTRL23_SSI_WS78(7) |
	      DRVCTRL23_SSI_SDATA7(7) |
	      DRVCTRL23_SSI_SDATA8(7) |
	      DRVCTRL23_SSI_SDATA9(7) |
	      DRVCTRL23_AUDIO_CLKA(7) |
	      DRVCTRL23_AUDIO_CLKB(7) |
	      DRVCTRL23_USB0_PWEN(7);
	pfc_reg_write(PFC_DRVCTRL23, reg);

	reg = mmio_read_32(PFC_DRVCTRL24);
	reg = (reg & DRVCTRL24_MASK) |
	      DRVCTRL24_USB0_OVC(7) |
	      DRVCTRL24_USB1_PWEN(7) |
	      DRVCTRL24_USB1_OVC(7) |
	      DRVCTRL24_USB30_PWEN(7) |
	      DRVCTRL24_USB30_OVC(7) |
	      DRVCTRL24_USB31_PWEN(7) |
	      DRVCTRL24_USB31_OVC(7);
	pfc_reg_write(PFC_DRVCTRL24, reg);

	/* initialize LSI pin pull-up/down control */
	pfc_reg_write(PFC_PUD0, 0x00005FBFU);
	pfc_reg_write(PFC_PUD1, 0x00300EFEU);
	pfc_reg_write(PFC_PUD2, 0x330001E6U);
	pfc_reg_write(PFC_PUD3, 0x000002E0U);
	pfc_reg_write(PFC_PUD4, 0xFFFFFF00U);
	pfc_reg_write(PFC_PUD5, 0x7F5FFF87U);
	pfc_reg_write(PFC_PUD6, 0x00000055U);

	/* initialize LSI pin pull-enable register */
	pfc_reg_write(PFC_PUEN0, 0x00000FFFU);
	pfc_reg_write(PFC_PUEN1, 0x00100234U);
	pfc_reg_write(PFC_PUEN2, 0x000004C4U);
	pfc_reg_write(PFC_PUEN3, 0x00000200U);
	pfc_reg_write(PFC_PUEN4, 0x3E000000U);
	pfc_reg_write(PFC_PUEN5, 0x1F000805U);
	pfc_reg_write(PFC_PUEN6, 0x00000006U);

	/* 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);
	mmio_write_32(GPIO_POSNEG7, 0x00000000U);

	/* initialize general IO/interrupt switching */
	mmio_write_32(GPIO_IOINTSEL0, 0x00000000U);
	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);
	mmio_write_32(GPIO_IOINTSEL7, 0x00000000U);

	/* initialize general output register */
	mmio_write_32(GPIO_OUTDT0, 0x00000001U);
	mmio_write_32(GPIO_OUTDT1, 0x00000000U);
	mmio_write_32(GPIO_OUTDT2, 0x00000400U);
	mmio_write_32(GPIO_OUTDT3, 0x00000000U);
	mmio_write_32(GPIO_OUTDT4, 0x00000000U);
	mmio_write_32(GPIO_OUTDT5, 0x00000000U);
	mmio_write_32(GPIO_OUTDT6, 0x00003800U);
	mmio_write_32(GPIO_OUTDT7, 0x00000003U);

	/* initialize general input/output switching */
	mmio_write_32(GPIO_INOUTSEL0, 0x00000001U);
	mmio_write_32(GPIO_INOUTSEL1, 0x00100B00U);
	mmio_write_32(GPIO_INOUTSEL2, 0x00000418U);
	mmio_write_32(GPIO_INOUTSEL3, 0x00002000U);
	mmio_write_32(GPIO_INOUTSEL4, 0x00000040U);
	mmio_write_32(GPIO_INOUTSEL5, 0x00000208U);
	mmio_write_32(GPIO_INOUTSEL6, 0x00013F00U);
	mmio_write_32(GPIO_INOUTSEL7, 0x00000003U);
}
