Lines Matching +full:delay +full:- +full:us

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
102 { "rockchip,rk3399-emmc-phy", 1 },
112 #define LOWEST_SET_BIT(mask) ((((mask) - 1) & (mask)) ^ (mask))
150 SYSCON_WRITE_4(sc->syscon, GRF_EMMCPHY_CON6, in rk_emmcphy_enable()
153 /* Enable output tap delay */ in rk_emmcphy_enable()
156 SYSCON_WRITE_4(sc->syscon, GRF_EMMCPHY_CON0, in rk_emmcphy_enable()
163 SYSCON_WRITE_4(sc->syscon, GRF_EMMCPHY_CON6, (mask << 16) | val); in rk_emmcphy_enable()
168 sc->phy_conf = (struct rk_emmcphy_conf *)ofw_bus_search_compatible(dev, in rk_emmcphy_enable()
169 compat_data)->ocd_data; in rk_emmcphy_enable()
172 error = clk_get_by_ofw_name(dev, 0, "emmcclk", &sc->clk); in rk_emmcphy_enable()
175 sc->clk = NULL; in rk_emmcphy_enable()
179 if (sc->clk) { in rk_emmcphy_enable()
180 error = clk_get_freq(sc->clk, &rate); in rk_emmcphy_enable()
200 DELAY(3); in rk_emmcphy_enable()
205 SYSCON_WRITE_4(sc->syscon, GRF_EMMCPHY_CON6, (mask << 16) | val); in rk_emmcphy_enable()
208 DELAY(10); in rk_emmcphy_enable()
209 val = SYSCON_READ_4(sc->syscon, GRF_EMMCPHY_STATUS); in rk_emmcphy_enable()
218 SYSCON_WRITE_4(sc->syscon, GRF_EMMCPHY_CON0, (mask << 16) | val); in rk_emmcphy_enable()
223 SYSCON_WRITE_4(sc->syscon, GRF_EMMCPHY_CON6, (mask << 16) | val); in rk_emmcphy_enable()
233 * At 200MHz clock frequency the DLL ready delay is 2.56us, in rk_emmcphy_enable()
234 * at 100MHz clock frequency the DLL ready delay is 5.112us and in rk_emmcphy_enable()
235 * at 50 MHz clock frequency the DLL ready delay is 10.231us. in rk_emmcphy_enable()
236 * We could use safe values for wait, 12us, 8us, 6us and 4us in rk_emmcphy_enable()
244 DELAY(50000); in rk_emmcphy_enable()
245 val = SYSCON_READ_4(sc->syscon, GRF_EMMCPHY_STATUS); in rk_emmcphy_enable()
262 if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0) in rk_emmcphy_probe()
289 if (OF_hasprop(xnode, "arasan,soc-ctl-syscon") && in rk_emmcphy_attach()
291 "arasan,soc-ctl-syscon", &sc->syscon) != 0) { in rk_emmcphy_attach()
296 if (sc->syscon == NULL) { in rk_emmcphy_attach()