#include <linux/compiler.h>
#include <linux/gpio/driver.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/mod_devicetable.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/seq_file.h>
#include <linux/slab.h>
#include <linux/pinctrl/consumer.h>
#include <linux/pinctrl/pinconf-generic.h>
#include <linux/pinctrl/pinconf.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/pinctrl/pinmux.h>
#include "core.h"
#include "pinconf.h"
#include "pinmux.h"
#define GPIO_PIN …
#define GPIO_MSK …
#define JZ4730_GPIO_DATA …
#define JZ4730_GPIO_GPDIR …
#define JZ4730_GPIO_GPPUR …
#define JZ4730_GPIO_GPALR …
#define JZ4730_GPIO_GPAUR …
#define JZ4730_GPIO_GPIDLR …
#define JZ4730_GPIO_GPIDUR …
#define JZ4730_GPIO_GPIER …
#define JZ4730_GPIO_GPIMR …
#define JZ4730_GPIO_GPFR …
#define JZ4740_GPIO_DATA …
#define JZ4740_GPIO_PULL_DIS …
#define JZ4740_GPIO_FUNC …
#define JZ4740_GPIO_SELECT …
#define JZ4740_GPIO_DIR …
#define JZ4740_GPIO_TRIG …
#define JZ4740_GPIO_FLAG …
#define JZ4770_GPIO_INT …
#define JZ4770_GPIO_PAT1 …
#define JZ4770_GPIO_PAT0 …
#define JZ4770_GPIO_FLAG …
#define JZ4770_GPIO_PEN …
#define X1830_GPIO_PEL …
#define X1830_GPIO_PEH …
#define X1830_GPIO_SR …
#define X1830_GPIO_SMT …
#define X2000_GPIO_EDG …
#define X2000_GPIO_PEPU …
#define X2000_GPIO_PEPD …
#define X2000_GPIO_SR …
#define X2000_GPIO_SMT …
#define REG_SET(x) …
#define REG_CLEAR(x) …
#define REG_PZ_BASE(x) …
#define REG_PZ_GID2LD(x) …
#define GPIO_PULL_DIS …
#define GPIO_PULL_UP …
#define GPIO_PULL_DOWN …
#define PINS_PER_GPIO_CHIP …
#define JZ4730_PINS_PER_PAIRED_REG …
#define INGENIC_PIN_GROUP_FUNCS(_name_, id, funcs) …
#define INGENIC_PIN_GROUP(_name_, id, func) …
#define INGENIC_PIN_FUNCTION(_name_, id) …
enum jz_version { … };
struct ingenic_chip_info { … };
struct ingenic_pinctrl { … };
struct ingenic_gpio_chip { … };
static const unsigned long enabled_socs = …;
static bool
is_soc_or_above(const struct ingenic_pinctrl *jzpc, enum jz_version version)
{ … }
static const u32 jz4730_pull_ups[4] = …;
static const u32 jz4730_pull_downs[4] = …;
static int jz4730_mmc_1bit_pins[] = …;
static int jz4730_mmc_4bit_pins[] = …;
static int jz4730_uart0_data_pins[] = …;
static int jz4730_uart1_data_pins[] = …;
static int jz4730_uart2_data_pins[] = …;
static int jz4730_uart3_data_pins[] = …;
static int jz4730_uart3_hwflow_pins[] = …;
static int jz4730_lcd_8bit_pins[] = …;
static int jz4730_lcd_16bit_pins[] = …;
static int jz4730_lcd_special_pins[] = …;
static int jz4730_lcd_generic_pins[] = …;
static int jz4730_nand_cs1_pins[] = …;
static int jz4730_nand_cs2_pins[] = …;
static int jz4730_nand_cs3_pins[] = …;
static int jz4730_nand_cs4_pins[] = …;
static int jz4730_nand_cs5_pins[] = …;
static int jz4730_pwm_pwm0_pins[] = …;
static int jz4730_pwm_pwm1_pins[] = …;
static u8 jz4730_lcd_8bit_funcs[] = …;
static const struct group_desc jz4730_groups[] = …;
static const char *jz4730_mmc_groups[] = …;
static const char *jz4730_uart0_groups[] = …;
static const char *jz4730_uart1_groups[] = …;
static const char *jz4730_uart2_groups[] = …;
static const char *jz4730_uart3_groups[] = …;
static const char *jz4730_lcd_groups[] = …;
static const char *jz4730_nand_groups[] = …;
static const char *jz4730_pwm0_groups[] = …;
static const char *jz4730_pwm1_groups[] = …;
static const struct function_desc jz4730_functions[] = …;
static const struct ingenic_chip_info jz4730_chip_info = …;
static const u32 jz4740_pull_ups[4] = …;
static const u32 jz4740_pull_downs[4] = …;
static int jz4740_mmc_1bit_pins[] = …;
static int jz4740_mmc_4bit_pins[] = …;
static int jz4740_uart0_data_pins[] = …;
static int jz4740_uart0_hwflow_pins[] = …;
static int jz4740_uart1_data_pins[] = …;
static int jz4740_lcd_8bit_pins[] = …;
static int jz4740_lcd_16bit_pins[] = …;
static int jz4740_lcd_18bit_pins[] = …;
static int jz4740_lcd_special_pins[] = …;
static int jz4740_lcd_generic_pins[] = …;
static int jz4740_nand_cs1_pins[] = …;
static int jz4740_nand_cs2_pins[] = …;
static int jz4740_nand_cs3_pins[] = …;
static int jz4740_nand_cs4_pins[] = …;
static int jz4740_nand_fre_fwe_pins[] = …;
static int jz4740_pwm_pwm0_pins[] = …;
static int jz4740_pwm_pwm1_pins[] = …;
static int jz4740_pwm_pwm2_pins[] = …;
static int jz4740_pwm_pwm3_pins[] = …;
static int jz4740_pwm_pwm4_pins[] = …;
static int jz4740_pwm_pwm5_pins[] = …;
static int jz4740_pwm_pwm6_pins[] = …;
static int jz4740_pwm_pwm7_pins[] = …;
static const struct group_desc jz4740_groups[] = …;
static const char *jz4740_mmc_groups[] = …;
static const char *jz4740_uart0_groups[] = …;
static const char *jz4740_uart1_groups[] = …;
static const char *jz4740_lcd_groups[] = …;
static const char *jz4740_nand_groups[] = …;
static const char *jz4740_pwm0_groups[] = …;
static const char *jz4740_pwm1_groups[] = …;
static const char *jz4740_pwm2_groups[] = …;
static const char *jz4740_pwm3_groups[] = …;
static const char *jz4740_pwm4_groups[] = …;
static const char *jz4740_pwm5_groups[] = …;
static const char *jz4740_pwm6_groups[] = …;
static const char *jz4740_pwm7_groups[] = …;
static const struct function_desc jz4740_functions[] = …;
static const struct ingenic_chip_info jz4740_chip_info = …;
static int jz4725b_mmc0_1bit_pins[] = …;
static int jz4725b_mmc0_4bit_pins[] = …;
static int jz4725b_mmc1_1bit_pins[] = …;
static int jz4725b_mmc1_4bit_pins[] = …;
static int jz4725b_uart_data_pins[] = …;
static int jz4725b_lcd_8bit_pins[] = …;
static int jz4725b_lcd_16bit_pins[] = …;
static int jz4725b_lcd_18bit_pins[] = …;
static int jz4725b_lcd_24bit_pins[] = …;
static int jz4725b_lcd_special_pins[] = …;
static int jz4725b_lcd_generic_pins[] = …;
static int jz4725b_nand_cs1_pins[] = …;
static int jz4725b_nand_cs2_pins[] = …;
static int jz4725b_nand_cs3_pins[] = …;
static int jz4725b_nand_cs4_pins[] = …;
static int jz4725b_nand_cle_ale_pins[] = …;
static int jz4725b_nand_fre_fwe_pins[] = …;
static int jz4725b_pwm_pwm0_pins[] = …;
static int jz4725b_pwm_pwm1_pins[] = …;
static int jz4725b_pwm_pwm2_pins[] = …;
static int jz4725b_pwm_pwm3_pins[] = …;
static int jz4725b_pwm_pwm4_pins[] = …;
static int jz4725b_pwm_pwm5_pins[] = …;
static u8 jz4725b_mmc0_4bit_funcs[] = …;
static const struct group_desc jz4725b_groups[] = …;
static const char *jz4725b_mmc0_groups[] = …;
static const char *jz4725b_mmc1_groups[] = …;
static const char *jz4725b_uart_groups[] = …;
static const char *jz4725b_lcd_groups[] = …;
static const char *jz4725b_nand_groups[] = …;
static const char *jz4725b_pwm0_groups[] = …;
static const char *jz4725b_pwm1_groups[] = …;
static const char *jz4725b_pwm2_groups[] = …;
static const char *jz4725b_pwm3_groups[] = …;
static const char *jz4725b_pwm4_groups[] = …;
static const char *jz4725b_pwm5_groups[] = …;
static const struct function_desc jz4725b_functions[] = …;
static const struct ingenic_chip_info jz4725b_chip_info = …;
static const u32 jz4750_pull_ups[6] = …;
static const u32 jz4750_pull_downs[6] = …;
static int jz4750_uart0_data_pins[] = …;
static int jz4750_uart0_hwflow_pins[] = …;
static int jz4750_uart1_data_pins[] = …;
static int jz4750_uart1_hwflow_pins[] = …;
static int jz4750_uart2_data_pins[] = …;
static int jz4750_uart3_data_pins[] = …;
static int jz4750_uart3_hwflow_pins[] = …;
static int jz4750_mmc0_1bit_pins[] = …;
static int jz4750_mmc0_4bit_pins[] = …;
static int jz4750_mmc0_8bit_pins[] = …;
static int jz4750_mmc1_1bit_pins[] = …;
static int jz4750_mmc1_4bit_pins[] = …;
static int jz4750_i2c_pins[] = …;
static int jz4750_cim_pins[] = …;
static int jz4750_lcd_8bit_pins[] = …;
static int jz4750_lcd_16bit_pins[] = …;
static int jz4750_lcd_18bit_pins[] = …;
static int jz4750_lcd_24bit_pins[] = …;
static int jz4750_lcd_special_pins[] = …;
static int jz4750_lcd_generic_pins[] = …;
static int jz4750_nand_cs1_pins[] = …;
static int jz4750_nand_cs2_pins[] = …;
static int jz4750_nand_cs3_pins[] = …;
static int jz4750_nand_cs4_pins[] = …;
static int jz4750_nand_fre_fwe_pins[] = …;
static int jz4750_pwm_pwm0_pins[] = …;
static int jz4750_pwm_pwm1_pins[] = …;
static int jz4750_pwm_pwm2_pins[] = …;
static int jz4750_pwm_pwm3_pins[] = …;
static int jz4750_pwm_pwm4_pins[] = …;
static int jz4750_pwm_pwm5_pins[] = …;
static const struct group_desc jz4750_groups[] = …;
static const char *jz4750_uart0_groups[] = …;
static const char *jz4750_uart1_groups[] = …;
static const char *jz4750_uart2_groups[] = …;
static const char *jz4750_uart3_groups[] = …;
static const char *jz4750_mmc0_groups[] = …;
static const char *jz4750_mmc1_groups[] = …;
static const char *jz4750_i2c_groups[] = …;
static const char *jz4750_cim_groups[] = …;
static const char *jz4750_lcd_groups[] = …;
static const char *jz4750_nand_groups[] = …;
static const char *jz4750_pwm0_groups[] = …;
static const char *jz4750_pwm1_groups[] = …;
static const char *jz4750_pwm2_groups[] = …;
static const char *jz4750_pwm3_groups[] = …;
static const char *jz4750_pwm4_groups[] = …;
static const char *jz4750_pwm5_groups[] = …;
static const struct function_desc jz4750_functions[] = …;
static const struct ingenic_chip_info jz4750_chip_info = …;
static const u32 jz4755_pull_ups[6] = …;
static const u32 jz4755_pull_downs[6] = …;
static int jz4755_uart0_data_pins[] = …;
static int jz4755_uart0_hwflow_pins[] = …;
static int jz4755_uart1_data_pins[] = …;
static int jz4755_uart2_data_pins[] = …;
static int jz4755_ssi_dt_b_pins[] = …;
static int jz4755_ssi_dt_f_pins[] = …;
static int jz4755_ssi_dr_b_pins[] = …;
static int jz4755_ssi_dr_f_pins[] = …;
static int jz4755_ssi_clk_b_pins[] = …;
static int jz4755_ssi_clk_f_pins[] = …;
static int jz4755_ssi_gpc_b_pins[] = …;
static int jz4755_ssi_gpc_f_pins[] = …;
static int jz4755_ssi_ce0_b_pins[] = …;
static int jz4755_ssi_ce0_f_pins[] = …;
static int jz4755_ssi_ce1_b_pins[] = …;
static int jz4755_ssi_ce1_f_pins[] = …;
static int jz4755_mmc0_1bit_pins[] = …;
static int jz4755_mmc0_4bit_pins[] = …;
static int jz4755_mmc1_1bit_pins[] = …;
static int jz4755_mmc1_4bit_pins[] = …;
static int jz4755_i2c_pins[] = …;
static int jz4755_cim_pins[] = …;
static int jz4755_lcd_8bit_pins[] = …;
static int jz4755_lcd_16bit_pins[] = …;
static int jz4755_lcd_18bit_pins[] = …;
static int jz4755_lcd_24bit_pins[] = …;
static int jz4755_lcd_special_pins[] = …;
static int jz4755_lcd_generic_pins[] = …;
static int jz4755_nand_cs1_pins[] = …;
static int jz4755_nand_cs2_pins[] = …;
static int jz4755_nand_cs3_pins[] = …;
static int jz4755_nand_cs4_pins[] = …;
static int jz4755_nand_fre_fwe_pins[] = …;
static int jz4755_pwm_pwm0_pins[] = …;
static int jz4755_pwm_pwm1_pins[] = …;
static int jz4755_pwm_pwm2_pins[] = …;
static int jz4755_pwm_pwm3_pins[] = …;
static int jz4755_pwm_pwm4_pins[] = …;
static int jz4755_pwm_pwm5_pins[] = …;
static u8 jz4755_mmc0_1bit_funcs[] = …;
static u8 jz4755_mmc0_4bit_funcs[] = …;
static u8 jz4755_lcd_24bit_funcs[] = …;
static const struct group_desc jz4755_groups[] = …;
static const char *jz4755_uart0_groups[] = …;
static const char *jz4755_uart1_groups[] = …;
static const char *jz4755_uart2_groups[] = …;
static const char *jz4755_ssi_groups[] = …;
static const char *jz4755_mmc0_groups[] = …;
static const char *jz4755_mmc1_groups[] = …;
static const char *jz4755_i2c_groups[] = …;
static const char *jz4755_cim_groups[] = …;
static const char *jz4755_lcd_groups[] = …;
static const char *jz4755_nand_groups[] = …;
static const char *jz4755_pwm0_groups[] = …;
static const char *jz4755_pwm1_groups[] = …;
static const char *jz4755_pwm2_groups[] = …;
static const char *jz4755_pwm3_groups[] = …;
static const char *jz4755_pwm4_groups[] = …;
static const char *jz4755_pwm5_groups[] = …;
static const struct function_desc jz4755_functions[] = …;
static const struct ingenic_chip_info jz4755_chip_info = …;
static const u32 jz4760_pull_ups[6] = …;
static const u32 jz4760_pull_downs[6] = …;
static int jz4760_uart0_data_pins[] = …;
static int jz4760_uart0_hwflow_pins[] = …;
static int jz4760_uart1_data_pins[] = …;
static int jz4760_uart1_hwflow_pins[] = …;
static int jz4760_uart2_data_pins[] = …;
static int jz4760_uart2_hwflow_pins[] = …;
static int jz4760_uart3_data_pins[] = …;
static int jz4760_uart3_hwflow_pins[] = …;
static int jz4760_ssi0_dt_a_pins[] = …;
static int jz4760_ssi0_dt_b_pins[] = …;
static int jz4760_ssi0_dt_d_pins[] = …;
static int jz4760_ssi0_dt_e_pins[] = …;
static int jz4760_ssi0_dr_a_pins[] = …;
static int jz4760_ssi0_dr_b_pins[] = …;
static int jz4760_ssi0_dr_d_pins[] = …;
static int jz4760_ssi0_dr_e_pins[] = …;
static int jz4760_ssi0_clk_a_pins[] = …;
static int jz4760_ssi0_clk_b_pins[] = …;
static int jz4760_ssi0_clk_d_pins[] = …;
static int jz4760_ssi0_clk_e_pins[] = …;
static int jz4760_ssi0_gpc_b_pins[] = …;
static int jz4760_ssi0_gpc_d_pins[] = …;
static int jz4760_ssi0_gpc_e_pins[] = …;
static int jz4760_ssi0_ce0_a_pins[] = …;
static int jz4760_ssi0_ce0_b_pins[] = …;
static int jz4760_ssi0_ce0_d_pins[] = …;
static int jz4760_ssi0_ce0_e_pins[] = …;
static int jz4760_ssi0_ce1_b_pins[] = …;
static int jz4760_ssi0_ce1_d_pins[] = …;
static int jz4760_ssi0_ce1_e_pins[] = …;
static int jz4760_ssi1_dt_b_9_pins[] = …;
static int jz4760_ssi1_dt_b_21_pins[] = …;
static int jz4760_ssi1_dt_d_12_pins[] = …;
static int jz4760_ssi1_dt_d_21_pins[] = …;
static int jz4760_ssi1_dt_e_pins[] = …;
static int jz4760_ssi1_dt_f_pins[] = …;
static int jz4760_ssi1_dr_b_6_pins[] = …;
static int jz4760_ssi1_dr_b_20_pins[] = …;
static int jz4760_ssi1_dr_d_13_pins[] = …;
static int jz4760_ssi1_dr_d_20_pins[] = …;
static int jz4760_ssi1_dr_e_pins[] = …;
static int jz4760_ssi1_dr_f_pins[] = …;
static int jz4760_ssi1_clk_b_7_pins[] = …;
static int jz4760_ssi1_clk_b_28_pins[] = …;
static int jz4760_ssi1_clk_d_pins[] = …;
static int jz4760_ssi1_clk_e_7_pins[] = …;
static int jz4760_ssi1_clk_e_15_pins[] = …;
static int jz4760_ssi1_clk_f_pins[] = …;
static int jz4760_ssi1_gpc_b_pins[] = …;
static int jz4760_ssi1_gpc_d_pins[] = …;
static int jz4760_ssi1_gpc_e_pins[] = …;
static int jz4760_ssi1_ce0_b_8_pins[] = …;
static int jz4760_ssi1_ce0_b_29_pins[] = …;
static int jz4760_ssi1_ce0_d_pins[] = …;
static int jz4760_ssi1_ce0_e_6_pins[] = …;
static int jz4760_ssi1_ce0_e_16_pins[] = …;
static int jz4760_ssi1_ce0_f_pins[] = …;
static int jz4760_ssi1_ce1_b_pins[] = …;
static int jz4760_ssi1_ce1_d_pins[] = …;
static int jz4760_ssi1_ce1_e_pins[] = …;
static int jz4760_mmc0_1bit_a_pins[] = …;
static int jz4760_mmc0_4bit_a_pins[] = …;
static int jz4760_mmc0_1bit_e_pins[] = …;
static int jz4760_mmc0_4bit_e_pins[] = …;
static int jz4760_mmc0_8bit_e_pins[] = …;
static int jz4760_mmc1_1bit_d_pins[] = …;
static int jz4760_mmc1_4bit_d_pins[] = …;
static int jz4760_mmc1_1bit_e_pins[] = …;
static int jz4760_mmc1_4bit_e_pins[] = …;
static int jz4760_mmc1_8bit_e_pins[] = …;
static int jz4760_mmc2_1bit_b_pins[] = …;
static int jz4760_mmc2_4bit_b_pins[] = …;
static int jz4760_mmc2_1bit_e_pins[] = …;
static int jz4760_mmc2_4bit_e_pins[] = …;
static int jz4760_mmc2_8bit_e_pins[] = …;
static int jz4760_nemc_8bit_data_pins[] = …;
static int jz4760_nemc_16bit_data_pins[] = …;
static int jz4760_nemc_cle_ale_pins[] = …;
static int jz4760_nemc_addr_pins[] = …;
static int jz4760_nemc_rd_we_pins[] = …;
static int jz4760_nemc_frd_fwe_pins[] = …;
static int jz4760_nemc_wait_pins[] = …;
static int jz4760_nemc_cs1_pins[] = …;
static int jz4760_nemc_cs2_pins[] = …;
static int jz4760_nemc_cs3_pins[] = …;
static int jz4760_nemc_cs4_pins[] = …;
static int jz4760_nemc_cs5_pins[] = …;
static int jz4760_nemc_cs6_pins[] = …;
static int jz4760_i2c0_pins[] = …;
static int jz4760_i2c1_pins[] = …;
static int jz4760_cim_pins[] = …;
static int jz4760_lcd_8bit_pins[] = …;
static int jz4760_lcd_16bit_pins[] = …;
static int jz4760_lcd_18bit_pins[] = …;
static int jz4760_lcd_24bit_pins[] = …;
static int jz4760_lcd_special_pins[] = …;
static int jz4760_lcd_generic_pins[] = …;
static int jz4760_pwm_pwm0_pins[] = …;
static int jz4760_pwm_pwm1_pins[] = …;
static int jz4760_pwm_pwm2_pins[] = …;
static int jz4760_pwm_pwm3_pins[] = …;
static int jz4760_pwm_pwm4_pins[] = …;
static int jz4760_pwm_pwm5_pins[] = …;
static int jz4760_pwm_pwm6_pins[] = …;
static int jz4760_pwm_pwm7_pins[] = …;
static int jz4760_otg_pins[] = …;
static u8 jz4760_uart3_data_funcs[] = …;
static u8 jz4760_mmc0_1bit_a_funcs[] = …;
static const struct group_desc jz4760_groups[] = …;
static const char *jz4760_uart0_groups[] = …;
static const char *jz4760_uart1_groups[] = …;
static const char *jz4760_uart2_groups[] = …;
static const char *jz4760_uart3_groups[] = …;
static const char *jz4760_ssi0_groups[] = …;
static const char *jz4760_ssi1_groups[] = …;
static const char *jz4760_mmc0_groups[] = …;
static const char *jz4760_mmc1_groups[] = …;
static const char *jz4760_mmc2_groups[] = …;
static const char *jz4760_nemc_groups[] = …;
static const char *jz4760_cs1_groups[] = …;
static const char *jz4760_cs2_groups[] = …;
static const char *jz4760_cs3_groups[] = …;
static const char *jz4760_cs4_groups[] = …;
static const char *jz4760_cs5_groups[] = …;
static const char *jz4760_cs6_groups[] = …;
static const char *jz4760_i2c0_groups[] = …;
static const char *jz4760_i2c1_groups[] = …;
static const char *jz4760_cim_groups[] = …;
static const char *jz4760_lcd_groups[] = …;
static const char *jz4760_pwm0_groups[] = …;
static const char *jz4760_pwm1_groups[] = …;
static const char *jz4760_pwm2_groups[] = …;
static const char *jz4760_pwm3_groups[] = …;
static const char *jz4760_pwm4_groups[] = …;
static const char *jz4760_pwm5_groups[] = …;
static const char *jz4760_pwm6_groups[] = …;
static const char *jz4760_pwm7_groups[] = …;
static const char *jz4760_otg_groups[] = …;
static const struct function_desc jz4760_functions[] = …;
static const struct ingenic_chip_info jz4760_chip_info = …;
static const u32 jz4770_pull_ups[6] = …;
static const u32 jz4770_pull_downs[6] = …;
static int jz4770_uart0_data_pins[] = …;
static int jz4770_uart0_hwflow_pins[] = …;
static int jz4770_uart1_data_pins[] = …;
static int jz4770_uart1_hwflow_pins[] = …;
static int jz4770_uart2_data_pins[] = …;
static int jz4770_uart2_hwflow_pins[] = …;
static int jz4770_uart3_data_pins[] = …;
static int jz4770_uart3_hwflow_pins[] = …;
static int jz4770_ssi0_dt_a_pins[] = …;
static int jz4770_ssi0_dt_b_pins[] = …;
static int jz4770_ssi0_dt_d_pins[] = …;
static int jz4770_ssi0_dt_e_pins[] = …;
static int jz4770_ssi0_dr_a_pins[] = …;
static int jz4770_ssi0_dr_b_pins[] = …;
static int jz4770_ssi0_dr_d_pins[] = …;
static int jz4770_ssi0_dr_e_pins[] = …;
static int jz4770_ssi0_clk_a_pins[] = …;
static int jz4770_ssi0_clk_b_pins[] = …;
static int jz4770_ssi0_clk_d_pins[] = …;
static int jz4770_ssi0_clk_e_pins[] = …;
static int jz4770_ssi0_gpc_b_pins[] = …;
static int jz4770_ssi0_gpc_d_pins[] = …;
static int jz4770_ssi0_gpc_e_pins[] = …;
static int jz4770_ssi0_ce0_a_pins[] = …;
static int jz4770_ssi0_ce0_b_pins[] = …;
static int jz4770_ssi0_ce0_d_pins[] = …;
static int jz4770_ssi0_ce0_e_pins[] = …;
static int jz4770_ssi0_ce1_b_pins[] = …;
static int jz4770_ssi0_ce1_d_pins[] = …;
static int jz4770_ssi0_ce1_e_pins[] = …;
static int jz4770_ssi1_dt_b_pins[] = …;
static int jz4770_ssi1_dt_d_pins[] = …;
static int jz4770_ssi1_dt_e_pins[] = …;
static int jz4770_ssi1_dr_b_pins[] = …;
static int jz4770_ssi1_dr_d_pins[] = …;
static int jz4770_ssi1_dr_e_pins[] = …;
static int jz4770_ssi1_clk_b_pins[] = …;
static int jz4770_ssi1_clk_d_pins[] = …;
static int jz4770_ssi1_clk_e_pins[] = …;
static int jz4770_ssi1_gpc_b_pins[] = …;
static int jz4770_ssi1_gpc_d_pins[] = …;
static int jz4770_ssi1_gpc_e_pins[] = …;
static int jz4770_ssi1_ce0_b_pins[] = …;
static int jz4770_ssi1_ce0_d_pins[] = …;
static int jz4770_ssi1_ce0_e_pins[] = …;
static int jz4770_ssi1_ce1_b_pins[] = …;
static int jz4770_ssi1_ce1_d_pins[] = …;
static int jz4770_ssi1_ce1_e_pins[] = …;
static int jz4770_mmc0_1bit_a_pins[] = …;
static int jz4770_mmc0_4bit_a_pins[] = …;
static int jz4770_mmc0_1bit_e_pins[] = …;
static int jz4770_mmc0_4bit_e_pins[] = …;
static int jz4770_mmc0_8bit_e_pins[] = …;
static int jz4770_mmc1_1bit_d_pins[] = …;
static int jz4770_mmc1_4bit_d_pins[] = …;
static int jz4770_mmc1_1bit_e_pins[] = …;
static int jz4770_mmc1_4bit_e_pins[] = …;
static int jz4770_mmc1_8bit_e_pins[] = …;
static int jz4770_mmc2_1bit_b_pins[] = …;
static int jz4770_mmc2_4bit_b_pins[] = …;
static int jz4770_mmc2_1bit_e_pins[] = …;
static int jz4770_mmc2_4bit_e_pins[] = …;
static int jz4770_mmc2_8bit_e_pins[] = …;
static int jz4770_nemc_8bit_data_pins[] = …;
static int jz4770_nemc_16bit_data_pins[] = …;
static int jz4770_nemc_cle_ale_pins[] = …;
static int jz4770_nemc_addr_pins[] = …;
static int jz4770_nemc_rd_we_pins[] = …;
static int jz4770_nemc_frd_fwe_pins[] = …;
static int jz4770_nemc_wait_pins[] = …;
static int jz4770_nemc_cs1_pins[] = …;
static int jz4770_nemc_cs2_pins[] = …;
static int jz4770_nemc_cs3_pins[] = …;
static int jz4770_nemc_cs4_pins[] = …;
static int jz4770_nemc_cs5_pins[] = …;
static int jz4770_nemc_cs6_pins[] = …;
static int jz4770_i2c0_pins[] = …;
static int jz4770_i2c1_pins[] = …;
static int jz4770_i2c2_pins[] = …;
static int jz4770_cim_8bit_pins[] = …;
static int jz4770_cim_12bit_pins[] = …;
static int jz4770_lcd_8bit_pins[] = …;
static int jz4770_lcd_16bit_pins[] = …;
static int jz4770_lcd_18bit_pins[] = …;
static int jz4770_lcd_24bit_pins[] = …;
static int jz4770_lcd_special_pins[] = …;
static int jz4770_lcd_generic_pins[] = …;
static int jz4770_pwm_pwm0_pins[] = …;
static int jz4770_pwm_pwm1_pins[] = …;
static int jz4770_pwm_pwm2_pins[] = …;
static int jz4770_pwm_pwm3_pins[] = …;
static int jz4770_pwm_pwm4_pins[] = …;
static int jz4770_pwm_pwm5_pins[] = …;
static int jz4770_pwm_pwm6_pins[] = …;
static int jz4770_pwm_pwm7_pins[] = …;
static int jz4770_mac_rmii_pins[] = …;
static int jz4770_mac_mii_pins[] = …;
static const struct group_desc jz4770_groups[] = …;
static const char *jz4770_uart0_groups[] = …;
static const char *jz4770_uart1_groups[] = …;
static const char *jz4770_uart2_groups[] = …;
static const char *jz4770_uart3_groups[] = …;
static const char *jz4770_ssi0_groups[] = …;
static const char *jz4770_ssi1_groups[] = …;
static const char *jz4770_mmc0_groups[] = …;
static const char *jz4770_mmc1_groups[] = …;
static const char *jz4770_mmc2_groups[] = …;
static const char *jz4770_nemc_groups[] = …;
static const char *jz4770_cs1_groups[] = …;
static const char *jz4770_cs2_groups[] = …;
static const char *jz4770_cs3_groups[] = …;
static const char *jz4770_cs4_groups[] = …;
static const char *jz4770_cs5_groups[] = …;
static const char *jz4770_cs6_groups[] = …;
static const char *jz4770_i2c0_groups[] = …;
static const char *jz4770_i2c1_groups[] = …;
static const char *jz4770_i2c2_groups[] = …;
static const char *jz4770_cim_groups[] = …;
static const char *jz4770_lcd_groups[] = …;
static const char *jz4770_pwm0_groups[] = …;
static const char *jz4770_pwm1_groups[] = …;
static const char *jz4770_pwm2_groups[] = …;
static const char *jz4770_pwm3_groups[] = …;
static const char *jz4770_pwm4_groups[] = …;
static const char *jz4770_pwm5_groups[] = …;
static const char *jz4770_pwm6_groups[] = …;
static const char *jz4770_pwm7_groups[] = …;
static const char *jz4770_mac_groups[] = …;
static const struct function_desc jz4770_functions[] = …;
static const struct ingenic_chip_info jz4770_chip_info = …;
static const u32 jz4775_pull_ups[7] = …;
static const u32 jz4775_pull_downs[7] = …;
static int jz4775_uart0_data_pins[] = …;
static int jz4775_uart0_hwflow_pins[] = …;
static int jz4775_uart1_data_pins[] = …;
static int jz4775_uart1_hwflow_pins[] = …;
static int jz4775_uart2_data_c_pins[] = …;
static int jz4775_uart2_data_f_pins[] = …;
static int jz4775_uart3_data_pins[] = …;
static int jz4775_ssi_dt_a_pins[] = …;
static int jz4775_ssi_dt_d_pins[] = …;
static int jz4775_ssi_dr_a_pins[] = …;
static int jz4775_ssi_dr_d_pins[] = …;
static int jz4775_ssi_clk_a_pins[] = …;
static int jz4775_ssi_clk_d_pins[] = …;
static int jz4775_ssi_gpc_pins[] = …;
static int jz4775_ssi_ce0_a_pins[] = …;
static int jz4775_ssi_ce0_d_pins[] = …;
static int jz4775_ssi_ce1_pins[] = …;
static int jz4775_mmc0_1bit_a_pins[] = …;
static int jz4775_mmc0_4bit_a_pins[] = …;
static int jz4775_mmc0_8bit_a_pins[] = …;
static int jz4775_mmc0_1bit_e_pins[] = …;
static int jz4775_mmc0_4bit_e_pins[] = …;
static int jz4775_mmc1_1bit_d_pins[] = …;
static int jz4775_mmc1_4bit_d_pins[] = …;
static int jz4775_mmc1_1bit_e_pins[] = …;
static int jz4775_mmc1_4bit_e_pins[] = …;
static int jz4775_mmc2_1bit_b_pins[] = …;
static int jz4775_mmc2_4bit_b_pins[] = …;
static int jz4775_mmc2_1bit_e_pins[] = …;
static int jz4775_mmc2_4bit_e_pins[] = …;
static int jz4775_nemc_8bit_data_pins[] = …;
static int jz4775_nemc_16bit_data_pins[] = …;
static int jz4775_nemc_cle_ale_pins[] = …;
static int jz4775_nemc_addr_pins[] = …;
static int jz4775_nemc_rd_we_pins[] = …;
static int jz4775_nemc_frd_fwe_pins[] = …;
static int jz4775_nemc_wait_pins[] = …;
static int jz4775_nemc_cs1_pins[] = …;
static int jz4775_nemc_cs2_pins[] = …;
static int jz4775_nemc_cs3_pins[] = …;
static int jz4775_i2c0_pins[] = …;
static int jz4775_i2c1_pins[] = …;
static int jz4775_i2c2_pins[] = …;
static int jz4775_i2s_data_tx_pins[] = …;
static int jz4775_i2s_data_rx_pins[] = …;
static int jz4775_i2s_clk_txrx_pins[] = …;
static int jz4775_i2s_sysclk_pins[] = …;
static int jz4775_dmic_pins[] = …;
static int jz4775_cim_pins[] = …;
static int jz4775_lcd_8bit_pins[] = …;
static int jz4775_lcd_16bit_pins[] = …;
static int jz4775_lcd_18bit_pins[] = …;
static int jz4775_lcd_24bit_pins[] = …;
static int jz4775_lcd_special_pins[] = …;
static int jz4775_lcd_generic_pins[] = …;
static int jz4775_pwm_pwm0_pins[] = …;
static int jz4775_pwm_pwm1_pins[] = …;
static int jz4775_pwm_pwm2_pins[] = …;
static int jz4775_pwm_pwm3_pins[] = …;
static int jz4775_mac_rmii_pins[] = …;
static int jz4775_mac_mii_pins[] = …;
static int jz4775_mac_rgmii_pins[] = …;
static int jz4775_mac_gmii_pins[] = …;
static int jz4775_otg_pins[] = …;
static u8 jz4775_uart3_data_funcs[] = …;
static u8 jz4775_mac_mii_funcs[] = …;
static u8 jz4775_mac_rgmii_funcs[] = …;
static u8 jz4775_mac_gmii_funcs[] = …;
static const struct group_desc jz4775_groups[] = …;
static const char *jz4775_uart0_groups[] = …;
static const char *jz4775_uart1_groups[] = …;
static const char *jz4775_uart2_groups[] = …;
static const char *jz4775_uart3_groups[] = …;
static const char *jz4775_ssi_groups[] = …;
static const char *jz4775_mmc0_groups[] = …;
static const char *jz4775_mmc1_groups[] = …;
static const char *jz4775_mmc2_groups[] = …;
static const char *jz4775_nemc_groups[] = …;
static const char *jz4775_cs1_groups[] = …;
static const char *jz4775_cs2_groups[] = …;
static const char *jz4775_cs3_groups[] = …;
static const char *jz4775_i2c0_groups[] = …;
static const char *jz4775_i2c1_groups[] = …;
static const char *jz4775_i2c2_groups[] = …;
static const char *jz4775_i2s_groups[] = …;
static const char *jz4775_dmic_groups[] = …;
static const char *jz4775_cim_groups[] = …;
static const char *jz4775_lcd_groups[] = …;
static const char *jz4775_pwm0_groups[] = …;
static const char *jz4775_pwm1_groups[] = …;
static const char *jz4775_pwm2_groups[] = …;
static const char *jz4775_pwm3_groups[] = …;
static const char *jz4775_mac_groups[] = …;
static const char *jz4775_otg_groups[] = …;
static const struct function_desc jz4775_functions[] = …;
static const struct ingenic_chip_info jz4775_chip_info = …;
static const u32 jz4780_pull_ups[6] = …;
static const u32 jz4780_pull_downs[6] = …;
static int jz4780_uart2_data_pins[] = …;
static int jz4780_uart2_hwflow_pins[] = …;
static int jz4780_uart4_data_pins[] = …;
static int jz4780_ssi0_dt_a_19_pins[] = …;
static int jz4780_ssi0_dt_a_21_pins[] = …;
static int jz4780_ssi0_dt_a_28_pins[] = …;
static int jz4780_ssi0_dt_b_pins[] = …;
static int jz4780_ssi0_dt_d_pins[] = …;
static int jz4780_ssi0_dr_a_20_pins[] = …;
static int jz4780_ssi0_dr_a_27_pins[] = …;
static int jz4780_ssi0_dr_b_pins[] = …;
static int jz4780_ssi0_dr_d_pins[] = …;
static int jz4780_ssi0_clk_a_pins[] = …;
static int jz4780_ssi0_clk_b_5_pins[] = …;
static int jz4780_ssi0_clk_b_28_pins[] = …;
static int jz4780_ssi0_clk_d_pins[] = …;
static int jz4780_ssi0_gpc_b_pins[] = …;
static int jz4780_ssi0_gpc_d_pins[] = …;
static int jz4780_ssi0_ce0_a_23_pins[] = …;
static int jz4780_ssi0_ce0_a_25_pins[] = …;
static int jz4780_ssi0_ce0_b_pins[] = …;
static int jz4780_ssi0_ce0_d_pins[] = …;
static int jz4780_ssi0_ce1_b_pins[] = …;
static int jz4780_ssi0_ce1_d_pins[] = …;
static int jz4780_ssi1_dt_b_pins[] = …;
static int jz4780_ssi1_dt_d_pins[] = …;
static int jz4780_ssi1_dr_b_pins[] = …;
static int jz4780_ssi1_dr_d_pins[] = …;
static int jz4780_ssi1_clk_b_pins[] = …;
static int jz4780_ssi1_clk_d_pins[] = …;
static int jz4780_ssi1_gpc_b_pins[] = …;
static int jz4780_ssi1_gpc_d_pins[] = …;
static int jz4780_ssi1_ce0_b_pins[] = …;
static int jz4780_ssi1_ce0_d_pins[] = …;
static int jz4780_ssi1_ce1_b_pins[] = …;
static int jz4780_ssi1_ce1_d_pins[] = …;
static int jz4780_mmc0_8bit_a_pins[] = …;
static int jz4780_i2c3_pins[] = …;
static int jz4780_i2c4_e_pins[] = …;
static int jz4780_i2c4_f_pins[] = …;
static int jz4780_i2s_data_tx_pins[] = …;
static int jz4780_i2s_data_rx_pins[] = …;
static int jz4780_i2s_clk_txrx_pins[] = …;
static int jz4780_i2s_clk_rx_pins[] = …;
static int jz4780_i2s_sysclk_pins[] = …;
static int jz4780_dmic_pins[] = …;
static int jz4780_hdmi_ddc_pins[] = …;
static u8 jz4780_i2s_clk_txrx_funcs[] = …;
static const struct group_desc jz4780_groups[] = …;
static const char *jz4780_uart2_groups[] = …;
static const char *jz4780_uart4_groups[] = …;
static const char *jz4780_ssi0_groups[] = …;
static const char *jz4780_ssi1_groups[] = …;
static const char *jz4780_mmc0_groups[] = …;
static const char *jz4780_mmc1_groups[] = …;
static const char *jz4780_mmc2_groups[] = …;
static const char *jz4780_nemc_groups[] = …;
static const char *jz4780_i2c3_groups[] = …;
static const char *jz4780_i2c4_groups[] = …;
static const char *jz4780_i2s_groups[] = …;
static const char *jz4780_dmic_groups[] = …;
static const char *jz4780_cim_groups[] = …;
static const char *jz4780_hdmi_ddc_groups[] = …;
static const struct function_desc jz4780_functions[] = …;
static const struct ingenic_chip_info jz4780_chip_info = …;
static const u32 x1000_pull_ups[4] = …;
static const u32 x1000_pull_downs[4] = …;
static int x1000_uart0_data_pins[] = …;
static int x1000_uart0_hwflow_pins[] = …;
static int x1000_uart1_data_a_pins[] = …;
static int x1000_uart1_data_d_pins[] = …;
static int x1000_uart1_hwflow_pins[] = …;
static int x1000_uart2_data_a_pins[] = …;
static int x1000_uart2_data_d_pins[] = …;
static int x1000_sfc_data_pins[] = …;
static int x1000_sfc_clk_pins[] = …;
static int x1000_sfc_ce_pins[] = …;
static int x1000_ssi_dt_a_22_pins[] = …;
static int x1000_ssi_dt_a_29_pins[] = …;
static int x1000_ssi_dt_d_pins[] = …;
static int x1000_ssi_dr_a_23_pins[] = …;
static int x1000_ssi_dr_a_28_pins[] = …;
static int x1000_ssi_dr_d_pins[] = …;
static int x1000_ssi_clk_a_24_pins[] = …;
static int x1000_ssi_clk_a_26_pins[] = …;
static int x1000_ssi_clk_d_pins[] = …;
static int x1000_ssi_gpc_a_20_pins[] = …;
static int x1000_ssi_gpc_a_31_pins[] = …;
static int x1000_ssi_ce0_a_25_pins[] = …;
static int x1000_ssi_ce0_a_27_pins[] = …;
static int x1000_ssi_ce0_d_pins[] = …;
static int x1000_ssi_ce1_a_21_pins[] = …;
static int x1000_ssi_ce1_a_30_pins[] = …;
static int x1000_mmc0_1bit_pins[] = …;
static int x1000_mmc0_4bit_pins[] = …;
static int x1000_mmc0_8bit_pins[] = …;
static int x1000_mmc1_1bit_pins[] = …;
static int x1000_mmc1_4bit_pins[] = …;
static int x1000_emc_8bit_data_pins[] = …;
static int x1000_emc_16bit_data_pins[] = …;
static int x1000_emc_addr_pins[] = …;
static int x1000_emc_rd_we_pins[] = …;
static int x1000_emc_wait_pins[] = …;
static int x1000_emc_cs1_pins[] = …;
static int x1000_emc_cs2_pins[] = …;
static int x1000_i2c0_pins[] = …;
static int x1000_i2c1_a_pins[] = …;
static int x1000_i2c1_c_pins[] = …;
static int x1000_i2c2_pins[] = …;
static int x1000_i2s_data_tx_pins[] = …;
static int x1000_i2s_data_rx_pins[] = …;
static int x1000_i2s_clk_txrx_pins[] = …;
static int x1000_i2s_sysclk_pins[] = …;
static int x1000_dmic_if0_pins[] = …;
static int x1000_dmic_if1_pins[] = …;
static int x1000_cim_pins[] = …;
static int x1000_lcd_8bit_pins[] = …;
static int x1000_lcd_16bit_pins[] = …;
static int x1000_pwm_pwm0_pins[] = …;
static int x1000_pwm_pwm1_pins[] = …;
static int x1000_pwm_pwm2_pins[] = …;
static int x1000_pwm_pwm3_pins[] = …;
static int x1000_pwm_pwm4_pins[] = …;
static int x1000_mac_pins[] = …;
static const struct group_desc x1000_groups[] = …;
static const char *x1000_uart0_groups[] = …;
static const char *x1000_uart1_groups[] = …;
static const char *x1000_uart2_groups[] = …;
static const char *x1000_sfc_groups[] = …;
static const char *x1000_ssi_groups[] = …;
static const char *x1000_mmc0_groups[] = …;
static const char *x1000_mmc1_groups[] = …;
static const char *x1000_emc_groups[] = …;
static const char *x1000_cs1_groups[] = …;
static const char *x1000_cs2_groups[] = …;
static const char *x1000_i2c0_groups[] = …;
static const char *x1000_i2c1_groups[] = …;
static const char *x1000_i2c2_groups[] = …;
static const char *x1000_i2s_groups[] = …;
static const char *x1000_dmic_groups[] = …;
static const char *x1000_cim_groups[] = …;
static const char *x1000_lcd_groups[] = …;
static const char *x1000_pwm0_groups[] = …;
static const char *x1000_pwm1_groups[] = …;
static const char *x1000_pwm2_groups[] = …;
static const char *x1000_pwm3_groups[] = …;
static const char *x1000_pwm4_groups[] = …;
static const char *x1000_mac_groups[] = …;
static const struct function_desc x1000_functions[] = …;
static const struct regmap_range x1000_access_ranges[] = …;
static const struct regmap_access_table x1000_access_table = …;
static const struct ingenic_chip_info x1000_chip_info = …;
static int x1500_uart0_data_pins[] = …;
static int x1500_uart0_hwflow_pins[] = …;
static int x1500_uart1_data_a_pins[] = …;
static int x1500_uart1_data_d_pins[] = …;
static int x1500_uart1_hwflow_pins[] = …;
static int x1500_uart2_data_a_pins[] = …;
static int x1500_uart2_data_d_pins[] = …;
static int x1500_mmc_1bit_pins[] = …;
static int x1500_mmc_4bit_pins[] = …;
static int x1500_i2c0_pins[] = …;
static int x1500_i2c1_a_pins[] = …;
static int x1500_i2c1_c_pins[] = …;
static int x1500_i2c2_pins[] = …;
static int x1500_i2s_data_tx_pins[] = …;
static int x1500_i2s_data_rx_pins[] = …;
static int x1500_i2s_clk_txrx_pins[] = …;
static int x1500_i2s_sysclk_pins[] = …;
static int x1500_dmic_if0_pins[] = …;
static int x1500_dmic_if1_pins[] = …;
static int x1500_cim_pins[] = …;
static int x1500_pwm_pwm0_pins[] = …;
static int x1500_pwm_pwm1_pins[] = …;
static int x1500_pwm_pwm2_pins[] = …;
static int x1500_pwm_pwm3_pins[] = …;
static int x1500_pwm_pwm4_pins[] = …;
static const struct group_desc x1500_groups[] = …;
static const char *x1500_uart0_groups[] = …;
static const char *x1500_uart1_groups[] = …;
static const char *x1500_uart2_groups[] = …;
static const char *x1500_mmc_groups[] = …;
static const char *x1500_i2c0_groups[] = …;
static const char *x1500_i2c1_groups[] = …;
static const char *x1500_i2c2_groups[] = …;
static const char *x1500_i2s_groups[] = …;
static const char *x1500_dmic_groups[] = …;
static const char *x1500_cim_groups[] = …;
static const char *x1500_pwm0_groups[] = …;
static const char *x1500_pwm1_groups[] = …;
static const char *x1500_pwm2_groups[] = …;
static const char *x1500_pwm3_groups[] = …;
static const char *x1500_pwm4_groups[] = …;
static const struct function_desc x1500_functions[] = …;
static const struct ingenic_chip_info x1500_chip_info = …;
static const u32 x1830_pull_ups[4] = …;
static const u32 x1830_pull_downs[4] = …;
static int x1830_uart0_data_pins[] = …;
static int x1830_uart0_hwflow_pins[] = …;
static int x1830_uart1_data_pins[] = …;
static int x1830_sfc_data_pins[] = …;
static int x1830_sfc_clk_pins[] = …;
static int x1830_sfc_ce_pins[] = …;
static int x1830_ssi0_dt_pins[] = …;
static int x1830_ssi0_dr_pins[] = …;
static int x1830_ssi0_clk_pins[] = …;
static int x1830_ssi0_gpc_pins[] = …;
static int x1830_ssi0_ce0_pins[] = …;
static int x1830_ssi0_ce1_pins[] = …;
static int x1830_ssi1_dt_c_pins[] = …;
static int x1830_ssi1_dt_d_pins[] = …;
static int x1830_ssi1_dr_c_pins[] = …;
static int x1830_ssi1_dr_d_pins[] = …;
static int x1830_ssi1_clk_c_pins[] = …;
static int x1830_ssi1_clk_d_pins[] = …;
static int x1830_ssi1_gpc_c_pins[] = …;
static int x1830_ssi1_gpc_d_pins[] = …;
static int x1830_ssi1_ce0_c_pins[] = …;
static int x1830_ssi1_ce0_d_pins[] = …;
static int x1830_ssi1_ce1_c_pins[] = …;
static int x1830_ssi1_ce1_d_pins[] = …;
static int x1830_mmc0_1bit_pins[] = …;
static int x1830_mmc0_4bit_pins[] = …;
static int x1830_mmc1_1bit_pins[] = …;
static int x1830_mmc1_4bit_pins[] = …;
static int x1830_i2c0_pins[] = …;
static int x1830_i2c1_pins[] = …;
static int x1830_i2c2_pins[] = …;
static int x1830_i2s_data_tx_pins[] = …;
static int x1830_i2s_data_rx_pins[] = …;
static int x1830_i2s_clk_txrx_pins[] = …;
static int x1830_i2s_clk_rx_pins[] = …;
static int x1830_i2s_sysclk_pins[] = …;
static int x1830_dmic_if0_pins[] = …;
static int x1830_dmic_if1_pins[] = …;
static int x1830_lcd_tft_8bit_pins[] = …;
static int x1830_lcd_tft_24bit_pins[] = …;
static int x1830_lcd_slcd_8bit_pins[] = …;
static int x1830_lcd_slcd_16bit_pins[] = …;
static int x1830_pwm_pwm0_b_pins[] = …;
static int x1830_pwm_pwm0_c_pins[] = …;
static int x1830_pwm_pwm1_b_pins[] = …;
static int x1830_pwm_pwm1_c_pins[] = …;
static int x1830_pwm_pwm2_c_8_pins[] = …;
static int x1830_pwm_pwm2_c_13_pins[] = …;
static int x1830_pwm_pwm3_c_9_pins[] = …;
static int x1830_pwm_pwm3_c_14_pins[] = …;
static int x1830_pwm_pwm4_c_15_pins[] = …;
static int x1830_pwm_pwm4_c_25_pins[] = …;
static int x1830_pwm_pwm5_c_16_pins[] = …;
static int x1830_pwm_pwm5_c_26_pins[] = …;
static int x1830_pwm_pwm6_c_17_pins[] = …;
static int x1830_pwm_pwm6_c_27_pins[] = …;
static int x1830_pwm_pwm7_c_18_pins[] = …;
static int x1830_pwm_pwm7_c_28_pins[] = …;
static int x1830_mac_pins[] = …;
static const struct group_desc x1830_groups[] = …;
static const char *x1830_uart0_groups[] = …;
static const char *x1830_uart1_groups[] = …;
static const char *x1830_sfc_groups[] = …;
static const char *x1830_ssi0_groups[] = …;
static const char *x1830_ssi1_groups[] = …;
static const char *x1830_mmc0_groups[] = …;
static const char *x1830_mmc1_groups[] = …;
static const char *x1830_i2c0_groups[] = …;
static const char *x1830_i2c1_groups[] = …;
static const char *x1830_i2c2_groups[] = …;
static const char *x1830_i2s_groups[] = …;
static const char *x1830_dmic_groups[] = …;
static const char *x1830_lcd_groups[] = …;
static const char *x1830_pwm0_groups[] = …;
static const char *x1830_pwm1_groups[] = …;
static const char *x1830_pwm2_groups[] = …;
static const char *x1830_pwm3_groups[] = …;
static const char *x1830_pwm4_groups[] = …;
static const char *x1830_pwm5_groups[] = …;
static const char *x1830_pwm6_groups[] = …;
static const char *x1830_pwm7_groups[] = …;
static const char *x1830_mac_groups[] = …;
static const struct function_desc x1830_functions[] = …;
static const struct regmap_range x1830_access_ranges[] = …;
static const struct regmap_access_table x1830_access_table = …;
static const struct ingenic_chip_info x1830_chip_info = …;
static const u32 x2000_pull_ups[5] = …;
static const u32 x2000_pull_downs[5] = …;
static int x2000_uart0_data_pins[] = …;
static int x2000_uart0_hwflow_pins[] = …;
static int x2000_uart1_data_pins[] = …;
static int x2000_uart1_hwflow_pins[] = …;
static int x2000_uart2_data_pins[] = …;
static int x2000_uart3_data_c_pins[] = …;
static int x2000_uart3_data_d_pins[] = …;
static int x2000_uart3_hwflow_c_pins[] = …;
static int x2000_uart3_hwflow_d_pins[] = …;
static int x2000_uart4_data_a_pins[] = …;
static int x2000_uart4_data_c_pins[] = …;
static int x2000_uart4_hwflow_a_pins[] = …;
static int x2000_uart4_hwflow_c_pins[] = …;
static int x2000_uart5_data_a_pins[] = …;
static int x2000_uart5_data_c_pins[] = …;
static int x2000_uart6_data_a_pins[] = …;
static int x2000_uart6_data_c_pins[] = …;
static int x2000_uart7_data_a_pins[] = …;
static int x2000_uart7_data_c_pins[] = …;
static int x2000_uart8_data_pins[] = …;
static int x2000_uart9_data_pins[] = …;
static int x2000_sfc_data_if0_d_pins[] = …;
static int x2000_sfc_data_if0_e_pins[] = …;
static int x2000_sfc_data_if1_pins[] = …;
static int x2000_sfc_clk_d_pins[] = …;
static int x2000_sfc_clk_e_pins[] = …;
static int x2000_sfc_ce_d_pins[] = …;
static int x2000_sfc_ce_e_pins[] = …;
static int x2000_ssi0_dt_b_pins[] = …;
static int x2000_ssi0_dt_d_pins[] = …;
static int x2000_ssi0_dr_b_pins[] = …;
static int x2000_ssi0_dr_d_pins[] = …;
static int x2000_ssi0_clk_b_pins[] = …;
static int x2000_ssi0_clk_d_pins[] = …;
static int x2000_ssi0_ce_b_pins[] = …;
static int x2000_ssi0_ce_d_pins[] = …;
static int x2000_ssi1_dt_c_pins[] = …;
static int x2000_ssi1_dt_d_pins[] = …;
static int x2000_ssi1_dt_e_pins[] = …;
static int x2000_ssi1_dr_c_pins[] = …;
static int x2000_ssi1_dr_d_pins[] = …;
static int x2000_ssi1_dr_e_pins[] = …;
static int x2000_ssi1_clk_c_pins[] = …;
static int x2000_ssi1_clk_d_pins[] = …;
static int x2000_ssi1_clk_e_pins[] = …;
static int x2000_ssi1_ce_c_pins[] = …;
static int x2000_ssi1_ce_d_pins[] = …;
static int x2000_ssi1_ce_e_pins[] = …;
static int x2000_mmc0_1bit_pins[] = …;
static int x2000_mmc0_4bit_pins[] = …;
static int x2000_mmc0_8bit_pins[] = …;
static int x2000_mmc1_1bit_pins[] = …;
static int x2000_mmc1_4bit_pins[] = …;
static int x2000_mmc2_1bit_pins[] = …;
static int x2000_mmc2_4bit_pins[] = …;
static int x2000_emc_8bit_data_pins[] = …;
static int x2000_emc_16bit_data_pins[] = …;
static int x2000_emc_addr_pins[] = …;
static int x2000_emc_rd_we_pins[] = …;
static int x2000_emc_wait_pins[] = …;
static int x2000_emc_cs1_pins[] = …;
static int x2000_emc_cs2_pins[] = …;
static int x2000_i2c0_pins[] = …;
static int x2000_i2c1_c_pins[] = …;
static int x2000_i2c1_d_pins[] = …;
static int x2000_i2c2_b_pins[] = …;
static int x2000_i2c2_d_pins[] = …;
static int x2000_i2c2_e_pins[] = …;
static int x2000_i2c3_a_pins[] = …;
static int x2000_i2c3_d_pins[] = …;
static int x2000_i2c4_c_pins[] = …;
static int x2000_i2c4_d_pins[] = …;
static int x2000_i2c5_c_pins[] = …;
static int x2000_i2c5_d_pins[] = …;
static int x2000_i2s1_data_tx_pins[] = …;
static int x2000_i2s1_data_rx_pins[] = …;
static int x2000_i2s1_clk_tx_pins[] = …;
static int x2000_i2s1_clk_rx_pins[] = …;
static int x2000_i2s1_sysclk_tx_pins[] = …;
static int x2000_i2s1_sysclk_rx_pins[] = …;
static int x2000_i2s2_data_rx0_pins[] = …;
static int x2000_i2s2_data_rx1_pins[] = …;
static int x2000_i2s2_data_rx2_pins[] = …;
static int x2000_i2s2_data_rx3_pins[] = …;
static int x2000_i2s2_clk_rx_pins[] = …;
static int x2000_i2s2_sysclk_rx_pins[] = …;
static int x2000_i2s3_data_tx0_pins[] = …;
static int x2000_i2s3_data_tx1_pins[] = …;
static int x2000_i2s3_data_tx2_pins[] = …;
static int x2000_i2s3_data_tx3_pins[] = …;
static int x2000_i2s3_clk_tx_pins[] = …;
static int x2000_i2s3_sysclk_tx_pins[] = …;
static int x2000_dmic_if0_pins[] = …;
static int x2000_dmic_if1_pins[] = …;
static int x2000_dmic_if2_pins[] = …;
static int x2000_dmic_if3_pins[] = …;
static int x2000_cim_8bit_pins[] = …;
static int x2000_cim_12bit_pins[] = …;
static int x2000_lcd_tft_8bit_pins[] = …;
static int x2000_lcd_tft_16bit_pins[] = …;
static int x2000_lcd_tft_18bit_pins[] = …;
static int x2000_lcd_tft_24bit_pins[] = …;
static int x2000_lcd_slcd_8bit_pins[] = …;
static int x2000_pwm_pwm0_c_pins[] = …;
static int x2000_pwm_pwm0_d_pins[] = …;
static int x2000_pwm_pwm1_c_pins[] = …;
static int x2000_pwm_pwm1_d_pins[] = …;
static int x2000_pwm_pwm2_c_pins[] = …;
static int x2000_pwm_pwm2_e_pins[] = …;
static int x2000_pwm_pwm3_c_pins[] = …;
static int x2000_pwm_pwm3_e_pins[] = …;
static int x2000_pwm_pwm4_c_pins[] = …;
static int x2000_pwm_pwm4_e_pins[] = …;
static int x2000_pwm_pwm5_c_pins[] = …;
static int x2000_pwm_pwm5_e_pins[] = …;
static int x2000_pwm_pwm6_c_pins[] = …;
static int x2000_pwm_pwm6_e_pins[] = …;
static int x2000_pwm_pwm7_c_pins[] = …;
static int x2000_pwm_pwm7_e_pins[] = …;
static int x2000_pwm_pwm8_pins[] = …;
static int x2000_pwm_pwm9_pins[] = …;
static int x2000_pwm_pwm10_pins[] = …;
static int x2000_pwm_pwm11_pins[] = …;
static int x2000_pwm_pwm12_pins[] = …;
static int x2000_pwm_pwm13_pins[] = …;
static int x2000_pwm_pwm14_pins[] = …;
static int x2000_pwm_pwm15_pins[] = …;
static int x2000_mac0_rmii_pins[] = …;
static int x2000_mac0_rgmii_pins[] = …;
static int x2000_mac1_rmii_pins[] = …;
static int x2000_mac1_rgmii_pins[] = …;
static int x2000_otg_pins[] = …;
static u8 x2000_cim_8bit_funcs[] = …;
static const struct group_desc x2000_groups[] = …;
static const char *x2000_uart0_groups[] = …;
static const char *x2000_uart1_groups[] = …;
static const char *x2000_uart2_groups[] = …;
static const char *x2000_uart3_groups[] = …;
static const char *x2000_uart4_groups[] = …;
static const char *x2000_uart5_groups[] = …;
static const char *x2000_uart6_groups[] = …;
static const char *x2000_uart7_groups[] = …;
static const char *x2000_uart8_groups[] = …;
static const char *x2000_uart9_groups[] = …;
static const char *x2000_sfc_groups[] = …;
static const char *x2000_ssi0_groups[] = …;
static const char *x2000_ssi1_groups[] = …;
static const char *x2000_mmc0_groups[] = …;
static const char *x2000_mmc1_groups[] = …;
static const char *x2000_mmc2_groups[] = …;
static const char *x2000_emc_groups[] = …;
static const char *x2000_cs1_groups[] = …;
static const char *x2000_cs2_groups[] = …;
static const char *x2000_i2c0_groups[] = …;
static const char *x2000_i2c1_groups[] = …;
static const char *x2000_i2c2_groups[] = …;
static const char *x2000_i2c3_groups[] = …;
static const char *x2000_i2c4_groups[] = …;
static const char *x2000_i2c5_groups[] = …;
static const char *x2000_i2s1_groups[] = …;
static const char *x2000_i2s2_groups[] = …;
static const char *x2000_i2s3_groups[] = …;
static const char *x2000_dmic_groups[] = …;
static const char *x2000_cim_groups[] = …;
static const char *x2000_lcd_groups[] = …;
static const char *x2000_pwm0_groups[] = …;
static const char *x2000_pwm1_groups[] = …;
static const char *x2000_pwm2_groups[] = …;
static const char *x2000_pwm3_groups[] = …;
static const char *x2000_pwm4_groups[] = …;
static const char *x2000_pwm5_groups[] = …;
static const char *x2000_pwm6_groups[] = …;
static const char *x2000_pwm7_groups[] = …;
static const char *x2000_pwm8_groups[] = …;
static const char *x2000_pwm9_groups[] = …;
static const char *x2000_pwm10_groups[] = …;
static const char *x2000_pwm11_groups[] = …;
static const char *x2000_pwm12_groups[] = …;
static const char *x2000_pwm13_groups[] = …;
static const char *x2000_pwm14_groups[] = …;
static const char *x2000_pwm15_groups[] = …;
static const char *x2000_mac0_groups[] = …;
static const char *x2000_mac1_groups[] = …;
static const char *x2000_otg_groups[] = …;
static const struct function_desc x2000_functions[] = …;
static const struct regmap_range x2000_access_ranges[] = …;
static const struct regmap_access_table x2000_access_table = …;
static const struct ingenic_chip_info x2000_chip_info = …;
static const u32 x2100_pull_ups[5] = …;
static const u32 x2100_pull_downs[5] = …;
static int x2100_mac_pins[] = …;
static const struct group_desc x2100_groups[] = …;
static const char *x2100_mac_groups[] = …;
static const struct function_desc x2100_functions[] = …;
static const struct ingenic_chip_info x2100_chip_info = …;
static u32 ingenic_gpio_read_reg(struct ingenic_gpio_chip *jzgc, u8 reg)
{ … }
static void ingenic_gpio_set_bit(struct ingenic_gpio_chip *jzgc,
u8 reg, u8 offset, bool set)
{ … }
static void ingenic_gpio_shadow_set_bit(struct ingenic_gpio_chip *jzgc,
u8 reg, u8 offset, bool set)
{ … }
static void ingenic_gpio_shadow_set_bit_load(struct ingenic_gpio_chip *jzgc)
{ … }
static void jz4730_gpio_set_bits(struct ingenic_gpio_chip *jzgc,
u8 reg_upper, u8 reg_lower, u8 offset, u8 value)
{ … }
static inline bool ingenic_gpio_get_value(struct ingenic_gpio_chip *jzgc,
u8 offset)
{ … }
static void ingenic_gpio_set_value(struct ingenic_gpio_chip *jzgc,
u8 offset, int value)
{ … }
static void irq_set_type(struct ingenic_gpio_chip *jzgc,
u8 offset, unsigned int type)
{ … }
static void ingenic_gpio_irq_mask(struct irq_data *irqd)
{ … }
static void ingenic_gpio_irq_unmask(struct irq_data *irqd)
{ … }
static void ingenic_gpio_irq_enable(struct irq_data *irqd)
{ … }
static void ingenic_gpio_irq_disable(struct irq_data *irqd)
{ … }
static void ingenic_gpio_irq_ack(struct irq_data *irqd)
{ … }
static int ingenic_gpio_irq_set_type(struct irq_data *irqd, unsigned int type)
{ … }
static int ingenic_gpio_irq_set_wake(struct irq_data *irqd, unsigned int on)
{ … }
static void ingenic_gpio_irq_handler(struct irq_desc *desc)
{ … }
static void ingenic_gpio_set(struct gpio_chip *gc,
unsigned int offset, int value)
{ … }
static int ingenic_gpio_get(struct gpio_chip *gc, unsigned int offset)
{ … }
static int ingenic_gpio_direction_output(struct gpio_chip *gc,
unsigned int offset, int value)
{ … }
static inline void ingenic_config_pin(struct ingenic_pinctrl *jzpc,
unsigned int pin, unsigned int reg, bool set)
{ … }
static inline void ingenic_shadow_config_pin(struct ingenic_pinctrl *jzpc,
unsigned int pin, u8 reg, bool set)
{ … }
static inline void ingenic_shadow_config_pin_load(struct ingenic_pinctrl *jzpc,
unsigned int pin)
{ … }
static inline void jz4730_config_pin_function(struct ingenic_pinctrl *jzpc,
unsigned int pin, u8 reg_upper, u8 reg_lower, u8 value)
{ … }
static inline bool ingenic_get_pin_config(struct ingenic_pinctrl *jzpc,
unsigned int pin, unsigned int reg)
{ … }
static int ingenic_gpio_get_direction(struct gpio_chip *gc, unsigned int offset)
{ … }
static const struct pinctrl_ops ingenic_pctlops = …;
static int ingenic_gpio_irq_request(struct irq_data *data)
{ … }
static void ingenic_gpio_irq_release(struct irq_data *data)
{ … }
static void ingenic_gpio_irq_print_chip(struct irq_data *data, struct seq_file *p)
{ … }
static const struct irq_chip ingenic_gpio_irqchip = …;
static int ingenic_pinmux_set_pin_fn(struct ingenic_pinctrl *jzpc,
int pin, int func)
{ … }
static int ingenic_pinmux_set_mux(struct pinctrl_dev *pctldev,
unsigned int selector, unsigned int group)
{ … }
static int ingenic_pinmux_gpio_set_direction(struct pinctrl_dev *pctldev,
struct pinctrl_gpio_range *range,
unsigned int pin, bool input)
{ … }
static const struct pinmux_ops ingenic_pmxops = …;
static int ingenic_pinconf_get(struct pinctrl_dev *pctldev,
unsigned int pin, unsigned long *config)
{ … }
static void ingenic_set_bias(struct ingenic_pinctrl *jzpc,
unsigned int pin, unsigned int bias)
{ … }
static void ingenic_set_schmitt_trigger(struct ingenic_pinctrl *jzpc,
unsigned int pin, bool enable)
{ … }
static void ingenic_set_output_level(struct ingenic_pinctrl *jzpc,
unsigned int pin, bool high)
{ … }
static void ingenic_set_slew_rate(struct ingenic_pinctrl *jzpc,
unsigned int pin, unsigned int slew)
{ … }
static int ingenic_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
unsigned long *configs, unsigned int num_configs)
{ … }
static int ingenic_pinconf_group_get(struct pinctrl_dev *pctldev,
unsigned int group, unsigned long *config)
{ … }
static int ingenic_pinconf_group_set(struct pinctrl_dev *pctldev,
unsigned int group, unsigned long *configs,
unsigned int num_configs)
{ … }
static const struct pinconf_ops ingenic_confops = …;
static const struct regmap_config ingenic_pinctrl_regmap_config = …;
static const struct of_device_id ingenic_gpio_of_matches[] __initconst = …;
static int __init ingenic_gpio_probe(struct ingenic_pinctrl *jzpc,
struct fwnode_handle *fwnode)
{ … }
static int __init ingenic_pinctrl_probe(struct platform_device *pdev)
{ … }
#define IF_ENABLED(cfg, ptr) …
static const struct of_device_id ingenic_pinctrl_of_matches[] = …;
static struct platform_driver ingenic_pinctrl_driver = …;
static int __init ingenic_pinctrl_drv_register(void)
{ … }
subsys_initcall(ingenic_pinctrl_drv_register);