Lines Matching full:dmc

27 #include <asm/arch/dmc.h>
51 static void phy_control_reset(int ctrl_no, struct exynos4_dmc *dmc) in phy_control_reset() argument
55 &dmc->phycontrol1); in phy_control_reset()
57 &dmc->phycontrol1); in phy_control_reset()
60 &dmc->phycontrol0); in phy_control_reset()
62 &dmc->phycontrol0); in phy_control_reset()
66 static void dmc_config_mrs(struct exynos4_dmc *dmc, int chip) in dmc_config_mrs() argument
76 &dmc->directcmd); in dmc_config_mrs()
80 static void dmc_init(struct exynos4_dmc *dmc) in dmc_init() argument
87 writel(mem.control1, &dmc->phycontrol1); in dmc_init()
94 writel(mem.zqcontrol, &dmc->phyzqcontrol); in dmc_init()
101 phy_control_reset(1, dmc); in dmc_init()
102 phy_control_reset(0, dmc); in dmc_init()
105 writel(mem.control1, &dmc->phycontrol1); in dmc_init()
108 writel((mem.control0 | CTRL_START | CTRL_DLL_ON), &dmc->phycontrol0); in dmc_init()
110 writel(mem.control2, &dmc->phycontrol2); in dmc_init()
113 writel(mem.concontrol, &dmc->concontrol); in dmc_init()
122 writel(mem.memcontrol, &dmc->memcontrol); in dmc_init()
124 writel(mem.memconfig0, &dmc->memconfig0); in dmc_init()
125 writel(mem.memconfig1, &dmc->memconfig1); in dmc_init()
128 writel(mem.prechconfig, &dmc->prechconfig); in dmc_init()
133 writel(mem.timingref, &dmc->timingref); in dmc_init()
134 writel(mem.timingrow, &dmc->timingrow); in dmc_init()
135 writel(mem.timingdata, &dmc->timingdata); in dmc_init()
136 writel(mem.timingpower, &dmc->timingpower); in dmc_init()
139 writel(DIRECT_CMD_NOP, &dmc->directcmd); in dmc_init()
143 dmc_config_mrs(dmc, 0); in dmc_init()
147 writel(DIRECT_CMD_ZQ, &dmc->directcmd); in dmc_init()
150 writel((DIRECT_CMD_NOP | DIRECT_CMD_CHIP1_SHIFT), &dmc->directcmd); in dmc_init()
154 dmc_config_mrs(dmc, 1); in dmc_init()
158 writel((DIRECT_CMD_ZQ | DIRECT_CMD_CHIP1_SHIFT), &dmc->directcmd); in dmc_init()
161 phy_control_reset(1, dmc); in dmc_init()
165 writel((mem.concontrol | AREF_EN), &dmc->concontrol); in dmc_init()
170 struct exynos4_dmc *dmc; in mem_ctrl_init() local
208 dmc = (struct exynos4_dmc *)samsung_get_base_dmc_ctrl(); in mem_ctrl_init()
209 dmc_init(dmc); in mem_ctrl_init()
210 dmc = (struct exynos4_dmc *)(samsung_get_base_dmc_ctrl() in mem_ctrl_init()
212 dmc_init(dmc); in mem_ctrl_init()