Lines Matching +full:timeout +full:- +full:enable

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
66 /* omap4-cm range.host + ti,clkctrl reg[0] */
85 sc->dev = dev; in ti_clkctrl_init()
92 ti_clkctrl_set_gdbclk_gate(struct clknode *clk, bool enable) in ti_clkctrl_set_gdbclk_gate() argument
96 uint32_t timeout = 100; in ti_clkctrl_set_gdbclk_gate() local
100 READ4(clk, sc->register_offset, &val); in ti_clkctrl_set_gdbclk_gate()
101 DPRINTF(sc->dev, "val(%x) & (%x | %x = %x)\n", in ti_clkctrl_set_gdbclk_gate()
105 if (enable) { in ti_clkctrl_set_gdbclk_gate()
113 DPRINTF(sc->dev, "val %x\n", val); in ti_clkctrl_set_gdbclk_gate()
114 WRITE4(clk, sc->register_offset, val); in ti_clkctrl_set_gdbclk_gate()
117 while (timeout) { in ti_clkctrl_set_gdbclk_gate()
118 READ4(clk, sc->register_offset, &val); in ti_clkctrl_set_gdbclk_gate()
120 if (enable && (gpio_x_gdbclk == GPIOX_GDBCLK_ENABLE)) in ti_clkctrl_set_gdbclk_gate()
122 else if (!enable && (gpio_x_gdbclk == GPIOX_GDBCLK_DISABLE)) in ti_clkctrl_set_gdbclk_gate()
125 timeout--; in ti_clkctrl_set_gdbclk_gate()
127 if (timeout == 0) { in ti_clkctrl_set_gdbclk_gate()
128 device_printf(sc->dev, "ti_clkctrl_set_gdbclk_gate: Timeout\n"); in ti_clkctrl_set_gdbclk_gate()
136 ti_clkctrl_set_gate(struct clknode *clk, bool enable) in ti_clkctrl_set_gate() argument
140 uint32_t timeout=100; in ti_clkctrl_set_gate() local
145 if (sc->gdbclk) { in ti_clkctrl_set_gate()
146 err = ti_clkctrl_set_gdbclk_gate(clk, enable); in ti_clkctrl_set_gate()
150 READ4(clk, sc->register_offset, &val); in ti_clkctrl_set_gate()
152 if (enable) in ti_clkctrl_set_gate()
153 WRITE4(clk, sc->register_offset, MODULEMODE_ENABLE); in ti_clkctrl_set_gate()
155 WRITE4(clk, sc->register_offset, MODULEMODE_DISABLE); in ti_clkctrl_set_gate()
157 while (timeout) { in ti_clkctrl_set_gate()
158 READ4(clk, sc->register_offset, &val); in ti_clkctrl_set_gate()
161 if (enable && in ti_clkctrl_set_gate()
165 else if (!enable && in ti_clkctrl_set_gate()
170 timeout--; in ti_clkctrl_set_gate()
173 if (timeout == 0) { in ti_clkctrl_set_gate()
174 device_printf(sc->dev, "ti_clkctrl_set_gate: Timeout\n"); in ti_clkctrl_set_gate()
200 &clkdef->clkdef); in ti_clknode_clkctrl_register()
207 sc->register_offset = clkdef->register_offset; in ti_clknode_clkctrl_register()
208 sc->gdbclk = clkdef->gdbclk; in ti_clknode_clkctrl_register()