#include <dt-bindings/pinctrl/rzn1-pinctrl.h>
#include <linux/clk.h>
#include <linux/device.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/pinctrl/pinconf-generic.h>
#include <linux/pinctrl/pinconf.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/pinctrl/pinmux.h>
#include "../core.h"
#include "../pinconf.h"
#include "../pinctrl-utils.h"
#define RZN1_L1_PIN_DRIVE_STRENGTH …
#define RZN1_L1_PIN_DRIVE_STRENGTH_4MA …
#define RZN1_L1_PIN_DRIVE_STRENGTH_6MA …
#define RZN1_L1_PIN_DRIVE_STRENGTH_8MA …
#define RZN1_L1_PIN_DRIVE_STRENGTH_12MA …
#define RZN1_L1_PIN_PULL …
#define RZN1_L1_PIN_PULL_NONE …
#define RZN1_L1_PIN_PULL_UP …
#define RZN1_L1_PIN_PULL_DOWN …
#define RZN1_L1_FUNCTION …
#define RZN1_L1_FUNC_MASK …
#define RZN1_L1_FUNCTION_L2 …
struct rzn1_pinctrl_regs { … };
struct rzn1_pmx_func { … };
struct rzn1_pin_group { … };
struct rzn1_pinctrl { … };
#define RZN1_PINS_PROP …
#define RZN1_PIN(pin) …
static const struct pinctrl_pin_desc rzn1_pins[] = …;
enum { … };
static void rzn1_hw_set_lock(struct rzn1_pinctrl *ipctl, u8 lock, u8 value)
{ … }
static void rzn1_pinctrl_mdio_select(struct rzn1_pinctrl *ipctl, int mdio,
u32 func)
{ … }
static int rzn1_set_hw_pin_func(struct rzn1_pinctrl *ipctl, unsigned int pin,
u32 pin_config, u8 use_locks)
{ … }
static const struct rzn1_pin_group *rzn1_pinctrl_find_group_by_name(
const struct rzn1_pinctrl *ipctl, const char *name)
{ … }
static int rzn1_get_groups_count(struct pinctrl_dev *pctldev)
{ … }
static const char *rzn1_get_group_name(struct pinctrl_dev *pctldev,
unsigned int selector)
{ … }
static int rzn1_get_group_pins(struct pinctrl_dev *pctldev,
unsigned int selector, const unsigned int **pins,
unsigned int *npins)
{ … }
static int rzn1_dt_node_to_map_one(struct pinctrl_dev *pctldev,
struct device_node *np,
struct pinctrl_map **map,
unsigned int *num_maps)
{ … }
static int rzn1_dt_node_to_map(struct pinctrl_dev *pctldev,
struct device_node *np,
struct pinctrl_map **map,
unsigned int *num_maps)
{ … }
static const struct pinctrl_ops rzn1_pctrl_ops = …;
static int rzn1_pmx_get_funcs_count(struct pinctrl_dev *pctldev)
{ … }
static const char *rzn1_pmx_get_func_name(struct pinctrl_dev *pctldev,
unsigned int selector)
{ … }
static int rzn1_pmx_get_groups(struct pinctrl_dev *pctldev,
unsigned int selector,
const char * const **groups,
unsigned int * const num_groups)
{ … }
static int rzn1_set_mux(struct pinctrl_dev *pctldev, unsigned int selector,
unsigned int group)
{ … }
static const struct pinmux_ops rzn1_pmx_ops = …;
static int rzn1_pinconf_get(struct pinctrl_dev *pctldev, unsigned int pin,
unsigned long *config)
{ … }
static int rzn1_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
unsigned long *configs, unsigned int num_configs)
{ … }
static int rzn1_pinconf_group_get(struct pinctrl_dev *pctldev,
unsigned int selector,
unsigned long *config)
{ … }
static int rzn1_pinconf_group_set(struct pinctrl_dev *pctldev,
unsigned int selector,
unsigned long *configs,
unsigned int num_configs)
{ … }
static const struct pinconf_ops rzn1_pinconf_ops = …;
static struct pinctrl_desc rzn1_pinctrl_desc = …;
static int rzn1_pinctrl_parse_groups(struct device_node *np,
struct rzn1_pin_group *grp,
struct rzn1_pinctrl *ipctl)
{ … }
static int rzn1_pinctrl_count_function_groups(struct device_node *np)
{ … }
static int rzn1_pinctrl_parse_functions(struct device_node *np,
struct rzn1_pinctrl *ipctl,
unsigned int index)
{ … }
static int rzn1_pinctrl_probe_dt(struct platform_device *pdev,
struct rzn1_pinctrl *ipctl)
{ … }
static int rzn1_pinctrl_probe(struct platform_device *pdev)
{ … }
static void rzn1_pinctrl_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id rzn1_pinctrl_match[] = …;
MODULE_DEVICE_TABLE(of, rzn1_pinctrl_match);
static struct platform_driver rzn1_pinctrl_driver = …;
static int __init _pinctrl_drv_register(void)
{ … }
subsys_initcall(_pinctrl_drv_register);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;