Lines Matching refs:pdata

102 	struct single_pdata *pdata = dev_get_plat(dev);  in single_read()  local
104 switch (pdata->width) { in single_read()
118 struct single_pdata *pdata = dev_get_plat(dev); in single_write() local
120 switch (pdata->width) { in single_write()
157 struct single_pdata *pdata = dev_get_plat(dev); in single_get_pin_by_offset() local
160 if (offset > pdata->offset) { in single_get_pin_by_offset()
162 offset, pdata->offset); in single_get_pin_by_offset()
166 if (pdata->bits_per_mux) in single_get_pin_by_offset()
169 return offset / (pdata->width / BITS_PER_BYTE); in single_get_pin_by_offset()
174 struct single_pdata *pdata = dev_get_plat(dev); in single_get_offset_by_pin() local
181 mux_bytes = pdata->width / BITS_PER_BYTE; in single_get_offset_by_pin()
182 if (pdata->bits_per_mux) { in single_get_offset_by_pin()
215 struct single_pdata *pdata = dev_get_plat(dev); in single_get_pin_muxing() local
227 reg = pdata->base + offset; in single_get_pin_muxing()
232 if (pdata->bits_per_mux) in single_get_pin_muxing()
233 pin_shift = pin % (pdata->width / priv->bits_per_pin) * in single_get_pin_muxing()
236 val &= (pdata->mask << pin_shift); in single_get_pin_muxing()
246 struct single_pdata *pdata = dev_get_plat(dev); in single_request() local
254 if (!pdata->mask) in single_request()
263 mux_bytes = pdata->width / BITS_PER_BYTE; in single_request()
264 reg = pdata->base + pin * mux_bytes; in single_request()
267 data &= ~pdata->mask; in single_request()
322 struct single_pdata *pdata = dev_get_plat(dev); in single_configure_pins() local
324 int stride = pdata->args_count + 1; in single_configure_pins()
331 if (!pdata->mask) in single_configure_pins()
342 if (offset > pdata->offset) { in single_configure_pins()
354 reg = pdata->base + offset; in single_configure_pins()
355 val = (fdt32_to_cpu(pins[n + 1]) | mux) & pdata->mask; in single_configure_pins()
363 single_write(dev, (single_read(dev, reg) & ~pdata->mask) | val, in single_configure_pins()
380 struct single_pdata *pdata = dev_get_plat(dev); in single_configure_bits() local
389 if (!pdata->mask) in single_configure_bits()
392 npins_in_reg = pdata->width / priv->bits_per_pin; in single_configure_bits()
401 if (offset > pdata->offset) { in single_configure_bits()
407 reg = pdata->base + offset; in single_configure_bits()
424 mask_pos = pdata->mask << bit_pos; in single_configure_bits()
539 struct single_pdata *pdata = dev_get_plat(dev); in single_probe() local
546 size = pdata->offset + pdata->width / BITS_PER_BYTE; in single_probe()
556 priv->npins = size / (pdata->width / BITS_PER_BYTE); in single_probe()
557 if (pdata->bits_per_mux) { in single_probe()
558 if (!pdata->mask) { in single_probe()
563 priv->bits_per_pin = fls(pdata->mask); in single_probe()
564 priv->npins *= (pdata->width / priv->bits_per_pin); in single_probe()
578 struct single_pdata *pdata = dev_get_plat(dev); in single_of_to_plat() local
581 ret = dev_read_u32(dev, "pinctrl-single,register-width", &pdata->width); in single_of_to_plat()
587 switch (pdata->width) { in single_of_to_plat()
603 pdata->offset = size - pdata->width / BITS_PER_BYTE; in single_of_to_plat()
604 pdata->base = addr; in single_of_to_plat()
606 ret = dev_read_u32(dev, "pinctrl-single,function-mask", &pdata->mask); in single_of_to_plat()
608 pdata->mask = 0; in single_of_to_plat()
612 pdata->bits_per_mux = dev_read_bool(dev, "pinctrl-single,bit-per-mux"); in single_of_to_plat()
617 ret = dev_read_u32(dev, "#pinctrl-cells", &pdata->args_count); in single_of_to_plat()
619 pdata->args_count = pdata->bits_per_mux ? 2 : 1; in single_of_to_plat()