#include <linux/bits.h>
#include <linux/gpio/driver.h>
#include <linux/kernel.h>
#include <linux/of.h>
#include <linux/pinctrl/pinmux.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include "../pinctrl-utils.h"
#include "pinctrl-bcm63xx.h"
#define BCM6362_BANK_GPIOS …
#define BCM6362_NUM_GPIOS …
#define BCM6362_NUM_LEDS …
#define BCM6362_LED_REG …
#define BCM6362_MODE_REG …
#define BCM6362_CTRL_REG …
#define BCM6362_BASEMODE_REG …
#define BASEMODE_NAND …
enum bcm6362_pinctrl_reg { … };
struct bcm6362_function { … };
#define BCM6362_PIN(a, b, mask) …
static const struct pinctrl_pin_desc bcm6362_pins[] = …;
static unsigned gpio0_pins[] = …;
static unsigned gpio1_pins[] = …;
static unsigned gpio2_pins[] = …;
static unsigned gpio3_pins[] = …;
static unsigned gpio4_pins[] = …;
static unsigned gpio5_pins[] = …;
static unsigned gpio6_pins[] = …;
static unsigned gpio7_pins[] = …;
static unsigned gpio8_pins[] = …;
static unsigned gpio9_pins[] = …;
static unsigned gpio10_pins[] = …;
static unsigned gpio11_pins[] = …;
static unsigned gpio12_pins[] = …;
static unsigned gpio13_pins[] = …;
static unsigned gpio14_pins[] = …;
static unsigned gpio15_pins[] = …;
static unsigned gpio16_pins[] = …;
static unsigned gpio17_pins[] = …;
static unsigned gpio18_pins[] = …;
static unsigned gpio19_pins[] = …;
static unsigned gpio20_pins[] = …;
static unsigned gpio21_pins[] = …;
static unsigned gpio22_pins[] = …;
static unsigned gpio23_pins[] = …;
static unsigned gpio24_pins[] = …;
static unsigned gpio25_pins[] = …;
static unsigned gpio26_pins[] = …;
static unsigned gpio27_pins[] = …;
static unsigned gpio28_pins[] = …;
static unsigned gpio29_pins[] = …;
static unsigned gpio30_pins[] = …;
static unsigned gpio31_pins[] = …;
static unsigned gpio32_pins[] = …;
static unsigned gpio33_pins[] = …;
static unsigned gpio34_pins[] = …;
static unsigned gpio35_pins[] = …;
static unsigned gpio36_pins[] = …;
static unsigned gpio37_pins[] = …;
static unsigned gpio38_pins[] = …;
static unsigned gpio39_pins[] = …;
static unsigned gpio40_pins[] = …;
static unsigned gpio41_pins[] = …;
static unsigned gpio42_pins[] = …;
static unsigned gpio43_pins[] = …;
static unsigned gpio44_pins[] = …;
static unsigned gpio45_pins[] = …;
static unsigned gpio46_pins[] = …;
static unsigned gpio47_pins[] = …;
static unsigned nand_grp_pins[] = …;
static struct pingroup bcm6362_groups[] = …;
static const char * const led_groups[] = …;
static const char * const usb_device_led_groups[] = …;
static const char * const sys_irq_groups[] = …;
static const char * const serial_led_clk_groups[] = …;
static const char * const serial_led_data_groups[] = …;
static const char * const robosw_led_data_groups[] = …;
static const char * const robosw_led_clk_groups[] = …;
static const char * const robosw_led0_groups[] = …;
static const char * const robosw_led1_groups[] = …;
static const char * const inet_led_groups[] = …;
static const char * const spi_cs2_groups[] = …;
static const char * const spi_cs3_groups[] = …;
static const char * const ntr_pulse_groups[] = …;
static const char * const uart1_scts_groups[] = …;
static const char * const uart1_srts_groups[] = …;
static const char * const uart1_sdin_groups[] = …;
static const char * const uart1_sdout_groups[] = …;
static const char * const adsl_spi_miso_groups[] = …;
static const char * const adsl_spi_mosi_groups[] = …;
static const char * const adsl_spi_clk_groups[] = …;
static const char * const adsl_spi_cs_groups[] = …;
static const char * const ephy0_led_groups[] = …;
static const char * const ephy1_led_groups[] = …;
static const char * const ephy2_led_groups[] = …;
static const char * const ephy3_led_groups[] = …;
static const char * const ext_irq0_groups[] = …;
static const char * const ext_irq1_groups[] = …;
static const char * const ext_irq2_groups[] = …;
static const char * const ext_irq3_groups[] = …;
static const char * const wifi_groups[] = …;
static const char * const nand_groups[] = …;
#define BCM6362_LED_FUN(n) …
#define BCM6362_MODE_FUN(n) …
#define BCM6362_CTRL_FUN(n) …
#define BCM6362_BASEMODE_FUN(n, mask) …
static const struct bcm6362_function bcm6362_funcs[] = …;
static int bcm6362_pinctrl_get_group_count(struct pinctrl_dev *pctldev)
{ … }
static const char *bcm6362_pinctrl_get_group_name(struct pinctrl_dev *pctldev,
unsigned group)
{ … }
static int bcm6362_pinctrl_get_group_pins(struct pinctrl_dev *pctldev,
unsigned group, const unsigned **pins,
unsigned *npins)
{ … }
static int bcm6362_pinctrl_get_func_count(struct pinctrl_dev *pctldev)
{ … }
static const char *bcm6362_pinctrl_get_func_name(struct pinctrl_dev *pctldev,
unsigned selector)
{ … }
static int bcm6362_pinctrl_get_groups(struct pinctrl_dev *pctldev,
unsigned selector,
const char * const **groups,
unsigned * const num_groups)
{ … }
static void bcm6362_set_gpio(struct bcm63xx_pinctrl *pc, unsigned pin)
{ … }
static int bcm6362_pinctrl_set_mux(struct pinctrl_dev *pctldev,
unsigned selector, unsigned group)
{ … }
static int bcm6362_gpio_request_enable(struct pinctrl_dev *pctldev,
struct pinctrl_gpio_range *range,
unsigned offset)
{ … }
static const struct pinctrl_ops bcm6362_pctl_ops = …;
static const struct pinmux_ops bcm6362_pmx_ops = …;
static const struct bcm63xx_pinctrl_soc bcm6362_soc = …;
static int bcm6362_pinctrl_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id bcm6362_pinctrl_match[] = …;
static struct platform_driver bcm6362_pinctrl_driver = …;
builtin_platform_driver(…) …;