162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * R8A77995 processor support - PFC hardware block. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2017 Renesas Electronics Corp. 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * This file is based on the drivers/pinctrl/renesas/pfc-r8a7796.c 862306a36Sopenharmony_ci * 962306a36Sopenharmony_ci * R-Car Gen3 processor support - PFC hardware block. 1062306a36Sopenharmony_ci * 1162306a36Sopenharmony_ci * Copyright (C) 2015 Renesas Electronics Corporation 1262306a36Sopenharmony_ci */ 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci#include <linux/errno.h> 1562306a36Sopenharmony_ci#include <linux/kernel.h> 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci#include "core.h" 1862306a36Sopenharmony_ci#include "sh_pfc.h" 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci#define CPU_ALL_GP(fn, sfx) \ 2162306a36Sopenharmony_ci PORT_GP_CFG_9(0, fn, sfx, SH_PFC_PIN_CFG_PULL_UP_DOWN), \ 2262306a36Sopenharmony_ci PORT_GP_CFG_32(1, fn, sfx, SH_PFC_PIN_CFG_PULL_UP_DOWN), \ 2362306a36Sopenharmony_ci PORT_GP_CFG_32(2, fn, sfx, SH_PFC_PIN_CFG_PULL_UP_DOWN), \ 2462306a36Sopenharmony_ci PORT_GP_CFG_10(3, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE_18_33 | SH_PFC_PIN_CFG_PULL_UP_DOWN), \ 2562306a36Sopenharmony_ci PORT_GP_CFG_32(4, fn, sfx, SH_PFC_PIN_CFG_PULL_UP_DOWN), \ 2662306a36Sopenharmony_ci PORT_GP_CFG_21(5, fn, sfx, SH_PFC_PIN_CFG_PULL_UP_DOWN), \ 2762306a36Sopenharmony_ci PORT_GP_CFG_14(6, fn, sfx, SH_PFC_PIN_CFG_PULL_UP_DOWN) 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci#define CPU_ALL_NOGP(fn) \ 3062306a36Sopenharmony_ci PIN_NOGP_CFG(DU_DOTCLKIN0, "DU_DOTCLKIN0", fn, SH_PFC_PIN_CFG_PULL_DOWN), \ 3162306a36Sopenharmony_ci PIN_NOGP_CFG(FSCLKST_N, "FSCLKST#", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN), \ 3262306a36Sopenharmony_ci PIN_NOGP_CFG(MLB_REF, "MLB_REF", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN), \ 3362306a36Sopenharmony_ci PIN_NOGP_CFG(PRESETOUT_N, "PRESETOUT#", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN), \ 3462306a36Sopenharmony_ci PIN_NOGP_CFG(TCK, "TCK", fn, SH_PFC_PIN_CFG_PULL_UP), \ 3562306a36Sopenharmony_ci PIN_NOGP_CFG(TDI, "TDI", fn, SH_PFC_PIN_CFG_PULL_UP), \ 3662306a36Sopenharmony_ci PIN_NOGP_CFG(TMS, "TMS", fn, SH_PFC_PIN_CFG_PULL_UP), \ 3762306a36Sopenharmony_ci PIN_NOGP_CFG(TRST_N, "TRST#", fn, SH_PFC_PIN_CFG_PULL_UP), \ 3862306a36Sopenharmony_ci PIN_NOGP_CFG(VDDQ_AVB0, "VDDQ_AVB0", fn, SH_PFC_PIN_CFG_IO_VOLTAGE_25_33) 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci/* 4162306a36Sopenharmony_ci * F_() : just information 4262306a36Sopenharmony_ci * FM() : macro for FN_xxx / xxx_MARK 4362306a36Sopenharmony_ci */ 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci/* GPSR0 */ 4662306a36Sopenharmony_ci#define GPSR0_8 F_(MLB_SIG, IP0_27_24) 4762306a36Sopenharmony_ci#define GPSR0_7 F_(MLB_DAT, IP0_23_20) 4862306a36Sopenharmony_ci#define GPSR0_6 F_(MLB_CLK, IP0_19_16) 4962306a36Sopenharmony_ci#define GPSR0_5 F_(MSIOF2_RXD, IP0_15_12) 5062306a36Sopenharmony_ci#define GPSR0_4 F_(MSIOF2_TXD, IP0_11_8) 5162306a36Sopenharmony_ci#define GPSR0_3 F_(MSIOF2_SCK, IP0_7_4) 5262306a36Sopenharmony_ci#define GPSR0_2 F_(IRQ0_A, IP0_3_0) 5362306a36Sopenharmony_ci#define GPSR0_1 FM(USB0_OVC) 5462306a36Sopenharmony_ci#define GPSR0_0 FM(USB0_PWEN) 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci/* GPSR1 */ 5762306a36Sopenharmony_ci#define GPSR1_31 F_(QPOLB, IP4_27_24) 5862306a36Sopenharmony_ci#define GPSR1_30 F_(QPOLA, IP4_23_20) 5962306a36Sopenharmony_ci#define GPSR1_29 F_(DU_CDE, IP4_19_16) 6062306a36Sopenharmony_ci#define GPSR1_28 F_(DU_DISP_CDE, IP4_15_12) 6162306a36Sopenharmony_ci#define GPSR1_27 F_(DU_DISP, IP4_11_8) 6262306a36Sopenharmony_ci#define GPSR1_26 F_(DU_VSYNC, IP4_7_4) 6362306a36Sopenharmony_ci#define GPSR1_25 F_(DU_HSYNC, IP4_3_0) 6462306a36Sopenharmony_ci#define GPSR1_24 F_(DU_DOTCLKOUT0, IP3_31_28) 6562306a36Sopenharmony_ci#define GPSR1_23 F_(DU_DR7, IP3_27_24) 6662306a36Sopenharmony_ci#define GPSR1_22 F_(DU_DR6, IP3_23_20) 6762306a36Sopenharmony_ci#define GPSR1_21 F_(DU_DR5, IP3_19_16) 6862306a36Sopenharmony_ci#define GPSR1_20 F_(DU_DR4, IP3_15_12) 6962306a36Sopenharmony_ci#define GPSR1_19 F_(DU_DR3, IP3_11_8) 7062306a36Sopenharmony_ci#define GPSR1_18 F_(DU_DR2, IP3_7_4) 7162306a36Sopenharmony_ci#define GPSR1_17 F_(DU_DR1, IP3_3_0) 7262306a36Sopenharmony_ci#define GPSR1_16 F_(DU_DR0, IP2_31_28) 7362306a36Sopenharmony_ci#define GPSR1_15 F_(DU_DG7, IP2_27_24) 7462306a36Sopenharmony_ci#define GPSR1_14 F_(DU_DG6, IP2_23_20) 7562306a36Sopenharmony_ci#define GPSR1_13 F_(DU_DG5, IP2_19_16) 7662306a36Sopenharmony_ci#define GPSR1_12 F_(DU_DG4, IP2_15_12) 7762306a36Sopenharmony_ci#define GPSR1_11 F_(DU_DG3, IP2_11_8) 7862306a36Sopenharmony_ci#define GPSR1_10 F_(DU_DG2, IP2_7_4) 7962306a36Sopenharmony_ci#define GPSR1_9 F_(DU_DG1, IP2_3_0) 8062306a36Sopenharmony_ci#define GPSR1_8 F_(DU_DG0, IP1_31_28) 8162306a36Sopenharmony_ci#define GPSR1_7 F_(DU_DB7, IP1_27_24) 8262306a36Sopenharmony_ci#define GPSR1_6 F_(DU_DB6, IP1_23_20) 8362306a36Sopenharmony_ci#define GPSR1_5 F_(DU_DB5, IP1_19_16) 8462306a36Sopenharmony_ci#define GPSR1_4 F_(DU_DB4, IP1_15_12) 8562306a36Sopenharmony_ci#define GPSR1_3 F_(DU_DB3, IP1_11_8) 8662306a36Sopenharmony_ci#define GPSR1_2 F_(DU_DB2, IP1_7_4) 8762306a36Sopenharmony_ci#define GPSR1_1 F_(DU_DB1, IP1_3_0) 8862306a36Sopenharmony_ci#define GPSR1_0 F_(DU_DB0, IP0_31_28) 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci/* GPSR2 */ 9162306a36Sopenharmony_ci#define GPSR2_31 F_(NFCE_N, IP8_19_16) 9262306a36Sopenharmony_ci#define GPSR2_30 F_(NFCLE, IP8_15_12) 9362306a36Sopenharmony_ci#define GPSR2_29 F_(NFALE, IP8_11_8) 9462306a36Sopenharmony_ci#define GPSR2_28 F_(VI4_CLKENB, IP8_7_4) 9562306a36Sopenharmony_ci#define GPSR2_27 F_(VI4_FIELD, IP8_3_0) 9662306a36Sopenharmony_ci#define GPSR2_26 F_(VI4_HSYNC_N, IP7_31_28) 9762306a36Sopenharmony_ci#define GPSR2_25 F_(VI4_VSYNC_N, IP7_27_24) 9862306a36Sopenharmony_ci#define GPSR2_24 F_(VI4_DATA23, IP7_23_20) 9962306a36Sopenharmony_ci#define GPSR2_23 F_(VI4_DATA22, IP7_19_16) 10062306a36Sopenharmony_ci#define GPSR2_22 F_(VI4_DATA21, IP7_15_12) 10162306a36Sopenharmony_ci#define GPSR2_21 F_(VI4_DATA20, IP7_11_8) 10262306a36Sopenharmony_ci#define GPSR2_20 F_(VI4_DATA19, IP7_7_4) 10362306a36Sopenharmony_ci#define GPSR2_19 F_(VI4_DATA18, IP7_3_0) 10462306a36Sopenharmony_ci#define GPSR2_18 F_(VI4_DATA17, IP6_31_28) 10562306a36Sopenharmony_ci#define GPSR2_17 F_(VI4_DATA16, IP6_27_24) 10662306a36Sopenharmony_ci#define GPSR2_16 F_(VI4_DATA15, IP6_23_20) 10762306a36Sopenharmony_ci#define GPSR2_15 F_(VI4_DATA14, IP6_19_16) 10862306a36Sopenharmony_ci#define GPSR2_14 F_(VI4_DATA13, IP6_15_12) 10962306a36Sopenharmony_ci#define GPSR2_13 F_(VI4_DATA12, IP6_11_8) 11062306a36Sopenharmony_ci#define GPSR2_12 F_(VI4_DATA11, IP6_7_4) 11162306a36Sopenharmony_ci#define GPSR2_11 F_(VI4_DATA10, IP6_3_0) 11262306a36Sopenharmony_ci#define GPSR2_10 F_(VI4_DATA9, IP5_31_28) 11362306a36Sopenharmony_ci#define GPSR2_9 F_(VI4_DATA8, IP5_27_24) 11462306a36Sopenharmony_ci#define GPSR2_8 F_(VI4_DATA7, IP5_23_20) 11562306a36Sopenharmony_ci#define GPSR2_7 F_(VI4_DATA6, IP5_19_16) 11662306a36Sopenharmony_ci#define GPSR2_6 F_(VI4_DATA5, IP5_15_12) 11762306a36Sopenharmony_ci#define GPSR2_5 FM(VI4_DATA4) 11862306a36Sopenharmony_ci#define GPSR2_4 F_(VI4_DATA3, IP5_11_8) 11962306a36Sopenharmony_ci#define GPSR2_3 F_(VI4_DATA2, IP5_7_4) 12062306a36Sopenharmony_ci#define GPSR2_2 F_(VI4_DATA1, IP5_3_0) 12162306a36Sopenharmony_ci#define GPSR2_1 F_(VI4_DATA0, IP4_31_28) 12262306a36Sopenharmony_ci#define GPSR2_0 FM(VI4_CLK) 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci/* GPSR3 */ 12562306a36Sopenharmony_ci#define GPSR3_9 F_(NFDATA7, IP9_31_28) 12662306a36Sopenharmony_ci#define GPSR3_8 F_(NFDATA6, IP9_27_24) 12762306a36Sopenharmony_ci#define GPSR3_7 F_(NFDATA5, IP9_23_20) 12862306a36Sopenharmony_ci#define GPSR3_6 F_(NFDATA4, IP9_19_16) 12962306a36Sopenharmony_ci#define GPSR3_5 F_(NFDATA3, IP9_15_12) 13062306a36Sopenharmony_ci#define GPSR3_4 F_(NFDATA2, IP9_11_8) 13162306a36Sopenharmony_ci#define GPSR3_3 F_(NFDATA1, IP9_7_4) 13262306a36Sopenharmony_ci#define GPSR3_2 F_(NFDATA0, IP9_3_0) 13362306a36Sopenharmony_ci#define GPSR3_1 F_(NFWE_N, IP8_31_28) 13462306a36Sopenharmony_ci#define GPSR3_0 F_(NFRE_N, IP8_27_24) 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci/* GPSR4 */ 13762306a36Sopenharmony_ci#define GPSR4_31 F_(CAN0_RX_A, IP12_27_24) 13862306a36Sopenharmony_ci#define GPSR4_30 F_(CAN1_TX_A, IP13_7_4) 13962306a36Sopenharmony_ci#define GPSR4_29 F_(CAN1_RX_A, IP13_3_0) 14062306a36Sopenharmony_ci#define GPSR4_28 F_(CAN0_TX_A, IP12_31_28) 14162306a36Sopenharmony_ci#define GPSR4_27 FM(TX2) 14262306a36Sopenharmony_ci#define GPSR4_26 FM(RX2) 14362306a36Sopenharmony_ci#define GPSR4_25 F_(SCK2, IP12_11_8) 14462306a36Sopenharmony_ci#define GPSR4_24 F_(TX1_A, IP12_7_4) 14562306a36Sopenharmony_ci#define GPSR4_23 F_(RX1_A, IP12_3_0) 14662306a36Sopenharmony_ci#define GPSR4_22 F_(SCK1_A, IP11_31_28) 14762306a36Sopenharmony_ci#define GPSR4_21 F_(TX0_A, IP11_27_24) 14862306a36Sopenharmony_ci#define GPSR4_20 F_(RX0_A, IP11_23_20) 14962306a36Sopenharmony_ci#define GPSR4_19 F_(SCK0_A, IP11_19_16) 15062306a36Sopenharmony_ci#define GPSR4_18 F_(MSIOF1_RXD, IP11_15_12) 15162306a36Sopenharmony_ci#define GPSR4_17 F_(MSIOF1_TXD, IP11_11_8) 15262306a36Sopenharmony_ci#define GPSR4_16 F_(MSIOF1_SCK, IP11_7_4) 15362306a36Sopenharmony_ci#define GPSR4_15 FM(MSIOF0_RXD) 15462306a36Sopenharmony_ci#define GPSR4_14 FM(MSIOF0_TXD) 15562306a36Sopenharmony_ci#define GPSR4_13 FM(MSIOF0_SYNC) 15662306a36Sopenharmony_ci#define GPSR4_12 FM(MSIOF0_SCK) 15762306a36Sopenharmony_ci#define GPSR4_11 F_(SDA1, IP11_3_0) 15862306a36Sopenharmony_ci#define GPSR4_10 F_(SCL1, IP10_31_28) 15962306a36Sopenharmony_ci#define GPSR4_9 FM(SDA0) 16062306a36Sopenharmony_ci#define GPSR4_8 FM(SCL0) 16162306a36Sopenharmony_ci#define GPSR4_7 F_(SSI_WS4_A, IP10_27_24) 16262306a36Sopenharmony_ci#define GPSR4_6 F_(SSI_SDATA4_A, IP10_23_20) 16362306a36Sopenharmony_ci#define GPSR4_5 F_(SSI_SCK4_A, IP10_19_16) 16462306a36Sopenharmony_ci#define GPSR4_4 F_(SSI_WS34, IP10_15_12) 16562306a36Sopenharmony_ci#define GPSR4_3 F_(SSI_SDATA3, IP10_11_8) 16662306a36Sopenharmony_ci#define GPSR4_2 F_(SSI_SCK34, IP10_7_4) 16762306a36Sopenharmony_ci#define GPSR4_1 F_(AUDIO_CLKA, IP10_3_0) 16862306a36Sopenharmony_ci#define GPSR4_0 F_(NFRB_N, IP8_23_20) 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci/* GPSR5 */ 17162306a36Sopenharmony_ci#define GPSR5_20 FM(AVB0_LINK) 17262306a36Sopenharmony_ci#define GPSR5_19 FM(AVB0_PHY_INT) 17362306a36Sopenharmony_ci#define GPSR5_18 FM(AVB0_MAGIC) 17462306a36Sopenharmony_ci#define GPSR5_17 FM(AVB0_MDC) 17562306a36Sopenharmony_ci#define GPSR5_16 FM(AVB0_MDIO) 17662306a36Sopenharmony_ci#define GPSR5_15 FM(AVB0_TXCREFCLK) 17762306a36Sopenharmony_ci#define GPSR5_14 FM(AVB0_TD3) 17862306a36Sopenharmony_ci#define GPSR5_13 FM(AVB0_TD2) 17962306a36Sopenharmony_ci#define GPSR5_12 FM(AVB0_TD1) 18062306a36Sopenharmony_ci#define GPSR5_11 FM(AVB0_TD0) 18162306a36Sopenharmony_ci#define GPSR5_10 FM(AVB0_TXC) 18262306a36Sopenharmony_ci#define GPSR5_9 FM(AVB0_TX_CTL) 18362306a36Sopenharmony_ci#define GPSR5_8 FM(AVB0_RD3) 18462306a36Sopenharmony_ci#define GPSR5_7 FM(AVB0_RD2) 18562306a36Sopenharmony_ci#define GPSR5_6 FM(AVB0_RD1) 18662306a36Sopenharmony_ci#define GPSR5_5 FM(AVB0_RD0) 18762306a36Sopenharmony_ci#define GPSR5_4 FM(AVB0_RXC) 18862306a36Sopenharmony_ci#define GPSR5_3 FM(AVB0_RX_CTL) 18962306a36Sopenharmony_ci#define GPSR5_2 F_(CAN_CLK, IP12_23_20) 19062306a36Sopenharmony_ci#define GPSR5_1 F_(TPU0TO1_A, IP12_19_16) 19162306a36Sopenharmony_ci#define GPSR5_0 F_(TPU0TO0_A, IP12_15_12) 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci/* GPSR6 */ 19462306a36Sopenharmony_ci#define GPSR6_13 FM(RPC_INT_N) 19562306a36Sopenharmony_ci#define GPSR6_12 FM(RPC_RESET_N) 19662306a36Sopenharmony_ci#define GPSR6_11 FM(QSPI1_SSL) 19762306a36Sopenharmony_ci#define GPSR6_10 FM(QSPI1_IO3) 19862306a36Sopenharmony_ci#define GPSR6_9 FM(QSPI1_IO2) 19962306a36Sopenharmony_ci#define GPSR6_8 FM(QSPI1_MISO_IO1) 20062306a36Sopenharmony_ci#define GPSR6_7 FM(QSPI1_MOSI_IO0) 20162306a36Sopenharmony_ci#define GPSR6_6 FM(QSPI1_SPCLK) 20262306a36Sopenharmony_ci#define GPSR6_5 FM(QSPI0_SSL) 20362306a36Sopenharmony_ci#define GPSR6_4 FM(QSPI0_IO3) 20462306a36Sopenharmony_ci#define GPSR6_3 FM(QSPI0_IO2) 20562306a36Sopenharmony_ci#define GPSR6_2 FM(QSPI0_MISO_IO1) 20662306a36Sopenharmony_ci#define GPSR6_1 FM(QSPI0_MOSI_IO0) 20762306a36Sopenharmony_ci#define GPSR6_0 FM(QSPI0_SPCLK) 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ci/* IPSRx */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 21062306a36Sopenharmony_ci#define IP0_3_0 FM(IRQ0_A) FM(MSIOF2_SYNC_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 21162306a36Sopenharmony_ci#define IP0_7_4 FM(MSIOF2_SCK) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 21262306a36Sopenharmony_ci#define IP0_11_8 FM(MSIOF2_TXD) FM(SCL3_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 21362306a36Sopenharmony_ci#define IP0_15_12 FM(MSIOF2_RXD) FM(SDA3_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 21462306a36Sopenharmony_ci#define IP0_19_16 FM(MLB_CLK) FM(MSIOF2_SYNC_A) FM(SCK5_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 21562306a36Sopenharmony_ci#define IP0_23_20 FM(MLB_DAT) FM(MSIOF2_SS1) FM(RX5_A) FM(SCL3_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 21662306a36Sopenharmony_ci#define IP0_27_24 FM(MLB_SIG) FM(MSIOF2_SS2) FM(TX5_A) FM(SDA3_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 21762306a36Sopenharmony_ci#define IP0_31_28 FM(DU_DB0) FM(LCDOUT0) FM(MSIOF3_TXD_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 21862306a36Sopenharmony_ci#define IP1_3_0 FM(DU_DB1) FM(LCDOUT1) FM(MSIOF3_RXD_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 21962306a36Sopenharmony_ci#define IP1_7_4 FM(DU_DB2) FM(LCDOUT2) FM(IRQ0_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 22062306a36Sopenharmony_ci#define IP1_11_8 FM(DU_DB3) FM(LCDOUT3) FM(SCK5_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 22162306a36Sopenharmony_ci#define IP1_15_12 FM(DU_DB4) FM(LCDOUT4) FM(RX5_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 22262306a36Sopenharmony_ci#define IP1_19_16 FM(DU_DB5) FM(LCDOUT5) FM(TX5_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 22362306a36Sopenharmony_ci#define IP1_23_20 FM(DU_DB6) FM(LCDOUT6) FM(MSIOF3_SS1_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 22462306a36Sopenharmony_ci#define IP1_27_24 FM(DU_DB7) FM(LCDOUT7) FM(MSIOF3_SS2_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 22562306a36Sopenharmony_ci#define IP1_31_28 FM(DU_DG0) FM(LCDOUT8) FM(MSIOF3_SCK_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 22662306a36Sopenharmony_ci#define IP2_3_0 FM(DU_DG1) FM(LCDOUT9) FM(MSIOF3_SYNC_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 22762306a36Sopenharmony_ci#define IP2_7_4 FM(DU_DG2) FM(LCDOUT10) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 22862306a36Sopenharmony_ci#define IP2_11_8 FM(DU_DG3) FM(LCDOUT11) FM(IRQ1_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 22962306a36Sopenharmony_ci#define IP2_15_12 FM(DU_DG4) FM(LCDOUT12) FM(HSCK3_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 23062306a36Sopenharmony_ci#define IP2_19_16 FM(DU_DG5) FM(LCDOUT13) FM(HTX3_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 23162306a36Sopenharmony_ci#define IP2_23_20 FM(DU_DG6) FM(LCDOUT14) FM(HRX3_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 23262306a36Sopenharmony_ci#define IP2_27_24 FM(DU_DG7) FM(LCDOUT15) FM(SCK4_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 23362306a36Sopenharmony_ci#define IP2_31_28 FM(DU_DR0) FM(LCDOUT16) FM(RX4_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 23462306a36Sopenharmony_ci#define IP3_3_0 FM(DU_DR1) FM(LCDOUT17) FM(TX4_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 23562306a36Sopenharmony_ci#define IP3_7_4 FM(DU_DR2) FM(LCDOUT18) FM(PWM0_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 23662306a36Sopenharmony_ci#define IP3_11_8 FM(DU_DR3) FM(LCDOUT19) FM(PWM1_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 23762306a36Sopenharmony_ci#define IP3_15_12 FM(DU_DR4) FM(LCDOUT20) FM(TCLK2_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 23862306a36Sopenharmony_ci#define IP3_19_16 FM(DU_DR5) FM(LCDOUT21) FM(NMI) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 23962306a36Sopenharmony_ci#define IP3_23_20 FM(DU_DR6) FM(LCDOUT22) FM(PWM2_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 24062306a36Sopenharmony_ci#define IP3_27_24 FM(DU_DR7) FM(LCDOUT23) FM(TCLK1_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 24162306a36Sopenharmony_ci#define IP3_31_28 FM(DU_DOTCLKOUT0) FM(QCLK) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci/* IPSRx */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 24462306a36Sopenharmony_ci#define IP4_3_0 FM(DU_HSYNC) FM(QSTH_QHS) FM(IRQ3_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 24562306a36Sopenharmony_ci#define IP4_7_4 FM(DU_VSYNC) FM(QSTVA_QVS) FM(IRQ4_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 24662306a36Sopenharmony_ci#define IP4_11_8 FM(DU_DISP) FM(QSTVB_QVE) FM(PWM3_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 24762306a36Sopenharmony_ci#define IP4_15_12 FM(DU_DISP_CDE) FM(QCPV_QDE) FM(IRQ2_B) FM(DU_DOTCLKIN1)F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 24862306a36Sopenharmony_ci#define IP4_19_16 FM(DU_CDE) FM(QSTB_QHE) FM(SCK3_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 24962306a36Sopenharmony_ci#define IP4_23_20 FM(QPOLA) F_(0, 0) FM(RX3_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 25062306a36Sopenharmony_ci#define IP4_27_24 FM(QPOLB) F_(0, 0) FM(TX3_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 25162306a36Sopenharmony_ci#define IP4_31_28 FM(VI4_DATA0) FM(PWM0_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 25262306a36Sopenharmony_ci#define IP5_3_0 FM(VI4_DATA1) FM(PWM1_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 25362306a36Sopenharmony_ci#define IP5_7_4 FM(VI4_DATA2) FM(PWM2_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 25462306a36Sopenharmony_ci#define IP5_11_8 FM(VI4_DATA3) FM(PWM3_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 25562306a36Sopenharmony_ci#define IP5_15_12 FM(VI4_DATA5) FM(SCK4_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 25662306a36Sopenharmony_ci#define IP5_19_16 FM(VI4_DATA6) FM(IRQ2_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 25762306a36Sopenharmony_ci#define IP5_23_20 FM(VI4_DATA7) FM(TCLK2_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 25862306a36Sopenharmony_ci#define IP5_27_24 FM(VI4_DATA8) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 25962306a36Sopenharmony_ci#define IP5_31_28 FM(VI4_DATA9) FM(MSIOF3_SS2_A) FM(IRQ1_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 26062306a36Sopenharmony_ci#define IP6_3_0 FM(VI4_DATA10) FM(RX4_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 26162306a36Sopenharmony_ci#define IP6_7_4 FM(VI4_DATA11) FM(TX4_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 26262306a36Sopenharmony_ci#define IP6_11_8 FM(VI4_DATA12) FM(TCLK1_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 26362306a36Sopenharmony_ci#define IP6_15_12 FM(VI4_DATA13) FM(MSIOF3_SS1_A) FM(HCTS3_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 26462306a36Sopenharmony_ci#define IP6_19_16 FM(VI4_DATA14) FM(SSI_SCK4_B) FM(HRTS3_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 26562306a36Sopenharmony_ci#define IP6_23_20 FM(VI4_DATA15) FM(SSI_SDATA4_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 26662306a36Sopenharmony_ci#define IP6_27_24 FM(VI4_DATA16) FM(HRX3_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 26762306a36Sopenharmony_ci#define IP6_31_28 FM(VI4_DATA17) FM(HTX3_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 26862306a36Sopenharmony_ci#define IP7_3_0 FM(VI4_DATA18) FM(HSCK3_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 26962306a36Sopenharmony_ci#define IP7_7_4 FM(VI4_DATA19) FM(SSI_WS4_B) F_(0, 0) F_(0, 0) FM(NFDATA15) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 27062306a36Sopenharmony_ci#define IP7_11_8 FM(VI4_DATA20) FM(MSIOF3_SYNC_A) F_(0, 0) F_(0, 0) FM(NFDATA14) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 27162306a36Sopenharmony_ci#define IP7_15_12 FM(VI4_DATA21) FM(MSIOF3_TXD_A) F_(0, 0) F_(0, 0) FM(NFDATA13) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 27262306a36Sopenharmony_ci#define IP7_19_16 FM(VI4_DATA22) FM(MSIOF3_RXD_A) F_(0, 0) F_(0, 0) FM(NFDATA12) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 27362306a36Sopenharmony_ci#define IP7_23_20 FM(VI4_DATA23) FM(MSIOF3_SCK_A) F_(0, 0) F_(0, 0) FM(NFDATA11) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 27462306a36Sopenharmony_ci#define IP7_27_24 FM(VI4_VSYNC_N) FM(SCK1_B) F_(0, 0) F_(0, 0) FM(NFDATA10) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 27562306a36Sopenharmony_ci#define IP7_31_28 FM(VI4_HSYNC_N) FM(RX1_B) F_(0, 0) F_(0, 0) FM(NFDATA9) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ci/* IPSRx */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 27862306a36Sopenharmony_ci#define IP8_3_0 FM(VI4_FIELD) FM(AUDIO_CLKB) FM(IRQ5_A) FM(SCIF_CLK) FM(NFDATA8) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 27962306a36Sopenharmony_ci#define IP8_7_4 FM(VI4_CLKENB) FM(TX1_B) F_(0, 0) F_(0, 0) FM(NFWP_N) FM(DVC_MUTE_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 28062306a36Sopenharmony_ci#define IP8_11_8 FM(NFALE) FM(SCL2_B) FM(IRQ3_B) FM(PWM0_C) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 28162306a36Sopenharmony_ci#define IP8_15_12 FM(NFCLE) FM(SDA2_B) FM(SCK3_A) FM(PWM1_C) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 28262306a36Sopenharmony_ci#define IP8_19_16 FM(NFCE_N) F_(0, 0) FM(RX3_A) FM(PWM2_C) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 28362306a36Sopenharmony_ci#define IP8_23_20 FM(NFRB_N) F_(0, 0) FM(TX3_A) FM(PWM3_C) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 28462306a36Sopenharmony_ci#define IP8_27_24 FM(NFRE_N) FM(MMC_CMD) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 28562306a36Sopenharmony_ci#define IP8_31_28 FM(NFWE_N) FM(MMC_CLK) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 28662306a36Sopenharmony_ci#define IP9_3_0 FM(NFDATA0) FM(MMC_D0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 28762306a36Sopenharmony_ci#define IP9_7_4 FM(NFDATA1) FM(MMC_D1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 28862306a36Sopenharmony_ci#define IP9_11_8 FM(NFDATA2) FM(MMC_D2) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 28962306a36Sopenharmony_ci#define IP9_15_12 FM(NFDATA3) FM(MMC_D3) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 29062306a36Sopenharmony_ci#define IP9_19_16 FM(NFDATA4) FM(MMC_D4) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 29162306a36Sopenharmony_ci#define IP9_23_20 FM(NFDATA5) FM(MMC_D5) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 29262306a36Sopenharmony_ci#define IP9_27_24 FM(NFDATA6) FM(MMC_D6) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 29362306a36Sopenharmony_ci#define IP9_31_28 FM(NFDATA7) FM(MMC_D7) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 29462306a36Sopenharmony_ci#define IP10_3_0 FM(AUDIO_CLKA) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(DVC_MUTE_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 29562306a36Sopenharmony_ci#define IP10_7_4 FM(SSI_SCK34) FM(FSO_CFE_0_N_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 29662306a36Sopenharmony_ci#define IP10_11_8 FM(SSI_SDATA3) FM(FSO_CFE_1_N_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 29762306a36Sopenharmony_ci#define IP10_15_12 FM(SSI_WS34) FM(FSO_TOE_N_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 29862306a36Sopenharmony_ci#define IP10_19_16 FM(SSI_SCK4_A) FM(HSCK0) FM(AUDIO_CLKOUT) FM(CAN0_RX_B) FM(IRQ4_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 29962306a36Sopenharmony_ci#define IP10_23_20 FM(SSI_SDATA4_A) FM(HTX0) FM(SCL2_A) FM(CAN1_RX_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 30062306a36Sopenharmony_ci#define IP10_27_24 FM(SSI_WS4_A) FM(HRX0) FM(SDA2_A) FM(CAN1_TX_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 30162306a36Sopenharmony_ci#define IP10_31_28 FM(SCL1) FM(CTS1_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 30262306a36Sopenharmony_ci#define IP11_3_0 FM(SDA1) FM(RTS1_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 30362306a36Sopenharmony_ci#define IP11_7_4 FM(MSIOF1_SCK) FM(AVB0_AVTP_PPS_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 30462306a36Sopenharmony_ci#define IP11_11_8 FM(MSIOF1_TXD) FM(AVB0_AVTP_CAPTURE_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 30562306a36Sopenharmony_ci#define IP11_15_12 FM(MSIOF1_RXD) FM(AVB0_AVTP_MATCH_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 30662306a36Sopenharmony_ci#define IP11_19_16 FM(SCK0_A) FM(MSIOF1_SYNC) FM(FSO_CFE_0_N_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 30762306a36Sopenharmony_ci#define IP11_23_20 FM(RX0_A) FM(MSIOF0_SS1) FM(FSO_CFE_1_N_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 30862306a36Sopenharmony_ci#define IP11_27_24 FM(TX0_A) FM(MSIOF0_SS2) FM(FSO_TOE_N_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 30962306a36Sopenharmony_ci#define IP11_31_28 FM(SCK1_A) FM(MSIOF1_SS2) FM(TPU0TO2_B) FM(CAN0_TX_B) FM(AUDIO_CLKOUT1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_ci/* IPSRx */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 31262306a36Sopenharmony_ci#define IP12_3_0 FM(RX1_A) FM(CTS0_N) FM(TPU0TO0_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 31362306a36Sopenharmony_ci#define IP12_7_4 FM(TX1_A) FM(RTS0_N) FM(TPU0TO1_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 31462306a36Sopenharmony_ci#define IP12_11_8 FM(SCK2) FM(MSIOF1_SS1) FM(TPU0TO3_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 31562306a36Sopenharmony_ci#define IP12_15_12 FM(TPU0TO0_A) FM(AVB0_AVTP_CAPTURE_A) FM(HCTS0_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 31662306a36Sopenharmony_ci#define IP12_19_16 FM(TPU0TO1_A) FM(AVB0_AVTP_MATCH_A) FM(HRTS0_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 31762306a36Sopenharmony_ci#define IP12_23_20 FM(CAN_CLK) FM(AVB0_AVTP_PPS_A) FM(SCK0_B) FM(IRQ5_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 31862306a36Sopenharmony_ci#define IP12_27_24 FM(CAN0_RX_A) FM(CANFD0_RX) FM(RX0_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 31962306a36Sopenharmony_ci#define IP12_31_28 FM(CAN0_TX_A) FM(CANFD0_TX) FM(TX0_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 32062306a36Sopenharmony_ci#define IP13_3_0 FM(CAN1_RX_A) FM(CANFD1_RX) FM(TPU0TO2_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 32162306a36Sopenharmony_ci#define IP13_7_4 FM(CAN1_TX_A) FM(CANFD1_TX) FM(TPU0TO3_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 32262306a36Sopenharmony_ci 32362306a36Sopenharmony_ci#define PINMUX_GPSR \ 32462306a36Sopenharmony_ci\ 32562306a36Sopenharmony_ci GPSR1_31 GPSR2_31 GPSR4_31 \ 32662306a36Sopenharmony_ci GPSR1_30 GPSR2_30 GPSR4_30 \ 32762306a36Sopenharmony_ci GPSR1_29 GPSR2_29 GPSR4_29 \ 32862306a36Sopenharmony_ci GPSR1_28 GPSR2_28 GPSR4_28 \ 32962306a36Sopenharmony_ci GPSR1_27 GPSR2_27 GPSR4_27 \ 33062306a36Sopenharmony_ci GPSR1_26 GPSR2_26 GPSR4_26 \ 33162306a36Sopenharmony_ci GPSR1_25 GPSR2_25 GPSR4_25 \ 33262306a36Sopenharmony_ci GPSR1_24 GPSR2_24 GPSR4_24 \ 33362306a36Sopenharmony_ci GPSR1_23 GPSR2_23 GPSR4_23 \ 33462306a36Sopenharmony_ci GPSR1_22 GPSR2_22 GPSR4_22 \ 33562306a36Sopenharmony_ci GPSR1_21 GPSR2_21 GPSR4_21 \ 33662306a36Sopenharmony_ci GPSR1_20 GPSR2_20 GPSR4_20 GPSR5_20 \ 33762306a36Sopenharmony_ci GPSR1_19 GPSR2_19 GPSR4_19 GPSR5_19 \ 33862306a36Sopenharmony_ci GPSR1_18 GPSR2_18 GPSR4_18 GPSR5_18 \ 33962306a36Sopenharmony_ci GPSR1_17 GPSR2_17 GPSR4_17 GPSR5_17 \ 34062306a36Sopenharmony_ci GPSR1_16 GPSR2_16 GPSR4_16 GPSR5_16 \ 34162306a36Sopenharmony_ci GPSR1_15 GPSR2_15 GPSR4_15 GPSR5_15 \ 34262306a36Sopenharmony_ci GPSR1_14 GPSR2_14 GPSR4_14 GPSR5_14 \ 34362306a36Sopenharmony_ci GPSR1_13 GPSR2_13 GPSR4_13 GPSR5_13 GPSR6_13 \ 34462306a36Sopenharmony_ci GPSR1_12 GPSR2_12 GPSR4_12 GPSR5_12 GPSR6_12 \ 34562306a36Sopenharmony_ci GPSR1_11 GPSR2_11 GPSR4_11 GPSR5_11 GPSR6_11 \ 34662306a36Sopenharmony_ci GPSR1_10 GPSR2_10 GPSR4_10 GPSR5_10 GPSR6_10 \ 34762306a36Sopenharmony_ci GPSR1_9 GPSR2_9 GPSR3_9 GPSR4_9 GPSR5_9 GPSR6_9 \ 34862306a36Sopenharmony_ciGPSR0_8 GPSR1_8 GPSR2_8 GPSR3_8 GPSR4_8 GPSR5_8 GPSR6_8 \ 34962306a36Sopenharmony_ciGPSR0_7 GPSR1_7 GPSR2_7 GPSR3_7 GPSR4_7 GPSR5_7 GPSR6_7 \ 35062306a36Sopenharmony_ciGPSR0_6 GPSR1_6 GPSR2_6 GPSR3_6 GPSR4_6 GPSR5_6 GPSR6_6 \ 35162306a36Sopenharmony_ciGPSR0_5 GPSR1_5 GPSR2_5 GPSR3_5 GPSR4_5 GPSR5_5 GPSR6_5 \ 35262306a36Sopenharmony_ciGPSR0_4 GPSR1_4 GPSR2_4 GPSR3_4 GPSR4_4 GPSR5_4 GPSR6_4 \ 35362306a36Sopenharmony_ciGPSR0_3 GPSR1_3 GPSR2_3 GPSR3_3 GPSR4_3 GPSR5_3 GPSR6_3 \ 35462306a36Sopenharmony_ciGPSR0_2 GPSR1_2 GPSR2_2 GPSR3_2 GPSR4_2 GPSR5_2 GPSR6_2 \ 35562306a36Sopenharmony_ciGPSR0_1 GPSR1_1 GPSR2_1 GPSR3_1 GPSR4_1 GPSR5_1 GPSR6_1 \ 35662306a36Sopenharmony_ciGPSR0_0 GPSR1_0 GPSR2_0 GPSR3_0 GPSR4_0 GPSR5_0 GPSR6_0 35762306a36Sopenharmony_ci 35862306a36Sopenharmony_ci#define PINMUX_IPSR \ 35962306a36Sopenharmony_ci\ 36062306a36Sopenharmony_ciFM(IP0_3_0) IP0_3_0 FM(IP1_3_0) IP1_3_0 FM(IP2_3_0) IP2_3_0 FM(IP3_3_0) IP3_3_0 \ 36162306a36Sopenharmony_ciFM(IP0_7_4) IP0_7_4 FM(IP1_7_4) IP1_7_4 FM(IP2_7_4) IP2_7_4 FM(IP3_7_4) IP3_7_4 \ 36262306a36Sopenharmony_ciFM(IP0_11_8) IP0_11_8 FM(IP1_11_8) IP1_11_8 FM(IP2_11_8) IP2_11_8 FM(IP3_11_8) IP3_11_8 \ 36362306a36Sopenharmony_ciFM(IP0_15_12) IP0_15_12 FM(IP1_15_12) IP1_15_12 FM(IP2_15_12) IP2_15_12 FM(IP3_15_12) IP3_15_12 \ 36462306a36Sopenharmony_ciFM(IP0_19_16) IP0_19_16 FM(IP1_19_16) IP1_19_16 FM(IP2_19_16) IP2_19_16 FM(IP3_19_16) IP3_19_16 \ 36562306a36Sopenharmony_ciFM(IP0_23_20) IP0_23_20 FM(IP1_23_20) IP1_23_20 FM(IP2_23_20) IP2_23_20 FM(IP3_23_20) IP3_23_20 \ 36662306a36Sopenharmony_ciFM(IP0_27_24) IP0_27_24 FM(IP1_27_24) IP1_27_24 FM(IP2_27_24) IP2_27_24 FM(IP3_27_24) IP3_27_24 \ 36762306a36Sopenharmony_ciFM(IP0_31_28) IP0_31_28 FM(IP1_31_28) IP1_31_28 FM(IP2_31_28) IP2_31_28 FM(IP3_31_28) IP3_31_28 \ 36862306a36Sopenharmony_ci\ 36962306a36Sopenharmony_ciFM(IP4_3_0) IP4_3_0 FM(IP5_3_0) IP5_3_0 FM(IP6_3_0) IP6_3_0 FM(IP7_3_0) IP7_3_0 \ 37062306a36Sopenharmony_ciFM(IP4_7_4) IP4_7_4 FM(IP5_7_4) IP5_7_4 FM(IP6_7_4) IP6_7_4 FM(IP7_7_4) IP7_7_4 \ 37162306a36Sopenharmony_ciFM(IP4_11_8) IP4_11_8 FM(IP5_11_8) IP5_11_8 FM(IP6_11_8) IP6_11_8 FM(IP7_11_8) IP7_11_8 \ 37262306a36Sopenharmony_ciFM(IP4_15_12) IP4_15_12 FM(IP5_15_12) IP5_15_12 FM(IP6_15_12) IP6_15_12 FM(IP7_15_12) IP7_15_12 \ 37362306a36Sopenharmony_ciFM(IP4_19_16) IP4_19_16 FM(IP5_19_16) IP5_19_16 FM(IP6_19_16) IP6_19_16 FM(IP7_19_16) IP7_19_16 \ 37462306a36Sopenharmony_ciFM(IP4_23_20) IP4_23_20 FM(IP5_23_20) IP5_23_20 FM(IP6_23_20) IP6_23_20 FM(IP7_23_20) IP7_23_20 \ 37562306a36Sopenharmony_ciFM(IP4_27_24) IP4_27_24 FM(IP5_27_24) IP5_27_24 FM(IP6_27_24) IP6_27_24 FM(IP7_27_24) IP7_27_24 \ 37662306a36Sopenharmony_ciFM(IP4_31_28) IP4_31_28 FM(IP5_31_28) IP5_31_28 FM(IP6_31_28) IP6_31_28 FM(IP7_31_28) IP7_31_28 \ 37762306a36Sopenharmony_ci\ 37862306a36Sopenharmony_ciFM(IP8_3_0) IP8_3_0 FM(IP9_3_0) IP9_3_0 FM(IP10_3_0) IP10_3_0 FM(IP11_3_0) IP11_3_0 \ 37962306a36Sopenharmony_ciFM(IP8_7_4) IP8_7_4 FM(IP9_7_4) IP9_7_4 FM(IP10_7_4) IP10_7_4 FM(IP11_7_4) IP11_7_4 \ 38062306a36Sopenharmony_ciFM(IP8_11_8) IP8_11_8 FM(IP9_11_8) IP9_11_8 FM(IP10_11_8) IP10_11_8 FM(IP11_11_8) IP11_11_8 \ 38162306a36Sopenharmony_ciFM(IP8_15_12) IP8_15_12 FM(IP9_15_12) IP9_15_12 FM(IP10_15_12) IP10_15_12 FM(IP11_15_12) IP11_15_12 \ 38262306a36Sopenharmony_ciFM(IP8_19_16) IP8_19_16 FM(IP9_19_16) IP9_19_16 FM(IP10_19_16) IP10_19_16 FM(IP11_19_16) IP11_19_16 \ 38362306a36Sopenharmony_ciFM(IP8_23_20) IP8_23_20 FM(IP9_23_20) IP9_23_20 FM(IP10_23_20) IP10_23_20 FM(IP11_23_20) IP11_23_20 \ 38462306a36Sopenharmony_ciFM(IP8_27_24) IP8_27_24 FM(IP9_27_24) IP9_27_24 FM(IP10_27_24) IP10_27_24 FM(IP11_27_24) IP11_27_24 \ 38562306a36Sopenharmony_ciFM(IP8_31_28) IP8_31_28 FM(IP9_31_28) IP9_31_28 FM(IP10_31_28) IP10_31_28 FM(IP11_31_28) IP11_31_28 \ 38662306a36Sopenharmony_ci\ 38762306a36Sopenharmony_ciFM(IP12_3_0) IP12_3_0 FM(IP13_3_0) IP13_3_0 \ 38862306a36Sopenharmony_ciFM(IP12_7_4) IP12_7_4 FM(IP13_7_4) IP13_7_4 \ 38962306a36Sopenharmony_ciFM(IP12_11_8) IP12_11_8 \ 39062306a36Sopenharmony_ciFM(IP12_15_12) IP12_15_12 \ 39162306a36Sopenharmony_ciFM(IP12_19_16) IP12_19_16 \ 39262306a36Sopenharmony_ciFM(IP12_23_20) IP12_23_20 \ 39362306a36Sopenharmony_ciFM(IP12_27_24) IP12_27_24 \ 39462306a36Sopenharmony_ciFM(IP12_31_28) IP12_31_28 \ 39562306a36Sopenharmony_ci 39662306a36Sopenharmony_ci/* The bit numbering in MOD_SEL fields is reversed */ 39762306a36Sopenharmony_ci#define REV4(f0, f1, f2, f3) f0 f2 f1 f3 39862306a36Sopenharmony_ci 39962306a36Sopenharmony_ci/* MOD_SEL0 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ 40062306a36Sopenharmony_ci#define MOD_SEL0_30 FM(SEL_MSIOF2_0) FM(SEL_MSIOF2_1) 40162306a36Sopenharmony_ci#define MOD_SEL0_29 FM(SEL_I2C3_0) FM(SEL_I2C3_1) 40262306a36Sopenharmony_ci#define MOD_SEL0_28 FM(SEL_SCIF5_0) FM(SEL_SCIF5_1) 40362306a36Sopenharmony_ci#define MOD_SEL0_27 FM(SEL_MSIOF3_0) FM(SEL_MSIOF3_1) 40462306a36Sopenharmony_ci#define MOD_SEL0_26 FM(SEL_HSCIF3_0) FM(SEL_HSCIF3_1) 40562306a36Sopenharmony_ci#define MOD_SEL0_25 FM(SEL_SCIF4_0) FM(SEL_SCIF4_1) 40662306a36Sopenharmony_ci#define MOD_SEL0_24_23 REV4(FM(SEL_PWM0_0), FM(SEL_PWM0_1), FM(SEL_PWM0_2), F_(0, 0)) 40762306a36Sopenharmony_ci#define MOD_SEL0_22_21 REV4(FM(SEL_PWM1_0), FM(SEL_PWM1_1), FM(SEL_PWM1_2), F_(0, 0)) 40862306a36Sopenharmony_ci#define MOD_SEL0_20_19 REV4(FM(SEL_PWM2_0), FM(SEL_PWM2_1), FM(SEL_PWM2_2), F_(0, 0)) 40962306a36Sopenharmony_ci#define MOD_SEL0_18_17 REV4(FM(SEL_PWM3_0), FM(SEL_PWM3_1), FM(SEL_PWM3_2), F_(0, 0)) 41062306a36Sopenharmony_ci#define MOD_SEL0_15 FM(SEL_IRQ_0_0) FM(SEL_IRQ_0_1) 41162306a36Sopenharmony_ci#define MOD_SEL0_14 FM(SEL_IRQ_1_0) FM(SEL_IRQ_1_1) 41262306a36Sopenharmony_ci#define MOD_SEL0_13 FM(SEL_IRQ_2_0) FM(SEL_IRQ_2_1) 41362306a36Sopenharmony_ci#define MOD_SEL0_12 FM(SEL_IRQ_3_0) FM(SEL_IRQ_3_1) 41462306a36Sopenharmony_ci#define MOD_SEL0_11 FM(SEL_IRQ_4_0) FM(SEL_IRQ_4_1) 41562306a36Sopenharmony_ci#define MOD_SEL0_10 FM(SEL_IRQ_5_0) FM(SEL_IRQ_5_1) 41662306a36Sopenharmony_ci#define MOD_SEL0_5 FM(SEL_TMU_0_0) FM(SEL_TMU_0_1) 41762306a36Sopenharmony_ci#define MOD_SEL0_4 FM(SEL_TMU_1_0) FM(SEL_TMU_1_1) 41862306a36Sopenharmony_ci#define MOD_SEL0_3 FM(SEL_SCIF3_0) FM(SEL_SCIF3_1) 41962306a36Sopenharmony_ci#define MOD_SEL0_2 FM(SEL_SCIF1_0) FM(SEL_SCIF1_1) 42062306a36Sopenharmony_ci#define MOD_SEL0_1 FM(SEL_SCU_0) FM(SEL_SCU_1) 42162306a36Sopenharmony_ci#define MOD_SEL0_0 FM(SEL_RFSO_0) FM(SEL_RFSO_1) 42262306a36Sopenharmony_ci 42362306a36Sopenharmony_ci#define MOD_SEL1_31 FM(SEL_CAN0_0) FM(SEL_CAN0_1) 42462306a36Sopenharmony_ci#define MOD_SEL1_30 FM(SEL_CAN1_0) FM(SEL_CAN1_1) 42562306a36Sopenharmony_ci#define MOD_SEL1_29 FM(SEL_I2C2_0) FM(SEL_I2C2_1) 42662306a36Sopenharmony_ci#define MOD_SEL1_28 FM(SEL_ETHERAVB_0) FM(SEL_ETHERAVB_1) 42762306a36Sopenharmony_ci#define MOD_SEL1_27 FM(SEL_SCIF0_0) FM(SEL_SCIF0_1) 42862306a36Sopenharmony_ci#define MOD_SEL1_26 FM(SEL_SSIF4_0) FM(SEL_SSIF4_1) 42962306a36Sopenharmony_ci 43062306a36Sopenharmony_ci 43162306a36Sopenharmony_ci#define PINMUX_MOD_SELS \ 43262306a36Sopenharmony_ci\ 43362306a36Sopenharmony_ci MOD_SEL1_31 \ 43462306a36Sopenharmony_ciMOD_SEL0_30 MOD_SEL1_30 \ 43562306a36Sopenharmony_ciMOD_SEL0_29 MOD_SEL1_29 \ 43662306a36Sopenharmony_ciMOD_SEL0_28 MOD_SEL1_28 \ 43762306a36Sopenharmony_ciMOD_SEL0_27 MOD_SEL1_27 \ 43862306a36Sopenharmony_ciMOD_SEL0_26 MOD_SEL1_26 \ 43962306a36Sopenharmony_ciMOD_SEL0_25 \ 44062306a36Sopenharmony_ciMOD_SEL0_24_23 \ 44162306a36Sopenharmony_ciMOD_SEL0_22_21 \ 44262306a36Sopenharmony_ciMOD_SEL0_20_19 \ 44362306a36Sopenharmony_ciMOD_SEL0_18_17 \ 44462306a36Sopenharmony_ciMOD_SEL0_15 \ 44562306a36Sopenharmony_ciMOD_SEL0_14 \ 44662306a36Sopenharmony_ciMOD_SEL0_13 \ 44762306a36Sopenharmony_ciMOD_SEL0_12 \ 44862306a36Sopenharmony_ciMOD_SEL0_11 \ 44962306a36Sopenharmony_ciMOD_SEL0_10 \ 45062306a36Sopenharmony_ciMOD_SEL0_5 \ 45162306a36Sopenharmony_ciMOD_SEL0_4 \ 45262306a36Sopenharmony_ciMOD_SEL0_3 \ 45362306a36Sopenharmony_ciMOD_SEL0_2 \ 45462306a36Sopenharmony_ciMOD_SEL0_1 \ 45562306a36Sopenharmony_ciMOD_SEL0_0 45662306a36Sopenharmony_ci 45762306a36Sopenharmony_cienum { 45862306a36Sopenharmony_ci PINMUX_RESERVED = 0, 45962306a36Sopenharmony_ci 46062306a36Sopenharmony_ci PINMUX_DATA_BEGIN, 46162306a36Sopenharmony_ci GP_ALL(DATA), 46262306a36Sopenharmony_ci PINMUX_DATA_END, 46362306a36Sopenharmony_ci 46462306a36Sopenharmony_ci#define F_(x, y) 46562306a36Sopenharmony_ci#define FM(x) FN_##x, 46662306a36Sopenharmony_ci PINMUX_FUNCTION_BEGIN, 46762306a36Sopenharmony_ci GP_ALL(FN), 46862306a36Sopenharmony_ci PINMUX_GPSR 46962306a36Sopenharmony_ci PINMUX_IPSR 47062306a36Sopenharmony_ci PINMUX_MOD_SELS 47162306a36Sopenharmony_ci PINMUX_FUNCTION_END, 47262306a36Sopenharmony_ci#undef F_ 47362306a36Sopenharmony_ci#undef FM 47462306a36Sopenharmony_ci 47562306a36Sopenharmony_ci#define F_(x, y) 47662306a36Sopenharmony_ci#define FM(x) x##_MARK, 47762306a36Sopenharmony_ci PINMUX_MARK_BEGIN, 47862306a36Sopenharmony_ci PINMUX_GPSR 47962306a36Sopenharmony_ci PINMUX_IPSR 48062306a36Sopenharmony_ci PINMUX_MOD_SELS 48162306a36Sopenharmony_ci PINMUX_MARK_END, 48262306a36Sopenharmony_ci#undef F_ 48362306a36Sopenharmony_ci#undef FM 48462306a36Sopenharmony_ci}; 48562306a36Sopenharmony_ci 48662306a36Sopenharmony_cistatic const u16 pinmux_data[] = { 48762306a36Sopenharmony_ci PINMUX_DATA_GP_ALL(), 48862306a36Sopenharmony_ci 48962306a36Sopenharmony_ci PINMUX_SINGLE(USB0_OVC), 49062306a36Sopenharmony_ci PINMUX_SINGLE(USB0_PWEN), 49162306a36Sopenharmony_ci PINMUX_SINGLE(VI4_DATA4), 49262306a36Sopenharmony_ci PINMUX_SINGLE(VI4_CLK), 49362306a36Sopenharmony_ci PINMUX_SINGLE(TX2), 49462306a36Sopenharmony_ci PINMUX_SINGLE(RX2), 49562306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_LINK), 49662306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_PHY_INT), 49762306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_MAGIC), 49862306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_MDC), 49962306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_MDIO), 50062306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_TXCREFCLK), 50162306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_TD3), 50262306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_TD2), 50362306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_TD1), 50462306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_TD0), 50562306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_TXC), 50662306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_TX_CTL), 50762306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_RD3), 50862306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_RD2), 50962306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_RD1), 51062306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_RD0), 51162306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_RXC), 51262306a36Sopenharmony_ci PINMUX_SINGLE(AVB0_RX_CTL), 51362306a36Sopenharmony_ci PINMUX_SINGLE(RPC_INT_N), 51462306a36Sopenharmony_ci PINMUX_SINGLE(RPC_RESET_N), 51562306a36Sopenharmony_ci PINMUX_SINGLE(QSPI1_SSL), 51662306a36Sopenharmony_ci PINMUX_SINGLE(QSPI1_IO3), 51762306a36Sopenharmony_ci PINMUX_SINGLE(QSPI1_IO2), 51862306a36Sopenharmony_ci PINMUX_SINGLE(QSPI1_MISO_IO1), 51962306a36Sopenharmony_ci PINMUX_SINGLE(QSPI1_MOSI_IO0), 52062306a36Sopenharmony_ci PINMUX_SINGLE(QSPI1_SPCLK), 52162306a36Sopenharmony_ci PINMUX_SINGLE(QSPI0_SSL), 52262306a36Sopenharmony_ci PINMUX_SINGLE(QSPI0_IO3), 52362306a36Sopenharmony_ci PINMUX_SINGLE(QSPI0_IO2), 52462306a36Sopenharmony_ci PINMUX_SINGLE(QSPI0_MISO_IO1), 52562306a36Sopenharmony_ci PINMUX_SINGLE(QSPI0_MOSI_IO0), 52662306a36Sopenharmony_ci PINMUX_SINGLE(QSPI0_SPCLK), 52762306a36Sopenharmony_ci PINMUX_SINGLE(SCL0), 52862306a36Sopenharmony_ci PINMUX_SINGLE(SDA0), 52962306a36Sopenharmony_ci PINMUX_SINGLE(MSIOF0_RXD), 53062306a36Sopenharmony_ci PINMUX_SINGLE(MSIOF0_TXD), 53162306a36Sopenharmony_ci PINMUX_SINGLE(MSIOF0_SYNC), 53262306a36Sopenharmony_ci PINMUX_SINGLE(MSIOF0_SCK), 53362306a36Sopenharmony_ci 53462306a36Sopenharmony_ci /* IPSR0 */ 53562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP0_3_0, IRQ0_A, SEL_IRQ_0_0), 53662306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP0_3_0, MSIOF2_SYNC_B, SEL_MSIOF2_1), 53762306a36Sopenharmony_ci 53862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP0_7_4, MSIOF2_SCK), 53962306a36Sopenharmony_ci 54062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP0_11_8, MSIOF2_TXD), 54162306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP0_11_8, SCL3_A, SEL_I2C3_0), 54262306a36Sopenharmony_ci 54362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP0_15_12, MSIOF2_RXD), 54462306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP0_15_12, SDA3_A, SEL_I2C3_0), 54562306a36Sopenharmony_ci 54662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP0_19_16, MLB_CLK), 54762306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP0_19_16, MSIOF2_SYNC_A, SEL_MSIOF2_0), 54862306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP0_19_16, SCK5_A, SEL_SCIF5_0), 54962306a36Sopenharmony_ci 55062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP0_23_20, MLB_DAT), 55162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP0_23_20, MSIOF2_SS1), 55262306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP0_23_20, RX5_A, SEL_SCIF5_0), 55362306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP0_23_20, SCL3_B, SEL_I2C3_1), 55462306a36Sopenharmony_ci 55562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP0_27_24, MLB_SIG), 55662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP0_27_24, MSIOF2_SS2), 55762306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP0_27_24, TX5_A, SEL_SCIF5_0), 55862306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP0_27_24, SDA3_B, SEL_I2C3_1), 55962306a36Sopenharmony_ci 56062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP0_31_28, DU_DB0), 56162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP0_31_28, LCDOUT0), 56262306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP0_31_28, MSIOF3_TXD_B, SEL_MSIOF3_1), 56362306a36Sopenharmony_ci 56462306a36Sopenharmony_ci /* IPSR1 */ 56562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_3_0, DU_DB1), 56662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_3_0, LCDOUT1), 56762306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP1_3_0, MSIOF3_RXD_B, SEL_MSIOF3_1), 56862306a36Sopenharmony_ci 56962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_7_4, DU_DB2), 57062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_7_4, LCDOUT2), 57162306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP1_7_4, IRQ0_B, SEL_IRQ_0_1), 57262306a36Sopenharmony_ci 57362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_11_8, DU_DB3), 57462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_11_8, LCDOUT3), 57562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP1_11_8, SCK5_B, SEL_SCIF5_1), 57662306a36Sopenharmony_ci 57762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_15_12, DU_DB4), 57862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_15_12, LCDOUT4), 57962306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP1_15_12, RX5_B, SEL_SCIF5_1), 58062306a36Sopenharmony_ci 58162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_19_16, DU_DB5), 58262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_19_16, LCDOUT5), 58362306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP1_19_16, TX5_B, SEL_SCIF5_1), 58462306a36Sopenharmony_ci 58562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_23_20, DU_DB6), 58662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_23_20, LCDOUT6), 58762306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP1_23_20, MSIOF3_SS1_B, SEL_MSIOF3_1), 58862306a36Sopenharmony_ci 58962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_27_24, DU_DB7), 59062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_27_24, LCDOUT7), 59162306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP1_27_24, MSIOF3_SS2_B, SEL_MSIOF3_1), 59262306a36Sopenharmony_ci 59362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_31_28, DU_DG0), 59462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP1_31_28, LCDOUT8), 59562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP1_31_28, MSIOF3_SCK_B, SEL_MSIOF3_1), 59662306a36Sopenharmony_ci 59762306a36Sopenharmony_ci /* IPSR2 */ 59862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_3_0, DU_DG1), 59962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_3_0, LCDOUT9), 60062306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP2_3_0, MSIOF3_SYNC_B, SEL_MSIOF3_1), 60162306a36Sopenharmony_ci 60262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_7_4, DU_DG2), 60362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_7_4, LCDOUT10), 60462306a36Sopenharmony_ci 60562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_11_8, DU_DG3), 60662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_11_8, LCDOUT11), 60762306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP2_11_8, IRQ1_A, SEL_IRQ_1_0), 60862306a36Sopenharmony_ci 60962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_15_12, DU_DG4), 61062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_15_12, LCDOUT12), 61162306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP2_15_12, HSCK3_B, SEL_HSCIF3_1), 61262306a36Sopenharmony_ci 61362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_19_16, DU_DG5), 61462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_19_16, LCDOUT13), 61562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP2_19_16, HTX3_B, SEL_HSCIF3_1), 61662306a36Sopenharmony_ci 61762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_23_20, DU_DG6), 61862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_23_20, LCDOUT14), 61962306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP2_23_20, HRX3_B, SEL_HSCIF3_1), 62062306a36Sopenharmony_ci 62162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_27_24, DU_DG7), 62262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_27_24, LCDOUT15), 62362306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP2_27_24, SCK4_B, SEL_SCIF4_1), 62462306a36Sopenharmony_ci 62562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_31_28, DU_DR0), 62662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP2_31_28, LCDOUT16), 62762306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP2_31_28, RX4_B, SEL_SCIF4_1), 62862306a36Sopenharmony_ci 62962306a36Sopenharmony_ci /* IPSR3 */ 63062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_3_0, DU_DR1), 63162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_3_0, LCDOUT17), 63262306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP3_3_0, TX4_B, SEL_SCIF4_1), 63362306a36Sopenharmony_ci 63462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_7_4, DU_DR2), 63562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_7_4, LCDOUT18), 63662306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP3_7_4, PWM0_B, SEL_PWM0_2), 63762306a36Sopenharmony_ci 63862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_11_8, DU_DR3), 63962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_11_8, LCDOUT19), 64062306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP3_11_8, PWM1_B, SEL_PWM1_2), 64162306a36Sopenharmony_ci 64262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_15_12, DU_DR4), 64362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_15_12, LCDOUT20), 64462306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP3_15_12, TCLK2_B, SEL_TMU_0_1), 64562306a36Sopenharmony_ci 64662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_19_16, DU_DR5), 64762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_19_16, LCDOUT21), 64862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_19_16, NMI), 64962306a36Sopenharmony_ci 65062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_23_20, DU_DR6), 65162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_23_20, LCDOUT22), 65262306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP3_23_20, PWM2_B, SEL_PWM2_2), 65362306a36Sopenharmony_ci 65462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_27_24, DU_DR7), 65562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_27_24, LCDOUT23), 65662306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP3_27_24, TCLK1_B, SEL_TMU_1_1), 65762306a36Sopenharmony_ci 65862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_31_28, DU_DOTCLKOUT0), 65962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP3_31_28, QCLK), 66062306a36Sopenharmony_ci 66162306a36Sopenharmony_ci /* IPSR4 */ 66262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP4_3_0, DU_HSYNC), 66362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP4_3_0, QSTH_QHS), 66462306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP4_3_0, IRQ3_A, SEL_IRQ_3_0), 66562306a36Sopenharmony_ci 66662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP4_7_4, DU_VSYNC), 66762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP4_7_4, QSTVA_QVS), 66862306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP4_7_4, IRQ4_A, SEL_IRQ_4_0), 66962306a36Sopenharmony_ci 67062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP4_11_8, DU_DISP), 67162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP4_11_8, QSTVB_QVE), 67262306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP4_11_8, PWM3_B, SEL_PWM3_2), 67362306a36Sopenharmony_ci 67462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP4_15_12, DU_DISP_CDE), 67562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP4_15_12, QCPV_QDE), 67662306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP4_15_12, IRQ2_B, SEL_IRQ_2_1), 67762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP4_15_12, DU_DOTCLKIN1), 67862306a36Sopenharmony_ci 67962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP4_19_16, DU_CDE), 68062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP4_19_16, QSTB_QHE), 68162306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP4_19_16, SCK3_B, SEL_SCIF3_1), 68262306a36Sopenharmony_ci 68362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP4_23_20, QPOLA), 68462306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP4_23_20, RX3_B, SEL_SCIF3_1), 68562306a36Sopenharmony_ci 68662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP4_27_24, QPOLB), 68762306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP4_27_24, TX3_B, SEL_SCIF3_1), 68862306a36Sopenharmony_ci 68962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP4_31_28, VI4_DATA0), 69062306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP4_31_28, PWM0_A, SEL_PWM0_0), 69162306a36Sopenharmony_ci 69262306a36Sopenharmony_ci /* IPSR5 */ 69362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP5_3_0, VI4_DATA1), 69462306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP5_3_0, PWM1_A, SEL_PWM1_0), 69562306a36Sopenharmony_ci 69662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP5_7_4, VI4_DATA2), 69762306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP5_7_4, PWM2_A, SEL_PWM2_0), 69862306a36Sopenharmony_ci 69962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP5_11_8, VI4_DATA3), 70062306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP5_11_8, PWM3_A, SEL_PWM3_0), 70162306a36Sopenharmony_ci 70262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP5_15_12, VI4_DATA5), 70362306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP5_15_12, SCK4_A, SEL_SCIF4_0), 70462306a36Sopenharmony_ci 70562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP5_19_16, VI4_DATA6), 70662306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP5_19_16, IRQ2_A, SEL_IRQ_2_0), 70762306a36Sopenharmony_ci 70862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP5_23_20, VI4_DATA7), 70962306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP5_23_20, TCLK2_A, SEL_TMU_0_0), 71062306a36Sopenharmony_ci 71162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP5_27_24, VI4_DATA8), 71262306a36Sopenharmony_ci 71362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP5_31_28, VI4_DATA9), 71462306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP5_31_28, MSIOF3_SS2_A, SEL_MSIOF3_0), 71562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP5_31_28, IRQ1_B, SEL_IRQ_1_1), 71662306a36Sopenharmony_ci 71762306a36Sopenharmony_ci /* IPSR6 */ 71862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP6_3_0, VI4_DATA10), 71962306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP6_3_0, RX4_A, SEL_SCIF4_0), 72062306a36Sopenharmony_ci 72162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP6_7_4, VI4_DATA11), 72262306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP6_7_4, TX4_A, SEL_SCIF4_0), 72362306a36Sopenharmony_ci 72462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP6_11_8, VI4_DATA12), 72562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP6_11_8, TCLK1_A, SEL_TMU_1_0), 72662306a36Sopenharmony_ci 72762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP6_15_12, VI4_DATA13), 72862306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP6_15_12, MSIOF3_SS1_A, SEL_MSIOF3_0), 72962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP6_15_12, HCTS3_N), 73062306a36Sopenharmony_ci 73162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP6_19_16, VI4_DATA14), 73262306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP6_19_16, SSI_SCK4_B, SEL_SSIF4_1), 73362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP6_19_16, HRTS3_N), 73462306a36Sopenharmony_ci 73562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP6_23_20, VI4_DATA15), 73662306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP6_23_20, SSI_SDATA4_B, SEL_SSIF4_1), 73762306a36Sopenharmony_ci 73862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP6_27_24, VI4_DATA16), 73962306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP6_27_24, HRX3_A, SEL_HSCIF3_0), 74062306a36Sopenharmony_ci 74162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP6_31_28, VI4_DATA17), 74262306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP6_31_28, HTX3_A, SEL_HSCIF3_0), 74362306a36Sopenharmony_ci 74462306a36Sopenharmony_ci /* IPSR7 */ 74562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_3_0, VI4_DATA18), 74662306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP7_3_0, HSCK3_A, SEL_HSCIF3_0), 74762306a36Sopenharmony_ci 74862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_7_4, VI4_DATA19), 74962306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP7_7_4, SSI_WS4_B, SEL_SSIF4_1), 75062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_7_4, NFDATA15), 75162306a36Sopenharmony_ci 75262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_11_8, VI4_DATA20), 75362306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP7_11_8, MSIOF3_SYNC_A, SEL_MSIOF3_0), 75462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_11_8, NFDATA14), 75562306a36Sopenharmony_ci 75662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_15_12, VI4_DATA21), 75762306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP7_15_12, MSIOF3_TXD_A, SEL_MSIOF3_0), 75862306a36Sopenharmony_ci 75962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_15_12, NFDATA13), 76062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_19_16, VI4_DATA22), 76162306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP7_19_16, MSIOF3_RXD_A, SEL_MSIOF3_0), 76262306a36Sopenharmony_ci 76362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_19_16, NFDATA12), 76462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_23_20, VI4_DATA23), 76562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP7_23_20, MSIOF3_SCK_A, SEL_MSIOF3_0), 76662306a36Sopenharmony_ci 76762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_23_20, NFDATA11), 76862306a36Sopenharmony_ci 76962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_27_24, VI4_VSYNC_N), 77062306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP7_27_24, SCK1_B, SEL_SCIF1_1), 77162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_27_24, NFDATA10), 77262306a36Sopenharmony_ci 77362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_31_28, VI4_HSYNC_N), 77462306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP7_31_28, RX1_B, SEL_SCIF1_1), 77562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP7_31_28, NFDATA9), 77662306a36Sopenharmony_ci 77762306a36Sopenharmony_ci /* IPSR8 */ 77862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP8_3_0, VI4_FIELD), 77962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP8_3_0, AUDIO_CLKB), 78062306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP8_3_0, IRQ5_A, SEL_IRQ_5_0), 78162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP8_3_0, SCIF_CLK), 78262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP8_3_0, NFDATA8), 78362306a36Sopenharmony_ci 78462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP8_7_4, VI4_CLKENB), 78562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP8_7_4, TX1_B, SEL_SCIF1_1), 78662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP8_7_4, NFWP_N), 78762306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP8_7_4, DVC_MUTE_A, SEL_SCU_0), 78862306a36Sopenharmony_ci 78962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP8_11_8, NFALE), 79062306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP8_11_8, SCL2_B, SEL_I2C2_1), 79162306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP8_11_8, IRQ3_B, SEL_IRQ_3_1), 79262306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP8_11_8, PWM0_C, SEL_PWM0_1), 79362306a36Sopenharmony_ci 79462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP8_15_12, NFCLE), 79562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP8_15_12, SDA2_B, SEL_I2C2_1), 79662306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP8_15_12, SCK3_A, SEL_SCIF3_0), 79762306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP8_15_12, PWM1_C, SEL_PWM1_1), 79862306a36Sopenharmony_ci 79962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP8_19_16, NFCE_N), 80062306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP8_19_16, RX3_A, SEL_SCIF3_0), 80162306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP8_19_16, PWM2_C, SEL_PWM2_1), 80262306a36Sopenharmony_ci 80362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP8_23_20, NFRB_N), 80462306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP8_23_20, TX3_A, SEL_SCIF3_0), 80562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP8_23_20, PWM3_C, SEL_PWM3_1), 80662306a36Sopenharmony_ci 80762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP8_27_24, NFRE_N), 80862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP8_27_24, MMC_CMD), 80962306a36Sopenharmony_ci 81062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP8_31_28, NFWE_N), 81162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP8_31_28, MMC_CLK), 81262306a36Sopenharmony_ci 81362306a36Sopenharmony_ci /* IPSR9 */ 81462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_3_0, NFDATA0), 81562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_3_0, MMC_D0), 81662306a36Sopenharmony_ci 81762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_7_4, NFDATA1), 81862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_7_4, MMC_D1), 81962306a36Sopenharmony_ci 82062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_11_8, NFDATA2), 82162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_11_8, MMC_D2), 82262306a36Sopenharmony_ci 82362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_15_12, NFDATA3), 82462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_15_12, MMC_D3), 82562306a36Sopenharmony_ci 82662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_19_16, NFDATA4), 82762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_19_16, MMC_D4), 82862306a36Sopenharmony_ci 82962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_23_20, NFDATA5), 83062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_23_20, MMC_D5), 83162306a36Sopenharmony_ci 83262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_27_24, NFDATA6), 83362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_27_24, MMC_D6), 83462306a36Sopenharmony_ci 83562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_31_28, NFDATA7), 83662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP9_31_28, MMC_D7), 83762306a36Sopenharmony_ci 83862306a36Sopenharmony_ci /* IPSR10 */ 83962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP10_3_0, AUDIO_CLKA), 84062306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP10_3_0, DVC_MUTE_B, SEL_SCU_1), 84162306a36Sopenharmony_ci 84262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP10_7_4, SSI_SCK34), 84362306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP10_7_4, FSO_CFE_0_N_A, SEL_RFSO_0), 84462306a36Sopenharmony_ci 84562306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP10_11_8, SSI_SDATA3), 84662306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP10_11_8, FSO_CFE_1_N_A, SEL_RFSO_0), 84762306a36Sopenharmony_ci 84862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP10_15_12, SSI_WS34), 84962306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP10_15_12, FSO_TOE_N_A, SEL_RFSO_0), 85062306a36Sopenharmony_ci 85162306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP10_19_16, SSI_SCK4_A, SEL_SSIF4_0), 85262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP10_19_16, HSCK0), 85362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP10_19_16, AUDIO_CLKOUT), 85462306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP10_19_16, CAN0_RX_B, SEL_CAN0_1), 85562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP10_19_16, IRQ4_B, SEL_IRQ_4_1), 85662306a36Sopenharmony_ci 85762306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP10_23_20, SSI_SDATA4_A, SEL_SSIF4_0), 85862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP10_23_20, HTX0), 85962306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP10_23_20, SCL2_A, SEL_I2C2_0), 86062306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP10_23_20, CAN1_RX_B, SEL_CAN1_1), 86162306a36Sopenharmony_ci 86262306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP10_27_24, SSI_WS4_A, SEL_SSIF4_0), 86362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP10_27_24, HRX0), 86462306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP10_27_24, SDA2_A, SEL_I2C2_0), 86562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP10_27_24, CAN1_TX_B, SEL_CAN1_1), 86662306a36Sopenharmony_ci 86762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP10_31_28, SCL1), 86862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP10_31_28, CTS1_N), 86962306a36Sopenharmony_ci 87062306a36Sopenharmony_ci /* IPSR11 */ 87162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP11_3_0, SDA1), 87262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP11_3_0, RTS1_N), 87362306a36Sopenharmony_ci 87462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP11_7_4, MSIOF1_SCK), 87562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP11_7_4, AVB0_AVTP_PPS_B, SEL_ETHERAVB_1), 87662306a36Sopenharmony_ci 87762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP11_11_8, MSIOF1_TXD), 87862306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP11_11_8, AVB0_AVTP_CAPTURE_B, SEL_ETHERAVB_1), 87962306a36Sopenharmony_ci 88062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP11_15_12, MSIOF1_RXD), 88162306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP11_15_12, AVB0_AVTP_MATCH_B, SEL_ETHERAVB_1), 88262306a36Sopenharmony_ci 88362306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP11_19_16, SCK0_A, SEL_SCIF0_0), 88462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP11_19_16, MSIOF1_SYNC), 88562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP11_19_16, FSO_CFE_0_N_B, SEL_RFSO_1), 88662306a36Sopenharmony_ci 88762306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP11_23_20, RX0_A, SEL_SCIF0_0), 88862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP11_23_20, MSIOF0_SS1), 88962306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP11_23_20, FSO_CFE_1_N_B, SEL_RFSO_1), 89062306a36Sopenharmony_ci 89162306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP11_27_24, TX0_A, SEL_SCIF0_0), 89262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP11_27_24, MSIOF0_SS2), 89362306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP11_27_24, FSO_TOE_N_B, SEL_RFSO_1), 89462306a36Sopenharmony_ci 89562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP11_31_28, SCK1_A, SEL_SCIF1_0), 89662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP11_31_28, MSIOF1_SS2), 89762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP11_31_28, TPU0TO2_B), 89862306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP11_31_28, CAN0_TX_B, SEL_CAN0_1), 89962306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP11_31_28, AUDIO_CLKOUT1), 90062306a36Sopenharmony_ci 90162306a36Sopenharmony_ci /* IPSR12 */ 90262306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP12_3_0, RX1_A, SEL_SCIF1_0), 90362306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP12_3_0, CTS0_N), 90462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP12_3_0, TPU0TO0_B), 90562306a36Sopenharmony_ci 90662306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP12_7_4, TX1_A, SEL_SCIF1_0), 90762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP12_7_4, RTS0_N), 90862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP12_7_4, TPU0TO1_B), 90962306a36Sopenharmony_ci 91062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP12_11_8, SCK2), 91162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP12_11_8, MSIOF1_SS1), 91262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP12_11_8, TPU0TO3_B), 91362306a36Sopenharmony_ci 91462306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP12_15_12, TPU0TO0_A), 91562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP12_15_12, AVB0_AVTP_CAPTURE_A, SEL_ETHERAVB_0), 91662306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP12_15_12, HCTS0_N), 91762306a36Sopenharmony_ci 91862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP12_19_16, TPU0TO1_A), 91962306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP12_19_16, AVB0_AVTP_MATCH_A, SEL_ETHERAVB_0), 92062306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP12_19_16, HRTS0_N), 92162306a36Sopenharmony_ci 92262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP12_23_20, CAN_CLK), 92362306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP12_23_20, AVB0_AVTP_PPS_A, SEL_ETHERAVB_0), 92462306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP12_23_20, SCK0_B, SEL_SCIF0_1), 92562306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP12_23_20, IRQ5_B, SEL_IRQ_5_1), 92662306a36Sopenharmony_ci 92762306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP12_27_24, CAN0_RX_A, SEL_CAN0_0), 92862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP12_27_24, CANFD0_RX), 92962306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP12_27_24, RX0_B, SEL_SCIF0_1), 93062306a36Sopenharmony_ci 93162306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP12_31_28, CAN0_TX_A, SEL_CAN0_0), 93262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP12_31_28, CANFD0_TX), 93362306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP12_31_28, TX0_B, SEL_SCIF0_1), 93462306a36Sopenharmony_ci 93562306a36Sopenharmony_ci /* IPSR13 */ 93662306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP13_3_0, CAN1_RX_A, SEL_CAN1_0), 93762306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP13_3_0, CANFD1_RX), 93862306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP13_3_0, TPU0TO2_A), 93962306a36Sopenharmony_ci 94062306a36Sopenharmony_ci PINMUX_IPSR_MSEL(IP13_7_4, CAN1_TX_A, SEL_CAN1_0), 94162306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP13_7_4, CANFD1_TX), 94262306a36Sopenharmony_ci PINMUX_IPSR_GPSR(IP13_7_4, TPU0TO3_A), 94362306a36Sopenharmony_ci}; 94462306a36Sopenharmony_ci 94562306a36Sopenharmony_ci/* 94662306a36Sopenharmony_ci * Pins not associated with a GPIO port. 94762306a36Sopenharmony_ci */ 94862306a36Sopenharmony_cienum { 94962306a36Sopenharmony_ci GP_ASSIGN_LAST(), 95062306a36Sopenharmony_ci NOGP_ALL(), 95162306a36Sopenharmony_ci}; 95262306a36Sopenharmony_ci 95362306a36Sopenharmony_cistatic const struct sh_pfc_pin pinmux_pins[] = { 95462306a36Sopenharmony_ci PINMUX_GPIO_GP_ALL(), 95562306a36Sopenharmony_ci PINMUX_NOGP_ALL(), 95662306a36Sopenharmony_ci}; 95762306a36Sopenharmony_ci 95862306a36Sopenharmony_ci/* - AUDIO CLOCK ------------------------------------------------------------- */ 95962306a36Sopenharmony_cistatic const unsigned int audio_clk_a_pins[] = { 96062306a36Sopenharmony_ci /* CLK A */ 96162306a36Sopenharmony_ci RCAR_GP_PIN(4, 1), 96262306a36Sopenharmony_ci}; 96362306a36Sopenharmony_cistatic const unsigned int audio_clk_a_mux[] = { 96462306a36Sopenharmony_ci AUDIO_CLKA_MARK, 96562306a36Sopenharmony_ci}; 96662306a36Sopenharmony_cistatic const unsigned int audio_clk_b_pins[] = { 96762306a36Sopenharmony_ci /* CLK B */ 96862306a36Sopenharmony_ci RCAR_GP_PIN(2, 27), 96962306a36Sopenharmony_ci}; 97062306a36Sopenharmony_cistatic const unsigned int audio_clk_b_mux[] = { 97162306a36Sopenharmony_ci AUDIO_CLKB_MARK, 97262306a36Sopenharmony_ci}; 97362306a36Sopenharmony_cistatic const unsigned int audio_clkout_pins[] = { 97462306a36Sopenharmony_ci /* CLKOUT */ 97562306a36Sopenharmony_ci RCAR_GP_PIN(4, 5), 97662306a36Sopenharmony_ci}; 97762306a36Sopenharmony_cistatic const unsigned int audio_clkout_mux[] = { 97862306a36Sopenharmony_ci AUDIO_CLKOUT_MARK, 97962306a36Sopenharmony_ci}; 98062306a36Sopenharmony_cistatic const unsigned int audio_clkout1_pins[] = { 98162306a36Sopenharmony_ci /* CLKOUT1 */ 98262306a36Sopenharmony_ci RCAR_GP_PIN(4, 22), 98362306a36Sopenharmony_ci}; 98462306a36Sopenharmony_cistatic const unsigned int audio_clkout1_mux[] = { 98562306a36Sopenharmony_ci AUDIO_CLKOUT1_MARK, 98662306a36Sopenharmony_ci}; 98762306a36Sopenharmony_ci 98862306a36Sopenharmony_ci/* - EtherAVB --------------------------------------------------------------- */ 98962306a36Sopenharmony_cistatic const unsigned int avb0_link_pins[] = { 99062306a36Sopenharmony_ci /* AVB0_LINK */ 99162306a36Sopenharmony_ci RCAR_GP_PIN(5, 20), 99262306a36Sopenharmony_ci}; 99362306a36Sopenharmony_cistatic const unsigned int avb0_link_mux[] = { 99462306a36Sopenharmony_ci AVB0_LINK_MARK, 99562306a36Sopenharmony_ci}; 99662306a36Sopenharmony_cistatic const unsigned int avb0_magic_pins[] = { 99762306a36Sopenharmony_ci /* AVB0_MAGIC */ 99862306a36Sopenharmony_ci RCAR_GP_PIN(5, 18), 99962306a36Sopenharmony_ci}; 100062306a36Sopenharmony_cistatic const unsigned int avb0_magic_mux[] = { 100162306a36Sopenharmony_ci AVB0_MAGIC_MARK, 100262306a36Sopenharmony_ci}; 100362306a36Sopenharmony_cistatic const unsigned int avb0_phy_int_pins[] = { 100462306a36Sopenharmony_ci /* AVB0_PHY_INT */ 100562306a36Sopenharmony_ci RCAR_GP_PIN(5, 19), 100662306a36Sopenharmony_ci}; 100762306a36Sopenharmony_cistatic const unsigned int avb0_phy_int_mux[] = { 100862306a36Sopenharmony_ci AVB0_PHY_INT_MARK, 100962306a36Sopenharmony_ci}; 101062306a36Sopenharmony_cistatic const unsigned int avb0_mdio_pins[] = { 101162306a36Sopenharmony_ci /* AVB0_MDC, AVB0_MDIO */ 101262306a36Sopenharmony_ci RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 16), 101362306a36Sopenharmony_ci}; 101462306a36Sopenharmony_cistatic const unsigned int avb0_mdio_mux[] = { 101562306a36Sopenharmony_ci AVB0_MDC_MARK, AVB0_MDIO_MARK, 101662306a36Sopenharmony_ci}; 101762306a36Sopenharmony_cistatic const unsigned int avb0_mii_pins[] = { 101862306a36Sopenharmony_ci /* 101962306a36Sopenharmony_ci * AVB0_TX_CTL, AVB0_TXC, AVB0_TD0, 102062306a36Sopenharmony_ci * AVB0_TD1, AVB0_TD2, AVB0_TD3, 102162306a36Sopenharmony_ci * AVB0_RX_CTL, AVB0_RXC, AVB0_RD0, 102262306a36Sopenharmony_ci * AVB0_RD1, AVB0_RD2, AVB0_RD3, 102362306a36Sopenharmony_ci * AVB0_TXCREFCLK 102462306a36Sopenharmony_ci */ 102562306a36Sopenharmony_ci RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10), RCAR_GP_PIN(5, 11), 102662306a36Sopenharmony_ci RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 14), 102762306a36Sopenharmony_ci RCAR_GP_PIN(5, 3), RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 5), 102862306a36Sopenharmony_ci RCAR_GP_PIN(5, 6), RCAR_GP_PIN(5, 7), RCAR_GP_PIN(5, 8), 102962306a36Sopenharmony_ci RCAR_GP_PIN(5, 15), 103062306a36Sopenharmony_ci}; 103162306a36Sopenharmony_cistatic const unsigned int avb0_mii_mux[] = { 103262306a36Sopenharmony_ci AVB0_TX_CTL_MARK, AVB0_TXC_MARK, AVB0_TD0_MARK, 103362306a36Sopenharmony_ci AVB0_TD1_MARK, AVB0_TD2_MARK, AVB0_TD3_MARK, 103462306a36Sopenharmony_ci AVB0_RX_CTL_MARK, AVB0_RXC_MARK, AVB0_RD0_MARK, 103562306a36Sopenharmony_ci AVB0_RD1_MARK, AVB0_RD2_MARK, AVB0_RD3_MARK, 103662306a36Sopenharmony_ci AVB0_TXCREFCLK_MARK, 103762306a36Sopenharmony_ci}; 103862306a36Sopenharmony_cistatic const unsigned int avb0_avtp_pps_a_pins[] = { 103962306a36Sopenharmony_ci /* AVB0_AVTP_PPS_A */ 104062306a36Sopenharmony_ci RCAR_GP_PIN(5, 2), 104162306a36Sopenharmony_ci}; 104262306a36Sopenharmony_cistatic const unsigned int avb0_avtp_pps_a_mux[] = { 104362306a36Sopenharmony_ci AVB0_AVTP_PPS_A_MARK, 104462306a36Sopenharmony_ci}; 104562306a36Sopenharmony_cistatic const unsigned int avb0_avtp_match_a_pins[] = { 104662306a36Sopenharmony_ci /* AVB0_AVTP_MATCH_A */ 104762306a36Sopenharmony_ci RCAR_GP_PIN(5, 1), 104862306a36Sopenharmony_ci}; 104962306a36Sopenharmony_cistatic const unsigned int avb0_avtp_match_a_mux[] = { 105062306a36Sopenharmony_ci AVB0_AVTP_MATCH_A_MARK, 105162306a36Sopenharmony_ci}; 105262306a36Sopenharmony_cistatic const unsigned int avb0_avtp_capture_a_pins[] = { 105362306a36Sopenharmony_ci /* AVB0_AVTP_CAPTURE_A */ 105462306a36Sopenharmony_ci RCAR_GP_PIN(5, 0), 105562306a36Sopenharmony_ci}; 105662306a36Sopenharmony_cistatic const unsigned int avb0_avtp_capture_a_mux[] = { 105762306a36Sopenharmony_ci AVB0_AVTP_CAPTURE_A_MARK, 105862306a36Sopenharmony_ci}; 105962306a36Sopenharmony_cistatic const unsigned int avb0_avtp_pps_b_pins[] = { 106062306a36Sopenharmony_ci /* AVB0_AVTP_PPS_B */ 106162306a36Sopenharmony_ci RCAR_GP_PIN(4, 16), 106262306a36Sopenharmony_ci}; 106362306a36Sopenharmony_cistatic const unsigned int avb0_avtp_pps_b_mux[] = { 106462306a36Sopenharmony_ci AVB0_AVTP_PPS_B_MARK, 106562306a36Sopenharmony_ci}; 106662306a36Sopenharmony_cistatic const unsigned int avb0_avtp_match_b_pins[] = { 106762306a36Sopenharmony_ci /* AVB0_AVTP_MATCH_B */ 106862306a36Sopenharmony_ci RCAR_GP_PIN(4, 18), 106962306a36Sopenharmony_ci}; 107062306a36Sopenharmony_cistatic const unsigned int avb0_avtp_match_b_mux[] = { 107162306a36Sopenharmony_ci AVB0_AVTP_MATCH_B_MARK, 107262306a36Sopenharmony_ci}; 107362306a36Sopenharmony_cistatic const unsigned int avb0_avtp_capture_b_pins[] = { 107462306a36Sopenharmony_ci /* AVB0_AVTP_CAPTURE_B */ 107562306a36Sopenharmony_ci RCAR_GP_PIN(4, 17), 107662306a36Sopenharmony_ci}; 107762306a36Sopenharmony_cistatic const unsigned int avb0_avtp_capture_b_mux[] = { 107862306a36Sopenharmony_ci AVB0_AVTP_CAPTURE_B_MARK, 107962306a36Sopenharmony_ci}; 108062306a36Sopenharmony_ci 108162306a36Sopenharmony_ci/* - CAN ------------------------------------------------------------------ */ 108262306a36Sopenharmony_cistatic const unsigned int can0_data_a_pins[] = { 108362306a36Sopenharmony_ci /* TX, RX */ 108462306a36Sopenharmony_ci RCAR_GP_PIN(4, 28), RCAR_GP_PIN(4, 31), 108562306a36Sopenharmony_ci}; 108662306a36Sopenharmony_cistatic const unsigned int can0_data_a_mux[] = { 108762306a36Sopenharmony_ci CAN0_TX_A_MARK, CAN0_RX_A_MARK, 108862306a36Sopenharmony_ci}; 108962306a36Sopenharmony_cistatic const unsigned int can0_data_b_pins[] = { 109062306a36Sopenharmony_ci /* TX, RX */ 109162306a36Sopenharmony_ci RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 5), 109262306a36Sopenharmony_ci}; 109362306a36Sopenharmony_cistatic const unsigned int can0_data_b_mux[] = { 109462306a36Sopenharmony_ci CAN0_TX_B_MARK, CAN0_RX_B_MARK, 109562306a36Sopenharmony_ci}; 109662306a36Sopenharmony_cistatic const unsigned int can1_data_a_pins[] = { 109762306a36Sopenharmony_ci /* TX, RX */ 109862306a36Sopenharmony_ci RCAR_GP_PIN(4, 30), RCAR_GP_PIN(4, 29), 109962306a36Sopenharmony_ci}; 110062306a36Sopenharmony_cistatic const unsigned int can1_data_a_mux[] = { 110162306a36Sopenharmony_ci CAN1_TX_A_MARK, CAN1_RX_A_MARK, 110262306a36Sopenharmony_ci}; 110362306a36Sopenharmony_cistatic const unsigned int can1_data_b_pins[] = { 110462306a36Sopenharmony_ci /* TX, RX */ 110562306a36Sopenharmony_ci RCAR_GP_PIN(4, 7), RCAR_GP_PIN(4, 6), 110662306a36Sopenharmony_ci}; 110762306a36Sopenharmony_cistatic const unsigned int can1_data_b_mux[] = { 110862306a36Sopenharmony_ci CAN1_TX_B_MARK, CAN1_RX_B_MARK, 110962306a36Sopenharmony_ci}; 111062306a36Sopenharmony_ci 111162306a36Sopenharmony_ci/* - CAN Clock -------------------------------------------------------------- */ 111262306a36Sopenharmony_cistatic const unsigned int can_clk_pins[] = { 111362306a36Sopenharmony_ci /* CLK */ 111462306a36Sopenharmony_ci RCAR_GP_PIN(5, 2), 111562306a36Sopenharmony_ci}; 111662306a36Sopenharmony_cistatic const unsigned int can_clk_mux[] = { 111762306a36Sopenharmony_ci CAN_CLK_MARK, 111862306a36Sopenharmony_ci}; 111962306a36Sopenharmony_ci 112062306a36Sopenharmony_ci/* - CAN FD ----------------------------------------------------------------- */ 112162306a36Sopenharmony_cistatic const unsigned int canfd0_data_pins[] = { 112262306a36Sopenharmony_ci /* TX, RX */ 112362306a36Sopenharmony_ci RCAR_GP_PIN(4, 28), RCAR_GP_PIN(4, 31), 112462306a36Sopenharmony_ci}; 112562306a36Sopenharmony_cistatic const unsigned int canfd0_data_mux[] = { 112662306a36Sopenharmony_ci CANFD0_TX_MARK, CANFD0_RX_MARK, 112762306a36Sopenharmony_ci}; 112862306a36Sopenharmony_cistatic const unsigned int canfd1_data_pins[] = { 112962306a36Sopenharmony_ci /* TX, RX */ 113062306a36Sopenharmony_ci RCAR_GP_PIN(4, 30), RCAR_GP_PIN(4, 29), 113162306a36Sopenharmony_ci}; 113262306a36Sopenharmony_cistatic const unsigned int canfd1_data_mux[] = { 113362306a36Sopenharmony_ci CANFD1_TX_MARK, CANFD1_RX_MARK, 113462306a36Sopenharmony_ci}; 113562306a36Sopenharmony_ci 113662306a36Sopenharmony_ci/* - DU --------------------------------------------------------------------- */ 113762306a36Sopenharmony_cistatic const unsigned int du_rgb666_pins[] = { 113862306a36Sopenharmony_ci /* R[7:2], G[7:2], B[7:2] */ 113962306a36Sopenharmony_ci RCAR_GP_PIN(1, 23), RCAR_GP_PIN(1, 22), RCAR_GP_PIN(1, 21), 114062306a36Sopenharmony_ci RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 18), 114162306a36Sopenharmony_ci RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13), 114262306a36Sopenharmony_ci RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 10), 114362306a36Sopenharmony_ci RCAR_GP_PIN(1, 7), RCAR_GP_PIN(1, 6), RCAR_GP_PIN(1, 5), 114462306a36Sopenharmony_ci RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 2), 114562306a36Sopenharmony_ci}; 114662306a36Sopenharmony_cistatic const unsigned int du_rgb666_mux[] = { 114762306a36Sopenharmony_ci DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK, DU_DR4_MARK, 114862306a36Sopenharmony_ci DU_DR3_MARK, DU_DR2_MARK, 114962306a36Sopenharmony_ci DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK, DU_DG4_MARK, 115062306a36Sopenharmony_ci DU_DG3_MARK, DU_DG2_MARK, 115162306a36Sopenharmony_ci DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK, DU_DB4_MARK, 115262306a36Sopenharmony_ci DU_DB3_MARK, DU_DB2_MARK, 115362306a36Sopenharmony_ci}; 115462306a36Sopenharmony_cistatic const unsigned int du_rgb888_pins[] = { 115562306a36Sopenharmony_ci /* R[7:0], G[7:0], B[7:0] */ 115662306a36Sopenharmony_ci RCAR_GP_PIN(1, 23), RCAR_GP_PIN(1, 22), RCAR_GP_PIN(1, 21), 115762306a36Sopenharmony_ci RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 18), 115862306a36Sopenharmony_ci RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 16), 115962306a36Sopenharmony_ci RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13), 116062306a36Sopenharmony_ci RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 10), 116162306a36Sopenharmony_ci RCAR_GP_PIN(1, 9), RCAR_GP_PIN(1, 8), 116262306a36Sopenharmony_ci RCAR_GP_PIN(1, 7), RCAR_GP_PIN(1, 6), RCAR_GP_PIN(1, 5), 116362306a36Sopenharmony_ci RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 2), 116462306a36Sopenharmony_ci RCAR_GP_PIN(1, 1), RCAR_GP_PIN(1, 0), 116562306a36Sopenharmony_ci}; 116662306a36Sopenharmony_cistatic const unsigned int du_rgb888_mux[] = { 116762306a36Sopenharmony_ci DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK, DU_DR4_MARK, 116862306a36Sopenharmony_ci DU_DR3_MARK, DU_DR2_MARK, DU_DR1_MARK, DU_DR0_MARK, 116962306a36Sopenharmony_ci DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK, DU_DG4_MARK, 117062306a36Sopenharmony_ci DU_DG3_MARK, DU_DG2_MARK, DU_DG1_MARK, DU_DG0_MARK, 117162306a36Sopenharmony_ci DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK, DU_DB4_MARK, 117262306a36Sopenharmony_ci DU_DB3_MARK, DU_DB2_MARK, DU_DB1_MARK, DU_DB0_MARK, 117362306a36Sopenharmony_ci}; 117462306a36Sopenharmony_cistatic const unsigned int du_clk_in_1_pins[] = { 117562306a36Sopenharmony_ci /* CLKIN */ 117662306a36Sopenharmony_ci RCAR_GP_PIN(1, 28), 117762306a36Sopenharmony_ci}; 117862306a36Sopenharmony_cistatic const unsigned int du_clk_in_1_mux[] = { 117962306a36Sopenharmony_ci DU_DOTCLKIN1_MARK 118062306a36Sopenharmony_ci}; 118162306a36Sopenharmony_cistatic const unsigned int du_clk_out_0_pins[] = { 118262306a36Sopenharmony_ci /* CLKOUT */ 118362306a36Sopenharmony_ci RCAR_GP_PIN(1, 24), 118462306a36Sopenharmony_ci}; 118562306a36Sopenharmony_cistatic const unsigned int du_clk_out_0_mux[] = { 118662306a36Sopenharmony_ci DU_DOTCLKOUT0_MARK 118762306a36Sopenharmony_ci}; 118862306a36Sopenharmony_cistatic const unsigned int du_sync_pins[] = { 118962306a36Sopenharmony_ci /* VSYNC, HSYNC */ 119062306a36Sopenharmony_ci RCAR_GP_PIN(1, 26), RCAR_GP_PIN(1, 25), 119162306a36Sopenharmony_ci}; 119262306a36Sopenharmony_cistatic const unsigned int du_sync_mux[] = { 119362306a36Sopenharmony_ci DU_VSYNC_MARK, DU_HSYNC_MARK 119462306a36Sopenharmony_ci}; 119562306a36Sopenharmony_cistatic const unsigned int du_disp_cde_pins[] = { 119662306a36Sopenharmony_ci /* DISP_CDE */ 119762306a36Sopenharmony_ci RCAR_GP_PIN(1, 28), 119862306a36Sopenharmony_ci}; 119962306a36Sopenharmony_cistatic const unsigned int du_disp_cde_mux[] = { 120062306a36Sopenharmony_ci DU_DISP_CDE_MARK, 120162306a36Sopenharmony_ci}; 120262306a36Sopenharmony_cistatic const unsigned int du_cde_pins[] = { 120362306a36Sopenharmony_ci /* CDE */ 120462306a36Sopenharmony_ci RCAR_GP_PIN(1, 29), 120562306a36Sopenharmony_ci}; 120662306a36Sopenharmony_cistatic const unsigned int du_cde_mux[] = { 120762306a36Sopenharmony_ci DU_CDE_MARK, 120862306a36Sopenharmony_ci}; 120962306a36Sopenharmony_cistatic const unsigned int du_disp_pins[] = { 121062306a36Sopenharmony_ci /* DISP */ 121162306a36Sopenharmony_ci RCAR_GP_PIN(1, 27), 121262306a36Sopenharmony_ci}; 121362306a36Sopenharmony_cistatic const unsigned int du_disp_mux[] = { 121462306a36Sopenharmony_ci DU_DISP_MARK, 121562306a36Sopenharmony_ci}; 121662306a36Sopenharmony_ci 121762306a36Sopenharmony_ci/* - I2C -------------------------------------------------------------------- */ 121862306a36Sopenharmony_cistatic const unsigned int i2c0_pins[] = { 121962306a36Sopenharmony_ci /* SCL, SDA */ 122062306a36Sopenharmony_ci RCAR_GP_PIN(4, 8), RCAR_GP_PIN(4, 9), 122162306a36Sopenharmony_ci}; 122262306a36Sopenharmony_cistatic const unsigned int i2c0_mux[] = { 122362306a36Sopenharmony_ci SCL0_MARK, SDA0_MARK, 122462306a36Sopenharmony_ci}; 122562306a36Sopenharmony_cistatic const unsigned int i2c1_pins[] = { 122662306a36Sopenharmony_ci /* SCL, SDA */ 122762306a36Sopenharmony_ci RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11), 122862306a36Sopenharmony_ci}; 122962306a36Sopenharmony_cistatic const unsigned int i2c1_mux[] = { 123062306a36Sopenharmony_ci SCL1_MARK, SDA1_MARK, 123162306a36Sopenharmony_ci}; 123262306a36Sopenharmony_cistatic const unsigned int i2c2_a_pins[] = { 123362306a36Sopenharmony_ci /* SCL, SDA */ 123462306a36Sopenharmony_ci RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 7), 123562306a36Sopenharmony_ci}; 123662306a36Sopenharmony_cistatic const unsigned int i2c2_a_mux[] = { 123762306a36Sopenharmony_ci SCL2_A_MARK, SDA2_A_MARK, 123862306a36Sopenharmony_ci}; 123962306a36Sopenharmony_cistatic const unsigned int i2c2_b_pins[] = { 124062306a36Sopenharmony_ci /* SCL, SDA */ 124162306a36Sopenharmony_ci RCAR_GP_PIN(2, 29), RCAR_GP_PIN(2, 30), 124262306a36Sopenharmony_ci}; 124362306a36Sopenharmony_cistatic const unsigned int i2c2_b_mux[] = { 124462306a36Sopenharmony_ci SCL2_B_MARK, SDA2_B_MARK, 124562306a36Sopenharmony_ci}; 124662306a36Sopenharmony_cistatic const unsigned int i2c3_a_pins[] = { 124762306a36Sopenharmony_ci /* SCL, SDA */ 124862306a36Sopenharmony_ci RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 5), 124962306a36Sopenharmony_ci}; 125062306a36Sopenharmony_cistatic const unsigned int i2c3_a_mux[] = { 125162306a36Sopenharmony_ci SCL3_A_MARK, SDA3_A_MARK, 125262306a36Sopenharmony_ci}; 125362306a36Sopenharmony_cistatic const unsigned int i2c3_b_pins[] = { 125462306a36Sopenharmony_ci /* SCL, SDA */ 125562306a36Sopenharmony_ci RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 8), 125662306a36Sopenharmony_ci}; 125762306a36Sopenharmony_cistatic const unsigned int i2c3_b_mux[] = { 125862306a36Sopenharmony_ci SCL3_B_MARK, SDA3_B_MARK, 125962306a36Sopenharmony_ci}; 126062306a36Sopenharmony_ci 126162306a36Sopenharmony_ci/* - MLB+ ------------------------------------------------------------------- */ 126262306a36Sopenharmony_cistatic const unsigned int mlb_3pin_pins[] = { 126362306a36Sopenharmony_ci RCAR_GP_PIN(0, 6), RCAR_GP_PIN(0, 8), RCAR_GP_PIN(0, 7), 126462306a36Sopenharmony_ci}; 126562306a36Sopenharmony_cistatic const unsigned int mlb_3pin_mux[] = { 126662306a36Sopenharmony_ci MLB_CLK_MARK, MLB_SIG_MARK, MLB_DAT_MARK, 126762306a36Sopenharmony_ci}; 126862306a36Sopenharmony_ci 126962306a36Sopenharmony_ci/* - MMC ------------------------------------------------------------------- */ 127062306a36Sopenharmony_cistatic const unsigned int mmc_data_pins[] = { 127162306a36Sopenharmony_ci /* D[0:7] */ 127262306a36Sopenharmony_ci RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3), 127362306a36Sopenharmony_ci RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5), 127462306a36Sopenharmony_ci RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7), 127562306a36Sopenharmony_ci RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9), 127662306a36Sopenharmony_ci}; 127762306a36Sopenharmony_cistatic const unsigned int mmc_data_mux[] = { 127862306a36Sopenharmony_ci MMC_D0_MARK, MMC_D1_MARK, 127962306a36Sopenharmony_ci MMC_D2_MARK, MMC_D3_MARK, 128062306a36Sopenharmony_ci MMC_D4_MARK, MMC_D5_MARK, 128162306a36Sopenharmony_ci MMC_D6_MARK, MMC_D7_MARK, 128262306a36Sopenharmony_ci}; 128362306a36Sopenharmony_cistatic const unsigned int mmc_ctrl_pins[] = { 128462306a36Sopenharmony_ci /* CLK, CMD */ 128562306a36Sopenharmony_ci RCAR_GP_PIN(3, 1), RCAR_GP_PIN(3, 0), 128662306a36Sopenharmony_ci}; 128762306a36Sopenharmony_cistatic const unsigned int mmc_ctrl_mux[] = { 128862306a36Sopenharmony_ci MMC_CLK_MARK, MMC_CMD_MARK, 128962306a36Sopenharmony_ci}; 129062306a36Sopenharmony_ci 129162306a36Sopenharmony_ci/* - MSIOF0 ----------------------------------------------------------------- */ 129262306a36Sopenharmony_cistatic const unsigned int msiof0_clk_pins[] = { 129362306a36Sopenharmony_ci /* SCK */ 129462306a36Sopenharmony_ci RCAR_GP_PIN(4, 12), 129562306a36Sopenharmony_ci}; 129662306a36Sopenharmony_ci 129762306a36Sopenharmony_cistatic const unsigned int msiof0_clk_mux[] = { 129862306a36Sopenharmony_ci MSIOF0_SCK_MARK, 129962306a36Sopenharmony_ci}; 130062306a36Sopenharmony_ci 130162306a36Sopenharmony_cistatic const unsigned int msiof0_sync_pins[] = { 130262306a36Sopenharmony_ci /* SYNC */ 130362306a36Sopenharmony_ci RCAR_GP_PIN(4, 13), 130462306a36Sopenharmony_ci}; 130562306a36Sopenharmony_ci 130662306a36Sopenharmony_cistatic const unsigned int msiof0_sync_mux[] = { 130762306a36Sopenharmony_ci MSIOF0_SYNC_MARK, 130862306a36Sopenharmony_ci}; 130962306a36Sopenharmony_ci 131062306a36Sopenharmony_cistatic const unsigned int msiof0_ss1_pins[] = { 131162306a36Sopenharmony_ci /* SS1 */ 131262306a36Sopenharmony_ci RCAR_GP_PIN(4, 20), 131362306a36Sopenharmony_ci}; 131462306a36Sopenharmony_ci 131562306a36Sopenharmony_cistatic const unsigned int msiof0_ss1_mux[] = { 131662306a36Sopenharmony_ci MSIOF0_SS1_MARK, 131762306a36Sopenharmony_ci}; 131862306a36Sopenharmony_ci 131962306a36Sopenharmony_cistatic const unsigned int msiof0_ss2_pins[] = { 132062306a36Sopenharmony_ci /* SS2 */ 132162306a36Sopenharmony_ci RCAR_GP_PIN(4, 21), 132262306a36Sopenharmony_ci}; 132362306a36Sopenharmony_ci 132462306a36Sopenharmony_cistatic const unsigned int msiof0_ss2_mux[] = { 132562306a36Sopenharmony_ci MSIOF0_SS2_MARK, 132662306a36Sopenharmony_ci}; 132762306a36Sopenharmony_ci 132862306a36Sopenharmony_cistatic const unsigned int msiof0_txd_pins[] = { 132962306a36Sopenharmony_ci /* TXD */ 133062306a36Sopenharmony_ci RCAR_GP_PIN(4, 14), 133162306a36Sopenharmony_ci}; 133262306a36Sopenharmony_ci 133362306a36Sopenharmony_cistatic const unsigned int msiof0_txd_mux[] = { 133462306a36Sopenharmony_ci MSIOF0_TXD_MARK, 133562306a36Sopenharmony_ci}; 133662306a36Sopenharmony_ci 133762306a36Sopenharmony_cistatic const unsigned int msiof0_rxd_pins[] = { 133862306a36Sopenharmony_ci /* RXD */ 133962306a36Sopenharmony_ci RCAR_GP_PIN(4, 15), 134062306a36Sopenharmony_ci}; 134162306a36Sopenharmony_ci 134262306a36Sopenharmony_cistatic const unsigned int msiof0_rxd_mux[] = { 134362306a36Sopenharmony_ci MSIOF0_RXD_MARK, 134462306a36Sopenharmony_ci}; 134562306a36Sopenharmony_ci 134662306a36Sopenharmony_ci/* - MSIOF1 ----------------------------------------------------------------- */ 134762306a36Sopenharmony_cistatic const unsigned int msiof1_clk_pins[] = { 134862306a36Sopenharmony_ci /* SCK */ 134962306a36Sopenharmony_ci RCAR_GP_PIN(4, 16), 135062306a36Sopenharmony_ci}; 135162306a36Sopenharmony_ci 135262306a36Sopenharmony_cistatic const unsigned int msiof1_clk_mux[] = { 135362306a36Sopenharmony_ci MSIOF1_SCK_MARK, 135462306a36Sopenharmony_ci}; 135562306a36Sopenharmony_ci 135662306a36Sopenharmony_cistatic const unsigned int msiof1_sync_pins[] = { 135762306a36Sopenharmony_ci /* SYNC */ 135862306a36Sopenharmony_ci RCAR_GP_PIN(4, 19), 135962306a36Sopenharmony_ci}; 136062306a36Sopenharmony_ci 136162306a36Sopenharmony_cistatic const unsigned int msiof1_sync_mux[] = { 136262306a36Sopenharmony_ci MSIOF1_SYNC_MARK, 136362306a36Sopenharmony_ci}; 136462306a36Sopenharmony_ci 136562306a36Sopenharmony_cistatic const unsigned int msiof1_ss1_pins[] = { 136662306a36Sopenharmony_ci /* SS1 */ 136762306a36Sopenharmony_ci RCAR_GP_PIN(4, 25), 136862306a36Sopenharmony_ci}; 136962306a36Sopenharmony_ci 137062306a36Sopenharmony_cistatic const unsigned int msiof1_ss1_mux[] = { 137162306a36Sopenharmony_ci MSIOF1_SS1_MARK, 137262306a36Sopenharmony_ci}; 137362306a36Sopenharmony_ci 137462306a36Sopenharmony_cistatic const unsigned int msiof1_ss2_pins[] = { 137562306a36Sopenharmony_ci /* SS2 */ 137662306a36Sopenharmony_ci RCAR_GP_PIN(4, 22), 137762306a36Sopenharmony_ci}; 137862306a36Sopenharmony_ci 137962306a36Sopenharmony_cistatic const unsigned int msiof1_ss2_mux[] = { 138062306a36Sopenharmony_ci MSIOF1_SS2_MARK, 138162306a36Sopenharmony_ci}; 138262306a36Sopenharmony_ci 138362306a36Sopenharmony_cistatic const unsigned int msiof1_txd_pins[] = { 138462306a36Sopenharmony_ci /* TXD */ 138562306a36Sopenharmony_ci RCAR_GP_PIN(4, 17), 138662306a36Sopenharmony_ci}; 138762306a36Sopenharmony_ci 138862306a36Sopenharmony_cistatic const unsigned int msiof1_txd_mux[] = { 138962306a36Sopenharmony_ci MSIOF1_TXD_MARK, 139062306a36Sopenharmony_ci}; 139162306a36Sopenharmony_ci 139262306a36Sopenharmony_cistatic const unsigned int msiof1_rxd_pins[] = { 139362306a36Sopenharmony_ci /* RXD */ 139462306a36Sopenharmony_ci RCAR_GP_PIN(4, 18), 139562306a36Sopenharmony_ci}; 139662306a36Sopenharmony_ci 139762306a36Sopenharmony_cistatic const unsigned int msiof1_rxd_mux[] = { 139862306a36Sopenharmony_ci MSIOF1_RXD_MARK, 139962306a36Sopenharmony_ci}; 140062306a36Sopenharmony_ci 140162306a36Sopenharmony_ci/* - MSIOF2 ----------------------------------------------------------------- */ 140262306a36Sopenharmony_cistatic const unsigned int msiof2_clk_pins[] = { 140362306a36Sopenharmony_ci /* SCK */ 140462306a36Sopenharmony_ci RCAR_GP_PIN(0, 3), 140562306a36Sopenharmony_ci}; 140662306a36Sopenharmony_ci 140762306a36Sopenharmony_cistatic const unsigned int msiof2_clk_mux[] = { 140862306a36Sopenharmony_ci MSIOF2_SCK_MARK, 140962306a36Sopenharmony_ci}; 141062306a36Sopenharmony_ci 141162306a36Sopenharmony_cistatic const unsigned int msiof2_sync_a_pins[] = { 141262306a36Sopenharmony_ci /* SYNC */ 141362306a36Sopenharmony_ci RCAR_GP_PIN(0, 6), 141462306a36Sopenharmony_ci}; 141562306a36Sopenharmony_ci 141662306a36Sopenharmony_cistatic const unsigned int msiof2_sync_a_mux[] = { 141762306a36Sopenharmony_ci MSIOF2_SYNC_A_MARK, 141862306a36Sopenharmony_ci}; 141962306a36Sopenharmony_ci 142062306a36Sopenharmony_cistatic const unsigned int msiof2_sync_b_pins[] = { 142162306a36Sopenharmony_ci /* SYNC */ 142262306a36Sopenharmony_ci RCAR_GP_PIN(0, 2), 142362306a36Sopenharmony_ci}; 142462306a36Sopenharmony_ci 142562306a36Sopenharmony_cistatic const unsigned int msiof2_sync_b_mux[] = { 142662306a36Sopenharmony_ci MSIOF2_SYNC_B_MARK, 142762306a36Sopenharmony_ci}; 142862306a36Sopenharmony_ci 142962306a36Sopenharmony_cistatic const unsigned int msiof2_ss1_pins[] = { 143062306a36Sopenharmony_ci /* SS1 */ 143162306a36Sopenharmony_ci RCAR_GP_PIN(0, 7), 143262306a36Sopenharmony_ci}; 143362306a36Sopenharmony_ci 143462306a36Sopenharmony_cistatic const unsigned int msiof2_ss1_mux[] = { 143562306a36Sopenharmony_ci MSIOF2_SS1_MARK, 143662306a36Sopenharmony_ci}; 143762306a36Sopenharmony_ci 143862306a36Sopenharmony_cistatic const unsigned int msiof2_ss2_pins[] = { 143962306a36Sopenharmony_ci /* SS2 */ 144062306a36Sopenharmony_ci RCAR_GP_PIN(0, 8), 144162306a36Sopenharmony_ci}; 144262306a36Sopenharmony_ci 144362306a36Sopenharmony_cistatic const unsigned int msiof2_ss2_mux[] = { 144462306a36Sopenharmony_ci MSIOF2_SS2_MARK, 144562306a36Sopenharmony_ci}; 144662306a36Sopenharmony_ci 144762306a36Sopenharmony_cistatic const unsigned int msiof2_txd_pins[] = { 144862306a36Sopenharmony_ci /* TXD */ 144962306a36Sopenharmony_ci RCAR_GP_PIN(0, 4), 145062306a36Sopenharmony_ci}; 145162306a36Sopenharmony_ci 145262306a36Sopenharmony_cistatic const unsigned int msiof2_txd_mux[] = { 145362306a36Sopenharmony_ci MSIOF2_TXD_MARK, 145462306a36Sopenharmony_ci}; 145562306a36Sopenharmony_ci 145662306a36Sopenharmony_cistatic const unsigned int msiof2_rxd_pins[] = { 145762306a36Sopenharmony_ci /* RXD */ 145862306a36Sopenharmony_ci RCAR_GP_PIN(0, 5), 145962306a36Sopenharmony_ci}; 146062306a36Sopenharmony_ci 146162306a36Sopenharmony_cistatic const unsigned int msiof2_rxd_mux[] = { 146262306a36Sopenharmony_ci MSIOF2_RXD_MARK, 146362306a36Sopenharmony_ci}; 146462306a36Sopenharmony_ci 146562306a36Sopenharmony_ci/* - MSIOF3 ----------------------------------------------------------------- */ 146662306a36Sopenharmony_cistatic const unsigned int msiof3_clk_a_pins[] = { 146762306a36Sopenharmony_ci /* SCK */ 146862306a36Sopenharmony_ci RCAR_GP_PIN(2, 24), 146962306a36Sopenharmony_ci}; 147062306a36Sopenharmony_ci 147162306a36Sopenharmony_cistatic const unsigned int msiof3_clk_a_mux[] = { 147262306a36Sopenharmony_ci MSIOF3_SCK_A_MARK, 147362306a36Sopenharmony_ci}; 147462306a36Sopenharmony_ci 147562306a36Sopenharmony_cistatic const unsigned int msiof3_sync_a_pins[] = { 147662306a36Sopenharmony_ci /* SYNC */ 147762306a36Sopenharmony_ci RCAR_GP_PIN(2, 21), 147862306a36Sopenharmony_ci}; 147962306a36Sopenharmony_ci 148062306a36Sopenharmony_cistatic const unsigned int msiof3_sync_a_mux[] = { 148162306a36Sopenharmony_ci MSIOF3_SYNC_A_MARK, 148262306a36Sopenharmony_ci}; 148362306a36Sopenharmony_ci 148462306a36Sopenharmony_cistatic const unsigned int msiof3_ss1_a_pins[] = { 148562306a36Sopenharmony_ci /* SS1 */ 148662306a36Sopenharmony_ci RCAR_GP_PIN(2, 14), 148762306a36Sopenharmony_ci}; 148862306a36Sopenharmony_ci 148962306a36Sopenharmony_cistatic const unsigned int msiof3_ss1_a_mux[] = { 149062306a36Sopenharmony_ci MSIOF3_SS1_A_MARK, 149162306a36Sopenharmony_ci}; 149262306a36Sopenharmony_ci 149362306a36Sopenharmony_cistatic const unsigned int msiof3_ss2_a_pins[] = { 149462306a36Sopenharmony_ci /* SS2 */ 149562306a36Sopenharmony_ci RCAR_GP_PIN(2, 10), 149662306a36Sopenharmony_ci}; 149762306a36Sopenharmony_ci 149862306a36Sopenharmony_cistatic const unsigned int msiof3_ss2_a_mux[] = { 149962306a36Sopenharmony_ci MSIOF3_SS2_A_MARK, 150062306a36Sopenharmony_ci}; 150162306a36Sopenharmony_ci 150262306a36Sopenharmony_cistatic const unsigned int msiof3_txd_a_pins[] = { 150362306a36Sopenharmony_ci /* TXD */ 150462306a36Sopenharmony_ci RCAR_GP_PIN(2, 22), 150562306a36Sopenharmony_ci}; 150662306a36Sopenharmony_ci 150762306a36Sopenharmony_cistatic const unsigned int msiof3_txd_a_mux[] = { 150862306a36Sopenharmony_ci MSIOF3_TXD_A_MARK, 150962306a36Sopenharmony_ci}; 151062306a36Sopenharmony_ci 151162306a36Sopenharmony_cistatic const unsigned int msiof3_rxd_a_pins[] = { 151262306a36Sopenharmony_ci /* RXD */ 151362306a36Sopenharmony_ci RCAR_GP_PIN(2, 23), 151462306a36Sopenharmony_ci}; 151562306a36Sopenharmony_ci 151662306a36Sopenharmony_cistatic const unsigned int msiof3_rxd_a_mux[] = { 151762306a36Sopenharmony_ci MSIOF3_RXD_A_MARK, 151862306a36Sopenharmony_ci}; 151962306a36Sopenharmony_ci 152062306a36Sopenharmony_cistatic const unsigned int msiof3_clk_b_pins[] = { 152162306a36Sopenharmony_ci /* SCK */ 152262306a36Sopenharmony_ci RCAR_GP_PIN(1, 8), 152362306a36Sopenharmony_ci}; 152462306a36Sopenharmony_ci 152562306a36Sopenharmony_cistatic const unsigned int msiof3_clk_b_mux[] = { 152662306a36Sopenharmony_ci MSIOF3_SCK_B_MARK, 152762306a36Sopenharmony_ci}; 152862306a36Sopenharmony_ci 152962306a36Sopenharmony_cistatic const unsigned int msiof3_sync_b_pins[] = { 153062306a36Sopenharmony_ci /* SYNC */ 153162306a36Sopenharmony_ci RCAR_GP_PIN(1, 9), 153262306a36Sopenharmony_ci}; 153362306a36Sopenharmony_ci 153462306a36Sopenharmony_cistatic const unsigned int msiof3_sync_b_mux[] = { 153562306a36Sopenharmony_ci MSIOF3_SYNC_B_MARK, 153662306a36Sopenharmony_ci}; 153762306a36Sopenharmony_ci 153862306a36Sopenharmony_cistatic const unsigned int msiof3_ss1_b_pins[] = { 153962306a36Sopenharmony_ci /* SS1 */ 154062306a36Sopenharmony_ci RCAR_GP_PIN(1, 6), 154162306a36Sopenharmony_ci}; 154262306a36Sopenharmony_ci 154362306a36Sopenharmony_cistatic const unsigned int msiof3_ss1_b_mux[] = { 154462306a36Sopenharmony_ci MSIOF3_SS1_B_MARK, 154562306a36Sopenharmony_ci}; 154662306a36Sopenharmony_ci 154762306a36Sopenharmony_cistatic const unsigned int msiof3_ss2_b_pins[] = { 154862306a36Sopenharmony_ci /* SS2 */ 154962306a36Sopenharmony_ci RCAR_GP_PIN(1, 7), 155062306a36Sopenharmony_ci}; 155162306a36Sopenharmony_ci 155262306a36Sopenharmony_cistatic const unsigned int msiof3_ss2_b_mux[] = { 155362306a36Sopenharmony_ci MSIOF3_SS2_B_MARK, 155462306a36Sopenharmony_ci}; 155562306a36Sopenharmony_ci 155662306a36Sopenharmony_cistatic const unsigned int msiof3_txd_b_pins[] = { 155762306a36Sopenharmony_ci /* TXD */ 155862306a36Sopenharmony_ci RCAR_GP_PIN(1, 0), 155962306a36Sopenharmony_ci}; 156062306a36Sopenharmony_ci 156162306a36Sopenharmony_cistatic const unsigned int msiof3_txd_b_mux[] = { 156262306a36Sopenharmony_ci MSIOF3_TXD_B_MARK, 156362306a36Sopenharmony_ci}; 156462306a36Sopenharmony_ci 156562306a36Sopenharmony_cistatic const unsigned int msiof3_rxd_b_pins[] = { 156662306a36Sopenharmony_ci /* RXD */ 156762306a36Sopenharmony_ci RCAR_GP_PIN(1, 1), 156862306a36Sopenharmony_ci}; 156962306a36Sopenharmony_ci 157062306a36Sopenharmony_cistatic const unsigned int msiof3_rxd_b_mux[] = { 157162306a36Sopenharmony_ci MSIOF3_RXD_B_MARK, 157262306a36Sopenharmony_ci}; 157362306a36Sopenharmony_ci 157462306a36Sopenharmony_ci/* - PWM0 ------------------------------------------------------------------ */ 157562306a36Sopenharmony_cistatic const unsigned int pwm0_a_pins[] = { 157662306a36Sopenharmony_ci /* PWM */ 157762306a36Sopenharmony_ci RCAR_GP_PIN(2, 1), 157862306a36Sopenharmony_ci}; 157962306a36Sopenharmony_ci 158062306a36Sopenharmony_cistatic const unsigned int pwm0_a_mux[] = { 158162306a36Sopenharmony_ci PWM0_A_MARK, 158262306a36Sopenharmony_ci}; 158362306a36Sopenharmony_ci 158462306a36Sopenharmony_cistatic const unsigned int pwm0_b_pins[] = { 158562306a36Sopenharmony_ci /* PWM */ 158662306a36Sopenharmony_ci RCAR_GP_PIN(1, 18), 158762306a36Sopenharmony_ci}; 158862306a36Sopenharmony_ci 158962306a36Sopenharmony_cistatic const unsigned int pwm0_b_mux[] = { 159062306a36Sopenharmony_ci PWM0_B_MARK, 159162306a36Sopenharmony_ci}; 159262306a36Sopenharmony_ci 159362306a36Sopenharmony_cistatic const unsigned int pwm0_c_pins[] = { 159462306a36Sopenharmony_ci /* PWM */ 159562306a36Sopenharmony_ci RCAR_GP_PIN(2, 29), 159662306a36Sopenharmony_ci}; 159762306a36Sopenharmony_ci 159862306a36Sopenharmony_cistatic const unsigned int pwm0_c_mux[] = { 159962306a36Sopenharmony_ci PWM0_C_MARK, 160062306a36Sopenharmony_ci}; 160162306a36Sopenharmony_ci 160262306a36Sopenharmony_ci/* - PWM1 ------------------------------------------------------------------ */ 160362306a36Sopenharmony_cistatic const unsigned int pwm1_a_pins[] = { 160462306a36Sopenharmony_ci /* PWM */ 160562306a36Sopenharmony_ci RCAR_GP_PIN(2, 2), 160662306a36Sopenharmony_ci}; 160762306a36Sopenharmony_ci 160862306a36Sopenharmony_cistatic const unsigned int pwm1_a_mux[] = { 160962306a36Sopenharmony_ci PWM1_A_MARK, 161062306a36Sopenharmony_ci}; 161162306a36Sopenharmony_ci 161262306a36Sopenharmony_cistatic const unsigned int pwm1_b_pins[] = { 161362306a36Sopenharmony_ci /* PWM */ 161462306a36Sopenharmony_ci RCAR_GP_PIN(1, 19), 161562306a36Sopenharmony_ci}; 161662306a36Sopenharmony_ci 161762306a36Sopenharmony_cistatic const unsigned int pwm1_b_mux[] = { 161862306a36Sopenharmony_ci PWM1_B_MARK, 161962306a36Sopenharmony_ci}; 162062306a36Sopenharmony_ci 162162306a36Sopenharmony_cistatic const unsigned int pwm1_c_pins[] = { 162262306a36Sopenharmony_ci /* PWM */ 162362306a36Sopenharmony_ci RCAR_GP_PIN(2, 30), 162462306a36Sopenharmony_ci}; 162562306a36Sopenharmony_ci 162662306a36Sopenharmony_cistatic const unsigned int pwm1_c_mux[] = { 162762306a36Sopenharmony_ci PWM1_C_MARK, 162862306a36Sopenharmony_ci}; 162962306a36Sopenharmony_ci 163062306a36Sopenharmony_ci/* - PWM2 ------------------------------------------------------------------ */ 163162306a36Sopenharmony_cistatic const unsigned int pwm2_a_pins[] = { 163262306a36Sopenharmony_ci /* PWM */ 163362306a36Sopenharmony_ci RCAR_GP_PIN(2, 3), 163462306a36Sopenharmony_ci}; 163562306a36Sopenharmony_ci 163662306a36Sopenharmony_cistatic const unsigned int pwm2_a_mux[] = { 163762306a36Sopenharmony_ci PWM2_A_MARK, 163862306a36Sopenharmony_ci}; 163962306a36Sopenharmony_ci 164062306a36Sopenharmony_cistatic const unsigned int pwm2_b_pins[] = { 164162306a36Sopenharmony_ci /* PWM */ 164262306a36Sopenharmony_ci RCAR_GP_PIN(1, 22), 164362306a36Sopenharmony_ci}; 164462306a36Sopenharmony_ci 164562306a36Sopenharmony_cistatic const unsigned int pwm2_b_mux[] = { 164662306a36Sopenharmony_ci PWM2_B_MARK, 164762306a36Sopenharmony_ci}; 164862306a36Sopenharmony_ci 164962306a36Sopenharmony_cistatic const unsigned int pwm2_c_pins[] = { 165062306a36Sopenharmony_ci /* PWM */ 165162306a36Sopenharmony_ci RCAR_GP_PIN(2, 31), 165262306a36Sopenharmony_ci}; 165362306a36Sopenharmony_ci 165462306a36Sopenharmony_cistatic const unsigned int pwm2_c_mux[] = { 165562306a36Sopenharmony_ci PWM2_C_MARK, 165662306a36Sopenharmony_ci}; 165762306a36Sopenharmony_ci 165862306a36Sopenharmony_ci/* - PWM3 ------------------------------------------------------------------ */ 165962306a36Sopenharmony_cistatic const unsigned int pwm3_a_pins[] = { 166062306a36Sopenharmony_ci /* PWM */ 166162306a36Sopenharmony_ci RCAR_GP_PIN(2, 4), 166262306a36Sopenharmony_ci}; 166362306a36Sopenharmony_ci 166462306a36Sopenharmony_cistatic const unsigned int pwm3_a_mux[] = { 166562306a36Sopenharmony_ci PWM3_A_MARK, 166662306a36Sopenharmony_ci}; 166762306a36Sopenharmony_ci 166862306a36Sopenharmony_cistatic const unsigned int pwm3_b_pins[] = { 166962306a36Sopenharmony_ci /* PWM */ 167062306a36Sopenharmony_ci RCAR_GP_PIN(1, 27), 167162306a36Sopenharmony_ci}; 167262306a36Sopenharmony_ci 167362306a36Sopenharmony_cistatic const unsigned int pwm3_b_mux[] = { 167462306a36Sopenharmony_ci PWM3_B_MARK, 167562306a36Sopenharmony_ci}; 167662306a36Sopenharmony_ci 167762306a36Sopenharmony_cistatic const unsigned int pwm3_c_pins[] = { 167862306a36Sopenharmony_ci /* PWM */ 167962306a36Sopenharmony_ci RCAR_GP_PIN(4, 0), 168062306a36Sopenharmony_ci}; 168162306a36Sopenharmony_ci 168262306a36Sopenharmony_cistatic const unsigned int pwm3_c_mux[] = { 168362306a36Sopenharmony_ci PWM3_C_MARK, 168462306a36Sopenharmony_ci}; 168562306a36Sopenharmony_ci 168662306a36Sopenharmony_ci/* - QSPI0 ------------------------------------------------------------------ */ 168762306a36Sopenharmony_cistatic const unsigned int qspi0_ctrl_pins[] = { 168862306a36Sopenharmony_ci /* QSPI0_SPCLK, QSPI0_SSL */ 168962306a36Sopenharmony_ci RCAR_GP_PIN(6, 0), RCAR_GP_PIN(6, 5), 169062306a36Sopenharmony_ci}; 169162306a36Sopenharmony_cistatic const unsigned int qspi0_ctrl_mux[] = { 169262306a36Sopenharmony_ci QSPI0_SPCLK_MARK, QSPI0_SSL_MARK, 169362306a36Sopenharmony_ci}; 169462306a36Sopenharmony_ci/* - QSPI1 ------------------------------------------------------------------ */ 169562306a36Sopenharmony_cistatic const unsigned int qspi1_ctrl_pins[] = { 169662306a36Sopenharmony_ci /* QSPI1_SPCLK, QSPI1_SSL */ 169762306a36Sopenharmony_ci RCAR_GP_PIN(6, 6), RCAR_GP_PIN(6, 11), 169862306a36Sopenharmony_ci}; 169962306a36Sopenharmony_cistatic const unsigned int qspi1_ctrl_mux[] = { 170062306a36Sopenharmony_ci QSPI1_SPCLK_MARK, QSPI1_SSL_MARK, 170162306a36Sopenharmony_ci}; 170262306a36Sopenharmony_ci 170362306a36Sopenharmony_ci/* - RPC -------------------------------------------------------------------- */ 170462306a36Sopenharmony_cistatic const unsigned int rpc_clk_pins[] = { 170562306a36Sopenharmony_ci /* Octal-SPI flash: C/SCLK */ 170662306a36Sopenharmony_ci /* HyperFlash: CK, CK# */ 170762306a36Sopenharmony_ci RCAR_GP_PIN(6, 0), RCAR_GP_PIN(6, 6), 170862306a36Sopenharmony_ci}; 170962306a36Sopenharmony_cistatic const unsigned int rpc_clk_mux[] = { 171062306a36Sopenharmony_ci QSPI0_SPCLK_MARK, QSPI1_SPCLK_MARK, 171162306a36Sopenharmony_ci}; 171262306a36Sopenharmony_cistatic const unsigned int rpc_ctrl_pins[] = { 171362306a36Sopenharmony_ci /* Octal-SPI flash: S#/CS, DQS */ 171462306a36Sopenharmony_ci /* HyperFlash: CS#, RDS */ 171562306a36Sopenharmony_ci RCAR_GP_PIN(6, 5), RCAR_GP_PIN(6, 11), 171662306a36Sopenharmony_ci}; 171762306a36Sopenharmony_cistatic const unsigned int rpc_ctrl_mux[] = { 171862306a36Sopenharmony_ci QSPI0_SSL_MARK, QSPI1_SSL_MARK, 171962306a36Sopenharmony_ci}; 172062306a36Sopenharmony_cistatic const unsigned int rpc_data_pins[] = { 172162306a36Sopenharmony_ci /* DQ[0:7] */ 172262306a36Sopenharmony_ci RCAR_GP_PIN(6, 1), RCAR_GP_PIN(6, 2), 172362306a36Sopenharmony_ci RCAR_GP_PIN(6, 3), RCAR_GP_PIN(6, 4), 172462306a36Sopenharmony_ci RCAR_GP_PIN(6, 7), RCAR_GP_PIN(6, 8), 172562306a36Sopenharmony_ci RCAR_GP_PIN(6, 9), RCAR_GP_PIN(6, 10), 172662306a36Sopenharmony_ci}; 172762306a36Sopenharmony_cistatic const unsigned int rpc_data_mux[] = { 172862306a36Sopenharmony_ci QSPI0_MOSI_IO0_MARK, QSPI0_MISO_IO1_MARK, 172962306a36Sopenharmony_ci QSPI0_IO2_MARK, QSPI0_IO3_MARK, 173062306a36Sopenharmony_ci QSPI1_MOSI_IO0_MARK, QSPI1_MISO_IO1_MARK, 173162306a36Sopenharmony_ci QSPI1_IO2_MARK, QSPI1_IO3_MARK, 173262306a36Sopenharmony_ci}; 173362306a36Sopenharmony_cistatic const unsigned int rpc_reset_pins[] = { 173462306a36Sopenharmony_ci /* RPC_RESET# */ 173562306a36Sopenharmony_ci RCAR_GP_PIN(6, 12), 173662306a36Sopenharmony_ci}; 173762306a36Sopenharmony_cistatic const unsigned int rpc_reset_mux[] = { 173862306a36Sopenharmony_ci RPC_RESET_N_MARK, 173962306a36Sopenharmony_ci}; 174062306a36Sopenharmony_cistatic const unsigned int rpc_int_pins[] = { 174162306a36Sopenharmony_ci /* RPC_INT# */ 174262306a36Sopenharmony_ci RCAR_GP_PIN(6, 13), 174362306a36Sopenharmony_ci}; 174462306a36Sopenharmony_cistatic const unsigned int rpc_int_mux[] = { 174562306a36Sopenharmony_ci RPC_INT_N_MARK, 174662306a36Sopenharmony_ci}; 174762306a36Sopenharmony_ci 174862306a36Sopenharmony_ci/* - SCIF0 ------------------------------------------------------------------ */ 174962306a36Sopenharmony_cistatic const unsigned int scif0_data_a_pins[] = { 175062306a36Sopenharmony_ci /* RX, TX */ 175162306a36Sopenharmony_ci RCAR_GP_PIN(4, 20), RCAR_GP_PIN(4, 21), 175262306a36Sopenharmony_ci}; 175362306a36Sopenharmony_cistatic const unsigned int scif0_data_a_mux[] = { 175462306a36Sopenharmony_ci RX0_A_MARK, TX0_A_MARK, 175562306a36Sopenharmony_ci}; 175662306a36Sopenharmony_cistatic const unsigned int scif0_clk_a_pins[] = { 175762306a36Sopenharmony_ci /* SCK */ 175862306a36Sopenharmony_ci RCAR_GP_PIN(4, 19), 175962306a36Sopenharmony_ci}; 176062306a36Sopenharmony_cistatic const unsigned int scif0_clk_a_mux[] = { 176162306a36Sopenharmony_ci SCK0_A_MARK, 176262306a36Sopenharmony_ci}; 176362306a36Sopenharmony_cistatic const unsigned int scif0_data_b_pins[] = { 176462306a36Sopenharmony_ci /* RX, TX */ 176562306a36Sopenharmony_ci RCAR_GP_PIN(4, 31), RCAR_GP_PIN(4, 28), 176662306a36Sopenharmony_ci}; 176762306a36Sopenharmony_cistatic const unsigned int scif0_data_b_mux[] = { 176862306a36Sopenharmony_ci RX0_B_MARK, TX0_B_MARK, 176962306a36Sopenharmony_ci}; 177062306a36Sopenharmony_cistatic const unsigned int scif0_clk_b_pins[] = { 177162306a36Sopenharmony_ci /* SCK */ 177262306a36Sopenharmony_ci RCAR_GP_PIN(5, 2), 177362306a36Sopenharmony_ci}; 177462306a36Sopenharmony_cistatic const unsigned int scif0_clk_b_mux[] = { 177562306a36Sopenharmony_ci SCK0_B_MARK, 177662306a36Sopenharmony_ci}; 177762306a36Sopenharmony_cistatic const unsigned int scif0_ctrl_pins[] = { 177862306a36Sopenharmony_ci /* RTS, CTS */ 177962306a36Sopenharmony_ci RCAR_GP_PIN(4, 24), RCAR_GP_PIN(4, 23), 178062306a36Sopenharmony_ci}; 178162306a36Sopenharmony_cistatic const unsigned int scif0_ctrl_mux[] = { 178262306a36Sopenharmony_ci RTS0_N_MARK, CTS0_N_MARK, 178362306a36Sopenharmony_ci}; 178462306a36Sopenharmony_ci/* - SCIF1 ------------------------------------------------------------------ */ 178562306a36Sopenharmony_cistatic const unsigned int scif1_data_a_pins[] = { 178662306a36Sopenharmony_ci /* RX, TX */ 178762306a36Sopenharmony_ci RCAR_GP_PIN(4, 23), RCAR_GP_PIN(4, 24), 178862306a36Sopenharmony_ci}; 178962306a36Sopenharmony_cistatic const unsigned int scif1_data_a_mux[] = { 179062306a36Sopenharmony_ci RX1_A_MARK, TX1_A_MARK, 179162306a36Sopenharmony_ci}; 179262306a36Sopenharmony_cistatic const unsigned int scif1_clk_a_pins[] = { 179362306a36Sopenharmony_ci /* SCK */ 179462306a36Sopenharmony_ci RCAR_GP_PIN(4, 22), 179562306a36Sopenharmony_ci}; 179662306a36Sopenharmony_cistatic const unsigned int scif1_clk_a_mux[] = { 179762306a36Sopenharmony_ci SCK1_A_MARK, 179862306a36Sopenharmony_ci}; 179962306a36Sopenharmony_cistatic const unsigned int scif1_data_b_pins[] = { 180062306a36Sopenharmony_ci /* RX, TX */ 180162306a36Sopenharmony_ci RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 28), 180262306a36Sopenharmony_ci}; 180362306a36Sopenharmony_cistatic const unsigned int scif1_data_b_mux[] = { 180462306a36Sopenharmony_ci RX1_B_MARK, TX1_B_MARK, 180562306a36Sopenharmony_ci}; 180662306a36Sopenharmony_cistatic const unsigned int scif1_clk_b_pins[] = { 180762306a36Sopenharmony_ci /* SCK */ 180862306a36Sopenharmony_ci RCAR_GP_PIN(2, 25), 180962306a36Sopenharmony_ci}; 181062306a36Sopenharmony_cistatic const unsigned int scif1_clk_b_mux[] = { 181162306a36Sopenharmony_ci SCK1_B_MARK, 181262306a36Sopenharmony_ci}; 181362306a36Sopenharmony_cistatic const unsigned int scif1_ctrl_pins[] = { 181462306a36Sopenharmony_ci /* RTS, CTS */ 181562306a36Sopenharmony_ci RCAR_GP_PIN(4, 11), RCAR_GP_PIN(4, 10), 181662306a36Sopenharmony_ci}; 181762306a36Sopenharmony_cistatic const unsigned int scif1_ctrl_mux[] = { 181862306a36Sopenharmony_ci RTS1_N_MARK, CTS1_N_MARK, 181962306a36Sopenharmony_ci}; 182062306a36Sopenharmony_ci 182162306a36Sopenharmony_ci/* - SCIF2 ------------------------------------------------------------------ */ 182262306a36Sopenharmony_cistatic const unsigned int scif2_data_pins[] = { 182362306a36Sopenharmony_ci /* RX, TX */ 182462306a36Sopenharmony_ci RCAR_GP_PIN(4, 26), RCAR_GP_PIN(4, 27), 182562306a36Sopenharmony_ci}; 182662306a36Sopenharmony_cistatic const unsigned int scif2_data_mux[] = { 182762306a36Sopenharmony_ci RX2_MARK, TX2_MARK, 182862306a36Sopenharmony_ci}; 182962306a36Sopenharmony_cistatic const unsigned int scif2_clk_pins[] = { 183062306a36Sopenharmony_ci /* SCK */ 183162306a36Sopenharmony_ci RCAR_GP_PIN(4, 25), 183262306a36Sopenharmony_ci}; 183362306a36Sopenharmony_cistatic const unsigned int scif2_clk_mux[] = { 183462306a36Sopenharmony_ci SCK2_MARK, 183562306a36Sopenharmony_ci}; 183662306a36Sopenharmony_ci/* - SCIF3 ------------------------------------------------------------------ */ 183762306a36Sopenharmony_cistatic const unsigned int scif3_data_a_pins[] = { 183862306a36Sopenharmony_ci /* RX, TX */ 183962306a36Sopenharmony_ci RCAR_GP_PIN(2, 31), RCAR_GP_PIN(4, 00), 184062306a36Sopenharmony_ci}; 184162306a36Sopenharmony_cistatic const unsigned int scif3_data_a_mux[] = { 184262306a36Sopenharmony_ci RX3_A_MARK, TX3_A_MARK, 184362306a36Sopenharmony_ci}; 184462306a36Sopenharmony_cistatic const unsigned int scif3_clk_a_pins[] = { 184562306a36Sopenharmony_ci /* SCK */ 184662306a36Sopenharmony_ci RCAR_GP_PIN(2, 30), 184762306a36Sopenharmony_ci}; 184862306a36Sopenharmony_cistatic const unsigned int scif3_clk_a_mux[] = { 184962306a36Sopenharmony_ci SCK3_A_MARK, 185062306a36Sopenharmony_ci}; 185162306a36Sopenharmony_cistatic const unsigned int scif3_data_b_pins[] = { 185262306a36Sopenharmony_ci /* RX, TX */ 185362306a36Sopenharmony_ci RCAR_GP_PIN(1, 30), RCAR_GP_PIN(1, 31), 185462306a36Sopenharmony_ci}; 185562306a36Sopenharmony_cistatic const unsigned int scif3_data_b_mux[] = { 185662306a36Sopenharmony_ci RX3_B_MARK, TX3_B_MARK, 185762306a36Sopenharmony_ci}; 185862306a36Sopenharmony_cistatic const unsigned int scif3_clk_b_pins[] = { 185962306a36Sopenharmony_ci /* SCK */ 186062306a36Sopenharmony_ci RCAR_GP_PIN(1, 29), 186162306a36Sopenharmony_ci}; 186262306a36Sopenharmony_cistatic const unsigned int scif3_clk_b_mux[] = { 186362306a36Sopenharmony_ci SCK3_B_MARK, 186462306a36Sopenharmony_ci}; 186562306a36Sopenharmony_ci/* - SCIF4 ------------------------------------------------------------------ */ 186662306a36Sopenharmony_cistatic const unsigned int scif4_data_a_pins[] = { 186762306a36Sopenharmony_ci /* RX, TX */ 186862306a36Sopenharmony_ci RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 12), 186962306a36Sopenharmony_ci}; 187062306a36Sopenharmony_cistatic const unsigned int scif4_data_a_mux[] = { 187162306a36Sopenharmony_ci RX4_A_MARK, TX4_A_MARK, 187262306a36Sopenharmony_ci}; 187362306a36Sopenharmony_cistatic const unsigned int scif4_clk_a_pins[] = { 187462306a36Sopenharmony_ci /* SCK */ 187562306a36Sopenharmony_ci RCAR_GP_PIN(2, 6), 187662306a36Sopenharmony_ci}; 187762306a36Sopenharmony_cistatic const unsigned int scif4_clk_a_mux[] = { 187862306a36Sopenharmony_ci SCK4_A_MARK, 187962306a36Sopenharmony_ci}; 188062306a36Sopenharmony_cistatic const unsigned int scif4_data_b_pins[] = { 188162306a36Sopenharmony_ci /* RX, TX */ 188262306a36Sopenharmony_ci RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 17), 188362306a36Sopenharmony_ci}; 188462306a36Sopenharmony_cistatic const unsigned int scif4_data_b_mux[] = { 188562306a36Sopenharmony_ci RX4_B_MARK, TX4_B_MARK, 188662306a36Sopenharmony_ci}; 188762306a36Sopenharmony_cistatic const unsigned int scif4_clk_b_pins[] = { 188862306a36Sopenharmony_ci /* SCK */ 188962306a36Sopenharmony_ci RCAR_GP_PIN(1, 15), 189062306a36Sopenharmony_ci}; 189162306a36Sopenharmony_cistatic const unsigned int scif4_clk_b_mux[] = { 189262306a36Sopenharmony_ci SCK4_B_MARK, 189362306a36Sopenharmony_ci}; 189462306a36Sopenharmony_ci/* - SCIF5 ------------------------------------------------------------------ */ 189562306a36Sopenharmony_cistatic const unsigned int scif5_data_a_pins[] = { 189662306a36Sopenharmony_ci /* RX, TX */ 189762306a36Sopenharmony_ci RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 8), 189862306a36Sopenharmony_ci}; 189962306a36Sopenharmony_cistatic const unsigned int scif5_data_a_mux[] = { 190062306a36Sopenharmony_ci RX5_A_MARK, TX5_A_MARK, 190162306a36Sopenharmony_ci}; 190262306a36Sopenharmony_cistatic const unsigned int scif5_clk_a_pins[] = { 190362306a36Sopenharmony_ci /* SCK */ 190462306a36Sopenharmony_ci RCAR_GP_PIN(0, 6), 190562306a36Sopenharmony_ci}; 190662306a36Sopenharmony_cistatic const unsigned int scif5_clk_a_mux[] = { 190762306a36Sopenharmony_ci SCK5_A_MARK, 190862306a36Sopenharmony_ci}; 190962306a36Sopenharmony_cistatic const unsigned int scif5_data_b_pins[] = { 191062306a36Sopenharmony_ci /* RX, TX */ 191162306a36Sopenharmony_ci RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 5), 191262306a36Sopenharmony_ci}; 191362306a36Sopenharmony_cistatic const unsigned int scif5_data_b_mux[] = { 191462306a36Sopenharmony_ci RX5_B_MARK, TX5_B_MARK, 191562306a36Sopenharmony_ci}; 191662306a36Sopenharmony_cistatic const unsigned int scif5_clk_b_pins[] = { 191762306a36Sopenharmony_ci /* SCK */ 191862306a36Sopenharmony_ci RCAR_GP_PIN(1, 3), 191962306a36Sopenharmony_ci}; 192062306a36Sopenharmony_cistatic const unsigned int scif5_clk_b_mux[] = { 192162306a36Sopenharmony_ci SCK5_B_MARK, 192262306a36Sopenharmony_ci}; 192362306a36Sopenharmony_ci/* - SCIF Clock ------------------------------------------------------------- */ 192462306a36Sopenharmony_cistatic const unsigned int scif_clk_pins[] = { 192562306a36Sopenharmony_ci /* SCIF_CLK */ 192662306a36Sopenharmony_ci RCAR_GP_PIN(2, 27), 192762306a36Sopenharmony_ci}; 192862306a36Sopenharmony_cistatic const unsigned int scif_clk_mux[] = { 192962306a36Sopenharmony_ci SCIF_CLK_MARK, 193062306a36Sopenharmony_ci}; 193162306a36Sopenharmony_ci 193262306a36Sopenharmony_ci/* - SSI ---------------------------------------------------------------*/ 193362306a36Sopenharmony_cistatic const unsigned int ssi3_data_pins[] = { 193462306a36Sopenharmony_ci /* SDATA */ 193562306a36Sopenharmony_ci RCAR_GP_PIN(4, 3), 193662306a36Sopenharmony_ci}; 193762306a36Sopenharmony_cistatic const unsigned int ssi3_data_mux[] = { 193862306a36Sopenharmony_ci SSI_SDATA3_MARK, 193962306a36Sopenharmony_ci}; 194062306a36Sopenharmony_cistatic const unsigned int ssi34_ctrl_pins[] = { 194162306a36Sopenharmony_ci /* SCK, WS */ 194262306a36Sopenharmony_ci RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 4), 194362306a36Sopenharmony_ci}; 194462306a36Sopenharmony_cistatic const unsigned int ssi34_ctrl_mux[] = { 194562306a36Sopenharmony_ci SSI_SCK34_MARK, SSI_WS34_MARK, 194662306a36Sopenharmony_ci}; 194762306a36Sopenharmony_cistatic const unsigned int ssi4_ctrl_a_pins[] = { 194862306a36Sopenharmony_ci /* SCK, WS */ 194962306a36Sopenharmony_ci RCAR_GP_PIN(4, 5), RCAR_GP_PIN(4, 7), 195062306a36Sopenharmony_ci}; 195162306a36Sopenharmony_cistatic const unsigned int ssi4_ctrl_a_mux[] = { 195262306a36Sopenharmony_ci SSI_SCK4_A_MARK, SSI_WS4_A_MARK, 195362306a36Sopenharmony_ci}; 195462306a36Sopenharmony_cistatic const unsigned int ssi4_data_a_pins[] = { 195562306a36Sopenharmony_ci /* SDATA */ 195662306a36Sopenharmony_ci RCAR_GP_PIN(4, 6), 195762306a36Sopenharmony_ci}; 195862306a36Sopenharmony_cistatic const unsigned int ssi4_data_a_mux[] = { 195962306a36Sopenharmony_ci SSI_SDATA4_A_MARK, 196062306a36Sopenharmony_ci}; 196162306a36Sopenharmony_cistatic const unsigned int ssi4_ctrl_b_pins[] = { 196262306a36Sopenharmony_ci /* SCK, WS */ 196362306a36Sopenharmony_ci RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 20), 196462306a36Sopenharmony_ci}; 196562306a36Sopenharmony_cistatic const unsigned int ssi4_ctrl_b_mux[] = { 196662306a36Sopenharmony_ci SSI_SCK4_B_MARK, SSI_WS4_B_MARK, 196762306a36Sopenharmony_ci}; 196862306a36Sopenharmony_cistatic const unsigned int ssi4_data_b_pins[] = { 196962306a36Sopenharmony_ci /* SDATA */ 197062306a36Sopenharmony_ci RCAR_GP_PIN(2, 16), 197162306a36Sopenharmony_ci}; 197262306a36Sopenharmony_cistatic const unsigned int ssi4_data_b_mux[] = { 197362306a36Sopenharmony_ci SSI_SDATA4_B_MARK, 197462306a36Sopenharmony_ci}; 197562306a36Sopenharmony_ci 197662306a36Sopenharmony_ci/* - USB0 ------------------------------------------------------------------- */ 197762306a36Sopenharmony_cistatic const unsigned int usb0_pins[] = { 197862306a36Sopenharmony_ci /* PWEN, OVC */ 197962306a36Sopenharmony_ci RCAR_GP_PIN(0, 0), RCAR_GP_PIN(0, 1), 198062306a36Sopenharmony_ci}; 198162306a36Sopenharmony_cistatic const unsigned int usb0_mux[] = { 198262306a36Sopenharmony_ci USB0_PWEN_MARK, USB0_OVC_MARK, 198362306a36Sopenharmony_ci}; 198462306a36Sopenharmony_ci 198562306a36Sopenharmony_ci/* - VIN4 ------------------------------------------------------------------- */ 198662306a36Sopenharmony_cistatic const unsigned int vin4_data18_pins[] = { 198762306a36Sopenharmony_ci RCAR_GP_PIN(2, 3), RCAR_GP_PIN(2, 4), 198862306a36Sopenharmony_ci RCAR_GP_PIN(2, 5), RCAR_GP_PIN(2, 6), 198962306a36Sopenharmony_ci RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 8), 199062306a36Sopenharmony_ci RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 12), 199162306a36Sopenharmony_ci RCAR_GP_PIN(2, 13), RCAR_GP_PIN(2, 14), 199262306a36Sopenharmony_ci RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 16), 199362306a36Sopenharmony_ci RCAR_GP_PIN(2, 19), RCAR_GP_PIN(2, 20), 199462306a36Sopenharmony_ci RCAR_GP_PIN(2, 21), RCAR_GP_PIN(2, 22), 199562306a36Sopenharmony_ci RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 24), 199662306a36Sopenharmony_ci}; 199762306a36Sopenharmony_cistatic const unsigned int vin4_data18_mux[] = { 199862306a36Sopenharmony_ci VI4_DATA2_MARK, VI4_DATA3_MARK, 199962306a36Sopenharmony_ci VI4_DATA4_MARK, VI4_DATA5_MARK, 200062306a36Sopenharmony_ci VI4_DATA6_MARK, VI4_DATA7_MARK, 200162306a36Sopenharmony_ci VI4_DATA10_MARK, VI4_DATA11_MARK, 200262306a36Sopenharmony_ci VI4_DATA12_MARK, VI4_DATA13_MARK, 200362306a36Sopenharmony_ci VI4_DATA14_MARK, VI4_DATA15_MARK, 200462306a36Sopenharmony_ci VI4_DATA18_MARK, VI4_DATA19_MARK, 200562306a36Sopenharmony_ci VI4_DATA20_MARK, VI4_DATA21_MARK, 200662306a36Sopenharmony_ci VI4_DATA22_MARK, VI4_DATA23_MARK, 200762306a36Sopenharmony_ci}; 200862306a36Sopenharmony_cistatic const unsigned int vin4_data_pins[] = { 200962306a36Sopenharmony_ci RCAR_GP_PIN(2, 1), RCAR_GP_PIN(2, 2), 201062306a36Sopenharmony_ci RCAR_GP_PIN(2, 3), RCAR_GP_PIN(2, 4), 201162306a36Sopenharmony_ci RCAR_GP_PIN(2, 5), RCAR_GP_PIN(2, 6), 201262306a36Sopenharmony_ci RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 8), 201362306a36Sopenharmony_ci RCAR_GP_PIN(2, 9), RCAR_GP_PIN(2, 10), 201462306a36Sopenharmony_ci RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 12), 201562306a36Sopenharmony_ci RCAR_GP_PIN(2, 13), RCAR_GP_PIN(2, 14), 201662306a36Sopenharmony_ci RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 16), 201762306a36Sopenharmony_ci RCAR_GP_PIN(2, 17), RCAR_GP_PIN(2, 18), 201862306a36Sopenharmony_ci RCAR_GP_PIN(2, 19), RCAR_GP_PIN(2, 20), 201962306a36Sopenharmony_ci RCAR_GP_PIN(2, 21), RCAR_GP_PIN(2, 22), 202062306a36Sopenharmony_ci RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 24), 202162306a36Sopenharmony_ci}; 202262306a36Sopenharmony_cistatic const unsigned int vin4_data_mux[] = { 202362306a36Sopenharmony_ci VI4_DATA0_MARK, VI4_DATA1_MARK, 202462306a36Sopenharmony_ci VI4_DATA2_MARK, VI4_DATA3_MARK, 202562306a36Sopenharmony_ci VI4_DATA4_MARK, VI4_DATA5_MARK, 202662306a36Sopenharmony_ci VI4_DATA6_MARK, VI4_DATA7_MARK, 202762306a36Sopenharmony_ci VI4_DATA8_MARK, VI4_DATA9_MARK, 202862306a36Sopenharmony_ci VI4_DATA10_MARK, VI4_DATA11_MARK, 202962306a36Sopenharmony_ci VI4_DATA12_MARK, VI4_DATA13_MARK, 203062306a36Sopenharmony_ci VI4_DATA14_MARK, VI4_DATA15_MARK, 203162306a36Sopenharmony_ci VI4_DATA16_MARK, VI4_DATA17_MARK, 203262306a36Sopenharmony_ci VI4_DATA18_MARK, VI4_DATA19_MARK, 203362306a36Sopenharmony_ci VI4_DATA20_MARK, VI4_DATA21_MARK, 203462306a36Sopenharmony_ci VI4_DATA22_MARK, VI4_DATA23_MARK, 203562306a36Sopenharmony_ci}; 203662306a36Sopenharmony_cistatic const unsigned int vin4_sync_pins[] = { 203762306a36Sopenharmony_ci /* HSYNC#, VSYNC# */ 203862306a36Sopenharmony_ci RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 25), 203962306a36Sopenharmony_ci}; 204062306a36Sopenharmony_cistatic const unsigned int vin4_sync_mux[] = { 204162306a36Sopenharmony_ci VI4_HSYNC_N_MARK, VI4_VSYNC_N_MARK, 204262306a36Sopenharmony_ci}; 204362306a36Sopenharmony_cistatic const unsigned int vin4_field_pins[] = { 204462306a36Sopenharmony_ci /* FIELD */ 204562306a36Sopenharmony_ci RCAR_GP_PIN(2, 27), 204662306a36Sopenharmony_ci}; 204762306a36Sopenharmony_cistatic const unsigned int vin4_field_mux[] = { 204862306a36Sopenharmony_ci VI4_FIELD_MARK, 204962306a36Sopenharmony_ci}; 205062306a36Sopenharmony_cistatic const unsigned int vin4_clkenb_pins[] = { 205162306a36Sopenharmony_ci /* CLKENB */ 205262306a36Sopenharmony_ci RCAR_GP_PIN(2, 28), 205362306a36Sopenharmony_ci}; 205462306a36Sopenharmony_cistatic const unsigned int vin4_clkenb_mux[] = { 205562306a36Sopenharmony_ci VI4_CLKENB_MARK, 205662306a36Sopenharmony_ci}; 205762306a36Sopenharmony_cistatic const unsigned int vin4_clk_pins[] = { 205862306a36Sopenharmony_ci /* CLK */ 205962306a36Sopenharmony_ci RCAR_GP_PIN(2, 0), 206062306a36Sopenharmony_ci}; 206162306a36Sopenharmony_cistatic const unsigned int vin4_clk_mux[] = { 206262306a36Sopenharmony_ci VI4_CLK_MARK, 206362306a36Sopenharmony_ci}; 206462306a36Sopenharmony_ci 206562306a36Sopenharmony_cistatic const struct sh_pfc_pin_group pinmux_groups[] = { 206662306a36Sopenharmony_ci SH_PFC_PIN_GROUP(audio_clk_a), 206762306a36Sopenharmony_ci SH_PFC_PIN_GROUP(audio_clk_b), 206862306a36Sopenharmony_ci SH_PFC_PIN_GROUP(audio_clkout), 206962306a36Sopenharmony_ci SH_PFC_PIN_GROUP(audio_clkout1), 207062306a36Sopenharmony_ci SH_PFC_PIN_GROUP(avb0_link), 207162306a36Sopenharmony_ci SH_PFC_PIN_GROUP(avb0_magic), 207262306a36Sopenharmony_ci SH_PFC_PIN_GROUP(avb0_phy_int), 207362306a36Sopenharmony_ci SH_PFC_PIN_GROUP_ALIAS(avb0_mdc, avb0_mdio), /* Deprecated */ 207462306a36Sopenharmony_ci SH_PFC_PIN_GROUP(avb0_mdio), 207562306a36Sopenharmony_ci SH_PFC_PIN_GROUP(avb0_mii), 207662306a36Sopenharmony_ci SH_PFC_PIN_GROUP(avb0_avtp_pps_a), 207762306a36Sopenharmony_ci SH_PFC_PIN_GROUP(avb0_avtp_match_a), 207862306a36Sopenharmony_ci SH_PFC_PIN_GROUP(avb0_avtp_capture_a), 207962306a36Sopenharmony_ci SH_PFC_PIN_GROUP(avb0_avtp_pps_b), 208062306a36Sopenharmony_ci SH_PFC_PIN_GROUP(avb0_avtp_match_b), 208162306a36Sopenharmony_ci SH_PFC_PIN_GROUP(avb0_avtp_capture_b), 208262306a36Sopenharmony_ci SH_PFC_PIN_GROUP(can0_data_a), 208362306a36Sopenharmony_ci SH_PFC_PIN_GROUP(can0_data_b), 208462306a36Sopenharmony_ci SH_PFC_PIN_GROUP(can1_data_a), 208562306a36Sopenharmony_ci SH_PFC_PIN_GROUP(can1_data_b), 208662306a36Sopenharmony_ci SH_PFC_PIN_GROUP(can_clk), 208762306a36Sopenharmony_ci SH_PFC_PIN_GROUP(canfd0_data), 208862306a36Sopenharmony_ci SH_PFC_PIN_GROUP(canfd1_data), 208962306a36Sopenharmony_ci SH_PFC_PIN_GROUP(du_rgb666), 209062306a36Sopenharmony_ci SH_PFC_PIN_GROUP(du_rgb888), 209162306a36Sopenharmony_ci SH_PFC_PIN_GROUP(du_clk_in_1), 209262306a36Sopenharmony_ci SH_PFC_PIN_GROUP(du_clk_out_0), 209362306a36Sopenharmony_ci SH_PFC_PIN_GROUP(du_sync), 209462306a36Sopenharmony_ci SH_PFC_PIN_GROUP(du_disp_cde), 209562306a36Sopenharmony_ci SH_PFC_PIN_GROUP(du_cde), 209662306a36Sopenharmony_ci SH_PFC_PIN_GROUP(du_disp), 209762306a36Sopenharmony_ci SH_PFC_PIN_GROUP(i2c0), 209862306a36Sopenharmony_ci SH_PFC_PIN_GROUP(i2c1), 209962306a36Sopenharmony_ci SH_PFC_PIN_GROUP(i2c2_a), 210062306a36Sopenharmony_ci SH_PFC_PIN_GROUP(i2c2_b), 210162306a36Sopenharmony_ci SH_PFC_PIN_GROUP(i2c3_a), 210262306a36Sopenharmony_ci SH_PFC_PIN_GROUP(i2c3_b), 210362306a36Sopenharmony_ci SH_PFC_PIN_GROUP(mlb_3pin), 210462306a36Sopenharmony_ci BUS_DATA_PIN_GROUP(mmc_data, 1), 210562306a36Sopenharmony_ci BUS_DATA_PIN_GROUP(mmc_data, 4), 210662306a36Sopenharmony_ci BUS_DATA_PIN_GROUP(mmc_data, 8), 210762306a36Sopenharmony_ci SH_PFC_PIN_GROUP(mmc_ctrl), 210862306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof0_clk), 210962306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof0_sync), 211062306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof0_ss1), 211162306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof0_ss2), 211262306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof0_txd), 211362306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof0_rxd), 211462306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof1_clk), 211562306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof1_sync), 211662306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof1_ss1), 211762306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof1_ss2), 211862306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof1_txd), 211962306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof1_rxd), 212062306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof2_clk), 212162306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof2_sync_a), 212262306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof2_sync_b), 212362306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof2_ss1), 212462306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof2_ss2), 212562306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof2_txd), 212662306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof2_rxd), 212762306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof3_clk_a), 212862306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof3_sync_a), 212962306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof3_ss1_a), 213062306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof3_ss2_a), 213162306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof3_txd_a), 213262306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof3_rxd_a), 213362306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof3_clk_b), 213462306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof3_sync_b), 213562306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof3_ss1_b), 213662306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof3_ss2_b), 213762306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof3_txd_b), 213862306a36Sopenharmony_ci SH_PFC_PIN_GROUP(msiof3_rxd_b), 213962306a36Sopenharmony_ci SH_PFC_PIN_GROUP(pwm0_a), 214062306a36Sopenharmony_ci SH_PFC_PIN_GROUP(pwm0_b), 214162306a36Sopenharmony_ci SH_PFC_PIN_GROUP(pwm0_c), 214262306a36Sopenharmony_ci SH_PFC_PIN_GROUP(pwm1_a), 214362306a36Sopenharmony_ci SH_PFC_PIN_GROUP(pwm1_b), 214462306a36Sopenharmony_ci SH_PFC_PIN_GROUP(pwm1_c), 214562306a36Sopenharmony_ci SH_PFC_PIN_GROUP(pwm2_a), 214662306a36Sopenharmony_ci SH_PFC_PIN_GROUP(pwm2_b), 214762306a36Sopenharmony_ci SH_PFC_PIN_GROUP(pwm2_c), 214862306a36Sopenharmony_ci SH_PFC_PIN_GROUP(pwm3_a), 214962306a36Sopenharmony_ci SH_PFC_PIN_GROUP(pwm3_b), 215062306a36Sopenharmony_ci SH_PFC_PIN_GROUP(pwm3_c), 215162306a36Sopenharmony_ci SH_PFC_PIN_GROUP(qspi0_ctrl), 215262306a36Sopenharmony_ci SH_PFC_PIN_GROUP_SUBSET(qspi0_data2, rpc_data, 0, 2), 215362306a36Sopenharmony_ci SH_PFC_PIN_GROUP_SUBSET(qspi0_data4, rpc_data, 0, 4), 215462306a36Sopenharmony_ci SH_PFC_PIN_GROUP(qspi1_ctrl), 215562306a36Sopenharmony_ci SH_PFC_PIN_GROUP_SUBSET(qspi1_data2, rpc_data, 4, 2), 215662306a36Sopenharmony_ci SH_PFC_PIN_GROUP_SUBSET(qspi1_data4, rpc_data, 4, 4), 215762306a36Sopenharmony_ci BUS_DATA_PIN_GROUP(rpc_clk, 1), 215862306a36Sopenharmony_ci BUS_DATA_PIN_GROUP(rpc_clk, 2), 215962306a36Sopenharmony_ci SH_PFC_PIN_GROUP(rpc_ctrl), 216062306a36Sopenharmony_ci SH_PFC_PIN_GROUP(rpc_data), 216162306a36Sopenharmony_ci SH_PFC_PIN_GROUP(rpc_reset), 216262306a36Sopenharmony_ci SH_PFC_PIN_GROUP(rpc_int), 216362306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif0_data_a), 216462306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif0_clk_a), 216562306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif0_data_b), 216662306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif0_clk_b), 216762306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif0_ctrl), 216862306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif1_data_a), 216962306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif1_clk_a), 217062306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif1_data_b), 217162306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif1_clk_b), 217262306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif1_ctrl), 217362306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif2_data), 217462306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif2_clk), 217562306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif3_data_a), 217662306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif3_clk_a), 217762306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif3_data_b), 217862306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif3_clk_b), 217962306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif4_data_a), 218062306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif4_clk_a), 218162306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif4_data_b), 218262306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif4_clk_b), 218362306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif5_data_a), 218462306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif5_clk_a), 218562306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif5_data_b), 218662306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif5_clk_b), 218762306a36Sopenharmony_ci SH_PFC_PIN_GROUP(scif_clk), 218862306a36Sopenharmony_ci SH_PFC_PIN_GROUP(ssi3_data), 218962306a36Sopenharmony_ci SH_PFC_PIN_GROUP(ssi34_ctrl), 219062306a36Sopenharmony_ci SH_PFC_PIN_GROUP(ssi4_ctrl_a), 219162306a36Sopenharmony_ci SH_PFC_PIN_GROUP(ssi4_data_a), 219262306a36Sopenharmony_ci SH_PFC_PIN_GROUP(ssi4_ctrl_b), 219362306a36Sopenharmony_ci SH_PFC_PIN_GROUP(ssi4_data_b), 219462306a36Sopenharmony_ci SH_PFC_PIN_GROUP(usb0), 219562306a36Sopenharmony_ci BUS_DATA_PIN_GROUP(vin4_data, 8), 219662306a36Sopenharmony_ci BUS_DATA_PIN_GROUP(vin4_data, 10), 219762306a36Sopenharmony_ci BUS_DATA_PIN_GROUP(vin4_data, 12), 219862306a36Sopenharmony_ci BUS_DATA_PIN_GROUP(vin4_data, 16), 219962306a36Sopenharmony_ci SH_PFC_PIN_GROUP(vin4_data18), 220062306a36Sopenharmony_ci BUS_DATA_PIN_GROUP(vin4_data, 20), 220162306a36Sopenharmony_ci BUS_DATA_PIN_GROUP(vin4_data, 24), 220262306a36Sopenharmony_ci SH_PFC_PIN_GROUP(vin4_sync), 220362306a36Sopenharmony_ci SH_PFC_PIN_GROUP(vin4_field), 220462306a36Sopenharmony_ci SH_PFC_PIN_GROUP(vin4_clkenb), 220562306a36Sopenharmony_ci SH_PFC_PIN_GROUP(vin4_clk), 220662306a36Sopenharmony_ci}; 220762306a36Sopenharmony_ci 220862306a36Sopenharmony_cistatic const char * const audio_clk_groups[] = { 220962306a36Sopenharmony_ci "audio_clk_a", 221062306a36Sopenharmony_ci "audio_clk_b", 221162306a36Sopenharmony_ci "audio_clkout", 221262306a36Sopenharmony_ci "audio_clkout1", 221362306a36Sopenharmony_ci}; 221462306a36Sopenharmony_ci 221562306a36Sopenharmony_cistatic const char * const avb0_groups[] = { 221662306a36Sopenharmony_ci "avb0_link", 221762306a36Sopenharmony_ci "avb0_magic", 221862306a36Sopenharmony_ci "avb0_phy_int", 221962306a36Sopenharmony_ci "avb0_mdc", /* Deprecated, please use "avb0_mdio" instead */ 222062306a36Sopenharmony_ci "avb0_mdio", 222162306a36Sopenharmony_ci "avb0_mii", 222262306a36Sopenharmony_ci "avb0_avtp_pps_a", 222362306a36Sopenharmony_ci "avb0_avtp_match_a", 222462306a36Sopenharmony_ci "avb0_avtp_capture_a", 222562306a36Sopenharmony_ci "avb0_avtp_pps_b", 222662306a36Sopenharmony_ci "avb0_avtp_match_b", 222762306a36Sopenharmony_ci "avb0_avtp_capture_b", 222862306a36Sopenharmony_ci}; 222962306a36Sopenharmony_ci 223062306a36Sopenharmony_cistatic const char * const can0_groups[] = { 223162306a36Sopenharmony_ci "can0_data_a", 223262306a36Sopenharmony_ci "can0_data_b", 223362306a36Sopenharmony_ci}; 223462306a36Sopenharmony_cistatic const char * const can1_groups[] = { 223562306a36Sopenharmony_ci "can1_data_a", 223662306a36Sopenharmony_ci "can1_data_b", 223762306a36Sopenharmony_ci}; 223862306a36Sopenharmony_cistatic const char * const can_clk_groups[] = { 223962306a36Sopenharmony_ci "can_clk", 224062306a36Sopenharmony_ci}; 224162306a36Sopenharmony_ci 224262306a36Sopenharmony_cistatic const char * const canfd0_groups[] = { 224362306a36Sopenharmony_ci "canfd0_data", 224462306a36Sopenharmony_ci}; 224562306a36Sopenharmony_cistatic const char * const canfd1_groups[] = { 224662306a36Sopenharmony_ci "canfd1_data", 224762306a36Sopenharmony_ci}; 224862306a36Sopenharmony_ci 224962306a36Sopenharmony_cistatic const char * const du_groups[] = { 225062306a36Sopenharmony_ci "du_rgb666", 225162306a36Sopenharmony_ci "du_rgb888", 225262306a36Sopenharmony_ci "du_clk_in_1", 225362306a36Sopenharmony_ci "du_clk_out_0", 225462306a36Sopenharmony_ci "du_sync", 225562306a36Sopenharmony_ci "du_disp_cde", 225662306a36Sopenharmony_ci "du_cde", 225762306a36Sopenharmony_ci "du_disp", 225862306a36Sopenharmony_ci}; 225962306a36Sopenharmony_ci 226062306a36Sopenharmony_cistatic const char * const i2c0_groups[] = { 226162306a36Sopenharmony_ci "i2c0", 226262306a36Sopenharmony_ci}; 226362306a36Sopenharmony_cistatic const char * const i2c1_groups[] = { 226462306a36Sopenharmony_ci "i2c1", 226562306a36Sopenharmony_ci}; 226662306a36Sopenharmony_ci 226762306a36Sopenharmony_cistatic const char * const i2c2_groups[] = { 226862306a36Sopenharmony_ci "i2c2_a", 226962306a36Sopenharmony_ci "i2c2_b", 227062306a36Sopenharmony_ci}; 227162306a36Sopenharmony_ci 227262306a36Sopenharmony_cistatic const char * const i2c3_groups[] = { 227362306a36Sopenharmony_ci "i2c3_a", 227462306a36Sopenharmony_ci "i2c3_b", 227562306a36Sopenharmony_ci}; 227662306a36Sopenharmony_ci 227762306a36Sopenharmony_cistatic const char * const mlb_3pin_groups[] = { 227862306a36Sopenharmony_ci "mlb_3pin", 227962306a36Sopenharmony_ci}; 228062306a36Sopenharmony_ci 228162306a36Sopenharmony_cistatic const char * const mmc_groups[] = { 228262306a36Sopenharmony_ci "mmc_data1", 228362306a36Sopenharmony_ci "mmc_data4", 228462306a36Sopenharmony_ci "mmc_data8", 228562306a36Sopenharmony_ci "mmc_ctrl", 228662306a36Sopenharmony_ci}; 228762306a36Sopenharmony_ci 228862306a36Sopenharmony_cistatic const char * const msiof0_groups[] = { 228962306a36Sopenharmony_ci "msiof0_clk", 229062306a36Sopenharmony_ci "msiof0_sync", 229162306a36Sopenharmony_ci "msiof0_ss1", 229262306a36Sopenharmony_ci "msiof0_ss2", 229362306a36Sopenharmony_ci "msiof0_txd", 229462306a36Sopenharmony_ci "msiof0_rxd", 229562306a36Sopenharmony_ci}; 229662306a36Sopenharmony_ci 229762306a36Sopenharmony_cistatic const char * const msiof1_groups[] = { 229862306a36Sopenharmony_ci "msiof1_clk", 229962306a36Sopenharmony_ci "msiof1_sync", 230062306a36Sopenharmony_ci "msiof1_ss1", 230162306a36Sopenharmony_ci "msiof1_ss2", 230262306a36Sopenharmony_ci "msiof1_txd", 230362306a36Sopenharmony_ci "msiof1_rxd", 230462306a36Sopenharmony_ci}; 230562306a36Sopenharmony_ci 230662306a36Sopenharmony_cistatic const char * const msiof2_groups[] = { 230762306a36Sopenharmony_ci "msiof2_clk", 230862306a36Sopenharmony_ci "msiof2_sync_a", 230962306a36Sopenharmony_ci "msiof2_sync_b", 231062306a36Sopenharmony_ci "msiof2_ss1", 231162306a36Sopenharmony_ci "msiof2_ss2", 231262306a36Sopenharmony_ci "msiof2_txd", 231362306a36Sopenharmony_ci "msiof2_rxd", 231462306a36Sopenharmony_ci}; 231562306a36Sopenharmony_ci 231662306a36Sopenharmony_cistatic const char * const msiof3_groups[] = { 231762306a36Sopenharmony_ci "msiof3_clk_a", 231862306a36Sopenharmony_ci "msiof3_sync_a", 231962306a36Sopenharmony_ci "msiof3_ss1_a", 232062306a36Sopenharmony_ci "msiof3_ss2_a", 232162306a36Sopenharmony_ci "msiof3_txd_a", 232262306a36Sopenharmony_ci "msiof3_rxd_a", 232362306a36Sopenharmony_ci "msiof3_clk_b", 232462306a36Sopenharmony_ci "msiof3_sync_b", 232562306a36Sopenharmony_ci "msiof3_ss1_b", 232662306a36Sopenharmony_ci "msiof3_ss2_b", 232762306a36Sopenharmony_ci "msiof3_txd_b", 232862306a36Sopenharmony_ci "msiof3_rxd_b", 232962306a36Sopenharmony_ci}; 233062306a36Sopenharmony_ci 233162306a36Sopenharmony_cistatic const char * const pwm0_groups[] = { 233262306a36Sopenharmony_ci "pwm0_a", 233362306a36Sopenharmony_ci "pwm0_b", 233462306a36Sopenharmony_ci "pwm0_c", 233562306a36Sopenharmony_ci}; 233662306a36Sopenharmony_ci 233762306a36Sopenharmony_cistatic const char * const pwm1_groups[] = { 233862306a36Sopenharmony_ci "pwm1_a", 233962306a36Sopenharmony_ci "pwm1_b", 234062306a36Sopenharmony_ci "pwm1_c", 234162306a36Sopenharmony_ci}; 234262306a36Sopenharmony_ci 234362306a36Sopenharmony_cistatic const char * const pwm2_groups[] = { 234462306a36Sopenharmony_ci "pwm2_a", 234562306a36Sopenharmony_ci "pwm2_b", 234662306a36Sopenharmony_ci "pwm2_c", 234762306a36Sopenharmony_ci}; 234862306a36Sopenharmony_ci 234962306a36Sopenharmony_cistatic const char * const pwm3_groups[] = { 235062306a36Sopenharmony_ci "pwm3_a", 235162306a36Sopenharmony_ci "pwm3_b", 235262306a36Sopenharmony_ci "pwm3_c", 235362306a36Sopenharmony_ci}; 235462306a36Sopenharmony_ci 235562306a36Sopenharmony_cistatic const char * const qspi0_groups[] = { 235662306a36Sopenharmony_ci "qspi0_ctrl", 235762306a36Sopenharmony_ci "qspi0_data2", 235862306a36Sopenharmony_ci "qspi0_data4", 235962306a36Sopenharmony_ci}; 236062306a36Sopenharmony_ci 236162306a36Sopenharmony_cistatic const char * const qspi1_groups[] = { 236262306a36Sopenharmony_ci "qspi1_ctrl", 236362306a36Sopenharmony_ci "qspi1_data2", 236462306a36Sopenharmony_ci "qspi1_data4", 236562306a36Sopenharmony_ci}; 236662306a36Sopenharmony_ci 236762306a36Sopenharmony_cistatic const char * const rpc_groups[] = { 236862306a36Sopenharmony_ci "rpc_clk1", 236962306a36Sopenharmony_ci "rpc_clk2", 237062306a36Sopenharmony_ci "rpc_ctrl", 237162306a36Sopenharmony_ci "rpc_data", 237262306a36Sopenharmony_ci "rpc_reset", 237362306a36Sopenharmony_ci "rpc_int", 237462306a36Sopenharmony_ci}; 237562306a36Sopenharmony_ci 237662306a36Sopenharmony_cistatic const char * const scif0_groups[] = { 237762306a36Sopenharmony_ci "scif0_data_a", 237862306a36Sopenharmony_ci "scif0_clk_a", 237962306a36Sopenharmony_ci "scif0_data_b", 238062306a36Sopenharmony_ci "scif0_clk_b", 238162306a36Sopenharmony_ci "scif0_ctrl", 238262306a36Sopenharmony_ci}; 238362306a36Sopenharmony_ci 238462306a36Sopenharmony_cistatic const char * const scif1_groups[] = { 238562306a36Sopenharmony_ci "scif1_data_a", 238662306a36Sopenharmony_ci "scif1_clk_a", 238762306a36Sopenharmony_ci "scif1_data_b", 238862306a36Sopenharmony_ci "scif1_clk_b", 238962306a36Sopenharmony_ci "scif1_ctrl", 239062306a36Sopenharmony_ci}; 239162306a36Sopenharmony_ci 239262306a36Sopenharmony_cistatic const char * const scif2_groups[] = { 239362306a36Sopenharmony_ci "scif2_data", 239462306a36Sopenharmony_ci "scif2_clk", 239562306a36Sopenharmony_ci}; 239662306a36Sopenharmony_ci 239762306a36Sopenharmony_cistatic const char * const scif3_groups[] = { 239862306a36Sopenharmony_ci "scif3_data_a", 239962306a36Sopenharmony_ci "scif3_clk_a", 240062306a36Sopenharmony_ci "scif3_data_b", 240162306a36Sopenharmony_ci "scif3_clk_b", 240262306a36Sopenharmony_ci}; 240362306a36Sopenharmony_ci 240462306a36Sopenharmony_cistatic const char * const scif4_groups[] = { 240562306a36Sopenharmony_ci "scif4_data_a", 240662306a36Sopenharmony_ci "scif4_clk_a", 240762306a36Sopenharmony_ci "scif4_data_b", 240862306a36Sopenharmony_ci "scif4_clk_b", 240962306a36Sopenharmony_ci}; 241062306a36Sopenharmony_ci 241162306a36Sopenharmony_cistatic const char * const scif5_groups[] = { 241262306a36Sopenharmony_ci "scif5_data_a", 241362306a36Sopenharmony_ci "scif5_clk_a", 241462306a36Sopenharmony_ci "scif5_data_b", 241562306a36Sopenharmony_ci "scif5_clk_b", 241662306a36Sopenharmony_ci}; 241762306a36Sopenharmony_ci 241862306a36Sopenharmony_cistatic const char * const scif_clk_groups[] = { 241962306a36Sopenharmony_ci "scif_clk", 242062306a36Sopenharmony_ci}; 242162306a36Sopenharmony_ci 242262306a36Sopenharmony_cistatic const char * const ssi_groups[] = { 242362306a36Sopenharmony_ci "ssi3_data", 242462306a36Sopenharmony_ci "ssi34_ctrl", 242562306a36Sopenharmony_ci "ssi4_ctrl_a", 242662306a36Sopenharmony_ci "ssi4_data_a", 242762306a36Sopenharmony_ci "ssi4_ctrl_b", 242862306a36Sopenharmony_ci "ssi4_data_b", 242962306a36Sopenharmony_ci}; 243062306a36Sopenharmony_ci 243162306a36Sopenharmony_cistatic const char * const usb0_groups[] = { 243262306a36Sopenharmony_ci "usb0", 243362306a36Sopenharmony_ci}; 243462306a36Sopenharmony_ci 243562306a36Sopenharmony_cistatic const char * const vin4_groups[] = { 243662306a36Sopenharmony_ci "vin4_data8", 243762306a36Sopenharmony_ci "vin4_data10", 243862306a36Sopenharmony_ci "vin4_data12", 243962306a36Sopenharmony_ci "vin4_data16", 244062306a36Sopenharmony_ci "vin4_data18", 244162306a36Sopenharmony_ci "vin4_data20", 244262306a36Sopenharmony_ci "vin4_data24", 244362306a36Sopenharmony_ci "vin4_sync", 244462306a36Sopenharmony_ci "vin4_field", 244562306a36Sopenharmony_ci "vin4_clkenb", 244662306a36Sopenharmony_ci "vin4_clk", 244762306a36Sopenharmony_ci}; 244862306a36Sopenharmony_ci 244962306a36Sopenharmony_cistatic const struct sh_pfc_function pinmux_functions[] = { 245062306a36Sopenharmony_ci SH_PFC_FUNCTION(audio_clk), 245162306a36Sopenharmony_ci SH_PFC_FUNCTION(avb0), 245262306a36Sopenharmony_ci SH_PFC_FUNCTION(can0), 245362306a36Sopenharmony_ci SH_PFC_FUNCTION(can1), 245462306a36Sopenharmony_ci SH_PFC_FUNCTION(can_clk), 245562306a36Sopenharmony_ci SH_PFC_FUNCTION(canfd0), 245662306a36Sopenharmony_ci SH_PFC_FUNCTION(canfd1), 245762306a36Sopenharmony_ci SH_PFC_FUNCTION(du), 245862306a36Sopenharmony_ci SH_PFC_FUNCTION(i2c0), 245962306a36Sopenharmony_ci SH_PFC_FUNCTION(i2c1), 246062306a36Sopenharmony_ci SH_PFC_FUNCTION(i2c2), 246162306a36Sopenharmony_ci SH_PFC_FUNCTION(i2c3), 246262306a36Sopenharmony_ci SH_PFC_FUNCTION(mlb_3pin), 246362306a36Sopenharmony_ci SH_PFC_FUNCTION(mmc), 246462306a36Sopenharmony_ci SH_PFC_FUNCTION(msiof0), 246562306a36Sopenharmony_ci SH_PFC_FUNCTION(msiof1), 246662306a36Sopenharmony_ci SH_PFC_FUNCTION(msiof2), 246762306a36Sopenharmony_ci SH_PFC_FUNCTION(msiof3), 246862306a36Sopenharmony_ci SH_PFC_FUNCTION(pwm0), 246962306a36Sopenharmony_ci SH_PFC_FUNCTION(pwm1), 247062306a36Sopenharmony_ci SH_PFC_FUNCTION(pwm2), 247162306a36Sopenharmony_ci SH_PFC_FUNCTION(pwm3), 247262306a36Sopenharmony_ci SH_PFC_FUNCTION(qspi0), 247362306a36Sopenharmony_ci SH_PFC_FUNCTION(qspi1), 247462306a36Sopenharmony_ci SH_PFC_FUNCTION(rpc), 247562306a36Sopenharmony_ci SH_PFC_FUNCTION(scif0), 247662306a36Sopenharmony_ci SH_PFC_FUNCTION(scif1), 247762306a36Sopenharmony_ci SH_PFC_FUNCTION(scif2), 247862306a36Sopenharmony_ci SH_PFC_FUNCTION(scif3), 247962306a36Sopenharmony_ci SH_PFC_FUNCTION(scif4), 248062306a36Sopenharmony_ci SH_PFC_FUNCTION(scif5), 248162306a36Sopenharmony_ci SH_PFC_FUNCTION(scif_clk), 248262306a36Sopenharmony_ci SH_PFC_FUNCTION(ssi), 248362306a36Sopenharmony_ci SH_PFC_FUNCTION(usb0), 248462306a36Sopenharmony_ci SH_PFC_FUNCTION(vin4), 248562306a36Sopenharmony_ci}; 248662306a36Sopenharmony_ci 248762306a36Sopenharmony_cistatic const struct pinmux_cfg_reg pinmux_config_regs[] = { 248862306a36Sopenharmony_ci#define F_(x, y) FN_##y 248962306a36Sopenharmony_ci#define FM(x) FN_##x 249062306a36Sopenharmony_ci { PINMUX_CFG_REG_VAR("GPSR0", 0xe6060100, 32, 249162306a36Sopenharmony_ci GROUP(-23, 1, 1, 1, 1, 1, 1, 1, 1, 1), 249262306a36Sopenharmony_ci GROUP( 249362306a36Sopenharmony_ci /* GP0_31_9 RESERVED */ 249462306a36Sopenharmony_ci GP_0_8_FN, GPSR0_8, 249562306a36Sopenharmony_ci GP_0_7_FN, GPSR0_7, 249662306a36Sopenharmony_ci GP_0_6_FN, GPSR0_6, 249762306a36Sopenharmony_ci GP_0_5_FN, GPSR0_5, 249862306a36Sopenharmony_ci GP_0_4_FN, GPSR0_4, 249962306a36Sopenharmony_ci GP_0_3_FN, GPSR0_3, 250062306a36Sopenharmony_ci GP_0_2_FN, GPSR0_2, 250162306a36Sopenharmony_ci GP_0_1_FN, GPSR0_1, 250262306a36Sopenharmony_ci GP_0_0_FN, GPSR0_0, )) 250362306a36Sopenharmony_ci }, 250462306a36Sopenharmony_ci { PINMUX_CFG_REG("GPSR1", 0xe6060104, 32, 1, GROUP( 250562306a36Sopenharmony_ci GP_1_31_FN, GPSR1_31, 250662306a36Sopenharmony_ci GP_1_30_FN, GPSR1_30, 250762306a36Sopenharmony_ci GP_1_29_FN, GPSR1_29, 250862306a36Sopenharmony_ci GP_1_28_FN, GPSR1_28, 250962306a36Sopenharmony_ci GP_1_27_FN, GPSR1_27, 251062306a36Sopenharmony_ci GP_1_26_FN, GPSR1_26, 251162306a36Sopenharmony_ci GP_1_25_FN, GPSR1_25, 251262306a36Sopenharmony_ci GP_1_24_FN, GPSR1_24, 251362306a36Sopenharmony_ci GP_1_23_FN, GPSR1_23, 251462306a36Sopenharmony_ci GP_1_22_FN, GPSR1_22, 251562306a36Sopenharmony_ci GP_1_21_FN, GPSR1_21, 251662306a36Sopenharmony_ci GP_1_20_FN, GPSR1_20, 251762306a36Sopenharmony_ci GP_1_19_FN, GPSR1_19, 251862306a36Sopenharmony_ci GP_1_18_FN, GPSR1_18, 251962306a36Sopenharmony_ci GP_1_17_FN, GPSR1_17, 252062306a36Sopenharmony_ci GP_1_16_FN, GPSR1_16, 252162306a36Sopenharmony_ci GP_1_15_FN, GPSR1_15, 252262306a36Sopenharmony_ci GP_1_14_FN, GPSR1_14, 252362306a36Sopenharmony_ci GP_1_13_FN, GPSR1_13, 252462306a36Sopenharmony_ci GP_1_12_FN, GPSR1_12, 252562306a36Sopenharmony_ci GP_1_11_FN, GPSR1_11, 252662306a36Sopenharmony_ci GP_1_10_FN, GPSR1_10, 252762306a36Sopenharmony_ci GP_1_9_FN, GPSR1_9, 252862306a36Sopenharmony_ci GP_1_8_FN, GPSR1_8, 252962306a36Sopenharmony_ci GP_1_7_FN, GPSR1_7, 253062306a36Sopenharmony_ci GP_1_6_FN, GPSR1_6, 253162306a36Sopenharmony_ci GP_1_5_FN, GPSR1_5, 253262306a36Sopenharmony_ci GP_1_4_FN, GPSR1_4, 253362306a36Sopenharmony_ci GP_1_3_FN, GPSR1_3, 253462306a36Sopenharmony_ci GP_1_2_FN, GPSR1_2, 253562306a36Sopenharmony_ci GP_1_1_FN, GPSR1_1, 253662306a36Sopenharmony_ci GP_1_0_FN, GPSR1_0, )) 253762306a36Sopenharmony_ci }, 253862306a36Sopenharmony_ci { PINMUX_CFG_REG("GPSR2", 0xe6060108, 32, 1, GROUP( 253962306a36Sopenharmony_ci GP_2_31_FN, GPSR2_31, 254062306a36Sopenharmony_ci GP_2_30_FN, GPSR2_30, 254162306a36Sopenharmony_ci GP_2_29_FN, GPSR2_29, 254262306a36Sopenharmony_ci GP_2_28_FN, GPSR2_28, 254362306a36Sopenharmony_ci GP_2_27_FN, GPSR2_27, 254462306a36Sopenharmony_ci GP_2_26_FN, GPSR2_26, 254562306a36Sopenharmony_ci GP_2_25_FN, GPSR2_25, 254662306a36Sopenharmony_ci GP_2_24_FN, GPSR2_24, 254762306a36Sopenharmony_ci GP_2_23_FN, GPSR2_23, 254862306a36Sopenharmony_ci GP_2_22_FN, GPSR2_22, 254962306a36Sopenharmony_ci GP_2_21_FN, GPSR2_21, 255062306a36Sopenharmony_ci GP_2_20_FN, GPSR2_20, 255162306a36Sopenharmony_ci GP_2_19_FN, GPSR2_19, 255262306a36Sopenharmony_ci GP_2_18_FN, GPSR2_18, 255362306a36Sopenharmony_ci GP_2_17_FN, GPSR2_17, 255462306a36Sopenharmony_ci GP_2_16_FN, GPSR2_16, 255562306a36Sopenharmony_ci GP_2_15_FN, GPSR2_15, 255662306a36Sopenharmony_ci GP_2_14_FN, GPSR2_14, 255762306a36Sopenharmony_ci GP_2_13_FN, GPSR2_13, 255862306a36Sopenharmony_ci GP_2_12_FN, GPSR2_12, 255962306a36Sopenharmony_ci GP_2_11_FN, GPSR2_11, 256062306a36Sopenharmony_ci GP_2_10_FN, GPSR2_10, 256162306a36Sopenharmony_ci GP_2_9_FN, GPSR2_9, 256262306a36Sopenharmony_ci GP_2_8_FN, GPSR2_8, 256362306a36Sopenharmony_ci GP_2_7_FN, GPSR2_7, 256462306a36Sopenharmony_ci GP_2_6_FN, GPSR2_6, 256562306a36Sopenharmony_ci GP_2_5_FN, GPSR2_5, 256662306a36Sopenharmony_ci GP_2_4_FN, GPSR2_4, 256762306a36Sopenharmony_ci GP_2_3_FN, GPSR2_3, 256862306a36Sopenharmony_ci GP_2_2_FN, GPSR2_2, 256962306a36Sopenharmony_ci GP_2_1_FN, GPSR2_1, 257062306a36Sopenharmony_ci GP_2_0_FN, GPSR2_0, )) 257162306a36Sopenharmony_ci }, 257262306a36Sopenharmony_ci { PINMUX_CFG_REG_VAR("GPSR3", 0xe606010c, 32, 257362306a36Sopenharmony_ci GROUP(-22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), 257462306a36Sopenharmony_ci GROUP( 257562306a36Sopenharmony_ci /* GP3_31_10 RESERVED */ 257662306a36Sopenharmony_ci GP_3_9_FN, GPSR3_9, 257762306a36Sopenharmony_ci GP_3_8_FN, GPSR3_8, 257862306a36Sopenharmony_ci GP_3_7_FN, GPSR3_7, 257962306a36Sopenharmony_ci GP_3_6_FN, GPSR3_6, 258062306a36Sopenharmony_ci GP_3_5_FN, GPSR3_5, 258162306a36Sopenharmony_ci GP_3_4_FN, GPSR3_4, 258262306a36Sopenharmony_ci GP_3_3_FN, GPSR3_3, 258362306a36Sopenharmony_ci GP_3_2_FN, GPSR3_2, 258462306a36Sopenharmony_ci GP_3_1_FN, GPSR3_1, 258562306a36Sopenharmony_ci GP_3_0_FN, GPSR3_0, )) 258662306a36Sopenharmony_ci }, 258762306a36Sopenharmony_ci { PINMUX_CFG_REG("GPSR4", 0xe6060110, 32, 1, GROUP( 258862306a36Sopenharmony_ci GP_4_31_FN, GPSR4_31, 258962306a36Sopenharmony_ci GP_4_30_FN, GPSR4_30, 259062306a36Sopenharmony_ci GP_4_29_FN, GPSR4_29, 259162306a36Sopenharmony_ci GP_4_28_FN, GPSR4_28, 259262306a36Sopenharmony_ci GP_4_27_FN, GPSR4_27, 259362306a36Sopenharmony_ci GP_4_26_FN, GPSR4_26, 259462306a36Sopenharmony_ci GP_4_25_FN, GPSR4_25, 259562306a36Sopenharmony_ci GP_4_24_FN, GPSR4_24, 259662306a36Sopenharmony_ci GP_4_23_FN, GPSR4_23, 259762306a36Sopenharmony_ci GP_4_22_FN, GPSR4_22, 259862306a36Sopenharmony_ci GP_4_21_FN, GPSR4_21, 259962306a36Sopenharmony_ci GP_4_20_FN, GPSR4_20, 260062306a36Sopenharmony_ci GP_4_19_FN, GPSR4_19, 260162306a36Sopenharmony_ci GP_4_18_FN, GPSR4_18, 260262306a36Sopenharmony_ci GP_4_17_FN, GPSR4_17, 260362306a36Sopenharmony_ci GP_4_16_FN, GPSR4_16, 260462306a36Sopenharmony_ci GP_4_15_FN, GPSR4_15, 260562306a36Sopenharmony_ci GP_4_14_FN, GPSR4_14, 260662306a36Sopenharmony_ci GP_4_13_FN, GPSR4_13, 260762306a36Sopenharmony_ci GP_4_12_FN, GPSR4_12, 260862306a36Sopenharmony_ci GP_4_11_FN, GPSR4_11, 260962306a36Sopenharmony_ci GP_4_10_FN, GPSR4_10, 261062306a36Sopenharmony_ci GP_4_9_FN, GPSR4_9, 261162306a36Sopenharmony_ci GP_4_8_FN, GPSR4_8, 261262306a36Sopenharmony_ci GP_4_7_FN, GPSR4_7, 261362306a36Sopenharmony_ci GP_4_6_FN, GPSR4_6, 261462306a36Sopenharmony_ci GP_4_5_FN, GPSR4_5, 261562306a36Sopenharmony_ci GP_4_4_FN, GPSR4_4, 261662306a36Sopenharmony_ci GP_4_3_FN, GPSR4_3, 261762306a36Sopenharmony_ci GP_4_2_FN, GPSR4_2, 261862306a36Sopenharmony_ci GP_4_1_FN, GPSR4_1, 261962306a36Sopenharmony_ci GP_4_0_FN, GPSR4_0, )) 262062306a36Sopenharmony_ci }, 262162306a36Sopenharmony_ci { PINMUX_CFG_REG_VAR("GPSR5", 0xe6060114, 32, 262262306a36Sopenharmony_ci GROUP(-11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 262362306a36Sopenharmony_ci 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), 262462306a36Sopenharmony_ci GROUP( 262562306a36Sopenharmony_ci /* GP5_31_21 RESERVED */ 262662306a36Sopenharmony_ci GP_5_20_FN, GPSR5_20, 262762306a36Sopenharmony_ci GP_5_19_FN, GPSR5_19, 262862306a36Sopenharmony_ci GP_5_18_FN, GPSR5_18, 262962306a36Sopenharmony_ci GP_5_17_FN, GPSR5_17, 263062306a36Sopenharmony_ci GP_5_16_FN, GPSR5_16, 263162306a36Sopenharmony_ci GP_5_15_FN, GPSR5_15, 263262306a36Sopenharmony_ci GP_5_14_FN, GPSR5_14, 263362306a36Sopenharmony_ci GP_5_13_FN, GPSR5_13, 263462306a36Sopenharmony_ci GP_5_12_FN, GPSR5_12, 263562306a36Sopenharmony_ci GP_5_11_FN, GPSR5_11, 263662306a36Sopenharmony_ci GP_5_10_FN, GPSR5_10, 263762306a36Sopenharmony_ci GP_5_9_FN, GPSR5_9, 263862306a36Sopenharmony_ci GP_5_8_FN, GPSR5_8, 263962306a36Sopenharmony_ci GP_5_7_FN, GPSR5_7, 264062306a36Sopenharmony_ci GP_5_6_FN, GPSR5_6, 264162306a36Sopenharmony_ci GP_5_5_FN, GPSR5_5, 264262306a36Sopenharmony_ci GP_5_4_FN, GPSR5_4, 264362306a36Sopenharmony_ci GP_5_3_FN, GPSR5_3, 264462306a36Sopenharmony_ci GP_5_2_FN, GPSR5_2, 264562306a36Sopenharmony_ci GP_5_1_FN, GPSR5_1, 264662306a36Sopenharmony_ci GP_5_0_FN, GPSR5_0, )) 264762306a36Sopenharmony_ci }, 264862306a36Sopenharmony_ci { PINMUX_CFG_REG_VAR("GPSR6", 0xe6060118, 32, 264962306a36Sopenharmony_ci GROUP(-18, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 265062306a36Sopenharmony_ci 1, 1, 1), 265162306a36Sopenharmony_ci GROUP( 265262306a36Sopenharmony_ci /* GP6_31_14 RESERVED */ 265362306a36Sopenharmony_ci GP_6_13_FN, GPSR6_13, 265462306a36Sopenharmony_ci GP_6_12_FN, GPSR6_12, 265562306a36Sopenharmony_ci GP_6_11_FN, GPSR6_11, 265662306a36Sopenharmony_ci GP_6_10_FN, GPSR6_10, 265762306a36Sopenharmony_ci GP_6_9_FN, GPSR6_9, 265862306a36Sopenharmony_ci GP_6_8_FN, GPSR6_8, 265962306a36Sopenharmony_ci GP_6_7_FN, GPSR6_7, 266062306a36Sopenharmony_ci GP_6_6_FN, GPSR6_6, 266162306a36Sopenharmony_ci GP_6_5_FN, GPSR6_5, 266262306a36Sopenharmony_ci GP_6_4_FN, GPSR6_4, 266362306a36Sopenharmony_ci GP_6_3_FN, GPSR6_3, 266462306a36Sopenharmony_ci GP_6_2_FN, GPSR6_2, 266562306a36Sopenharmony_ci GP_6_1_FN, GPSR6_1, 266662306a36Sopenharmony_ci GP_6_0_FN, GPSR6_0, )) 266762306a36Sopenharmony_ci }, 266862306a36Sopenharmony_ci#undef F_ 266962306a36Sopenharmony_ci#undef FM 267062306a36Sopenharmony_ci 267162306a36Sopenharmony_ci#define F_(x, y) x, 267262306a36Sopenharmony_ci#define FM(x) FN_##x, 267362306a36Sopenharmony_ci { PINMUX_CFG_REG("IPSR0", 0xe6060200, 32, 4, GROUP( 267462306a36Sopenharmony_ci IP0_31_28 267562306a36Sopenharmony_ci IP0_27_24 267662306a36Sopenharmony_ci IP0_23_20 267762306a36Sopenharmony_ci IP0_19_16 267862306a36Sopenharmony_ci IP0_15_12 267962306a36Sopenharmony_ci IP0_11_8 268062306a36Sopenharmony_ci IP0_7_4 268162306a36Sopenharmony_ci IP0_3_0 )) 268262306a36Sopenharmony_ci }, 268362306a36Sopenharmony_ci { PINMUX_CFG_REG("IPSR1", 0xe6060204, 32, 4, GROUP( 268462306a36Sopenharmony_ci IP1_31_28 268562306a36Sopenharmony_ci IP1_27_24 268662306a36Sopenharmony_ci IP1_23_20 268762306a36Sopenharmony_ci IP1_19_16 268862306a36Sopenharmony_ci IP1_15_12 268962306a36Sopenharmony_ci IP1_11_8 269062306a36Sopenharmony_ci IP1_7_4 269162306a36Sopenharmony_ci IP1_3_0 )) 269262306a36Sopenharmony_ci }, 269362306a36Sopenharmony_ci { PINMUX_CFG_REG("IPSR2", 0xe6060208, 32, 4, GROUP( 269462306a36Sopenharmony_ci IP2_31_28 269562306a36Sopenharmony_ci IP2_27_24 269662306a36Sopenharmony_ci IP2_23_20 269762306a36Sopenharmony_ci IP2_19_16 269862306a36Sopenharmony_ci IP2_15_12 269962306a36Sopenharmony_ci IP2_11_8 270062306a36Sopenharmony_ci IP2_7_4 270162306a36Sopenharmony_ci IP2_3_0 )) 270262306a36Sopenharmony_ci }, 270362306a36Sopenharmony_ci { PINMUX_CFG_REG("IPSR3", 0xe606020c, 32, 4, GROUP( 270462306a36Sopenharmony_ci IP3_31_28 270562306a36Sopenharmony_ci IP3_27_24 270662306a36Sopenharmony_ci IP3_23_20 270762306a36Sopenharmony_ci IP3_19_16 270862306a36Sopenharmony_ci IP3_15_12 270962306a36Sopenharmony_ci IP3_11_8 271062306a36Sopenharmony_ci IP3_7_4 271162306a36Sopenharmony_ci IP3_3_0 )) 271262306a36Sopenharmony_ci }, 271362306a36Sopenharmony_ci { PINMUX_CFG_REG("IPSR4", 0xe6060210, 32, 4, GROUP( 271462306a36Sopenharmony_ci IP4_31_28 271562306a36Sopenharmony_ci IP4_27_24 271662306a36Sopenharmony_ci IP4_23_20 271762306a36Sopenharmony_ci IP4_19_16 271862306a36Sopenharmony_ci IP4_15_12 271962306a36Sopenharmony_ci IP4_11_8 272062306a36Sopenharmony_ci IP4_7_4 272162306a36Sopenharmony_ci IP4_3_0 )) 272262306a36Sopenharmony_ci }, 272362306a36Sopenharmony_ci { PINMUX_CFG_REG("IPSR5", 0xe6060214, 32, 4, GROUP( 272462306a36Sopenharmony_ci IP5_31_28 272562306a36Sopenharmony_ci IP5_27_24 272662306a36Sopenharmony_ci IP5_23_20 272762306a36Sopenharmony_ci IP5_19_16 272862306a36Sopenharmony_ci IP5_15_12 272962306a36Sopenharmony_ci IP5_11_8 273062306a36Sopenharmony_ci IP5_7_4 273162306a36Sopenharmony_ci IP5_3_0 )) 273262306a36Sopenharmony_ci }, 273362306a36Sopenharmony_ci { PINMUX_CFG_REG("IPSR6", 0xe6060218, 32, 4, GROUP( 273462306a36Sopenharmony_ci IP6_31_28 273562306a36Sopenharmony_ci IP6_27_24 273662306a36Sopenharmony_ci IP6_23_20 273762306a36Sopenharmony_ci IP6_19_16 273862306a36Sopenharmony_ci IP6_15_12 273962306a36Sopenharmony_ci IP6_11_8 274062306a36Sopenharmony_ci IP6_7_4 274162306a36Sopenharmony_ci IP6_3_0 )) 274262306a36Sopenharmony_ci }, 274362306a36Sopenharmony_ci { PINMUX_CFG_REG("IPSR7", 0xe606021c, 32, 4, GROUP( 274462306a36Sopenharmony_ci IP7_31_28 274562306a36Sopenharmony_ci IP7_27_24 274662306a36Sopenharmony_ci IP7_23_20 274762306a36Sopenharmony_ci IP7_19_16 274862306a36Sopenharmony_ci IP7_15_12 274962306a36Sopenharmony_ci IP7_11_8 275062306a36Sopenharmony_ci IP7_7_4 275162306a36Sopenharmony_ci IP7_3_0 )) 275262306a36Sopenharmony_ci }, 275362306a36Sopenharmony_ci { PINMUX_CFG_REG("IPSR8", 0xe6060220, 32, 4, GROUP( 275462306a36Sopenharmony_ci IP8_31_28 275562306a36Sopenharmony_ci IP8_27_24 275662306a36Sopenharmony_ci IP8_23_20 275762306a36Sopenharmony_ci IP8_19_16 275862306a36Sopenharmony_ci IP8_15_12 275962306a36Sopenharmony_ci IP8_11_8 276062306a36Sopenharmony_ci IP8_7_4 276162306a36Sopenharmony_ci IP8_3_0 )) 276262306a36Sopenharmony_ci }, 276362306a36Sopenharmony_ci { PINMUX_CFG_REG("IPSR9", 0xe6060224, 32, 4, GROUP( 276462306a36Sopenharmony_ci IP9_31_28 276562306a36Sopenharmony_ci IP9_27_24 276662306a36Sopenharmony_ci IP9_23_20 276762306a36Sopenharmony_ci IP9_19_16 276862306a36Sopenharmony_ci IP9_15_12 276962306a36Sopenharmony_ci IP9_11_8 277062306a36Sopenharmony_ci IP9_7_4 277162306a36Sopenharmony_ci IP9_3_0 )) 277262306a36Sopenharmony_ci }, 277362306a36Sopenharmony_ci { PINMUX_CFG_REG("IPSR10", 0xe6060228, 32, 4, GROUP( 277462306a36Sopenharmony_ci IP10_31_28 277562306a36Sopenharmony_ci IP10_27_24 277662306a36Sopenharmony_ci IP10_23_20 277762306a36Sopenharmony_ci IP10_19_16 277862306a36Sopenharmony_ci IP10_15_12 277962306a36Sopenharmony_ci IP10_11_8 278062306a36Sopenharmony_ci IP10_7_4 278162306a36Sopenharmony_ci IP10_3_0 )) 278262306a36Sopenharmony_ci }, 278362306a36Sopenharmony_ci { PINMUX_CFG_REG("IPSR11", 0xe606022c, 32, 4, GROUP( 278462306a36Sopenharmony_ci IP11_31_28 278562306a36Sopenharmony_ci IP11_27_24 278662306a36Sopenharmony_ci IP11_23_20 278762306a36Sopenharmony_ci IP11_19_16 278862306a36Sopenharmony_ci IP11_15_12 278962306a36Sopenharmony_ci IP11_11_8 279062306a36Sopenharmony_ci IP11_7_4 279162306a36Sopenharmony_ci IP11_3_0 )) 279262306a36Sopenharmony_ci }, 279362306a36Sopenharmony_ci { PINMUX_CFG_REG("IPSR12", 0xe6060230, 32, 4, GROUP( 279462306a36Sopenharmony_ci IP12_31_28 279562306a36Sopenharmony_ci IP12_27_24 279662306a36Sopenharmony_ci IP12_23_20 279762306a36Sopenharmony_ci IP12_19_16 279862306a36Sopenharmony_ci IP12_15_12 279962306a36Sopenharmony_ci IP12_11_8 280062306a36Sopenharmony_ci IP12_7_4 280162306a36Sopenharmony_ci IP12_3_0 )) 280262306a36Sopenharmony_ci }, 280362306a36Sopenharmony_ci { PINMUX_CFG_REG_VAR("IPSR13", 0xe6060234, 32, 280462306a36Sopenharmony_ci GROUP(-24, 4, 4), 280562306a36Sopenharmony_ci GROUP( 280662306a36Sopenharmony_ci /* IP13_31_8 RESERVED */ 280762306a36Sopenharmony_ci IP13_7_4 280862306a36Sopenharmony_ci IP13_3_0 )) 280962306a36Sopenharmony_ci }, 281062306a36Sopenharmony_ci#undef F_ 281162306a36Sopenharmony_ci#undef FM 281262306a36Sopenharmony_ci 281362306a36Sopenharmony_ci#define F_(x, y) x, 281462306a36Sopenharmony_ci#define FM(x) FN_##x, 281562306a36Sopenharmony_ci { PINMUX_CFG_REG_VAR("MOD_SEL0", 0xe6060500, 32, 281662306a36Sopenharmony_ci GROUP(-1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, -1, 281762306a36Sopenharmony_ci 1, 1, 1, 1, 1, 1, -4, 1, 1, 1, 1, 1, 1), 281862306a36Sopenharmony_ci GROUP( 281962306a36Sopenharmony_ci /* RESERVED 31 */ 282062306a36Sopenharmony_ci MOD_SEL0_30 282162306a36Sopenharmony_ci MOD_SEL0_29 282262306a36Sopenharmony_ci MOD_SEL0_28 282362306a36Sopenharmony_ci MOD_SEL0_27 282462306a36Sopenharmony_ci MOD_SEL0_26 282562306a36Sopenharmony_ci MOD_SEL0_25 282662306a36Sopenharmony_ci MOD_SEL0_24_23 282762306a36Sopenharmony_ci MOD_SEL0_22_21 282862306a36Sopenharmony_ci MOD_SEL0_20_19 282962306a36Sopenharmony_ci MOD_SEL0_18_17 283062306a36Sopenharmony_ci /* RESERVED 16 */ 283162306a36Sopenharmony_ci MOD_SEL0_15 283262306a36Sopenharmony_ci MOD_SEL0_14 283362306a36Sopenharmony_ci MOD_SEL0_13 283462306a36Sopenharmony_ci MOD_SEL0_12 283562306a36Sopenharmony_ci MOD_SEL0_11 283662306a36Sopenharmony_ci MOD_SEL0_10 283762306a36Sopenharmony_ci /* RESERVED 9, 8, 7, 6 */ 283862306a36Sopenharmony_ci MOD_SEL0_5 283962306a36Sopenharmony_ci MOD_SEL0_4 284062306a36Sopenharmony_ci MOD_SEL0_3 284162306a36Sopenharmony_ci MOD_SEL0_2 284262306a36Sopenharmony_ci MOD_SEL0_1 284362306a36Sopenharmony_ci MOD_SEL0_0 )) 284462306a36Sopenharmony_ci }, 284562306a36Sopenharmony_ci { PINMUX_CFG_REG_VAR("MOD_SEL1", 0xe6060504, 32, 284662306a36Sopenharmony_ci GROUP(1, 1, 1, 1, 1, 1, -26), 284762306a36Sopenharmony_ci GROUP( 284862306a36Sopenharmony_ci MOD_SEL1_31 284962306a36Sopenharmony_ci MOD_SEL1_30 285062306a36Sopenharmony_ci MOD_SEL1_29 285162306a36Sopenharmony_ci MOD_SEL1_28 285262306a36Sopenharmony_ci MOD_SEL1_27 285362306a36Sopenharmony_ci MOD_SEL1_26 285462306a36Sopenharmony_ci /* RESERVED 25-0 */ )) 285562306a36Sopenharmony_ci }, 285662306a36Sopenharmony_ci { /* sentinel */ } 285762306a36Sopenharmony_ci}; 285862306a36Sopenharmony_ci 285962306a36Sopenharmony_cienum ioctrl_regs { 286062306a36Sopenharmony_ci POCCTRL0, 286162306a36Sopenharmony_ci POCCTRL2, 286262306a36Sopenharmony_ci TDSELCTRL, 286362306a36Sopenharmony_ci}; 286462306a36Sopenharmony_ci 286562306a36Sopenharmony_cistatic const struct pinmux_ioctrl_reg pinmux_ioctrl_regs[] = { 286662306a36Sopenharmony_ci [POCCTRL0] = { 0xe6060380, }, 286762306a36Sopenharmony_ci [POCCTRL2] = { 0xe6060388, }, 286862306a36Sopenharmony_ci [TDSELCTRL] = { 0xe60603c0, }, 286962306a36Sopenharmony_ci { /* sentinel */ } 287062306a36Sopenharmony_ci}; 287162306a36Sopenharmony_ci 287262306a36Sopenharmony_ci 287362306a36Sopenharmony_cistatic int r8a77995_pin_to_pocctrl(unsigned int pin, u32 *pocctrl) 287462306a36Sopenharmony_ci{ 287562306a36Sopenharmony_ci switch (pin) { 287662306a36Sopenharmony_ci case RCAR_GP_PIN(3, 0) ... RCAR_GP_PIN(3, 9): 287762306a36Sopenharmony_ci *pocctrl = pinmux_ioctrl_regs[POCCTRL0].reg; 287862306a36Sopenharmony_ci return 29 - (pin - RCAR_GP_PIN(3, 0)); 287962306a36Sopenharmony_ci 288062306a36Sopenharmony_ci case PIN_VDDQ_AVB0: 288162306a36Sopenharmony_ci *pocctrl = pinmux_ioctrl_regs[POCCTRL2].reg; 288262306a36Sopenharmony_ci return 0; 288362306a36Sopenharmony_ci 288462306a36Sopenharmony_ci default: 288562306a36Sopenharmony_ci return -EINVAL; 288662306a36Sopenharmony_ci } 288762306a36Sopenharmony_ci} 288862306a36Sopenharmony_ci 288962306a36Sopenharmony_cistatic const struct pinmux_bias_reg pinmux_bias_regs[] = { 289062306a36Sopenharmony_ci { PINMUX_BIAS_REG("PUEN0", 0xe6060400, "PUD0", 0xe6060440) { 289162306a36Sopenharmony_ci [ 0] = RCAR_GP_PIN(1, 9), /* DU_DG1 */ 289262306a36Sopenharmony_ci [ 1] = RCAR_GP_PIN(1, 8), /* DU_DG0 */ 289362306a36Sopenharmony_ci [ 2] = RCAR_GP_PIN(1, 7), /* DU_DB7 */ 289462306a36Sopenharmony_ci [ 3] = RCAR_GP_PIN(1, 6), /* DU_DB6 */ 289562306a36Sopenharmony_ci [ 4] = RCAR_GP_PIN(1, 5), /* DU_DB5 */ 289662306a36Sopenharmony_ci [ 5] = RCAR_GP_PIN(1, 4), /* DU_DB4 */ 289762306a36Sopenharmony_ci [ 6] = RCAR_GP_PIN(1, 3), /* DU_DB3 */ 289862306a36Sopenharmony_ci [ 7] = RCAR_GP_PIN(1, 2), /* DU_DB2 */ 289962306a36Sopenharmony_ci [ 8] = RCAR_GP_PIN(1, 1), /* DU_DB1 */ 290062306a36Sopenharmony_ci [ 9] = RCAR_GP_PIN(1, 0), /* DU_DB0 */ 290162306a36Sopenharmony_ci [10] = PIN_MLB_REF, /* MLB_REF */ 290262306a36Sopenharmony_ci [11] = RCAR_GP_PIN(0, 8), /* MLB_SIG */ 290362306a36Sopenharmony_ci [12] = RCAR_GP_PIN(0, 7), /* MLB_DAT */ 290462306a36Sopenharmony_ci [13] = RCAR_GP_PIN(0, 6), /* MLB_CLK */ 290562306a36Sopenharmony_ci [14] = RCAR_GP_PIN(0, 5), /* MSIOF2_RXD */ 290662306a36Sopenharmony_ci [15] = RCAR_GP_PIN(0, 4), /* MSIOF2_TXD */ 290762306a36Sopenharmony_ci [16] = RCAR_GP_PIN(0, 3), /* MSIOF2_SCK */ 290862306a36Sopenharmony_ci [17] = RCAR_GP_PIN(0, 2), /* IRQ0_A */ 290962306a36Sopenharmony_ci [18] = RCAR_GP_PIN(0, 1), /* USB0_OVC */ 291062306a36Sopenharmony_ci [19] = RCAR_GP_PIN(0, 0), /* USB0_PWEN */ 291162306a36Sopenharmony_ci [20] = PIN_PRESETOUT_N, /* PRESETOUT# */ 291262306a36Sopenharmony_ci [21] = PIN_DU_DOTCLKIN0, /* DU_DOTCLKIN0 */ 291362306a36Sopenharmony_ci [22] = PIN_FSCLKST_N, /* FSCLKST# */ 291462306a36Sopenharmony_ci [23] = SH_PFC_PIN_NONE, 291562306a36Sopenharmony_ci [24] = SH_PFC_PIN_NONE, 291662306a36Sopenharmony_ci [25] = SH_PFC_PIN_NONE, 291762306a36Sopenharmony_ci [26] = SH_PFC_PIN_NONE, 291862306a36Sopenharmony_ci [27] = SH_PFC_PIN_NONE, 291962306a36Sopenharmony_ci [28] = PIN_TDI, /* TDI */ 292062306a36Sopenharmony_ci [29] = PIN_TMS, /* TMS */ 292162306a36Sopenharmony_ci [30] = PIN_TCK, /* TCK */ 292262306a36Sopenharmony_ci [31] = PIN_TRST_N, /* TRST# */ 292362306a36Sopenharmony_ci } }, 292462306a36Sopenharmony_ci { PINMUX_BIAS_REG("PUEN1", 0xe6060404, "PUD1", 0xe6060444) { 292562306a36Sopenharmony_ci [ 0] = RCAR_GP_PIN(2, 9), /* VI4_DATA8 */ 292662306a36Sopenharmony_ci [ 1] = RCAR_GP_PIN(2, 8), /* VI4_DATA7 */ 292762306a36Sopenharmony_ci [ 2] = RCAR_GP_PIN(2, 7), /* VI4_DATA6 */ 292862306a36Sopenharmony_ci [ 3] = RCAR_GP_PIN(2, 6), /* VI4_DATA5 */ 292962306a36Sopenharmony_ci [ 4] = RCAR_GP_PIN(2, 5), /* VI4_DATA4 */ 293062306a36Sopenharmony_ci [ 5] = RCAR_GP_PIN(2, 4), /* VI4_DATA3 */ 293162306a36Sopenharmony_ci [ 6] = RCAR_GP_PIN(2, 3), /* VI4_DATA2 */ 293262306a36Sopenharmony_ci [ 7] = RCAR_GP_PIN(2, 2), /* VI4_DATA1 */ 293362306a36Sopenharmony_ci [ 8] = RCAR_GP_PIN(2, 1), /* VI4_DATA0 */ 293462306a36Sopenharmony_ci [ 9] = RCAR_GP_PIN(2, 0), /* VI4_CLK */ 293562306a36Sopenharmony_ci [10] = RCAR_GP_PIN(1, 31), /* QPOLB */ 293662306a36Sopenharmony_ci [11] = RCAR_GP_PIN(1, 30), /* QPOLA */ 293762306a36Sopenharmony_ci [12] = RCAR_GP_PIN(1, 29), /* DU_CDE */ 293862306a36Sopenharmony_ci [13] = RCAR_GP_PIN(1, 28), /* DU_DISP/CDE */ 293962306a36Sopenharmony_ci [14] = RCAR_GP_PIN(1, 27), /* DU_DISP */ 294062306a36Sopenharmony_ci [15] = RCAR_GP_PIN(1, 26), /* DU_VSYNC */ 294162306a36Sopenharmony_ci [16] = RCAR_GP_PIN(1, 25), /* DU_HSYNC */ 294262306a36Sopenharmony_ci [17] = RCAR_GP_PIN(1, 24), /* DU_DOTCLKOUT0 */ 294362306a36Sopenharmony_ci [18] = RCAR_GP_PIN(1, 23), /* DU_DR7 */ 294462306a36Sopenharmony_ci [19] = RCAR_GP_PIN(1, 22), /* DU_DR6 */ 294562306a36Sopenharmony_ci [20] = RCAR_GP_PIN(1, 21), /* DU_DR5 */ 294662306a36Sopenharmony_ci [21] = RCAR_GP_PIN(1, 20), /* DU_DR4 */ 294762306a36Sopenharmony_ci [22] = RCAR_GP_PIN(1, 19), /* DU_DR3 */ 294862306a36Sopenharmony_ci [23] = RCAR_GP_PIN(1, 18), /* DU_DR2 */ 294962306a36Sopenharmony_ci [24] = RCAR_GP_PIN(1, 17), /* DU_DR1 */ 295062306a36Sopenharmony_ci [25] = RCAR_GP_PIN(1, 16), /* DU_DR0 */ 295162306a36Sopenharmony_ci [26] = RCAR_GP_PIN(1, 15), /* DU_DG7 */ 295262306a36Sopenharmony_ci [27] = RCAR_GP_PIN(1, 14), /* DU_DG6 */ 295362306a36Sopenharmony_ci [28] = RCAR_GP_PIN(1, 13), /* DU_DG5 */ 295462306a36Sopenharmony_ci [29] = RCAR_GP_PIN(1, 12), /* DU_DG4 */ 295562306a36Sopenharmony_ci [30] = RCAR_GP_PIN(1, 11), /* DU_DG3 */ 295662306a36Sopenharmony_ci [31] = RCAR_GP_PIN(1, 10), /* DU_DG2 */ 295762306a36Sopenharmony_ci } }, 295862306a36Sopenharmony_ci { PINMUX_BIAS_REG("PUEN2", 0xe6060408, "PUD2", 0xe6060448) { 295962306a36Sopenharmony_ci [ 0] = RCAR_GP_PIN(3, 8), /* NFDATA6 */ 296062306a36Sopenharmony_ci [ 1] = RCAR_GP_PIN(3, 7), /* NFDATA5 */ 296162306a36Sopenharmony_ci [ 2] = RCAR_GP_PIN(3, 6), /* NFDATA4 */ 296262306a36Sopenharmony_ci [ 3] = RCAR_GP_PIN(3, 5), /* NFDATA3 */ 296362306a36Sopenharmony_ci [ 4] = RCAR_GP_PIN(3, 4), /* NFDATA2 */ 296462306a36Sopenharmony_ci [ 5] = RCAR_GP_PIN(3, 3), /* NFDATA1 */ 296562306a36Sopenharmony_ci [ 6] = RCAR_GP_PIN(3, 2), /* NFDATA0 */ 296662306a36Sopenharmony_ci [ 7] = RCAR_GP_PIN(3, 1), /* NFWE# (PUEN) / NFRE# (PUD) */ 296762306a36Sopenharmony_ci [ 8] = RCAR_GP_PIN(3, 0), /* NFRE# (PUEN) / NFWE# (PUD) */ 296862306a36Sopenharmony_ci [ 9] = RCAR_GP_PIN(4, 0), /* NFRB# */ 296962306a36Sopenharmony_ci [10] = RCAR_GP_PIN(2, 31), /* NFCE# */ 297062306a36Sopenharmony_ci [11] = RCAR_GP_PIN(2, 30), /* NFCLE */ 297162306a36Sopenharmony_ci [12] = RCAR_GP_PIN(2, 29), /* NFALE */ 297262306a36Sopenharmony_ci [13] = RCAR_GP_PIN(2, 28), /* VI4_CLKENB */ 297362306a36Sopenharmony_ci [14] = RCAR_GP_PIN(2, 27), /* VI4_FIELD */ 297462306a36Sopenharmony_ci [15] = RCAR_GP_PIN(2, 26), /* VI4_HSYNC# */ 297562306a36Sopenharmony_ci [16] = RCAR_GP_PIN(2, 25), /* VI4_VSYNC# */ 297662306a36Sopenharmony_ci [17] = RCAR_GP_PIN(2, 24), /* VI4_DATA23 */ 297762306a36Sopenharmony_ci [18] = RCAR_GP_PIN(2, 23), /* VI4_DATA22 */ 297862306a36Sopenharmony_ci [19] = RCAR_GP_PIN(2, 22), /* VI4_DATA21 */ 297962306a36Sopenharmony_ci [20] = RCAR_GP_PIN(2, 21), /* VI4_DATA20 */ 298062306a36Sopenharmony_ci [21] = RCAR_GP_PIN(2, 20), /* VI4_DATA19 */ 298162306a36Sopenharmony_ci [22] = RCAR_GP_PIN(2, 19), /* VI4_DATA18 */ 298262306a36Sopenharmony_ci [23] = RCAR_GP_PIN(2, 18), /* VI4_DATA17 */ 298362306a36Sopenharmony_ci [24] = RCAR_GP_PIN(2, 17), /* VI4_DATA16 */ 298462306a36Sopenharmony_ci [25] = RCAR_GP_PIN(2, 16), /* VI4_DATA15 */ 298562306a36Sopenharmony_ci [26] = RCAR_GP_PIN(2, 15), /* VI4_DATA14 */ 298662306a36Sopenharmony_ci [27] = RCAR_GP_PIN(2, 14), /* VI4_DATA13 */ 298762306a36Sopenharmony_ci [28] = RCAR_GP_PIN(2, 13), /* VI4_DATA12 */ 298862306a36Sopenharmony_ci [29] = RCAR_GP_PIN(2, 12), /* VI4_DATA11 */ 298962306a36Sopenharmony_ci [30] = RCAR_GP_PIN(2, 11), /* VI4_DATA10 */ 299062306a36Sopenharmony_ci [31] = RCAR_GP_PIN(2, 10), /* VI4_DATA9 */ 299162306a36Sopenharmony_ci } }, 299262306a36Sopenharmony_ci { PINMUX_BIAS_REG("PUEN3", 0xe606040c, "PUD3", 0xe606044c) { 299362306a36Sopenharmony_ci [ 0] = RCAR_GP_PIN(4, 31), /* CAN0_RX_A */ 299462306a36Sopenharmony_ci [ 1] = RCAR_GP_PIN(5, 2), /* CAN_CLK */ 299562306a36Sopenharmony_ci [ 2] = RCAR_GP_PIN(5, 1), /* TPU0TO1_A */ 299662306a36Sopenharmony_ci [ 3] = RCAR_GP_PIN(5, 0), /* TPU0TO0_A */ 299762306a36Sopenharmony_ci [ 4] = RCAR_GP_PIN(4, 27), /* TX2 */ 299862306a36Sopenharmony_ci [ 5] = RCAR_GP_PIN(4, 26), /* RX2 */ 299962306a36Sopenharmony_ci [ 6] = RCAR_GP_PIN(4, 25), /* SCK2 */ 300062306a36Sopenharmony_ci [ 7] = RCAR_GP_PIN(4, 24), /* TX1_A */ 300162306a36Sopenharmony_ci [ 8] = RCAR_GP_PIN(4, 23), /* RX1_A */ 300262306a36Sopenharmony_ci [ 9] = RCAR_GP_PIN(4, 22), /* SCK1_A */ 300362306a36Sopenharmony_ci [10] = RCAR_GP_PIN(4, 21), /* TX0_A */ 300462306a36Sopenharmony_ci [11] = RCAR_GP_PIN(4, 20), /* RX0_A */ 300562306a36Sopenharmony_ci [12] = RCAR_GP_PIN(4, 19), /* SCK0_A */ 300662306a36Sopenharmony_ci [13] = RCAR_GP_PIN(4, 18), /* MSIOF1_RXD */ 300762306a36Sopenharmony_ci [14] = RCAR_GP_PIN(4, 17), /* MSIOF1_TXD */ 300862306a36Sopenharmony_ci [15] = RCAR_GP_PIN(4, 16), /* MSIOF1_SCK */ 300962306a36Sopenharmony_ci [16] = RCAR_GP_PIN(4, 15), /* MSIOF0_RXD */ 301062306a36Sopenharmony_ci [17] = RCAR_GP_PIN(4, 14), /* MSIOF0_TXD */ 301162306a36Sopenharmony_ci [18] = RCAR_GP_PIN(4, 13), /* MSIOF0_SYNC */ 301262306a36Sopenharmony_ci [19] = RCAR_GP_PIN(4, 12), /* MSIOF0_SCK */ 301362306a36Sopenharmony_ci [20] = RCAR_GP_PIN(4, 11), /* SDA1 */ 301462306a36Sopenharmony_ci [21] = RCAR_GP_PIN(4, 10), /* SCL1 */ 301562306a36Sopenharmony_ci [22] = RCAR_GP_PIN(4, 9), /* SDA0 */ 301662306a36Sopenharmony_ci [23] = RCAR_GP_PIN(4, 8), /* SCL0 */ 301762306a36Sopenharmony_ci [24] = RCAR_GP_PIN(4, 7), /* SSI_WS4_A */ 301862306a36Sopenharmony_ci [25] = RCAR_GP_PIN(4, 6), /* SSI_SDATA4_A */ 301962306a36Sopenharmony_ci [26] = RCAR_GP_PIN(4, 5), /* SSI_SCK4_A */ 302062306a36Sopenharmony_ci [27] = RCAR_GP_PIN(4, 4), /* SSI_WS34 */ 302162306a36Sopenharmony_ci [28] = RCAR_GP_PIN(4, 3), /* SSI_SDATA3 */ 302262306a36Sopenharmony_ci [29] = RCAR_GP_PIN(4, 2), /* SSI_SCK34 */ 302362306a36Sopenharmony_ci [30] = RCAR_GP_PIN(4, 1), /* AUDIO_CLKA */ 302462306a36Sopenharmony_ci [31] = RCAR_GP_PIN(3, 9), /* NFDATA7 */ 302562306a36Sopenharmony_ci } }, 302662306a36Sopenharmony_ci { PINMUX_BIAS_REG("PUEN4", 0xe6060410, "PUD4", 0xe6060450) { 302762306a36Sopenharmony_ci [ 0] = RCAR_GP_PIN(6, 10), /* QSPI1_IO3 */ 302862306a36Sopenharmony_ci [ 1] = RCAR_GP_PIN(6, 9), /* QSPI1_IO2 */ 302962306a36Sopenharmony_ci [ 2] = RCAR_GP_PIN(6, 8), /* QSPI1_MISO_IO1 */ 303062306a36Sopenharmony_ci [ 3] = RCAR_GP_PIN(6, 7), /* QSPI1_MOSI_IO0 */ 303162306a36Sopenharmony_ci [ 4] = RCAR_GP_PIN(6, 6), /* QSPI1_SPCLK */ 303262306a36Sopenharmony_ci [ 5] = RCAR_GP_PIN(6, 5), /* QSPI0_SSL */ 303362306a36Sopenharmony_ci [ 6] = RCAR_GP_PIN(6, 4), /* QSPI0_IO3 */ 303462306a36Sopenharmony_ci [ 7] = RCAR_GP_PIN(6, 3), /* QSPI0_IO2 */ 303562306a36Sopenharmony_ci [ 8] = RCAR_GP_PIN(6, 2), /* QSPI0_MISO_IO1 */ 303662306a36Sopenharmony_ci [ 9] = RCAR_GP_PIN(6, 1), /* QSPI0_MOSI_IO0 */ 303762306a36Sopenharmony_ci [10] = RCAR_GP_PIN(6, 0), /* QSPI0_SPCLK */ 303862306a36Sopenharmony_ci [11] = RCAR_GP_PIN(5, 20), /* AVB0_LINK */ 303962306a36Sopenharmony_ci [12] = RCAR_GP_PIN(5, 19), /* AVB0_PHY_INT */ 304062306a36Sopenharmony_ci [13] = RCAR_GP_PIN(5, 18), /* AVB0_MAGIC */ 304162306a36Sopenharmony_ci [14] = RCAR_GP_PIN(5, 17), /* AVB0_MDC */ 304262306a36Sopenharmony_ci [15] = RCAR_GP_PIN(5, 16), /* AVB0_MDIO */ 304362306a36Sopenharmony_ci [16] = RCAR_GP_PIN(5, 15), /* AVB0_TXCREFCLK */ 304462306a36Sopenharmony_ci [17] = RCAR_GP_PIN(5, 14), /* AVB0_TD3 */ 304562306a36Sopenharmony_ci [18] = RCAR_GP_PIN(5, 13), /* AVB0_TD2 */ 304662306a36Sopenharmony_ci [19] = RCAR_GP_PIN(5, 12), /* AVB0_TD1 */ 304762306a36Sopenharmony_ci [20] = RCAR_GP_PIN(5, 11), /* AVB0_TD0 */ 304862306a36Sopenharmony_ci [21] = RCAR_GP_PIN(5, 10), /* AVB0_TXC */ 304962306a36Sopenharmony_ci [22] = RCAR_GP_PIN(5, 9), /* AVB0_TX_CTL */ 305062306a36Sopenharmony_ci [23] = RCAR_GP_PIN(5, 8), /* AVB0_RD3 */ 305162306a36Sopenharmony_ci [24] = RCAR_GP_PIN(5, 7), /* AVB0_RD2 */ 305262306a36Sopenharmony_ci [25] = RCAR_GP_PIN(5, 6), /* AVB0_RD1 */ 305362306a36Sopenharmony_ci [26] = RCAR_GP_PIN(5, 5), /* AVB0_RD0 */ 305462306a36Sopenharmony_ci [27] = RCAR_GP_PIN(5, 4), /* AVB0_RXC */ 305562306a36Sopenharmony_ci [28] = RCAR_GP_PIN(5, 3), /* AVB0_RX_CTL */ 305662306a36Sopenharmony_ci [29] = RCAR_GP_PIN(4, 30), /* CAN1_TX_A */ 305762306a36Sopenharmony_ci [30] = RCAR_GP_PIN(4, 29), /* CAN1_RX_A */ 305862306a36Sopenharmony_ci [31] = RCAR_GP_PIN(4, 28), /* CAN0_TX_A */ 305962306a36Sopenharmony_ci } }, 306062306a36Sopenharmony_ci { PINMUX_BIAS_REG("PUEN5", 0xe6060414, "PUD4", 0xe6060454) { 306162306a36Sopenharmony_ci [ 0] = SH_PFC_PIN_NONE, 306262306a36Sopenharmony_ci [ 1] = SH_PFC_PIN_NONE, 306362306a36Sopenharmony_ci [ 2] = SH_PFC_PIN_NONE, 306462306a36Sopenharmony_ci [ 3] = SH_PFC_PIN_NONE, 306562306a36Sopenharmony_ci [ 4] = SH_PFC_PIN_NONE, 306662306a36Sopenharmony_ci [ 5] = SH_PFC_PIN_NONE, 306762306a36Sopenharmony_ci [ 6] = SH_PFC_PIN_NONE, 306862306a36Sopenharmony_ci [ 7] = SH_PFC_PIN_NONE, 306962306a36Sopenharmony_ci [ 8] = SH_PFC_PIN_NONE, 307062306a36Sopenharmony_ci [ 9] = SH_PFC_PIN_NONE, 307162306a36Sopenharmony_ci [10] = SH_PFC_PIN_NONE, 307262306a36Sopenharmony_ci [11] = SH_PFC_PIN_NONE, 307362306a36Sopenharmony_ci [12] = SH_PFC_PIN_NONE, 307462306a36Sopenharmony_ci [13] = SH_PFC_PIN_NONE, 307562306a36Sopenharmony_ci [14] = SH_PFC_PIN_NONE, 307662306a36Sopenharmony_ci [15] = SH_PFC_PIN_NONE, 307762306a36Sopenharmony_ci [16] = SH_PFC_PIN_NONE, 307862306a36Sopenharmony_ci [17] = SH_PFC_PIN_NONE, 307962306a36Sopenharmony_ci [18] = SH_PFC_PIN_NONE, 308062306a36Sopenharmony_ci [19] = SH_PFC_PIN_NONE, 308162306a36Sopenharmony_ci [20] = SH_PFC_PIN_NONE, 308262306a36Sopenharmony_ci [21] = SH_PFC_PIN_NONE, 308362306a36Sopenharmony_ci [22] = SH_PFC_PIN_NONE, 308462306a36Sopenharmony_ci [23] = SH_PFC_PIN_NONE, 308562306a36Sopenharmony_ci [24] = SH_PFC_PIN_NONE, 308662306a36Sopenharmony_ci [25] = SH_PFC_PIN_NONE, 308762306a36Sopenharmony_ci [26] = SH_PFC_PIN_NONE, 308862306a36Sopenharmony_ci [27] = SH_PFC_PIN_NONE, 308962306a36Sopenharmony_ci [28] = SH_PFC_PIN_NONE, 309062306a36Sopenharmony_ci [29] = RCAR_GP_PIN(6, 13), /* RPC_INT# */ 309162306a36Sopenharmony_ci [30] = RCAR_GP_PIN(6, 12), /* RPC_RESET# */ 309262306a36Sopenharmony_ci [31] = RCAR_GP_PIN(6, 11), /* QSPI1_SSL */ 309362306a36Sopenharmony_ci } }, 309462306a36Sopenharmony_ci { /* sentinel */ } 309562306a36Sopenharmony_ci}; 309662306a36Sopenharmony_ci 309762306a36Sopenharmony_cistatic const struct pinmux_bias_reg * 309862306a36Sopenharmony_cir8a77995_pin_to_bias_reg(const struct sh_pfc *pfc, unsigned int pin, 309962306a36Sopenharmony_ci unsigned int *puen_bit, unsigned int *pud_bit) 310062306a36Sopenharmony_ci{ 310162306a36Sopenharmony_ci const struct pinmux_bias_reg *reg; 310262306a36Sopenharmony_ci unsigned int bit; 310362306a36Sopenharmony_ci 310462306a36Sopenharmony_ci reg = rcar_pin_to_bias_reg(pfc->info, pin, &bit); 310562306a36Sopenharmony_ci if (!reg) 310662306a36Sopenharmony_ci return reg; 310762306a36Sopenharmony_ci 310862306a36Sopenharmony_ci *puen_bit = bit; 310962306a36Sopenharmony_ci 311062306a36Sopenharmony_ci /* NFWE# and NFRE# use different bit positions in PUD2 */ 311162306a36Sopenharmony_ci switch (pin) { 311262306a36Sopenharmony_ci case RCAR_GP_PIN(3, 0): /* NFRE# */ 311362306a36Sopenharmony_ci *pud_bit = 7; 311462306a36Sopenharmony_ci break; 311562306a36Sopenharmony_ci 311662306a36Sopenharmony_ci case RCAR_GP_PIN(3, 1): /* NFWE# */ 311762306a36Sopenharmony_ci *pud_bit = 8; 311862306a36Sopenharmony_ci break; 311962306a36Sopenharmony_ci 312062306a36Sopenharmony_ci default: 312162306a36Sopenharmony_ci *pud_bit = bit; 312262306a36Sopenharmony_ci break; 312362306a36Sopenharmony_ci } 312462306a36Sopenharmony_ci 312562306a36Sopenharmony_ci return reg; 312662306a36Sopenharmony_ci} 312762306a36Sopenharmony_ci 312862306a36Sopenharmony_cistatic unsigned int r8a77995_pinmux_get_bias(struct sh_pfc *pfc, 312962306a36Sopenharmony_ci unsigned int pin) 313062306a36Sopenharmony_ci{ 313162306a36Sopenharmony_ci const struct pinmux_bias_reg *reg; 313262306a36Sopenharmony_ci unsigned int puen_bit, pud_bit; 313362306a36Sopenharmony_ci 313462306a36Sopenharmony_ci reg = r8a77995_pin_to_bias_reg(pfc, pin, &puen_bit, &pud_bit); 313562306a36Sopenharmony_ci if (!reg) 313662306a36Sopenharmony_ci return PIN_CONFIG_BIAS_DISABLE; 313762306a36Sopenharmony_ci 313862306a36Sopenharmony_ci if (!(sh_pfc_read(pfc, reg->puen) & BIT(puen_bit))) 313962306a36Sopenharmony_ci return PIN_CONFIG_BIAS_DISABLE; 314062306a36Sopenharmony_ci else if (sh_pfc_read(pfc, reg->pud) & BIT(pud_bit)) 314162306a36Sopenharmony_ci return PIN_CONFIG_BIAS_PULL_UP; 314262306a36Sopenharmony_ci else 314362306a36Sopenharmony_ci return PIN_CONFIG_BIAS_PULL_DOWN; 314462306a36Sopenharmony_ci} 314562306a36Sopenharmony_ci 314662306a36Sopenharmony_cistatic void r8a77995_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin, 314762306a36Sopenharmony_ci unsigned int bias) 314862306a36Sopenharmony_ci{ 314962306a36Sopenharmony_ci const struct pinmux_bias_reg *reg; 315062306a36Sopenharmony_ci unsigned int puen_bit, pud_bit; 315162306a36Sopenharmony_ci u32 enable, updown; 315262306a36Sopenharmony_ci 315362306a36Sopenharmony_ci reg = r8a77995_pin_to_bias_reg(pfc, pin, &puen_bit, &pud_bit); 315462306a36Sopenharmony_ci if (!reg) 315562306a36Sopenharmony_ci return; 315662306a36Sopenharmony_ci 315762306a36Sopenharmony_ci enable = sh_pfc_read(pfc, reg->puen) & ~BIT(puen_bit); 315862306a36Sopenharmony_ci if (bias != PIN_CONFIG_BIAS_DISABLE) { 315962306a36Sopenharmony_ci enable |= BIT(puen_bit); 316062306a36Sopenharmony_ci 316162306a36Sopenharmony_ci updown = sh_pfc_read(pfc, reg->pud) & ~BIT(pud_bit); 316262306a36Sopenharmony_ci if (bias == PIN_CONFIG_BIAS_PULL_UP) 316362306a36Sopenharmony_ci updown |= BIT(pud_bit); 316462306a36Sopenharmony_ci 316562306a36Sopenharmony_ci sh_pfc_write(pfc, reg->pud, updown); 316662306a36Sopenharmony_ci } 316762306a36Sopenharmony_ci sh_pfc_write(pfc, reg->puen, enable); 316862306a36Sopenharmony_ci} 316962306a36Sopenharmony_ci 317062306a36Sopenharmony_cistatic const struct sh_pfc_soc_operations r8a77995_pfc_ops = { 317162306a36Sopenharmony_ci .pin_to_pocctrl = r8a77995_pin_to_pocctrl, 317262306a36Sopenharmony_ci .get_bias = r8a77995_pinmux_get_bias, 317362306a36Sopenharmony_ci .set_bias = r8a77995_pinmux_set_bias, 317462306a36Sopenharmony_ci}; 317562306a36Sopenharmony_ci 317662306a36Sopenharmony_ciconst struct sh_pfc_soc_info r8a77995_pinmux_info = { 317762306a36Sopenharmony_ci .name = "r8a77995_pfc", 317862306a36Sopenharmony_ci .ops = &r8a77995_pfc_ops, 317962306a36Sopenharmony_ci .unlock_reg = 0xe6060000, /* PMMR */ 318062306a36Sopenharmony_ci 318162306a36Sopenharmony_ci .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END }, 318262306a36Sopenharmony_ci 318362306a36Sopenharmony_ci .pins = pinmux_pins, 318462306a36Sopenharmony_ci .nr_pins = ARRAY_SIZE(pinmux_pins), 318562306a36Sopenharmony_ci .groups = pinmux_groups, 318662306a36Sopenharmony_ci .nr_groups = ARRAY_SIZE(pinmux_groups), 318762306a36Sopenharmony_ci .functions = pinmux_functions, 318862306a36Sopenharmony_ci .nr_functions = ARRAY_SIZE(pinmux_functions), 318962306a36Sopenharmony_ci 319062306a36Sopenharmony_ci .cfg_regs = pinmux_config_regs, 319162306a36Sopenharmony_ci .bias_regs = pinmux_bias_regs, 319262306a36Sopenharmony_ci .ioctrl_regs = pinmux_ioctrl_regs, 319362306a36Sopenharmony_ci 319462306a36Sopenharmony_ci .pinmux_data = pinmux_data, 319562306a36Sopenharmony_ci .pinmux_data_size = ARRAY_SIZE(pinmux_data), 319662306a36Sopenharmony_ci}; 3197