Lines Matching +full:clkdiv +full:- +full:-
1 // SPDX-License-Identifier: GPL-2.0+
30 #define MXC_W1_CONTROL_WR(x) BIT(5 - (x))
59 u16 *ctrl_addr = &pdata->regs->control; in mxc_w1_touch_bit()
67 while (timeout_cnt--) { in mxc_w1_touch_bit()
80 struct mxc_w1_regs *regs = pdata->regs; in mxc_w1_read_byte()
93 readw(®s->tx_rx); in mxc_w1_read_byte()
94 writew(0xFF, ®s->tx_rx); in mxc_w1_read_byte()
98 status = readw(®s->interrupt); in mxc_w1_read_byte()
101 return (u8)readw(®s->tx_rx); in mxc_w1_read_byte()
107 struct mxc_w1_regs *regs = pdata->regs; in mxc_w1_write_byte()
119 readw(®s->tx_rx); in mxc_w1_write_byte()
120 writew(byte, ®s->tx_rx); in mxc_w1_write_byte()
124 status = readw(®s->interrupt); in mxc_w1_write_byte()
133 writew(MXC_W1_CONTROL_RPP, &pdata->regs->control); in mxc_w1_reset()
136 reg_val = readw(&pdata->regs->control); in mxc_w1_reset()
173 return -EINVAL; in mxc_w1_ofdata_to_platdata()
175 pdata->regs = (struct mxc_w1_regs *)addr; in mxc_w1_ofdata_to_platdata()
184 unsigned int clkdiv; in mxc_w1_probe() local
189 return -EINVAL; in mxc_w1_probe()
192 clkdiv = clkrate / 1000000; in mxc_w1_probe()
193 clkrate /= clkdiv; in mxc_w1_probe()
196 return -EINVAL; in mxc_w1_probe()
199 writew(clkdiv - 1, &pdata->regs->time_divider); in mxc_w1_probe()
212 { .compatible = "fsl,imx21-owire", .data = 1 },
213 { .compatible = "fsl,imx27-owire", .data = 1 },
214 { .compatible = "fsl,imx31-owire", .data = 1 },
215 { .compatible = "fsl,imx51-owire", .data = 1 },
217 { .compatible = "fsl,imx25-owire", .data = 2 },
218 { .compatible = "fsl,imx35-owire", .data = 2 },
219 { .compatible = "fsl,imx50-owire", .data = 2 },
220 { .compatible = "fsl,imx53-owire", .data = 2 },