linux/drivers/pinctrl/renesas/pfc-r8a779f0.c

// SPDX-License-Identifier: GPL-2.0
/*
 * R8A779F0 processor support - PFC hardware block.
 *
 * Copyright (C) 2021 Renesas Electronics Corp.
 *
 * This file is based on the drivers/pinctrl/renesas/pfc-r8a779a0.c
 */

#include <linux/errno.h>
#include <linux/io.h>
#include <linux/kernel.h>

#include "sh_pfc.h"

#define CFG_FLAGS

#define CPU_ALL_GP(fn, sfx)

#define CPU_ALL_NOGP(fn)

/*
 * F_() : just information
 * FM() : macro for FN_xxx / xxx_MARK
 */

/* GPSR0 */
#define GPSR0_20
#define GPSR0_19
#define GPSR0_18
#define GPSR0_17
#define GPSR0_16
#define GPSR0_15
#define GPSR0_14
#define GPSR0_13
#define GPSR0_12
#define GPSR0_11
#define GPSR0_10
#define GPSR0_9
#define GPSR0_8
#define GPSR0_7
#define GPSR0_6
#define GPSR0_5
#define GPSR0_4
#define GPSR0_3
#define GPSR0_2
#define GPSR0_1
#define GPSR0_0

/* GPSR1 */
#define GPSR1_24
#define GPSR1_23
#define GPSR1_22
#define GPSR1_21
#define GPSR1_20
#define GPSR1_19
#define GPSR1_18
#define GPSR1_17
#define GPSR1_16
#define GPSR1_15
#define GPSR1_14
#define GPSR1_13
#define GPSR1_12
#define GPSR1_11
#define GPSR1_10
#define GPSR1_9
#define GPSR1_8
#define GPSR1_7
#define GPSR1_6
#define GPSR1_5
#define GPSR1_4
#define GPSR1_3
#define GPSR1_2
#define GPSR1_1
#define GPSR1_0

/* GPSR2 */
#define GPSR2_16
#define GPSR2_15
#define GPSR2_14
#define GPSR2_13
#define GPSR2_12
#define GPSR2_11
#define GPSR2_10
#define GPSR2_9
#define GPSR2_8
#define GPSR2_7
#define GPSR2_6
#define GPSR2_5
#define GPSR2_4
#define GPSR2_3
#define GPSR2_2
#define GPSR2_1
#define GPSR2_0

/* GPSR3 */
#define GPSR3_18
#define GPSR3_17
#define GPSR3_16
#define GPSR3_15
#define GPSR3_14
#define GPSR3_13
#define GPSR3_12
#define GPSR3_11
#define GPSR3_10
#define GPSR3_9
#define GPSR3_8
#define GPSR3_7
#define GPSR3_6
#define GPSR3_5
#define GPSR3_4
#define GPSR3_3
#define GPSR3_2
#define GPSR3_1
#define GPSR3_0

/* IP0SR0 */		/* 0 */			/* 1 */			/* 2 */			/* 3 */			/* 4 */		/* 5 */			/* 6 */			/* 7 - F */
#define IP0SR0_3_0
#define IP0SR0_7_4
#define IP0SR0_11_8
#define IP0SR0_15_12
#define IP0SR0_19_16
#define IP0SR0_23_20
#define IP0SR0_27_24
#define IP0SR0_31_28
/* IP1SR0 */		/* 0 */			/* 1 */			/* 2 */			/* 3 */			/* 4 */		/* 5 */			/* 6 */			/* 7 - F */
#define IP1SR0_3_0
#define IP1SR0_7_4
#define IP1SR0_11_8
#define IP1SR0_15_12
#define IP1SR0_19_16
#define IP1SR0_23_20
#define IP1SR0_27_24
#define IP1SR0_31_28
/* IP2SR0 */		/* 0 */			/* 1 */			/* 2 */			/* 3 */			/* 4 */		/* 5 */			/* 6 */			/* 7 - F */
#define IP2SR0_3_0
#define IP2SR0_7_4
#define IP2SR0_11_8
#define IP2SR0_15_12
#define IP2SR0_19_16

