STRUCT SDHCI_ARASAN_DATA(9)
β¨ NAME β¨
Bestie, meet struct sdhci_arasan_data β the Arasan Controller Data struct from the Kernel API Manual. This is page struct sdhci_arasan_data(9), and it's literally giving βcontroller data but make it iconic.β π«Άπ
π SYNOPSIS π
Here's the whole struct, copied exactly because we do not mess with code, bestie:
struct sdhci_arasan_data {
struct sdhci_host *host;
struct clk *clk_ahb;
struct phy *phy;
bool is_phy_on;
bool internal_phy_reg;
bool has_cqe;
struct sdhci_arasan_clk_data clk_data;
const struct sdhci_arasan_clk_ops *clk_ops;
struct regmap *soc_ctl_base;
const struct sdhci_arasan_soc_ctl_map *soc_ctl_map;
unsigned int quirks;
#define SDHCI_ARASAN_QUIRK_FORCE_CDTEST BIT(0);
#define SDHCI_ARASAN_QUIRK_CLOCK_UNSTABLE BIT(1);
#define SDHCI_ARASAN_QUIRK_CLOCK_25_BROKEN BIT(2);
#define SDHCI_ARASAN_QUIRK_ENSURE_CD_STABLE BIT(3);
};
π«Ά MEMBERS π«Ά
hostβ Pointer to the main SDHCI host structure. The big boss pointer, fr fr. πclk_ahbβ Pointer to the AHB clock. Yes bestie, it's a clock pointer. β°phyβ Pointer to the generic phy. PHY said hi. π§is_phy_onβ True if the PHY is on; false if not. Literally a bool doing bool things. βinternal_phy_regβ True if the PHY is within the Host controller. It's internal, iykyk. π«£has_cqeβ True if controller has command queuing engine. Queue it up, queen. πclk_dataβ Struct for the Arasan Controller Clock Data. Clock data core. β±οΈclk_opsβ Struct for the Arasan Controller Clock Operations. The ops are ops-ing. πsoc_ctl_baseβ Pointer to regmap for syscon for soc_ctl registers. Regmap pointer supreme. πΊοΈsoc_ctl_mapβ Map to get offsets into soc_ctl registers. Offsets? Mapped. πquirksβ Arasan deviations from spec. The spicy deviations. πΆοΈ
π SEE ALSO π
Bestie, if you wanna keep reading, the lore continues in the kernel file ./drivers/mmc/host/sdhci-of-arasan.c struct and these encore pages:
sdhci_arasan_soc_ctl_field(9)struct sdhci_arasan_soc_ctl_map(9)struct sdhci_arasan_clk_ops(9)struct sdhci_arasan_clk_data(9)sdhci_arasan_syscon_write(9)sdhci_arasan_suspend(9)sdhci_arasan_resume(9)sdhci_arasan_sdcardclk_recalc_rate(9)sdhci_arasan_sampleclk_recalc_rate(9)sdhci_zynqmp_sdcardclk_set_phase(9)sdhci_zynqmp_sampleclk_set_phase(9)sdhci_versal_sdcardclk_set_phase(9)sdhci_versal_sampleclk_set_phase(9)sdhci_arasan_update_clockmultiplier(9)sdhci_arasan_update_baseclkfreq(9)arasan_dt_parse_clk_phases(9)sdhci_arasan_register_sdcardclk(9)sdhci_arasan_register_sampleclk(9)sdhci_arasan_unregister_sdclk(9)sdhci_arasan_update_support64b(9)sdhci_arasan_register_sdclk(9)
Source/version vibes: ./drivers/mmc/host Β· date: October 2026 Β· page: struct sdhci_arasan_data(9) β that's the whole footer, bestie, slay and bye! πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms