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

// SPDX-License-Identifier: GPL-2.0+
/*
 * Driver for BCM6358 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 BCM6358_NUM_GPIOS

#define BCM6358_MODE_REG
#define BCM6358_MODE_MUX_NONE
#define BCM6358_MODE_MUX_EBI_CS
#define BCM6358_MODE_MUX_UART1
#define BCM6358_MODE_MUX_SPI_CS
#define BCM6358_MODE_MUX_ASYNC_MODEM
#define BCM6358_MODE_MUX_LEGACY_LED
#define BCM6358_MODE_MUX_SERIAL_LED
#define BCM6358_MODE_MUX_LED
#define BCM6358_MODE_MUX_UTOPIA
#define BCM6358_MODE_MUX_CLKRST
#define BCM6358_MODE_MUX_PWM_SYN_CLK
#define BCM6358_MODE_MUX_SYS_IRQ

struct bcm6358_pingroup {};

struct bcm6358_function {};

struct bcm6358_priv {};

#define BCM6358_GPIO_PIN(a, b, bit1, bit2, bit3)

static const struct pinctrl_pin_desc bcm6358_pins[] =;

static unsigned ebi_cs_grp_pins[] =;

static unsigned uart1_grp_pins[] =;

static unsigned spi_cs_grp_pins[] =;

static unsigned async_modem_grp_pins[] =;

static unsigned serial_led_grp_pins[] =;

static unsigned legacy_led_grp_pins[] =;

static unsigned led_grp_pins[] =;

static unsigned utopia_grp_pins[] =;

static unsigned pwm_syn_clk_grp_pins[] =;

static unsigned sys_irq_grp_pins[] =;

#define BCM6358_GPIO_MUX_GROUP(n, bit, dir)

static const struct bcm6358_pingroup bcm6358_groups[] =;

static const char * const ebi_cs_groups[] =;

static const char * const uart1_groups[] =;

static const char * const spi_cs_2_3_groups[] =;

static const char * const async_modem_groups[] =;

static const char * const legacy_led_groups[] =;

static const char * const serial_led_groups[] =;

static const char * const led_groups[] =;

static const char * const clkrst_groups[] =;

static const char * const pwm_syn_clk_groups[] =;

static const char * const sys_irq_groups[] =;

#define BCM6358_FUN(n)

static const struct bcm6358_function bcm6358_funcs[] =;

static int bcm6358_pinctrl_get_group_count(struct pinctrl_dev *pctldev)
{}

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

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

static int bcm6358_pinctrl_get_func_count(struct pinctrl_dev *pctldev)
{}

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

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

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

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

static const struct pinctrl_ops bcm6358_pctl_ops =;

static const struct pinmux_ops bcm6358_pmx_ops =;

static const struct bcm63xx_pinctrl_soc bcm6358_soc =;

static int bcm6358_pinctrl_probe(struct platform_device *pdev)
{}

static const struct of_device_id bcm6358_pinctrl_match[] =;

static struct platform_driver bcm6358_pinctrl_driver =;

builtin_platform_driver();