/* IP0SR1 */		/* 0 */			/* 1 */			/* 2 */			/* 3 */			/* 4 */		/* 5 */			/* 6 */			/* 7 - F */
#define IP0SR1_3_0
#define IP0SR1_7_4
#define IP0SR1_11_8
#define IP0SR1_15_12
#define IP0SR1_19_16
#define IP0SR1_23_20
#define IP0SR1_27_24
#define IP0SR1_31_28

#define PINMUX_GPSR

#define PINMUX_IPSR

/* MOD_SEL1 */			/* 0 */		/* 1 */		/* 2 */		/* 3 */
#define MOD_SEL1_11_10
#define MOD_SEL1_9_8
#define MOD_SEL1_7_6
#define MOD_SEL1_5_4
#define MOD_SEL1_3_2
#define MOD_SEL1_1_0

#define PINMUX_MOD_SELS

#define PINMUX_PHYS

enum {};

static const u16 pinmux_data[] =;

/*
 * Pins not associated with a GPIO port.
 */
enum {};

static const struct sh_pfc_pin pinmux_pins[] =;

/* - HSCIF0 ----------------------------------------------------------------- */
static const unsigned int hscif0_data_pins[] =;
static const unsigned int hscif0_data_mux[] =;
static const unsigned int hscif0_clk_pins[] =;
static const unsigned int hscif0_clk_mux[] =;
static const unsigned int hscif0_ctrl_pins[] =;
static const unsigned int hscif0_ctrl_mux[] =;

/* - HSCIF1 ----------------------------------------------------------------- */
static const unsigned int hscif1_data_pins[] =;
static const unsigned int hscif1_data_mux[] =;
static const unsigned int hscif1_clk_pins[] =;
static const unsigned int hscif1_clk_mux[] =;
static const unsigned int hscif1_ctrl_pins[] =;
static const unsigned int hscif1_ctrl_mux[] =;

/* - HSCIF2 ----------------------------------------------------------------- */
static const unsigned int hscif2_data_pins[] =;
static const unsigned int hscif2_data_mux[] =;
static const unsigned int hscif2_clk_pins[] =;
static const unsigned int hscif2_clk_mux[] =;
static const unsigned int hscif2_ctrl_pins[] =;
static const unsigned int hscif2_ctrl_mux[] =;

/* - HSCIF3 ----------------------------------------------------------------- */
static const unsigned int hscif3_data_pins[] =;
static const unsigned int hscif3_data_mux[] =;
static const unsigned int hscif3_clk_pins[] =;
static const unsigned int hscif3_clk_mux[] =;
static const unsigned int hscif3_ctrl_pins[] =;
static const unsigned int hscif3_ctrl_mux[] =;

/* - I2C0 ------------------------------------------------------------------- */
static const unsigned int i2c0_pins[] =;
static const unsigned int i2c0_mux[] =;

/* - I2C1 ------------------------------------------------------------------- */
static const unsigned int i2c1_pins[] =;
static const unsigned int i2c1_mux[] =;

/* - I2C2 ------------------------------------------------------------------- */
static const unsigned int i2c2_pins[] =;
static const unsigned int i2c2_mux[] =;

/* - I2C3 ------------------------------------------------------------------- */
static const unsigned int i2c3_pins[] =;
static const unsigned int i2c3_mux[] =;

/* - I2C4 ------------------------------------------------------------------- */
static const unsigned int i2c4_pins[] =;
static const unsigned int i2c4_mux[] =;

/* - I2C5 ------------------------------------------------------------------- */
static const unsigned int i2c5_pins[] =;
static const unsigned int i2c5_mux[] =;


/* - INTC-EX ---------------------------------------------------------------- */
static const unsigned int intc_ex_irq0_pins[] =;
static const unsigned int intc_ex_irq0_mux[] =;
static const unsigned int intc_ex_irq1_pins[] =;
static const unsigned int intc_ex_irq1_mux[] =;
static const unsigned int intc_ex_irq2_pins[] =;
static const unsigned int intc_ex_irq2_mux[] =;
static const unsigned int intc_ex_irq3_pins[] =;
static const unsigned int intc_ex_irq3_mux[] =;
static const unsigned int intc_ex_irq4_pins[] =;
static const unsigned int intc_ex_irq4_mux[] =;
static const unsigned int intc_ex_irq5_pins[] =;
static const unsigned int intc_ex_irq5_mux[] =;

