Lines Matching defs:msdc_host
421 struct msdc_host { struct
422 struct device *dev;
423 const struct mtk_mmc_compatible *dev_comp;
424 int cmd_rsp;
426 spinlock_t lock;
427 struct mmc_request *mrq;
428 struct mmc_command *cmd;
429 struct mmc_data *data;
430 int error;
432 void __iomem *base; /* host base address */
433 void __iomem *top_base; /* host top register base address */
435 struct msdc_dma dma; /* dma channel */
436 u64 dma_mask;
438 u32 timeout_ns; /* data timeout ns */
439 u32 timeout_clks; /* data timeout clks */
441 struct pinctrl *pinctrl;
442 struct pinctrl_state *pins_default;
443 struct pinctrl_state *pins_uhs;
444 struct pinctrl_state *pins_eint;
445 struct delayed_work req_timeout;
446 int irq; /* host interrupt */
447 int eint_irq; /* interrupt from sdio device for waking up system */
448 struct reset_control *reset;
450 struct clk *src_clk; /* msdc source clock */
451 struct clk *h_clk; /* msdc h_clk */
452 struct clk *bus_clk; /* bus clock which used to access register */
453 struct clk *src_clk_cg; /* msdc source clock control gate */
454 struct clk *sys_clk_cg; /* msdc subsys clock control gate */
455 struct clk_bulk_data bulk_clks[MSDC_NR_CLOCKS];
456 u32 mclk; /* mmc subsystem clock frequency */
457 u32 src_clk_freq; /* source clock frequency */
458 unsigned char timing;
459 bool vqmmc_enabled;
460 u32 latch_ck;
461 u32 hs400_ds_delay;
462 u32 hs400_ds_dly3;
463 u32 hs200_cmd_int_delay; /* cmd internal delay for HS200/SDR104 */
464 u32 hs400_cmd_int_delay; /* cmd internal delay for HS400 */
465 bool hs400_cmd_resp_sel_rising;
467 bool hs400_mode; /* current eMMC will run at hs400 mode */
468 bool hs400_tuning; /* hs400 mode online tuning */
469 bool internal_cd; /* Use internal card-detect logic */
470 bool cqhci; /* support eMMC hw cmdq */
471 struct msdc_save_para save_para; /* used when gate HCLK */
472 struct msdc_tune_para def_tune_para; /* default tune setting */
473 struct msdc_tune_para saved_tune_para; /* tune result of CMD21/CMD19 */
474 struct cqhci_host *cq_host;