#ifndef __SH_PFC_H
#define __SH_PFC_H
#include <linux/bug.h>
#include <linux/pinctrl/pinconf-generic.h>
#include <linux/spinlock.h>
#include <linux/stringify.h>
enum { … };
#define SH_PFC_PIN_NONE …
#define SH_PFC_PIN_CFG_INPUT …
#define SH_PFC_PIN_CFG_OUTPUT …
#define SH_PFC_PIN_CFG_PULL_UP …
#define SH_PFC_PIN_CFG_PULL_DOWN …
#define SH_PFC_PIN_CFG_PULL_UP_DOWN …
#define SH_PFC_PIN_CFG_IO_VOLTAGE_MASK …
#define SH_PFC_PIN_CFG_IO_VOLTAGE_18_25 …
#define SH_PFC_PIN_CFG_IO_VOLTAGE_18_33 …
#define SH_PFC_PIN_CFG_IO_VOLTAGE_25_33 …
#define SH_PFC_PIN_CFG_DRIVE_STRENGTH …
#define SH_PFC_PIN_CFG_NO_GPIO …
struct sh_pfc_pin { … };
#define SH_PFC_PIN_GROUP_ALIAS(alias, _name) …
#define SH_PFC_PIN_GROUP(name) …
#define SH_PFC_PIN_GROUP_SUBSET(_name, data, first, n) …
#define BUS_DATA_PIN_GROUP(base, n, ...) …
struct sh_pfc_pin_group { … };
#define SH_PFC_FUNCTION(n) …
struct sh_pfc_function { … };
struct pinmux_func { … };
struct pinmux_cfg_reg { … };
#define GROUP(...) …
#define PINMUX_CFG_REG(name, r, r_width, f_width, ids) …
#define PINMUX_CFG_REG_VAR(name, r, r_width, f_widths, ids) …
struct pinmux_drive_reg_field { … };
struct pinmux_drive_reg { … };
#define PINMUX_DRIVE_REG(name, r) …
struct pinmux_bias_reg { … };
#define PINMUX_BIAS_REG(name1, r1, name2, r2) …
struct pinmux_ioctrl_reg { … };
struct pinmux_data_reg { … };
#define PINMUX_DATA_REG(name, r, r_width, ids) …
struct pinmux_irq { … };
#define PINMUX_IRQ(ids...) …
struct pinmux_range { … };
struct sh_pfc_window { … };
struct sh_pfc_pin_range;
struct sh_pfc { … };
struct sh_pfc_soc_operations { … };
struct sh_pfc_soc_info { … };
extern const struct sh_pfc_soc_info emev2_pinmux_info;
extern const struct sh_pfc_soc_info r8a73a4_pinmux_info;
extern const struct sh_pfc_soc_info r8a7740_pinmux_info;
extern const struct sh_pfc_soc_info r8a7742_pinmux_info;
extern const struct sh_pfc_soc_info r8a7743_pinmux_info;
extern const struct sh_pfc_soc_info r8a7744_pinmux_info;
extern const struct sh_pfc_soc_info r8a7745_pinmux_info;
extern const struct sh_pfc_soc_info r8a77470_pinmux_info;
extern const struct sh_pfc_soc_info r8a774a1_pinmux_info;
extern const struct sh_pfc_soc_info r8a774b1_pinmux_info;
extern const struct sh_pfc_soc_info r8a774c0_pinmux_info;
extern const struct sh_pfc_soc_info r8a774e1_pinmux_info;
extern const struct sh_pfc_soc_info r8a7778_pinmux_info;
extern const struct sh_pfc_soc_info r8a7779_pinmux_info;
extern const struct sh_pfc_soc_info r8a7790_pinmux_info;
extern const struct sh_pfc_soc_info r8a7791_pinmux_info;
extern const struct sh_pfc_soc_info r8a7792_pinmux_info;
extern const struct sh_pfc_soc_info r8a7793_pinmux_info;
extern const struct sh_pfc_soc_info r8a7794_pinmux_info;
extern const struct sh_pfc_soc_info r8a77951_pinmux_info;
extern const struct sh_pfc_soc_info r8a77960_pinmux_info;
extern const struct sh_pfc_soc_info r8a77961_pinmux_info;
extern const struct sh_pfc_soc_info r8a77965_pinmux_info;
extern const struct sh_pfc_soc_info r8a77970_pinmux_info;
extern const struct sh_pfc_soc_info r8a77980_pinmux_info;
extern const struct sh_pfc_soc_info r8a77990_pinmux_info;
extern const struct sh_pfc_soc_info r8a77995_pinmux_info;
extern const struct sh_pfc_soc_info r8a779a0_pinmux_info;
extern const struct sh_pfc_soc_info r8a779f0_pinmux_info;
extern const struct sh_pfc_soc_info r8a779g0_pinmux_info;
extern const struct sh_pfc_soc_info r8a779h0_pinmux_info;
extern const struct sh_pfc_soc_info sh7203_pinmux_info;
extern const struct sh_pfc_soc_info sh7264_pinmux_info;
extern const struct sh_pfc_soc_info sh7269_pinmux_info;
extern const struct sh_pfc_soc_info sh73a0_pinmux_info;
extern const struct sh_pfc_soc_info sh7720_pinmux_info;
extern const struct sh_pfc_soc_info sh7722_pinmux_info;
extern const struct sh_pfc_soc_info sh7723_pinmux_info;
extern const struct sh_pfc_soc_info sh7724_pinmux_info;
extern const struct sh_pfc_soc_info sh7734_pinmux_info;
extern const struct sh_pfc_soc_info sh7757_pinmux_info;
extern const struct sh_pfc_soc_info sh7785_pinmux_info;
extern const struct sh_pfc_soc_info sh7786_pinmux_info;
extern const struct sh_pfc_soc_info shx3_pinmux_info;
#define PINMUX_DATA(data_or_mark, ids...) …
#define PINMUX_IPSR_NOGP(ipsr, fn) …
#define PINMUX_IPSR_GPSR(ipsr, fn) …
#define PINMUX_IPSR_NOGM(ipsr, fn, msel) …
#define PINMUX_IPSR_NOFN(gpsr, fn, gsel) …
#define PINMUX_IPSR_MSEL(ipsr, fn, msel) …
#define PINMUX_IPSR_PHYS_MSEL(ipsr, fn, psel, msel) …
#define PINMUX_IPSR_PHYS(ipsr, fn, psel) …
#define PINMUX_SINGLE(fn) …
#define PORT_GP_CFG_1(bank, pin, fn, sfx, cfg) …
#define PORT_GP_1(bank, pin, fn, sfx) …
#define PORT_GP_CFG_2(bank, fn, sfx, cfg) …
#define PORT_GP_2(bank, fn, sfx) …
#define PORT_GP_CFG_4(bank, fn, sfx, cfg) …
#define PORT_GP_4(bank, fn, sfx) …
#define PORT_GP_CFG_6(bank, fn, sfx, cfg) …
#define PORT_GP_6(bank, fn, sfx) …
#define PORT_GP_CFG_7(bank, fn, sfx, cfg) …
#define PORT_GP_7(bank, fn, sfx) …
#define PORT_GP_CFG_8(bank, fn, sfx, cfg) …
#define PORT_GP_8(bank, fn, sfx) …
#define PORT_GP_CFG_9(bank, fn, sfx, cfg) …
#define PORT_GP_9(bank, fn, sfx) …
#define PORT_GP_CFG_10(bank, fn, sfx, cfg) …
#define PORT_GP_10(bank, fn, sfx) …
#define PORT_GP_CFG_11(bank, fn, sfx, cfg) …
#define PORT_GP_11(bank, fn, sfx) …
#define PORT_GP_CFG_12(bank, fn, sfx, cfg) …
#define PORT_GP_12(bank, fn, sfx) …
#define PORT_GP_CFG_13(bank, fn, sfx, cfg) …
#define PORT_GP_13(bank, fn, sfx) …
#define PORT_GP_CFG_14(bank, fn, sfx, cfg) …
#define PORT_GP_14(bank, fn, sfx) …
#define PORT_GP_CFG_15(bank, fn, sfx, cfg) …
#define PORT_GP_15(bank, fn, sfx) …
#define PORT_GP_CFG_16(bank, fn, sfx, cfg) …
#define PORT_GP_16(bank, fn, sfx) …
#define PORT_GP_CFG_17(bank, fn, sfx, cfg) …
#define PORT_GP_17(bank, fn, sfx) …
#define PORT_GP_CFG_18(bank, fn, sfx, cfg) …
#define PORT_GP_18(bank, fn, sfx) …
#define PORT_GP_CFG_19(bank, fn, sfx, cfg) …
#define PORT_GP_19(bank, fn, sfx) …
#define PORT_GP_CFG_20(bank, fn, sfx, cfg) …
#define PORT_GP_20(bank, fn, sfx) …
#define PORT_GP_CFG_21(bank, fn, sfx, cfg) …
#define PORT_GP_21(bank, fn, sfx) …
#define PORT_GP_CFG_22(bank, fn, sfx, cfg) …
#define PORT_GP_22(bank, fn, sfx) …
#define PORT_GP_CFG_23(bank, fn, sfx, cfg) …
#define PORT_GP_23(bank, fn, sfx) …
#define PORT_GP_CFG_24(bank, fn, sfx, cfg) …
#define PORT_GP_24(bank, fn, sfx) …
#define PORT_GP_CFG_25(bank, fn, sfx, cfg) …
#define PORT_GP_25(bank, fn, sfx) …
#define PORT_GP_CFG_26(bank, fn, sfx, cfg) …
#define PORT_GP_26(bank, fn, sfx) …
#define PORT_GP_CFG_27(bank, fn, sfx, cfg) …
#define PORT_GP_27(bank, fn, sfx) …
#define PORT_GP_CFG_28(bank, fn, sfx, cfg) …
#define PORT_GP_28(bank, fn, sfx) …
#define PORT_GP_CFG_29(bank, fn, sfx, cfg) …
#define PORT_GP_29(bank, fn, sfx) …
#define PORT_GP_CFG_30(bank, fn, sfx, cfg) …
#define PORT_GP_30(bank, fn, sfx) …
#define PORT_GP_CFG_31(bank, fn, sfx, cfg) …
#define PORT_GP_31(bank, fn, sfx) …
#define PORT_GP_CFG_32(bank, fn, sfx, cfg) …
#define PORT_GP_32(bank, fn, sfx) …
#define PORT_GP_32_REV(bank, fn, sfx) …
#define _GP_ALL(bank, pin, name, sfx, cfg) …
#define GP_ALL(str) …
#define _GP_GPIO(bank, _pin, _name, sfx, cfg) …
#define PINMUX_GPIO_GP_ALL() …
#define _GP_DATA(bank, pin, name, sfx, cfg) …
#define PINMUX_DATA_GP_ALL() …
#define _GP_ENTRY(bank, pin, name, sfx, cfg) …
#define GP_ASSIGN_LAST() …
#define PORT_1(pn, fn, pfx, sfx) …
#define PORT_10(pn, fn, pfx, sfx) …
#define PORT_90(pn, fn, pfx, sfx) …
#define _PORT_ALL(pn, pfx, sfx) …
#define PORT_ALL(str) …
#define PINMUX_GPIO(_pin) …
#define SH_PFC_PIN_CFG(_pin, cfgs) …
#define _PORT_DATA(pn, pfx, sfx) …
#define PINMUX_DATA_ALL() …
#define _PORT_ENTRY(pn, pfx, sfx) …
#define PORT_ASSIGN_LAST() …
#define PINMUX_GPIO_FN(gpio, base, data_or_mark) …
#define GPIO_FN(str) …
#define PIN_NOGP_CFG(pin, name, fn, cfg) …
#define PIN_NOGP(pin, name, fn) …
#define _NOGP_ALL(pin, name, cfg) …
#define NOGP_ALL() …
#define _NOGP_PINMUX(_pin, _name, cfg) …
#define PINMUX_NOGP_ALL() …
#define PORTCR(nr, reg) …
#define RCAR_GP_PIN(bank, pin) …
const struct pinmux_bias_reg *
rcar_pin_to_bias_reg(const struct sh_pfc_soc_info *info, unsigned int pin,
unsigned int *bit);
unsigned int rcar_pinmux_get_bias(struct sh_pfc *pfc, unsigned int pin);
void rcar_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin,
unsigned int bias);
unsigned int rmobile_pinmux_get_bias(struct sh_pfc *pfc, unsigned int pin);
void rmobile_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin,
unsigned int bias);
#endif