drivers/pinctrl/cix/pinctrl-sky1.c

Source file repositories/reference/linux-study-clean/drivers/pinctrl/cix/pinctrl-sky1.c

File Facts

System
Linux kernel
Corpus path
drivers/pinctrl/cix/pinctrl-sky1.c
Extension
.c
Size
29310 bytes
Lines
559
Domain
Driver Families
Bucket
drivers/pinctrl
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

// SPDX-License-Identifier: GPL-2.0
//
// Author: Jerry Zhu <Jerry.Zhu@cixtech.com>
// Author: Gary Yang <gary.yang@cixtech.com>

#include <linux/err.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/platform_device.h>
#include "linux/stddef.h"

#include "../core.h"
#include "pinctrl-sky1.h"

/* Pad names for the s5 domain pinmux subsystem */
static const char * const gpio1_group[] = {"GPIO1"};
static const char * const gpio2_group[] = {"GPIO2"};
static const char * const gpio3_group[] = {"GPIO3"};
static const char * const gpio4_group[] = {"GPIO4"};
static const char * const gpio5_group[] = {"GPIO5"};
static const char * const gpio6_group[] = {"GPIO6"};
static const char * const gpio7_group[] = {"GPIO7"};
static const char * const gpio8_group[] = {"GPIO8"};
static const char * const gpio9_group[] = {"GPIO9"};
static const char * const gpio10_group[] = {"GPIO10"};
static const char * const gpio11_group[] = {"GPIO11"};
static const char * const gpio12_group[] = {"GPIO12"};
static const char * const gpio13_group[] = {"GPIO13"};
static const char * const gpio14_group[] = {"GPIO14"};
static const char * const rsmrst_group[] = { };
static const char * const srst_group[] = { };
static const char * const slp_s3_group[] = { };
static const char * const slp_s5_group[] = { };
static const char * const pwrgd_group[] = { };
static const char * const pwrok_group[] = { };
static const char * const pwrbtn_group[] = { };
static const char * const ddrio_gate_group[] = { };
static const char * const jtag_gpio_group[] = { };
static const char * const jtag_tck_group[] = { };
static const char * const jtag_tdi_group[] = { };
static const char * const jtag_tdo_group[] = { };
static const char * const tms_group[] = { };
static const char * const trsl_group[] = { };
static const char * const sfi_i2c0_scl_group[] = {"SFI_I2C0_SCL",
					"SFI_I3C0_SCL"};
static const char * const sfi_i2c0_sda_group[] = {"SFI_I2C0_SDA",
					"SFI_I3C0_SDA"};
static const char * const sfi_i2c1_scl_group[] = {"SFI_I2C1_SCL",
					"SFI_I3C1_SCL", "SFI_SPI_CS0"};
static const char * const sfi_i2c1_sda_group[] = {"SFI_I2C1_SDA",
					"SFI_I3C1_SDA", "SFI_SPI_CS1"};
static const char * const sfi_gpio0_group[] = {"GPIO15", "SFI_SPI_SCK",
					"SFI_GPIO0"};
static const char * const sfi_gpio1_group[] = {"GPIO16", "SFI_SPI_MOSI",
					"SFI_GPIO1"};
static const char * const sfi_gpio2_group[] = {"GPIO17", "SFI_SPI_MISO",
					"SFI_GPIO2"};
static const char * const gpio18_group[] = {"SFI_GPIO3", "GPIO18"};
static const char * const gpio19_group[] = {"SFI_GPIO4", "GPIO19"};
static const char * const gpio20_group[] = {"SFI_GPIO5", "GPIO20"};
static const char * const gpio21_group[] = {"SFI_GPIO6", "GPIO21"};
static const char * const gpio22_group[] = {"SFI_GPIO7", "GPIO22"};
static const char * const gpio23_group[] = {"SFI_GPIO8", "GPIO23",
				"SFI_I3C0_PUR_EN_L"};
static const char * const gpio24_group[] = {"SFI_GPIO9", "GPIO24",
				"SFI_I3C1_PUR_EN_L"};
static const char * const spi1_miso_group[] = {"SPI1_MISO", "GPIO25"};
static const char * const spi1_cs0_group[] = {"SPI1_CS0", "GPIO26"};
static const char * const spi1_cs1_group[] = {"SPI1_CS1", "GPIO27"};
static const char * const spi1_mosi_group[] = {"SPI1_MOSI", "GPIO28"};
static const char * const spi1_clk_group[] = {"SPI1_CLK", "GPIO29"};
static const char * const gpio30_group[] = {"GPIO30", "USB_0C0_L"};
static const char * const gpio31_group[] = {"GPIO31", "USB_0C1_L"};
static const char * const gpio32_group[] = {"GPIO32", "USB_0C2_L"};
static const char * const gpio33_group[] = {"GPIO33", "USB_0C3_L"};
static const char * const gpio34_group[] = {"GPIO34", "USB_0C4_L"};
static const char * const gpio35_group[] = {"GPIO35", "USB_0C5_L"};
static const char * const gpio36_group[] = {"GPIO36", "USB_0C6_L"};
static const char * const gpio37_group[] = {"GPIO37", "USB_0C7_L"};
static const char * const gpio38_group[] = {"GPIO38", "USB_0C8_L"};
static const char * const gpio39_group[] = {"GPIO39", "USB_0C9_L"};
static const char * const gpio40_group[] = {"GPIO40", "USB_DRIVE_VBUS0"};
static const char * const gpio41_group[] = {"GPIO41", "USB_DRIVE_VBUS4"};
static const char * const gpio42_group[] = {"GPIO42", "USB_DRIVE_VBUS5"};
static const char * const se_qspi_clk_group[] = {"SE_QSPI_CLK", "QSPI_CLK"};
static const char * const se_qspi_cs_group[] = {"SE_QSPI_CS_L", "QSPI_CS_L"};
static const char * const se_qspi_data0_group[] = {"SE_QSPI_DATA0",

Annotation

Implementation Notes