Lines Matching refs:chan
39 struct chan_info chan[2]; member
292 static void phy_cfg(const struct chan_info *chan, int channel, in phy_cfg() argument
295 struct rk3288_ddr_publ *publ = chan->publ; in phy_cfg()
296 struct rk3288_msch *msch = chan->msch; in phy_cfg()
437 static void set_bandwidth_ratio(const struct chan_info *chan, int channel, in set_bandwidth_ratio() argument
440 struct rk3288_ddr_pctl *pctl = chan->pctl; in set_bandwidth_ratio()
441 struct rk3288_ddr_publ *publ = chan->publ; in set_bandwidth_ratio()
442 struct rk3288_msch *msch = chan->msch; in set_bandwidth_ratio()
475 static int data_training(const struct chan_info *chan, int channel, in data_training() argument
483 struct rk3288_ddr_publ *publ = chan->publ; in data_training()
484 struct rk3288_ddr_pctl *pctl = chan->pctl; in data_training()
538 static void move_to_access_state(const struct chan_info *chan) in move_to_access_state() argument
540 struct rk3288_ddr_publ *publ = chan->publ; in move_to_access_state()
541 struct rk3288_ddr_pctl *pctl = chan->pctl; in move_to_access_state()
578 static void dram_cfg_rbc(const struct chan_info *chan, u32 chnum, in dram_cfg_rbc() argument
581 struct rk3288_ddr_publ *publ = chan->publ; in dram_cfg_rbc()
589 writel(sdram_params->base.ddrconfig, &chan->msch->ddrconf); in dram_cfg_rbc()
595 unsigned int chan; in dram_all_config() local
600 for (chan = 0; chan < sdram_params->num_channels; chan++) { in dram_all_config()
602 &sdram_params->ch[chan]; in dram_all_config()
604 sys_reg |= info->row_3_4 << SYS_REG_ROW_3_4_SHIFT(chan); in dram_all_config()
605 sys_reg |= 1 << SYS_REG_CHINFO_SHIFT(chan); in dram_all_config()
606 sys_reg |= (info->rank - 1) << SYS_REG_RANK_SHIFT(chan); in dram_all_config()
607 sys_reg |= (info->col - 9) << SYS_REG_COL_SHIFT(chan); in dram_all_config()
608 sys_reg |= info->bk == 3 ? 0 : 1 << SYS_REG_BK_SHIFT(chan); in dram_all_config()
609 sys_reg |= (info->cs0_row - 13) << SYS_REG_CS0_ROW_SHIFT(chan); in dram_all_config()
610 sys_reg |= (info->cs1_row - 13) << SYS_REG_CS1_ROW_SHIFT(chan); in dram_all_config()
611 sys_reg |= (2 >> info->bw) << SYS_REG_BW_SHIFT(chan); in dram_all_config()
612 sys_reg |= (2 >> info->dbw) << SYS_REG_DBW_SHIFT(chan); in dram_all_config()
614 dram_cfg_rbc(&dram->chan[chan], chan, sdram_params); in dram_all_config()
625 const struct chan_info *chan = &dram->chan[channel]; in sdram_rank_bw_detect() local
626 struct rk3288_ddr_publ *publ = chan->publ; in sdram_rank_bw_detect()
628 if (data_training(chan, channel, sdram_params) < 0) { in sdram_rank_bw_detect()
649 set_bandwidth_ratio(chan, channel, in sdram_rank_bw_detect()
659 (data_training(chan, channel, sdram_params) < 0)) { in sdram_rank_bw_detect()
678 const struct chan_info *chan = &dram->chan[channel]; in sdram_col_row_detect() local
679 struct rk3288_ddr_pctl *pctl = chan->pctl; in sdram_col_row_detect()
680 struct rk3288_ddr_publ *publ = chan->publ; in sdram_col_row_detect()
702 writel(4, &chan->msch->ddrconf); in sdram_col_row_detect()
703 move_to_access_state(chan); in sdram_col_row_detect()
808 const struct chan_info *chan = &dram->chan[channel]; in sdram_init() local
809 struct rk3288_ddr_pctl *pctl = chan->pctl; in sdram_init()
810 struct rk3288_ddr_publ *publ = chan->publ; in sdram_init()
824 phy_cfg(chan, channel, sdram_params); in sdram_init()
855 set_bandwidth_ratio(chan, channel, in sdram_init()
901 writel(15, &chan->msch->ddrconf); in sdram_init()
902 move_to_access_state(chan); in sdram_init()
1059 priv->chan[0].msch = regmap_get_range(map, 0); in rk3288_dmc_probe()
1060 priv->chan[1].msch = (struct rk3288_msch *) in rk3288_dmc_probe()
1066 priv->chan[0].pctl = regmap_get_range(plat->map, 0); in rk3288_dmc_probe()
1067 priv->chan[0].publ = regmap_get_range(plat->map, 1); in rk3288_dmc_probe()
1068 priv->chan[1].pctl = regmap_get_range(plat->map, 2); in rk3288_dmc_probe()
1069 priv->chan[1].publ = regmap_get_range(plat->map, 3); in rk3288_dmc_probe()