/* - MMC -------------------------------------------------------------------- */
static const unsigned int mmc_data_pins[] =;
static const unsigned int mmc_data_mux[] =;
static const unsigned int mmc_ctrl_pins[] =;
static const unsigned int mmc_ctrl_mux[] =;
static const unsigned int mmc_cd_pins[] =;
static const unsigned int mmc_cd_mux[] =;
static const unsigned int mmc_wp_pins[] =;
static const unsigned int mmc_wp_mux[] =;
static const unsigned int mmc_ds_pins[] =;
static const unsigned int mmc_ds_mux[] =;

/* - MSIOF0 ----------------------------------------------------------------- */
static const unsigned int msiof0_clk_pins[] =;
static const unsigned int msiof0_clk_mux[] =;
static const unsigned int msiof0_sync_pins[] =;
static const unsigned int msiof0_sync_mux[] =;
static const unsigned int msiof0_ss1_pins[] =;
static const unsigned int msiof0_ss1_mux[] =;
static const unsigned int msiof0_ss2_pins[] =;
static const unsigned int msiof0_ss2_mux[] =;
static const unsigned int msiof0_txd_pins[] =;
static const unsigned int msiof0_txd_mux[] =;
static const unsigned int msiof0_rxd_pins[] =;
static const unsigned int msiof0_rxd_mux[] =;

/* - MSIOF1 ----------------------------------------------------------------- */
static const unsigned int msiof1_clk_pins[] =;
static const unsigned int msiof1_clk_mux[] =;
static const unsigned int msiof1_sync_pins[] =;
static const unsigned int msiof1_sync_mux[] =;
static const unsigned int msiof1_ss1_pins[] =;
static const unsigned int msiof1_ss1_mux[] =;
static const unsigned int msiof1_ss2_pins[] =;
static const unsigned int msiof1_ss2_mux[] =;
static const unsigned int msiof1_txd_pins[] =;
static const unsigned int msiof1_txd_mux[] =;
static const unsigned int msiof1_rxd_pins[] =;
static const unsigned int msiof1_rxd_mux[] =;

/* - MSIOF2 ----------------------------------------------------------------- */
static const unsigned int msiof2_clk_pins[] =;
static const unsigned int msiof2_clk_mux[] =;
static const unsigned int msiof2_sync_pins[] =;
static const unsigned int msiof2_sync_mux[] =;
static const unsigned int msiof2_ss1_pins[] =;
static const unsigned int msiof2_ss1_mux[] =;
static const unsigned int msiof2_ss2_pins[] =;
static const unsigned int msiof2_ss2_mux[] =;
static const unsigned int msiof2_txd_pins[] =;
static const unsigned int msiof2_txd_mux[] =;
static const unsigned int msiof2_rxd_pins[] =;
static const unsigned int msiof2_rxd_mux[] =;

/* - MSIOF3 ----------------------------------------------------------------- */
static const unsigned int msiof3_clk_pins[] =;
static const unsigned int msiof3_clk_mux[] =;
static const unsigned int msiof3_sync_pins[] =;
static const unsigned int msiof3_sync_mux[] =;
static const unsigned int msiof3_ss1_pins[] =;
static const unsigned int msiof3_ss1_mux[] =;
static const unsigned int msiof3_ss2_pins[] =;
static const unsigned int msiof3_ss2_mux[] =;
static const unsigned int msiof3_txd_pins[] =;
static const unsigned int msiof3_txd_mux[] =;
static const unsigned int msiof3_rxd_pins[] =;
static const unsigned int msiof3_rxd_mux[] =;

/* - PCIE ------------------------------------------------------------------- */
static const unsigned int pcie0_clkreq_n_pins[] =;

static const unsigned int pcie0_clkreq_n_mux[] =;

static const unsigned int pcie1_clkreq_n_pins[] =;

