linux/drivers/pinctrl/bcm/pinctrl-bcm6368.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * Driver for BCM6368 GPIO unit (pinctrl + GPIO)
 *
 * Copyright (C) 2021 Álvaro Fernández Rojas <[email protected]>
 * Copyright (C) 2016 Jonas Gorski <[email protected]>
 */

#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 BCM6368_NUM_GPIOS

#define BCM6368_MODE_REG
#define BCM6368_BASEMODE_REG
#define BCM6368_BASEMODE_MASK
#define BCM6368_BASEMODE_GPIO
#define BCM6368_BASEMODE_UART1

struct bcm6368_function {};

struct bcm6368_priv {};

#define BCM6368_BASEMODE_PIN(a, b)

static const struct pinctrl_pin_desc bcm6368_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 uart1_grp_pins[] =;

static struct pingroup bcm6368_groups[] =;

static const char * const analog_afe_0_groups[] =;

static const char * const analog_afe_1_groups[] =;

static const char * const sys_irq_groups[] =;

static const char * const serial_led_data_groups[] =;

static const char * const serial_led_clk_groups[] =;

static const char * const inet_led_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 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 usb_device_led_groups[] =;

static const char * const pci_req1_groups[] =;

static const char * const pci_gnt1_groups[] =;

static const char * const pci_intb_groups[] =;

static const char * const pci_req0_groups[] =;

static const char * const pci_gnt0_groups[] =;

static const char * const pcmcia_cd1_groups[] =;

static const char * const pcmcia_cd2_groups[] =;

static const char * const pcmcia_vs1_groups[] =;

static const char * const pcmcia_vs2_groups[] =;

static const char * const ebi_cs2_groups[] =;

static const char * const ebi_cs3_groups[] =;

static const char * const spi_cs2_groups[] =;

static const char * const spi_cs3_groups[] =;

static const char * const spi_cs4_groups[] =;

static const char * const spi_cs5_groups[] =;

static const char * const uart1_groups[] =;

#define BCM6368_FUN(n, out)

#define BCM6368_BASEMODE_FUN(n, val, out)

static const struct bcm6368_function bcm6368_funcs[] =;

static int bcm6368_pinctrl_get_group_count(struct pinctrl_dev *pctldev)
{}

static const char *bcm6368_pinctrl_get_group_name(struct pinctrl_dev *pctldev,
						  unsigned group)
{}

static int bcm6368_pinctrl_get_group_pins(struct pinctrl_dev *pctldev,
					  unsigned group, const unsigned **pins,
					  unsigned *npins)
{}

static int bcm6368_pinctrl_get_func_count(struct pinctrl_dev *pctldev)
{}

static const char *bcm6368_pinctrl_get_func_name(struct pinctrl_dev *pctldev,
						 unsigned selector)
{}

static int bcm6368_pinctrl_get_groups(struct pinctrl_dev *pctldev,
				      unsigned selector,
				      const char * const **groups,
				      unsigned * const num_groups)
{}

static int bcm6368_pinctrl_set_mux(struct pinctrl_dev *pctldev,
				   unsigned selector, unsigned group)
{}

static int bcm6368_gpio_request_enable(struct pinctrl_dev *pctldev,
				       struct pinctrl_gpio_range *range,
				       unsigned offset)
{}

static const struct pinctrl_ops bcm6368_pctl_ops =;

static const struct pinmux_ops bcm6368_pmx_ops =;

static const struct bcm63xx_pinctrl_soc bcm6368_soc =;

static int bcm6368_pinctrl_probe(struct platform_device *pdev)
{}

static const struct of_device_id bcm6368_pinctrl_match[] =;

static struct platform_driver bcm6368_pinctrl_driver =;

builtin_platform_driver();