drivers/net/wireless/rsi/rsi_boot_params.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/rsi/rsi_boot_params.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/rsi/rsi_boot_params.h- Extension
.h- Size
- 6022 bytes
- Lines
- 194
- Domain
- Driver Families
- Bucket
- drivers/net
- 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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct tapll_infostruct pll960_infostruct afepll_infostruct pll_configstruct pll_config_9116struct switch_clkstruct switch_clk_9116struct device_clk_infostruct device_clk_info_9116struct bootup_paramsstruct bootup_params_9116
Annotated Snippet
struct tapll_info {
__le16 pll_reg_1;
__le16 pll_reg_2;
} __packed;
/* structure to store configs related to PLL960 programming */
struct pll960_info {
__le16 pll_reg_1;
__le16 pll_reg_2;
__le16 pll_reg_3;
} __packed;
/* structure to store configs related to AFEPLL programming */
struct afepll_info {
__le16 pll_reg;
} __packed;
/* structure to store configs related to pll configs */
struct pll_config {
struct tapll_info tapll_info_g;
struct pll960_info pll960_info_g;
struct afepll_info afepll_info_g;
} __packed;
struct pll_config_9116 {
__le16 pll_ctrl_set_reg;
__le16 pll_ctrl_clr_reg;
__le16 pll_modem_conig_reg;
__le16 soc_clk_config_reg;
__le16 adc_dac_strm1_config_reg;
__le16 adc_dac_strm2_config_reg;
} __packed;
/* structure to store configs related to UMAC clk programming */
struct switch_clk {
__le16 switch_clk_info;
/* If switch_bbp_lmac_clk_reg is set then this value will be programmed
* into reg
*/
__le16 bbp_lmac_clk_reg_val;
/* if switch_umac_clk is set then this value will be programmed */
__le16 umac_clock_reg_config;
/* if switch_qspi_clk is set then this value will be programmed */
__le16 qspi_uart_clock_reg_config;
} __packed;
#define RSI_SWITCH_TASS_CLK BIT(0)
#define RSI_SWITCH_QSPI_CLK BIT(1)
#define RSI_SWITCH_SLP_CLK_2_32 BIT(2)
#define RSI_SWITCH_WLAN_BBP_LMAC_CLK_REG BIT(3)
#define RSI_SWITCH_ZBBT_BBP_LMAC_CLK_REG BIT(4)
#define RSI_SWITCH_BBP_LMAC_CLK_REG BIT(5)
#define RSI_MODEM_CLK_160MHZ BIT(6)
struct switch_clk_9116 {
__le32 switch_clk_info;
__le32 tass_clock_reg;
__le32 wlan_bbp_lmac_clk_reg_val;
__le32 zbbt_bbp_lmac_clk_reg_val;
__le32 bbp_lmac_clk_en_val;
} __packed;
struct device_clk_info {
struct pll_config pll_config_g;
struct switch_clk switch_clk_g;
} __packed;
struct device_clk_info_9116 {
struct pll_config_9116 pll_config_9116_g;
struct switch_clk_9116 switch_clk_9116_g;
} __packed;
struct bootup_params {
__le16 magic_number;
__le16 crystal_good_time;
__le32 valid;
__le32 reserved_for_valids;
__le16 bootup_mode_info;
/* configuration used for digital loop back */
__le16 digital_loop_back_params;
__le16 rtls_timestamp_en;
__le16 host_spi_intr_cfg;
struct device_clk_info device_clk_info[3];
/* ulp buckboost wait time */
__le32 buckboost_wakeup_cnt;
/* pmu wakeup wait time & WDT EN info */
__le16 pmu_wakeup_wait;
u8 shutdown_wait_time;
/* Sleep clock source selection */
u8 pmu_slp_clkout_sel;
Annotation
- Detected declarations: `struct tapll_info`, `struct pll960_info`, `struct afepll_info`, `struct pll_config`, `struct pll_config_9116`, `struct switch_clk`, `struct switch_clk_9116`, `struct device_clk_info`, `struct device_clk_info_9116`, `struct bootup_params`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.