static const unsigned int pcie1_clkreq_n_mux[] =;

/* - QSPI0 ------------------------------------------------------------------ */
static const unsigned int qspi0_ctrl_pins[] =;
static const unsigned int qspi0_ctrl_mux[] =;
static const unsigned int qspi0_data_pins[] =;
static const unsigned int qspi0_data_mux[] =;

/* - QSPI1 ------------------------------------------------------------------ */
static const unsigned int qspi1_ctrl_pins[] =;
static const unsigned int qspi1_ctrl_mux[] =;
static const unsigned int qspi1_data_pins[] =;
static const unsigned int qspi1_data_mux[] =;

/* - SCIF0 ------------------------------------------------------------------ */
static const unsigned int scif0_data_pins[] =;
static const unsigned int scif0_data_mux[] =;
static const unsigned int scif0_clk_pins[] =;
static const unsigned int scif0_clk_mux[] =;
static const unsigned int scif0_ctrl_pins[] =;
static const unsigned int scif0_ctrl_mux[] =;

/* - SCIF1 ------------------------------------------------------------------ */
static const unsigned int scif1_data_pins[] =;
static const unsigned int scif1_data_mux[] =;
static const unsigned int scif1_clk_pins[] =;
static const unsigned int scif1_clk_mux[] =;
static const unsigned int scif1_ctrl_pins[] =;
static const unsigned int scif1_ctrl_mux[] =;

/* - SCIF3 ------------------------------------------------------------------ */
static const unsigned int scif3_data_pins[] =;
static const unsigned int scif3_data_mux[] =;
static const unsigned int scif3_clk_pins[] =;
static const unsigned int scif3_clk_mux[] =;
static const unsigned int scif3_ctrl_pins[] =;
static const unsigned int scif3_ctrl_mux[] =;

/* - SCIF4 ------------------------------------------------------------------ */
static const unsigned int scif4_data_pins[] =;
static const unsigned int scif4_data_mux[] =;
static const unsigned int scif4_clk_pins[] =;
static const unsigned int scif4_clk_mux[] =;
static const unsigned int scif4_ctrl_pins[] =;
static const unsigned int scif4_ctrl_mux[] =;

/* - SCIF Clock ------------------------------------------------------------- */
static const unsigned int scif_clk_pins[] =;
static const unsigned int scif_clk_mux[] =;

/* - TSN0 ------------------------------------------------ */
static const unsigned int tsn0_link_a_pins[] =;
static const unsigned int tsn0_link_a_mux[] =;
static const unsigned int tsn0_magic_a_pins[] =;
static const unsigned int tsn0_magic_a_mux[] =;
static const unsigned int tsn0_phy_int_a_pins[] =;
static const unsigned int tsn0_phy_int_a_mux[] =;
static const unsigned int tsn0_mdio_a_pins[] =;
static const unsigned int tsn0_mdio_a_mux[] =;
static const unsigned int tsn0_link_b_pins[] =;
static const unsigned int tsn0_link_b_mux[] =;
static const unsigned int tsn0_magic_b_pins[] =;
static const unsigned int tsn0_magic_b_mux[] =;
static const unsigned int tsn0_phy_int_b_pins[] =;
static const unsigned int tsn0_phy_int_b_mux[] =;
static const unsigned int tsn0_mdio_b_pins[] =;
static const unsigned int tsn0_mdio_b_mux[] =;
static const unsigned int tsn0_avtp_pps_pins[] =;
static const unsigned int tsn0_avtp_pps_mux[] =;
static const unsigned int tsn0_avtp_capture_a_pins[] =;
static const unsigned int tsn0_avtp_capture_a_mux[] =;
static const unsigned int tsn0_avtp_match_a_pins[] =;
static const unsigned int tsn0_avtp_match_a_mux[] =;
static const unsigned int tsn0_avtp_capture_b_pins[] =;
static const unsigned int tsn0_avtp_capture_b_mux[] =;
static const unsigned int tsn0_avtp_match_b_pins[] =;
static const unsigned int tsn0_avtp_match_b_mux[] =;

