Enable PFC controller for r8a779f0 SoC. Declare pin list for r8a779f0 SoC. Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
604 lines
21 KiB
C
604 lines
21 KiB
C
/*
|
|
* Copyright (c) 2023 IoT.bzh
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*
|
|
*/
|
|
|
|
#include <errno.h>
|
|
#include "pinctrl_soc.h"
|
|
#include <zephyr/dt-bindings/pinctrl/renesas/pinctrl-r8a779f0.h>
|
|
|
|
const struct pfc_drive_reg pfc_drive_regs[] = {
|
|
/* DRV0CTRL0 */
|
|
{ 0x80, {
|
|
{ RCAR_GP_PIN(0, 7), 28, 3 }, /* TX0 */
|
|
{ RCAR_GP_PIN(0, 6), 24, 3 }, /* RX0 */
|
|
{ RCAR_GP_PIN(0, 5), 20, 3 }, /* HRTS0_N */
|
|
{ RCAR_GP_PIN(0, 4), 16, 3 }, /* HCTS0_N */
|
|
{ RCAR_GP_PIN(0, 3), 12, 3 }, /* HTX0 */
|
|
{ RCAR_GP_PIN(0, 2), 8, 3 }, /* HRX0 */
|
|
{ RCAR_GP_PIN(0, 1), 4, 3 }, /* HSCK0 */
|
|
{ RCAR_GP_PIN(0, 0), 0, 3 }, /* SCIF_CLK */
|
|
} },
|
|
/* DRV1CTRL0 */
|
|
{ 0x84, {
|
|
{ RCAR_GP_PIN(0, 15), 28, 3 }, /* MSIOF0_SS1 */
|
|
{ RCAR_GP_PIN(0, 14), 24, 3 }, /* MSIOF0_SCK */
|
|
{ RCAR_GP_PIN(0, 13), 20, 3 }, /* MSIOF0_TXD */
|
|
{ RCAR_GP_PIN(0, 12), 16, 3 }, /* MSIOF0_RXD */
|
|
{ RCAR_GP_PIN(0, 11), 12, 3 }, /* MSIOF0_SYNC */
|
|
{ RCAR_GP_PIN(0, 10), 8, 3 }, /* CTS0_N */
|
|
{ RCAR_GP_PIN(0, 9), 4, 3 }, /* RTS0_N */
|
|
{ RCAR_GP_PIN(0, 8), 0, 3 }, /* SCK0 */
|
|
} },
|
|
/* DRV2CTRL0 */
|
|
{ 0x88, {
|
|
{ RCAR_GP_PIN(0, 20), 16, 3 }, /* IRQ3 */
|
|
{ RCAR_GP_PIN(0, 19), 12, 3 }, /* IRQ2 */
|
|
{ RCAR_GP_PIN(0, 18), 8, 3 }, /* IRQ1 */
|
|
{ RCAR_GP_PIN(0, 17), 4, 3 }, /* IRQ0 */
|
|
{ RCAR_GP_PIN(0, 16), 0, 3 }, /* MSIOF0_SS2 */
|
|
} },
|
|
/* DRV3CTRL0 is empty */
|
|
/* DRV0CTRL1 */
|
|
{ 0x80, {
|
|
{ RCAR_GP_PIN(1, 7), 28, 3 }, /* GP1_07 */
|
|
{ RCAR_GP_PIN(1, 6), 24, 3 }, /* GP1_06 */
|
|
{ RCAR_GP_PIN(1, 5), 20, 3 }, /* GP1_05 */
|
|
{ RCAR_GP_PIN(1, 4), 16, 3 }, /* GP1_04 */
|
|
{ RCAR_GP_PIN(1, 3), 12, 3 }, /* GP1_03 */
|
|
{ RCAR_GP_PIN(1, 2), 8, 3 }, /* GP1_02 */
|
|
{ RCAR_GP_PIN(1, 1), 4, 3 }, /* GP1_01 */
|
|
{ RCAR_GP_PIN(1, 0), 0, 3 }, /* GP1_00 */
|
|
} },
|
|
/* DRV1CTRL1 */
|
|
{ 0x84, {
|
|
{ RCAR_GP_PIN(1, 15), 28, 3 }, /* MMC_SD_D2 */
|
|
{ RCAR_GP_PIN(1, 14), 24, 3 }, /* MMC_SD_D1 */
|
|
{ RCAR_GP_PIN(1, 13), 20, 3 }, /* MMC_SD_D0 */
|
|
{ RCAR_GP_PIN(1, 12), 16, 3 }, /* MMC_SD_CLK */
|
|
{ RCAR_GP_PIN(1, 11), 12, 3 }, /* GP1_11 */
|
|
{ RCAR_GP_PIN(1, 10), 8, 3 }, /* GP1_10 */
|
|
{ RCAR_GP_PIN(1, 9), 4, 3 }, /* GP1_09 */
|
|
{ RCAR_GP_PIN(1, 8), 0, 3 }, /* GP1_08 */
|
|
} },
|
|
/* DRV2CTRL1 */
|
|
{ 0x88, {
|
|
{ RCAR_GP_PIN(1, 23), 28, 3 }, /* SD_CD */
|
|
{ RCAR_GP_PIN(1, 22), 24, 3 }, /* MMC_SD_CMD */
|
|
{ RCAR_GP_PIN(1, 21), 20, 3 }, /* MMC_D7 */
|
|
{ RCAR_GP_PIN(1, 20), 16, 3 }, /* MMC_DS */
|
|
{ RCAR_GP_PIN(1, 19), 12, 3 }, /* MMC_D6 */
|
|
{ RCAR_GP_PIN(1, 18), 8, 3 }, /* MMC_D4 */
|
|
{ RCAR_GP_PIN(1, 17), 4, 3 }, /* MMC_D5 */
|
|
{ RCAR_GP_PIN(1, 16), 0, 3 }, /* MMC_SD_D3 */
|
|
} },
|
|
/* DRV3CTRL1 */
|
|
{ 0x8c, {
|
|
{ RCAR_GP_PIN(1, 24), 0, 3 }, /* SD_WP */
|
|
} },
|
|
/* DRV0CTRL2 */
|
|
{ 0x80, {
|
|
{ RCAR_GP_PIN(2, 7), 28, 2 }, /* QSPI1_MOSI_IO0 */
|
|
{ RCAR_GP_PIN(2, 6), 24, 2 }, /* QSPI1_IO2 */
|
|
{ RCAR_GP_PIN(2, 5), 20, 2 }, /* QSPI1_MISO_IO1 */
|
|
{ RCAR_GP_PIN(2, 4), 16, 2 }, /* QSPI1_IO3 */
|
|
{ RCAR_GP_PIN(2, 3), 12, 2 }, /* QSPI1_SSL */
|
|
{ RCAR_GP_PIN(2, 2), 8, 2 }, /* RPC_RESET_N */
|
|
{ RCAR_GP_PIN(2, 1), 4, 2 }, /* RPC_WP_N */
|
|
{ RCAR_GP_PIN(2, 0), 0, 2 }, /* RPC_INT_N */
|
|
} },
|
|
/* DRV1CTRL2 */
|
|
{ 0x84, {
|
|
{ RCAR_GP_PIN(2, 15), 28, 3 }, /* PCIE0_CLKREQ_N */
|
|
{ RCAR_GP_PIN(2, 14), 24, 2 }, /* QSPI0_IO3 */
|
|
{ RCAR_GP_PIN(2, 13), 20, 2 }, /* QSPI0_SSL */
|
|
{ RCAR_GP_PIN(2, 12), 16, 2 }, /* QSPI0_MISO_IO1 */
|
|
{ RCAR_GP_PIN(2, 11), 12, 2 }, /* QSPI0_IO2 */
|
|
{ RCAR_GP_PIN(2, 10), 8, 2 }, /* QSPI0_SPCLK */
|
|
{ RCAR_GP_PIN(2, 9), 4, 2 }, /* QSPI0_MOSI_IO0 */
|
|
{ RCAR_GP_PIN(2, 8), 0, 2 }, /* QSPI1_SPCLK */
|
|
} },
|
|
/* DRV2CTRL2 */
|
|
{ 0x88, {
|
|
{ RCAR_GP_PIN(2, 16), 0, 3 }, /* PCIE1_CLKREQ_N */
|
|
} },
|
|
/* DRV3CTRL2 is empty */
|
|
/* DRV0CTRL3 */
|
|
{ 0x80, {
|
|
{ RCAR_GP_PIN(3, 7), 28, 3 }, /* TSN2_LINK_B */
|
|
{ RCAR_GP_PIN(3, 6), 24, 3 }, /* TSN1_LINK_B */
|
|
{ RCAR_GP_PIN(3, 5), 20, 3 }, /* TSN1_MDC_B */
|
|
{ RCAR_GP_PIN(3, 4), 16, 3 }, /* TSN0_MDC_B */
|
|
{ RCAR_GP_PIN(3, 3), 12, 3 }, /* TSN2_MDC_B */
|
|
{ RCAR_GP_PIN(3, 2), 8, 3 }, /* TSN0_MDIO_B */
|
|
{ RCAR_GP_PIN(3, 1), 4, 3 }, /* TSN2_MDIO_B */
|
|
{ RCAR_GP_PIN(3, 0), 0, 3 }, /* TSN1_MDIO_B */
|
|
} },
|
|
/* DRV1CTRL3 */
|
|
{ 0x84, {
|
|
{ RCAR_GP_PIN(3, 15), 28, 3 }, /* TSN1_AVTP_CAPTURE_B */
|
|
{ RCAR_GP_PIN(3, 14), 24, 3 }, /* TSN1_AVTP_MATCH_B */
|
|
{ RCAR_GP_PIN(3, 13), 20, 3 }, /* TSN1_AVTP_PPS */
|
|
{ RCAR_GP_PIN(3, 12), 16, 3 }, /* TSN0_MAGIC_B */
|
|
{ RCAR_GP_PIN(3, 11), 12, 3 }, /* TSN1_PHY_INT_B */
|
|
{ RCAR_GP_PIN(3, 10), 8, 3 }, /* TSN0_PHY_INT_B */
|
|
{ RCAR_GP_PIN(3, 9), 4, 3 }, /* TSN2_PHY_INT_B */
|
|
{ RCAR_GP_PIN(3, 8), 0, 3 }, /* TSN0_LINK_B */
|
|
} },
|
|
/* DRV2CTRL3 */
|
|
{ 0x88, {
|
|
{ RCAR_GP_PIN(3, 18), 8, 3 }, /* TSN0_AVTP_CAPTURE_B */
|
|
{ RCAR_GP_PIN(3, 17), 4, 3 }, /* TSN0_AVTP_MATCH_B */
|
|
{ RCAR_GP_PIN(3, 16), 0, 3 }, /* TSN0_AVTP_PPS */
|
|
} },
|
|
/* DRV3CTRL3 is empty */
|
|
/* DRV0CTRL4 */
|
|
{ 0x80, {
|
|
{ RCAR_GP_PIN(4, 7), 28, 3 }, /* GP4_07 */
|
|
{ RCAR_GP_PIN(4, 6), 24, 3 }, /* GP4_06 */
|
|
{ RCAR_GP_PIN(4, 5), 20, 3 }, /* GP4_05 */
|
|
{ RCAR_GP_PIN(4, 4), 16, 3 }, /* GP4_04 */
|
|
{ RCAR_GP_PIN(4, 3), 12, 3 }, /* GP4_03 */
|
|
{ RCAR_GP_PIN(4, 2), 8, 3 }, /* GP4_02 */
|
|
{ RCAR_GP_PIN(4, 1), 4, 3 }, /* GP4_01 */
|
|
{ RCAR_GP_PIN(4, 0), 0, 3 }, /* GP4_00 */
|
|
} },
|
|
/* DRV1CTRL4 */
|
|
{ 0x84, {
|
|
{ RCAR_GP_PIN(4, 15), 28, 3 }, /* GP4_15 */
|
|
{ RCAR_GP_PIN(4, 14), 24, 3 }, /* GP4_14 */
|
|
{ RCAR_GP_PIN(4, 13), 20, 3 }, /* GP4_13 */
|
|
{ RCAR_GP_PIN(4, 12), 16, 3 }, /* GP4_12 */
|
|
{ RCAR_GP_PIN(4, 11), 12, 3 }, /* GP4_11 */
|
|
{ RCAR_GP_PIN(4, 10), 8, 3 }, /* GP4_10 */
|
|
{ RCAR_GP_PIN(4, 9), 4, 3 }, /* GP4_09 */
|
|
{ RCAR_GP_PIN(4, 8), 0, 3 }, /* GP4_08 */
|
|
} },
|
|
/* DRV2CTRL4 */
|
|
{ 0x88, {
|
|
{ RCAR_GP_PIN(4, 23), 28, 3 }, /* MSPI0CSS1 */
|
|
{ RCAR_GP_PIN(4, 22), 24, 3 }, /* MPSI0SO/MSPI0DCS */
|
|
{ RCAR_GP_PIN(4, 21), 20, 3 }, /* MPSI0SI */
|
|
{ RCAR_GP_PIN(4, 20), 16, 3 }, /* MSPI0SC */
|
|
{ RCAR_GP_PIN(4, 19), 12, 3 }, /* GP4_19 */
|
|
{ RCAR_GP_PIN(4, 18), 8, 3 }, /* GP4_18 */
|
|
{ RCAR_GP_PIN(4, 17), 4, 3 }, /* GP4_17 */
|
|
{ RCAR_GP_PIN(4, 16), 0, 3 }, /* GP4_16 */
|
|
} },
|
|
/* DRV3CTRL4 */
|
|
{ 0x8c, {
|
|
{ RCAR_GP_PIN(4, 30), 24, 3 }, /* MSPI1CSS1 */
|
|
{ RCAR_GP_PIN(4, 29), 20, 3 }, /* MSPI1CSS2 */
|
|
{ RCAR_GP_PIN(4, 28), 16, 3 }, /* MSPI1SC */
|
|
{ RCAR_GP_PIN(4, 27), 12, 3 }, /* MSPI1CSS0 */
|
|
{ RCAR_GP_PIN(4, 26), 8, 3 }, /* MPSI1SO/MSPI1DCS */
|
|
{ RCAR_GP_PIN(4, 25), 4, 3 }, /* MSPI1SI */
|
|
{ RCAR_GP_PIN(4, 24), 0, 3 }, /* MSPI0CSS0 */
|
|
} },
|
|
/* DRV0CTRL5 */
|
|
{ 0x80, {
|
|
{ RCAR_GP_PIN(5, 7), 28, 3 }, /* ETNB0RXD3 */
|
|
{ RCAR_GP_PIN(5, 6), 24, 3 }, /* ETNB0RXER */
|
|
{ RCAR_GP_PIN(5, 5), 20, 3 }, /* ETNB0MDC */
|
|
{ RCAR_GP_PIN(5, 4), 16, 3 }, /* ETNB0LINKSTA */
|
|
{ RCAR_GP_PIN(5, 3), 12, 3 }, /* ETNB0WOL */
|
|
{ RCAR_GP_PIN(5, 2), 8, 3 }, /* ETNB0MD */
|
|
{ RCAR_GP_PIN(5, 1), 4, 3 }, /* RIIC0SDA */
|
|
{ RCAR_GP_PIN(5, 0), 0, 3 }, /* RIIC0SCL */
|
|
} },
|
|
/* DRV1CTRL5 */
|
|
{ 0x84, {
|
|
{ RCAR_GP_PIN(5, 15), 28, 3 }, /* ETNB0TXCLK */
|
|
{ RCAR_GP_PIN(5, 14), 24, 3 }, /* ETNB0TXD3 */
|
|
{ RCAR_GP_PIN(5, 13), 20, 3 }, /* ETNB0TXER */
|
|
{ RCAR_GP_PIN(5, 12), 16, 3 }, /* ETNB0RXCLK */
|
|
{ RCAR_GP_PIN(5, 11), 12, 3 }, /* ETNB0RXD0 */
|
|
{ RCAR_GP_PIN(5, 10), 8, 3 }, /* ETNB0RXDV */
|
|
{ RCAR_GP_PIN(5, 9), 4, 3 }, /* ETNB0RXD2 */
|
|
{ RCAR_GP_PIN(5, 8), 0, 3 }, /* ETNB0RXD1 */
|
|
} },
|
|
/* DRV2CTRL5 */
|
|
{ 0x88, {
|
|
{ RCAR_GP_PIN(5, 19), 12, 3 }, /* ETNB0TXD0 */
|
|
{ RCAR_GP_PIN(5, 18), 8, 3 }, /* ETNB0TXEN */
|
|
{ RCAR_GP_PIN(5, 17), 4, 3 }, /* ETNB0TXD2 */
|
|
{ RCAR_GP_PIN(5, 16), 0, 3 }, /* ETNB0TXD1 */
|
|
} },
|
|
/* DRV3CTRL5 is empty */
|
|
/* DRV0CTRL6 */
|
|
{ 0x80, {
|
|
{ RCAR_GP_PIN(6, 7), 28, 3 }, /* RLIN34RX/INTP20 */
|
|
{ RCAR_GP_PIN(6, 6), 24, 3 }, /* RLIN34TX */
|
|
{ RCAR_GP_PIN(6, 5), 20, 3 }, /* RLIN35RX/INTP21 */
|
|
{ RCAR_GP_PIN(6, 4), 16, 3 }, /* RLIN35TX */
|
|
{ RCAR_GP_PIN(6, 3), 12, 3 }, /* RLIN36RX/INTP22 */
|
|
{ RCAR_GP_PIN(6, 2), 8, 3 }, /* RLIN36TX */
|
|
{ RCAR_GP_PIN(6, 1), 4, 3 }, /* RLIN37RX/INTP23 */
|
|
{ RCAR_GP_PIN(6, 0), 0, 3 }, /* RLIN37TX */
|
|
} },
|
|
/* DRV1CTRL6 */
|
|
{ 0x84, {
|
|
{ RCAR_GP_PIN(6, 15), 28, 3 }, /* RLIN30RX/INTP16 */
|
|
{ RCAR_GP_PIN(6, 14), 24, 3 }, /* RLIN30TX */
|
|
{ RCAR_GP_PIN(6, 13), 20, 3 }, /* RLIN31RX/INTP17 */
|
|
{ RCAR_GP_PIN(6, 12), 16, 3 }, /* RLIN31TX */
|
|
{ RCAR_GP_PIN(6, 11), 12, 3 }, /* RLIN32RX/INTP18 */
|
|
{ RCAR_GP_PIN(6, 10), 8, 3 }, /* RLIN32TX */
|
|
{ RCAR_GP_PIN(6, 9), 4, 3 }, /* RLIN33RX/INTP19 */
|
|
{ RCAR_GP_PIN(6, 8), 0, 3 }, /* RLIN33TX */
|
|
} },
|
|
/* DRV2CTRL6 */
|
|
{ 0x88, {
|
|
{ RCAR_GP_PIN(6, 22), 24, 3 }, /* NMI1 */
|
|
{ RCAR_GP_PIN(6, 21), 20, 3 }, /* INTP32 */
|
|
{ RCAR_GP_PIN(6, 20), 16, 3 }, /* INTP33 */
|
|
{ RCAR_GP_PIN(6, 19), 12, 3 }, /* INTP34 */
|
|
{ RCAR_GP_PIN(6, 18), 8, 3 }, /* INTP35 */
|
|
{ RCAR_GP_PIN(6, 17), 4, 3 }, /* INTP36 */
|
|
{ RCAR_GP_PIN(6, 16), 0, 3 }, /* INTP37 */
|
|
} },
|
|
/* DRV3CTRL6 */
|
|
{ 0x8c, {
|
|
{ RCAR_GP_PIN(6, 31), 28, 3 }, /* PRESETOUT1# */
|
|
} },
|
|
/* DRV0CTRL7 */
|
|
{ 0x80, {
|
|
{ RCAR_GP_PIN(7, 7), 28, 3 }, /* CAN3RX/INTP3 */
|
|
{ RCAR_GP_PIN(7, 6), 24, 3 }, /* CAN3TX */
|
|
{ RCAR_GP_PIN(7, 5), 20, 3 }, /* CAN2RX/INTP2 */
|
|
{ RCAR_GP_PIN(7, 4), 16, 3 }, /* CAN2TX */
|
|
{ RCAR_GP_PIN(7, 3), 12, 3 }, /* CAN1RX/INTP1 */
|
|
{ RCAR_GP_PIN(7, 2), 8, 3 }, /* CAN1TX */
|
|
{ RCAR_GP_PIN(7, 1), 4, 3 }, /* CAN0RX/INTP0 */
|
|
{ RCAR_GP_PIN(7, 0), 0, 3 }, /* CAN0TX */
|
|
} },
|
|
/* DRV1CTRL7 */
|
|
{ 0x84, {
|
|
{ RCAR_GP_PIN(7, 15), 28, 3 }, /* CAN7RX/INTP7 */
|
|
{ RCAR_GP_PIN(7, 14), 24, 3 }, /* CAN7TX */
|
|
{ RCAR_GP_PIN(7, 13), 20, 3 }, /* CAN6RX/INTP6 */
|
|
{ RCAR_GP_PIN(7, 12), 16, 3 }, /* CAN6TX */
|
|
{ RCAR_GP_PIN(7, 11), 12, 3 }, /* CAN5RX/INTP5 */
|
|
{ RCAR_GP_PIN(7, 10), 8, 3 }, /* CAN5TX */
|
|
{ RCAR_GP_PIN(7, 9), 4, 3 }, /* CAN4RX/INTP4 */
|
|
{ RCAR_GP_PIN(7, 8), 0, 3 }, /* CAN4TX */
|
|
} },
|
|
/* DRV2CTRL7 */
|
|
{ 0x88, {
|
|
{ RCAR_GP_PIN(7, 23), 28, 3 }, /* CAN11RX/INTP11 */
|
|
{ RCAR_GP_PIN(7, 22), 24, 3 }, /* CAN11TX */
|
|
{ RCAR_GP_PIN(7, 21), 20, 3 }, /* CAN10RX/INTP10 */
|
|
{ RCAR_GP_PIN(7, 20), 16, 3 }, /* CAN10TX */
|
|
{ RCAR_GP_PIN(7, 19), 12, 3 }, /* CAN9RX/INTP9 */
|
|
{ RCAR_GP_PIN(7, 18), 8, 3 }, /* CAN9TX */
|
|
{ RCAR_GP_PIN(7, 17), 4, 3 }, /* CAN8RX/INTP8 */
|
|
{ RCAR_GP_PIN(7, 16), 0, 3 }, /* CAN8TX */
|
|
} },
|
|
/* DRV3CTRL7 */
|
|
{ 0x8c, {
|
|
{ RCAR_GP_PIN(7, 31), 28, 3 }, /* CAN15RX/INTP15 */
|
|
{ RCAR_GP_PIN(7, 30), 24, 3 }, /* CAN15TX */
|
|
{ RCAR_GP_PIN(7, 29), 20, 3 }, /* CAN14RX/INTP14 */
|
|
{ RCAR_GP_PIN(7, 28), 16, 3 }, /* CAN14TX */
|
|
{ RCAR_GP_PIN(7, 27), 12, 3 }, /* CAN13RX/INTP13 */
|
|
{ RCAR_GP_PIN(7, 26), 8, 3 }, /* CAN13TX */
|
|
{ RCAR_GP_PIN(7, 25), 4, 3 }, /* CAN12RX/INTP12 */
|
|
{ RCAR_GP_PIN(7, 24), 0, 3 }, /* CAN12TX */
|
|
} },
|
|
/* DRV0CTRLSYS0 */
|
|
{ 0x80, {
|
|
{ RCAR_GP_PIN(8, 0), 0, 3 }, /* PRESETOUT0# */
|
|
} },
|
|
/* DRV1CTRLSYS0 */
|
|
{ 0x84, {
|
|
{ RCAR_GP_PIN(8, 12), 16, 2 }, /* DCUTCK0 */
|
|
{ RCAR_GP_PIN(8, 11), 12, 2 }, /* DCUTDO0 */
|
|
{ RCAR_GP_PIN(8, 10), 8, 2 }, /* DCUTDI0 */
|
|
{ RCAR_GP_PIN(8, 9), 4, 2 }, /* DCUTDY0# */
|
|
{ RCAR_GP_PIN(8, 8), 0, 2 }, /* DCUTMS0 */
|
|
} },
|
|
{ },
|
|
};
|
|
|
|
#define PFC_BIAS_REG(r1, r2) \
|
|
.puen = r1, \
|
|
.pud = r2, \
|
|
.pins =
|
|
|
|
const struct pfc_bias_reg pfc_bias_regs[] = {
|
|
{ PFC_BIAS_REG(0xc0, 0xe0) { /* PUEN0, PUD0 */
|
|
[0] = RCAR_GP_PIN(0, 0), /* SCIF_CLK */
|
|
[1] = RCAR_GP_PIN(0, 1), /* HSCK0 */
|
|
[2] = RCAR_GP_PIN(0, 2), /* HRX0 */
|
|
[3] = RCAR_GP_PIN(0, 3), /* HTX0 */
|
|
[4] = RCAR_GP_PIN(0, 4), /* HCTS0_N */
|
|
[5] = RCAR_GP_PIN(0, 5), /* HRTS0_N */
|
|
[6] = RCAR_GP_PIN(0, 6), /* RX0 */
|
|
[7] = RCAR_GP_PIN(0, 7), /* TX0 */
|
|
[8] = RCAR_GP_PIN(0, 8), /* SCK0 */
|
|
[9] = RCAR_GP_PIN(0, 9), /* RTS0_N */
|
|
[10] = RCAR_GP_PIN(0, 10), /* CTS0_N */
|
|
[11] = RCAR_GP_PIN(0, 11), /* MSIOF0_SYNC */
|
|
[12] = RCAR_GP_PIN(0, 12), /* MSIOF0_RXD */
|
|
[13] = RCAR_GP_PIN(0, 13), /* MSIOF0_TXD */
|
|
[14] = RCAR_GP_PIN(0, 14), /* MSIOF0_SCK */
|
|
[15] = RCAR_GP_PIN(0, 15), /* MSIOF0_SS1 */
|
|
[16] = RCAR_GP_PIN(0, 16), /* MSIOF0_SS2 */
|
|
[17] = RCAR_GP_PIN(0, 17), /* IRQ0 */
|
|
[18] = RCAR_GP_PIN(0, 18), /* IRQ1 */
|
|
[19] = RCAR_GP_PIN(0, 19), /* IRQ2 */
|
|
[20] = RCAR_GP_PIN(0, 20), /* IRQ3 */
|
|
[21] = PIN_NONE,
|
|
[22] = PIN_NONE,
|
|
[23] = PIN_NONE,
|
|
[24] = PIN_NONE,
|
|
[25] = PIN_NONE,
|
|
[26] = PIN_NONE,
|
|
[27] = PIN_NONE,
|
|
[28] = PIN_NONE,
|
|
[29] = PIN_NONE,
|
|
[30] = PIN_NONE,
|
|
[31] = PIN_NONE,
|
|
} },
|
|
{ PFC_BIAS_REG(0xc0, 0xe0) { /* PUEN1, PUD1 */
|
|
[0] = RCAR_GP_PIN(1, 0), /* GP1_00 */
|
|
[1] = RCAR_GP_PIN(1, 1), /* GP1_01 */
|
|
[2] = RCAR_GP_PIN(1, 2), /* GP1_02 */
|
|
[3] = RCAR_GP_PIN(1, 3), /* GP1_03 */
|
|
[4] = RCAR_GP_PIN(1, 4), /* GP1_04 */
|
|
[5] = RCAR_GP_PIN(1, 5), /* GP1_05 */
|
|
[6] = RCAR_GP_PIN(1, 6), /* GP1_06 */
|
|
[7] = RCAR_GP_PIN(1, 7), /* GP1_07 */
|
|
[8] = RCAR_GP_PIN(1, 8), /* GP1_08 */
|
|
[9] = RCAR_GP_PIN(1, 9), /* GP1_09 */
|
|
[10] = RCAR_GP_PIN(1, 10), /* GP1_10 */
|
|
[11] = RCAR_GP_PIN(1, 11), /* GP1_11 */
|
|
[12] = RCAR_GP_PIN(1, 12), /* MMC_SD_CLK */
|
|
[13] = RCAR_GP_PIN(1, 13), /* MMC_SD_D0 */
|
|
[14] = RCAR_GP_PIN(1, 14), /* MMC_SD_D1 */
|
|
[15] = RCAR_GP_PIN(1, 15), /* MMC_SD_D2 */
|
|
[16] = RCAR_GP_PIN(1, 16), /* MMC_SD_D3 */
|
|
[17] = RCAR_GP_PIN(1, 17), /* MMC_D5 */
|
|
[18] = RCAR_GP_PIN(1, 18), /* MMC_D4 */
|
|
[19] = RCAR_GP_PIN(1, 19), /* MMC_D6 */
|
|
[20] = RCAR_GP_PIN(1, 20), /* MMC_DS */
|
|
[21] = RCAR_GP_PIN(1, 21), /* MMC_D7 */
|
|
[22] = RCAR_GP_PIN(1, 22), /* MMC_SD_CMD */
|
|
[23] = RCAR_GP_PIN(1, 23), /* SD_CD */
|
|
[24] = RCAR_GP_PIN(1, 24), /* SD_WP */
|
|
[25] = PIN_NONE,
|
|
[26] = PIN_NONE,
|
|
[27] = PIN_NONE,
|
|
[28] = PIN_NONE,
|
|
[29] = PIN_NONE,
|
|
[30] = PIN_NONE,
|
|
[31] = PIN_NONE,
|
|
} },
|
|
{ PFC_BIAS_REG(0xc0, 0xe0) { /* PUEN2, PUD2 */
|
|
[0] = RCAR_GP_PIN(2, 0), /* RPC_INT_N */
|
|
[1] = RCAR_GP_PIN(2, 1), /* RPC_WP_N */
|
|
[2] = RCAR_GP_PIN(2, 2), /* RPC_RESET_N */
|
|
[3] = RCAR_GP_PIN(2, 3), /* QSPI1_SSL */
|
|
[4] = RCAR_GP_PIN(2, 4), /* QSPI1_IO3 */
|
|
[5] = RCAR_GP_PIN(2, 5), /* QSPI1_MISO_IO1 */
|
|
[6] = RCAR_GP_PIN(2, 6), /* QSPI1_IO2 */
|
|
[7] = RCAR_GP_PIN(2, 7), /* QSPI1_MOSI_IO0 */
|
|
[8] = RCAR_GP_PIN(2, 8), /* QSPI1_SPCLK */
|
|
[9] = RCAR_GP_PIN(2, 9), /* QSPI0_MOSI_IO0 */
|
|
[10] = RCAR_GP_PIN(2, 10), /* QSPI0_SPCLK */
|
|
[11] = RCAR_GP_PIN(2, 11), /* QSPI0_IO2 */
|
|
[12] = RCAR_GP_PIN(2, 12), /* QSPI0_MISO_IO1 */
|
|
[13] = RCAR_GP_PIN(2, 13), /* QSPI0_SSL */
|
|
[14] = RCAR_GP_PIN(2, 14), /* QSPI0_IO3 */
|
|
[15] = RCAR_GP_PIN(2, 15), /* PCIE0_CLKREQ_N */
|
|
[16] = RCAR_GP_PIN(2, 16), /* PCIE1_CLKREQ_N */
|
|
[17] = PIN_NONE,
|
|
[18] = PIN_NONE,
|
|
[19] = PIN_NONE,
|
|
[20] = PIN_NONE,
|
|
[21] = PIN_NONE,
|
|
[22] = PIN_NONE,
|
|
[23] = PIN_NONE,
|
|
[24] = PIN_NONE,
|
|
[25] = PIN_NONE,
|
|
[26] = PIN_NONE,
|
|
[27] = PIN_NONE,
|
|
[28] = PIN_NONE,
|
|
[29] = PIN_NONE,
|
|
[30] = PIN_NONE,
|
|
[31] = PIN_NONE,
|
|
} },
|
|
{ PFC_BIAS_REG(0xc0, 0xe0) { /* PUEN3, PUD3 */
|
|
[0] = RCAR_GP_PIN(3, 0), /* TSN1_MDIO_B */
|
|
[1] = RCAR_GP_PIN(3, 1), /* TSN2_MDIO_B */
|
|
[2] = RCAR_GP_PIN(3, 2), /* TSN0_MDIO_B */
|
|
[3] = RCAR_GP_PIN(3, 3), /* TSN2_MDC_B */
|
|
[4] = RCAR_GP_PIN(3, 4), /* TSN0_MDC_B */
|
|
[5] = RCAR_GP_PIN(3, 5), /* TSN1_MDC_B */
|
|
[6] = RCAR_GP_PIN(3, 6), /* TSN1_LINK_B */
|
|
[7] = RCAR_GP_PIN(3, 7), /* TSN2_LINK_B */
|
|
[8] = RCAR_GP_PIN(3, 8), /* TSN0_LINK_B */
|
|
[9] = RCAR_GP_PIN(3, 9), /* TSN2_PHY_INT_B */
|
|
[10] = RCAR_GP_PIN(3, 10), /* TSN0_PHY_INT_B */
|
|
[11] = RCAR_GP_PIN(3, 11), /* TSN1_PHY_INT_B */
|
|
[12] = RCAR_GP_PIN(3, 12), /* TSN0_MAGIC_B */
|
|
[13] = RCAR_GP_PIN(3, 13), /* TSN1_AVTP_PPS */
|
|
[14] = RCAR_GP_PIN(3, 14), /* TSN1_AVTP_MATCH_B */
|
|
[15] = RCAR_GP_PIN(3, 15), /* TSN1_AVTP_CAPTURE_B */
|
|
[16] = RCAR_GP_PIN(3, 16), /* TSN0_AVTP_PPS */
|
|
[17] = RCAR_GP_PIN(3, 17), /* TSN0_AVTP_MATCH_B */
|
|
[18] = RCAR_GP_PIN(3, 18), /* TSN0_AVTP_CAPTURE_B */
|
|
[19] = PIN_NONE,
|
|
[20] = PIN_NONE,
|
|
[21] = PIN_NONE,
|
|
[22] = PIN_NONE,
|
|
[23] = PIN_NONE,
|
|
[24] = PIN_NONE,
|
|
[25] = PIN_NONE,
|
|
[26] = PIN_NONE,
|
|
[27] = PIN_NONE,
|
|
[28] = PIN_NONE,
|
|
[29] = PIN_NONE,
|
|
[30] = PIN_NONE,
|
|
[31] = PIN_NONE,
|
|
} },
|
|
{ PFC_BIAS_REG(0xc0, 0xe0) { /* PUEN4, PUD4 */
|
|
[0] = RCAR_GP_PIN(4, 0), /* GP4_00 */
|
|
[1] = RCAR_GP_PIN(4, 1), /* GP4_01 */
|
|
[2] = RCAR_GP_PIN(4, 2), /* GP4_02 */
|
|
[3] = RCAR_GP_PIN(4, 3), /* GP4_03 */
|
|
[4] = RCAR_GP_PIN(4, 4), /* GP4_04 */
|
|
[5] = RCAR_GP_PIN(4, 5), /* GP4_05 */
|
|
[6] = RCAR_GP_PIN(4, 6), /* GP4_06 */
|
|
[7] = RCAR_GP_PIN(4, 7), /* GP4_07 */
|
|
[8] = RCAR_GP_PIN(4, 8), /* GP4_08 */
|
|
[9] = RCAR_GP_PIN(4, 9), /* GP4_09 */
|
|
[10] = RCAR_GP_PIN(4, 10), /* GP4_10 */
|
|
[11] = RCAR_GP_PIN(4, 11), /* GP4_11 */
|
|
[12] = RCAR_GP_PIN(4, 12), /* GP4_12 */
|
|
[13] = RCAR_GP_PIN(4, 13), /* GP4_13 */
|
|
[14] = RCAR_GP_PIN(4, 14), /* GP4_14 */
|
|
[15] = RCAR_GP_PIN(4, 15), /* GP4_15 */
|
|
[16] = RCAR_GP_PIN(4, 16), /* GP4_16 */
|
|
[17] = RCAR_GP_PIN(4, 17), /* GP4_17 */
|
|
[18] = RCAR_GP_PIN(4, 18), /* GP4_18 */
|
|
[19] = RCAR_GP_PIN(4, 19), /* GP4_19 */
|
|
[20] = RCAR_GP_PIN(4, 20), /* MSPI0SC */
|
|
[21] = RCAR_GP_PIN(4, 21), /* MSPI0SI */
|
|
[22] = RCAR_GP_PIN(4, 22), /* MSPI0SO/MSPI0DCS */
|
|
[23] = RCAR_GP_PIN(4, 23), /* MSPI0CSS1 */
|
|
[24] = RCAR_GP_PIN(4, 24), /* MSPI0CSS0 */
|
|
[25] = RCAR_GP_PIN(4, 25), /* MSPI1SI */
|
|
[26] = RCAR_GP_PIN(4, 26), /* MSPI1SO/MSPI1DCS */
|
|
[27] = RCAR_GP_PIN(4, 27), /* MSPI1CSS0 */
|
|
[28] = RCAR_GP_PIN(4, 28), /* MSPI1SC */
|
|
[29] = RCAR_GP_PIN(4, 29), /* MSPI1CSS2 */
|
|
[30] = RCAR_GP_PIN(4, 30), /* MSPI1CSS1 */
|
|
[31] = PIN_NONE,
|
|
} },
|
|
{ PFC_BIAS_REG(0xc0, 0xe0) { /* PUEN5, PUD5 */
|
|
[0] = RCAR_GP_PIN(5, 0), /* RIIC0SCL */
|
|
[1] = RCAR_GP_PIN(5, 1), /* RIIC0SDA */
|
|
[2] = RCAR_GP_PIN(5, 2), /* ETNB0MD */
|
|
[3] = RCAR_GP_PIN(5, 3), /* ETNB0WOL */
|
|
[4] = RCAR_GP_PIN(5, 4), /* ETNB0LINKSTA */
|
|
[5] = RCAR_GP_PIN(5, 5), /* ETNB0MDC */
|
|
[6] = RCAR_GP_PIN(5, 6), /* ETNB0RXER */
|
|
[7] = RCAR_GP_PIN(5, 7), /* ETNB0RXD3 */
|
|
[8] = RCAR_GP_PIN(5, 8), /* ETNB0RXD1 */
|
|
[9] = RCAR_GP_PIN(5, 9), /* ETNB0RXD2 */
|
|
[10] = RCAR_GP_PIN(5, 10), /* ETNB0RXDV */
|
|
[11] = RCAR_GP_PIN(5, 11), /* ETNB0RXD0 */
|
|
[12] = RCAR_GP_PIN(5, 12), /* ETNB0RXCLK */
|
|
[13] = RCAR_GP_PIN(5, 13), /* ETNB0TXER */
|
|
[14] = RCAR_GP_PIN(5, 14), /* ETNB0TXD3 */
|
|
[15] = RCAR_GP_PIN(5, 15), /* ETNB0TXCLK */
|
|
[16] = RCAR_GP_PIN(5, 16), /* ETNB0TXD1 */
|
|
[17] = RCAR_GP_PIN(5, 17), /* ETNB0TXD2 */
|
|
[18] = RCAR_GP_PIN(5, 18), /* ETNB0TXEN */
|
|
[19] = RCAR_GP_PIN(5, 19), /* ETNB0TXD0 */
|
|
[20] = PIN_NONE,
|
|
[21] = PIN_NONE,
|
|
[22] = PIN_NONE,
|
|
[23] = PIN_NONE,
|
|
[24] = PIN_NONE,
|
|
[25] = PIN_NONE,
|
|
[26] = PIN_NONE,
|
|
[27] = PIN_NONE,
|
|
[28] = PIN_NONE,
|
|
[29] = PIN_NONE,
|
|
[30] = PIN_NONE,
|
|
[31] = PIN_NONE,
|
|
} },
|
|
{ PFC_BIAS_REG(0xc0, 0xe0) { /* PUEN6, PUD6 */
|
|
[0] = RCAR_GP_PIN(6, 0), /* RLIN37TX */
|
|
[1] = RCAR_GP_PIN(6, 1), /* RLIN37RX/INTP23 */
|
|
[2] = RCAR_GP_PIN(6, 2), /* RLIN36TX */
|
|
[3] = RCAR_GP_PIN(6, 3), /* RLIN36RX/INTP22 */
|
|
[4] = RCAR_GP_PIN(6, 4), /* RLIN35TX */
|
|
[5] = RCAR_GP_PIN(6, 5), /* RLIN35RX/INTP21 */
|
|
[6] = RCAR_GP_PIN(6, 6), /* RLIN34TX */
|
|
[7] = RCAR_GP_PIN(6, 7), /* RLIN34RX/INTP20 */
|
|
[8] = RCAR_GP_PIN(6, 8), /* RLIN33TX */
|
|
[9] = RCAR_GP_PIN(6, 9), /* RLIN33RX/INTP19 */
|
|
[10] = RCAR_GP_PIN(6, 10), /* RLIN32TX */
|
|
[11] = RCAR_GP_PIN(6, 11), /* RLIN32RX/INTP18 */
|
|
[12] = RCAR_GP_PIN(6, 12), /* RLIN31TX */
|
|
[13] = RCAR_GP_PIN(6, 13), /* RLIN31RX/INTP17 */
|
|
[14] = RCAR_GP_PIN(6, 14), /* RLIN30TX */
|
|
[15] = RCAR_GP_PIN(6, 15), /* RLIN30RX/INTP16 */
|
|
[16] = RCAR_GP_PIN(6, 16), /* INTP37 */
|
|
[17] = RCAR_GP_PIN(6, 17), /* INTP36 */
|
|
[18] = RCAR_GP_PIN(6, 18), /* INTP35 */
|
|
[19] = RCAR_GP_PIN(6, 19), /* INTP34 */
|
|
[20] = RCAR_GP_PIN(6, 20), /* INTP33 */
|
|
[21] = RCAR_GP_PIN(6, 21), /* INTP32 */
|
|
[22] = RCAR_GP_PIN(6, 22), /* NMI1 */
|
|
[23] = PIN_NONE,
|
|
[24] = PIN_NONE,
|
|
[25] = PIN_NONE,
|
|
[26] = PIN_NONE,
|
|
[27] = PIN_NONE,
|
|
[28] = PIN_NONE,
|
|
[29] = PIN_NONE,
|
|
[30] = PIN_NONE,
|
|
[31] = PIN_NONE,
|
|
} },
|
|
{ PFC_BIAS_REG(0xc0, 0xe0) { /* PUEN7, PUD7 */
|
|
[0] = RCAR_GP_PIN(7, 0), /* CAN0TX */
|
|
[1] = RCAR_GP_PIN(7, 1), /* CAN0RX/INTP0 */
|
|
[2] = RCAR_GP_PIN(7, 2), /* CAN1TX */
|
|
[3] = RCAR_GP_PIN(7, 3), /* CAN1RX/INTP1 */
|
|
[4] = RCAR_GP_PIN(7, 4), /* CAN2TX */
|
|
[5] = RCAR_GP_PIN(7, 5), /* CAN2RX/INTP2 */
|
|
[6] = RCAR_GP_PIN(7, 6), /* CAN3TX */
|
|
[7] = RCAR_GP_PIN(7, 7), /* CAN3RX/INTP3 */
|
|
[8] = RCAR_GP_PIN(7, 8), /* CAN4TX */
|
|
[9] = RCAR_GP_PIN(7, 9), /* CAN4RX/INTP4 */
|
|
[10] = RCAR_GP_PIN(7, 10), /* CAN5TX */
|
|
[11] = RCAR_GP_PIN(7, 11), /* CAN5RX/INTP5 */
|
|
[12] = RCAR_GP_PIN(7, 12), /* CAN6TX */
|
|
[13] = RCAR_GP_PIN(7, 13), /* CAN6RX/INTP6 */
|
|
[14] = RCAR_GP_PIN(7, 14), /* CAN7TX */
|
|
[15] = RCAR_GP_PIN(7, 15), /* CAN7RX/INTP7 */
|
|
[16] = RCAR_GP_PIN(7, 16), /* CAN8TX */
|
|
[17] = RCAR_GP_PIN(7, 17), /* CAN8RX/INTP8 */
|
|
[18] = RCAR_GP_PIN(7, 18), /* CAN9TX */
|
|
[19] = RCAR_GP_PIN(7, 19), /* CAN9RX/INTP9 */
|
|
[20] = RCAR_GP_PIN(7, 20), /* CAN10TX */
|
|
[21] = RCAR_GP_PIN(7, 21), /* CAN10RX/INTP10 */
|
|
[22] = RCAR_GP_PIN(7, 22), /* CAN11TX */
|
|
[23] = RCAR_GP_PIN(7, 23), /* CAN11RX/INTP11 */
|
|
[24] = RCAR_GP_PIN(7, 24), /* CAN12TX */
|
|
[25] = RCAR_GP_PIN(7, 25), /* CAN12RX/INTP12 */
|
|
[26] = RCAR_GP_PIN(7, 26), /* CAN13TX */
|
|
[27] = RCAR_GP_PIN(7, 27), /* CAN13RX/INTP13 */
|
|
[28] = RCAR_GP_PIN(7, 28), /* CAN14TX */
|
|
[29] = RCAR_GP_PIN(7, 29), /* CAN14RX/INTP14 */
|
|
[30] = RCAR_GP_PIN(7, 30), /* CAN15TX */
|
|
[31] = RCAR_GP_PIN(7, 31), /* CAN15RX/INTP15 */
|
|
} },
|
|
{ /* sentinel */ },
|
|
};
|
|
|
|
const struct pfc_bias_reg *pfc_rcar_get_bias_regs(void)
|
|
{
|
|
return pfc_bias_regs;
|
|
}
|
|
|
|
const struct pfc_drive_reg *pfc_rcar_get_drive_regs(void)
|
|
{
|
|
return pfc_drive_regs;
|
|
}
|
|
|
|
int pfc_rcar_get_reg_index(uint8_t pin, uint8_t *reg_index)
|
|
{
|
|
if (RCAR_IS_GP_PIN(pin) == false)
|
|
return -EINVAL;
|
|
|
|
*reg_index = pin / 32;
|
|
|
|
return 0;
|
|
}
|