drivers/pinctrl/stm32/pinctrl-stm32-hdp.c

Source file repositories/reference/linux-study-clean/drivers/pinctrl/stm32/pinctrl-stm32-hdp.c

File Facts

System
Linux kernel
Corpus path
drivers/pinctrl/stm32/pinctrl-stm32-hdp.c
Extension
.c
Size
16427 bytes
Lines
741
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

struct stm32_hdp {
	struct device *dev;
	void __iomem *base;
	struct clk *clk;
	struct pinctrl_dev *pctl_dev;
	struct stm32_firewall *firewall;
	struct gpio_generic_chip gpio_chip;
	u32 mux_conf;
	u32 gposet_conf;
	int nb_firewall_entries;
	const char * const *func_name;
};

static const struct pinctrl_pin_desc stm32_hdp_pins[] = {
	PINCTRL_PIN(0, "HDP0"),
	PINCTRL_PIN(1, "HDP1"),
	PINCTRL_PIN(2, "HDP2"),
	PINCTRL_PIN(3, "HDP3"),
	PINCTRL_PIN(4, "HDP4"),
	PINCTRL_PIN(5, "HDP5"),
	PINCTRL_PIN(6, "HDP6"),
	PINCTRL_PIN(7, "HDP7"),
};

static const char * const func_name_mp13[] = {
	//HDP0 functions:
	"pwr_pwrwake_sys",
	"pwr_stop_forbidden",
	"pwr_stdby_wakeup",
	"pwr_encomp_vddcore",
	"bsec_out_sec_niden",
	"aiec_sys_wakeup",
	"none",
	"none",
	"ddrctrl_lp_req",
	"pwr_ddr_ret_enable_n",
	"dts_clk_ptat",
	"none",
	"sram3ctrl_tamp_erase_act",
	"none",
	"none",
	"gpoval0",
	//HDP1 functions:
	"pwr_sel_vth_vddcpu",
	"pwr_mpu_ram_lowspeed",
	"ca7_naxierrirq",
	"pwr_okin_mr",
	"bsec_out_sec_dbgen",
	"aiec_c1_wakeup",
	"rcc_pwrds_mpu",
	"none",
	"ddrctrl_dfi_ctrlupd_req",
	"ddrctrl_cactive_ddrc_asr",
	"none",
	"none",
	"sram3ctrl_hw_erase_act",
	"nic400_s0_bready",
	"none",
	"gpoval1",
	//HDP2 functions:
	"pwr_pwrwake_mpu",
	"pwr_mpu_clock_disable_ack",
	"ca7_ndbgreset_i",
	"none",
	"bsec_in_rstcore_n",
	"bsec_out_sec_bsc_dis",
	"none",
	"none",
	"ddrctrl_dfi_init_complete",
	"ddrctrl_perf_op_is_refresh",
	"ddrctrl_gskp_dfi_lp_req",
	"none",
	"sram3ctrl_sw_erase_act",
	"nic400_s0_bvalid",
	"none",
	"gpoval2",
	//HDP3 functions:
	"pwr_sel_vth_vddcore",
	"pwr_mpu_clock_disable_req",
	"ca7_npmuirq0",
	"ca7_nfiqout0",
	"bsec_out_sec_dftlock",
	"bsec_out_sec_jtag_dis",
	"rcc_pwrds_sys",
	"sram3ctrl_tamp_erase_req",
	"ddrctrl_stat_ddrc_reg_selfref_type0",
	"none",
	"dts_valobus1_0",
	"dts_valobus2_0",
	"tamp_potential_tamp_erfcfg",

Annotation

Implementation Notes