/* - TSN1 ------------------------------------------------ */
static const unsigned int tsn1_link_a_pins[] =;
static const unsigned int tsn1_link_a_mux[] =;
static const unsigned int tsn1_phy_int_a_pins[] =;
static const unsigned int tsn1_phy_int_a_mux[] =;
static const unsigned int tsn1_mdio_a_pins[] =;
static const unsigned int tsn1_mdio_a_mux[] =;
static const unsigned int tsn1_link_b_pins[] =;
static const unsigned int tsn1_link_b_mux[] =;
static const unsigned int tsn1_phy_int_b_pins[] =;
static const unsigned int tsn1_phy_int_b_mux[] =;
static const unsigned int tsn1_mdio_b_pins[] =;
static const unsigned int tsn1_mdio_b_mux[] =;
static const unsigned int tsn1_avtp_pps_pins[] =;
static const unsigned int tsn1_avtp_pps_mux[] =;
static const unsigned int tsn1_avtp_capture_a_pins[] =;
static const unsigned int tsn1_avtp_capture_a_mux[] =;
static const unsigned int tsn1_avtp_match_a_pins[] =;
static const unsigned int tsn1_avtp_match_a_mux[] =;
static const unsigned int tsn1_avtp_capture_b_pins[] =;
static const unsigned int tsn1_avtp_capture_b_mux[] =;
static const unsigned int tsn1_avtp_match_b_pins[] =;
static const unsigned int tsn1_avtp_match_b_mux[] =;

/* - TSN2 ------------------------------------------------ */
static const unsigned int tsn2_link_a_pins[] =;
static const unsigned int tsn2_link_a_mux[] =;
static const unsigned int tsn2_phy_int_a_pins[] =;
static const unsigned int tsn2_phy_int_a_mux[] =;
static const unsigned int tsn2_mdio_a_pins[] =;
static const unsigned int tsn2_mdio_a_mux[] =;
static const unsigned int tsn2_link_b_pins[] =;
static const unsigned int tsn2_link_b_mux[] =;
static const unsigned int tsn2_phy_int_b_pins[] =;
static const unsigned int tsn2_phy_int_b_mux[] =;
static const unsigned int tsn2_mdio_b_pins[] =;
static const unsigned int tsn2_mdio_b_mux[] =;

static const struct sh_pfc_pin_group pinmux_groups[] =;

static const char * const hscif0_groups[] =;

static const char * const hscif1_groups[] =;

static const char * const hscif2_groups[] =;

static const char * const hscif3_groups[] =;

static const char * const i2c0_groups[] =;

static const char * const i2c1_groups[] =;

static const char * const i2c2_groups[] =;

static const char * const i2c3_groups[] =;

static const char * const i2c4_groups[] =;

static const char * const i2c5_groups[] =;

static const char * const intc_ex_groups[] =;

static const char * const mmc_groups[] =;

static const char * const msiof0_groups[] =;

static const char * const msiof1_groups[] =;

static const char * const msiof2_groups[] =;

static const char * const msiof3_groups[] =;

static const char * const pcie_groups[] =;

static const char * const qspi0_groups[] =;

static const char * const qspi1_groups[] =;

static const char * const scif0_groups[] =;

static const char * const scif1_groups[] =;

static const char * const scif3_groups[] =;

static const char * const scif4_groups[] =;

static const char * const scif_clk_groups[] =;

static const char * const tsn0_groups[] =;

static const char * const tsn1_groups[] =;

static const char * const tsn2_groups[] =;

static const struct sh_pfc_function pinmux_functions[] =;

static const struct pinmux_cfg_reg pinmux_config_regs[] =;

static const struct pinmux_drive_reg pinmux_drive_regs[] =;

enum ioctrl_regs {};

static const struct pinmux_ioctrl_reg pinmux_ioctrl_regs[] =;

static int r8a779f0_pin_to_pocctrl(unsigned int pin, u32 *pocctrl)
{}

static const struct pinmux_bias_reg pinmux_bias_regs[] =;

static const struct sh_pfc_soc_operations r8a779f0_pfc_ops =;

const struct sh_pfc_soc_info r8a779f0_pinmux_info =;