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

// SPDX-License-Identifier: GPL-2.0
/* Copyright (C) 2021 Rafał Miłecki <[email protected]> */

#include <linux/err.h>
#include <linux/io.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/pinctrl/pinconf-generic.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/pinctrl/pinmux.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/string_helpers.h>

#include "../core.h"
#include "../pinmux.h"

#define BCM4908_NUM_PINS

#define BCM4908_TEST_PORT_BLOCK_EN_LSB
#define BCM4908_TEST_PORT_BLOCK_DATA_MSB
#define BCM4908_TEST_PORT_BLOCK_DATA_LSB
#define BCM4908_TEST_PORT_LSB_PINMUX_DATA_SHIFT
#define BCM4908_TEST_PORT_COMMAND
#define BCM4908_TEST_PORT_CMD_LOAD_MUX_REG

struct bcm4908_pinctrl {};

/*
 * Groups
 */

struct bcm4908_pinctrl_pin_setup {};

static const struct bcm4908_pinctrl_pin_setup led_0_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_1_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_2_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_3_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_4_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_5_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_6_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_7_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_8_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_9_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_10_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_11_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_12_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_13_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_14_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_15_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_16_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_17_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_18_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_19_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_20_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_21_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_22_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_23_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_24_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_25_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_26_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_27_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_28_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_29_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_30_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_31_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup led_10_pins_b[] =;

static const struct bcm4908_pinctrl_pin_setup led_11_pins_b[] =;

static const struct bcm4908_pinctrl_pin_setup led_12_pins_b[] =;

static const struct bcm4908_pinctrl_pin_setup led_13_pins_b[] =;

static const struct bcm4908_pinctrl_pin_setup led_31_pins_b[] =;

static const struct bcm4908_pinctrl_pin_setup hs_uart_pins[] =;

static const struct bcm4908_pinctrl_pin_setup i2c_pins_a[] =;

static const struct bcm4908_pinctrl_pin_setup i2c_pins_b[] =;

static const struct bcm4908_pinctrl_pin_setup i2s_pins[] =;

static const struct bcm4908_pinctrl_pin_setup nand_ctrl_pins[] =;

static const struct bcm4908_pinctrl_pin_setup nand_data_pins[] =;

static const struct bcm4908_pinctrl_pin_setup emmc_ctrl_pins[] =;

static const struct bcm4908_pinctrl_pin_setup usb0_pwr_pins[] =;

static const struct bcm4908_pinctrl_pin_setup usb1_pwr_pins[] =;

struct bcm4908_pinctrl_grp {};

static const struct bcm4908_pinctrl_grp bcm4908_pinctrl_grps[] =;

/*
 * Functions
 */

struct bcm4908_pinctrl_function {};

static const char * const led_0_groups[] =;
static const char * const led_1_groups[] =;
static const char * const led_2_groups[] =;
static const char * const led_3_groups[] =;
static const char * const led_4_groups[] =;
static const char * const led_5_groups[] =;
static const char * const led_6_groups[] =;
static const char * const led_7_groups[] =;
static const char * const led_8_groups[] =;
static const char * const led_9_groups[] =;
static const char * const led_10_groups[] =;
static const char * const led_11_groups[] =;
static const char * const led_12_groups[] =;
static const char * const led_13_groups[] =;
static const char * const led_14_groups[] =;
static const char * const led_15_groups[] =;
static const char * const led_16_groups[] =;
static const char * const led_17_groups[] =;
static const char * const led_18_groups[] =;
static const char * const led_19_groups[] =;
static const char * const led_20_groups[] =;
static const char * const led_21_groups[] =;
static const char * const led_22_groups[] =;
static const char * const led_23_groups[] =;
static const char * const led_24_groups[] =;
static const char * const led_25_groups[] =;
static const char * const led_26_groups[] =;
static const char * const led_27_groups[] =;
static const char * const led_28_groups[] =;
static const char * const led_29_groups[] =;
static const char * const led_30_groups[] =;
static const char * const led_31_groups[] =;
static const char * const hs_uart_groups[] =;
static const char * const i2c_groups[] =;
static const char * const i2s_groups[] =;
static const char * const nand_ctrl_groups[] =;
static const char * const nand_data_groups[] =;
static const char * const emmc_ctrl_groups[] =;
static const char * const usb0_pwr_groups[] =;
static const char * const usb1_pwr_groups[] =;

static const struct bcm4908_pinctrl_function bcm4908_pinctrl_functions[] =;

/*
 * Groups code
 */

static const struct pinctrl_ops bcm4908_pinctrl_ops =;

/*
 * Functions code
 */

static int bcm4908_pinctrl_set_mux(struct pinctrl_dev *pctrl_dev,
			      unsigned int func_selector,
			      unsigned int group_selector)
{}

static const struct pinmux_ops bcm4908_pinctrl_pmxops =;

/*
 * Controller code
 */

static struct pinctrl_desc bcm4908_pinctrl_desc =;

static const struct of_device_id bcm4908_pinctrl_of_match_table[] =;

static int bcm4908_pinctrl_probe(struct platform_device *pdev)
{}

static struct platform_driver bcm4908_pinctrl_driver =;

module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_DEVICE_TABLE(of, bcm4908_pinctrl_of_match_table);