mmc: core: Add helper for parsing clock phase properties
Drivers for MMC hosts that accept phase corrections can take advantage of the helper by embedding an instance of struct mmc_clk_phase_map in their private data and invoking mmc_of_parse_clk_phase() to extract phase parameters. It is the responsibility of the host driver to translate and apply the extracted values to hardware as required. Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Link: https://lore.kernel.org/r/20210114031433.2388532-2-andrew@aj.id.au Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
committed by
Ulf Hansson
parent
7c7905df68
commit
3561afa026
@@ -79,6 +79,17 @@ struct mmc_ios {
|
||||
bool enhanced_strobe; /* hs400es selection */
|
||||
};
|
||||
|
||||
struct mmc_clk_phase {
|
||||
bool valid;
|
||||
u16 in_deg;
|
||||
u16 out_deg;
|
||||
};
|
||||
|
||||
#define MMC_NUM_CLK_PHASES (MMC_TIMING_MMC_HS400 + 1)
|
||||
struct mmc_clk_phase_map {
|
||||
struct mmc_clk_phase phase[MMC_NUM_CLK_PHASES];
|
||||
};
|
||||
|
||||
struct mmc_host;
|
||||
|
||||
struct mmc_host_ops {
|
||||
@@ -490,6 +501,8 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *);
|
||||
int mmc_add_host(struct mmc_host *);
|
||||
void mmc_remove_host(struct mmc_host *);
|
||||
void mmc_free_host(struct mmc_host *);
|
||||
void mmc_of_parse_clk_phase(struct mmc_host *host,
|
||||
struct mmc_clk_phase_map *map);
|
||||
int mmc_of_parse(struct mmc_host *host);
|
||||
int mmc_of_parse_voltage(struct device_node *np, u32 *mask);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user