linux/drivers/pinctrl/visconti/pinctrl-tmpv7700.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (c) 2020 TOSHIBA CORPORATION
 * Copyright (c) 2020 Toshiba Electronic Devices & Storage Corporation
 * Copyright (c) 2020 Nobuhiro Iwamatsu <[email protected]>
 */

#include <linux/init.h>
#include <linux/io.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pinctrl/pinctrl.h>
#include "pinctrl-common.h"

#define tmpv7700_MAGIC_NUM

/* register offset */
#define REG_KEY_CTRL
#define REG_KEY_CMD
#define REG_PINMUX1
#define REG_PINMUX2
#define REG_PINMUX3
#define REG_PINMUX4
#define REG_PINMUX5
#define REG_IOSET
#define REG_IO_VSEL
#define REG_IO_DSEL1
#define REG_IO_DSEL2
#define REG_IO_DSEL3
#define REG_IO_DSEL4
#define REG_IO_DSEL5
#define REG_IO_DSEL6
#define REG_IO_DSEL7
#define REG_IO_DSEL8
#define REG_IO_PUDE1
#define REG_IO_PUDE2
#define REG_IO_PUDSEL1
#define REG_IO_PUDSEL2

/* PIN */
static const struct visconti_desc_pin pins_tmpv7700[] =;

/* Group */
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS(spi0_cs0, 29);
VISCONTI_PINS(spi0_cs1, 30);
VISCONTI_PINS(spi0_cs2, 31);
VISCONTI_PINS(spi1_cs, 3);
VISCONTI_PINS(spi2_cs, 7);
VISCONTI_PINS(spi3_cs, 11);
VISCONTI_PINS(spi4_cs, 15);
VISCONTI_PINS(spi5_cs, 19);
VISCONTI_PINS(spi6_cs, 27);
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS();
VISCONTI_PINS(pwm0_gpio4, 4);
VISCONTI_PINS(pwm1_gpio5, 5);
VISCONTI_PINS(pwm2_gpio6, 6);
VISCONTI_PINS(pwm3_gpio7, 7);
VISCONTI_PINS(pwm0_gpio8, 8);
VISCONTI_PINS(pwm1_gpio9, 9);
VISCONTI_PINS(pwm2_gpio10, 10);
VISCONTI_PINS(pwm3_gpio11, 11);
VISCONTI_PINS(pwm0_gpio12, 12);
VISCONTI_PINS(pwm1_gpio13, 13);
VISCONTI_PINS(pwm2_gpio14, 14);
VISCONTI_PINS(pwm3_gpio15, 15);
VISCONTI_PINS(pwm0_gpio16, 16);
VISCONTI_PINS(pwm1_gpio17, 17);
VISCONTI_PINS(pwm2_gpio18, 18);
VISCONTI_PINS(pwm3_gpio19, 19);
VISCONTI_PINS();
VISCONTI_PINS();

static const struct visconti_pin_group groups_tmpv7700[] =;

/* MUX */
VISCONTI_GROUPS(i2c0, "i2c0_grp");
VISCONTI_GROUPS(i2c1, "i2c1_grp");
VISCONTI_GROUPS(i2c2, "i2c2_grp");
VISCONTI_GROUPS(i2c3, "i2c3_grp");
VISCONTI_GROUPS(i2c4, "i2c4_grp");
VISCONTI_GROUPS(i2c5, "i2c5_grp");
VISCONTI_GROUPS(i2c6, "i2c6_grp");
VISCONTI_GROUPS(i2c7, "i2c7_grp");
VISCONTI_GROUPS(i2c8, "i2c8_grp");
VISCONTI_GROUPS();
VISCONTI_GROUPS();
VISCONTI_GROUPS();
VISCONTI_GROUPS();
VISCONTI_GROUPS();
VISCONTI_GROUPS();
VISCONTI_GROUPS();
VISCONTI_GROUPS(uart0, "uart0_grp");
VISCONTI_GROUPS(uart1, "uart1_grp");
VISCONTI_GROUPS(uart2, "uart2_grp");
VISCONTI_GROUPS(uart3, "uart3_grp");
VISCONTI_GROUPS();
VISCONTI_GROUPS(pcmif_out, "pcmif_out_grp");
VISCONTI_GROUPS(pcmif_in, "pcmif_in_grp");

static const struct visconti_pin_function functions_tmpv7700[] =;

/* GPIO MUX */
#define tmpv7700_GPIO_MUX(off, msk)

static const struct visconti_mux gpio_mux_tmpv7700[] =;

static void tmpv7700_pinctrl_unlock(void __iomem *base)
{}

/* chip dependent data */
static const struct visconti_pinctrl_devdata tmpv7700_pinctrl_data =;

static int tmpv7700_pinctrl_probe(struct platform_device *pdev)
{}

static const struct of_device_id tmpv7700_pctrl_of_match[] =;

static struct platform_driver tmpv7700_pinctrl_driver =;

static int __init tmpv7700_pinctrl_init(void)
{}
arch_initcall(tmpv7700_pinctrl_init);