Lines Matching refs:pio
46 struct atmel_pio *pio; member
49 static void pio_write(struct atmel_pio *pio, unsigned int offset, uint32_t val) in pio_write() argument
51 io_write32(pio->base + offset, val); in pio_write()
57 struct atmel_pio *pio = pio_conf->pio; in pio_conf_apply() local
62 pio_write(pio, PIO_SIOSR(pio_conf->pio_group), pio_conf->pin_mask); in pio_conf_apply()
63 pio_write(pio, PIO_MSKR(pio_conf->pio_group), pio_conf->pin_mask); in pio_conf_apply()
64 pio_write(pio, PIO_CFGR(pio_conf->pio_group), pio_conf->pin_cfg); in pio_conf_apply()
162 pio_conf->pio = atmel_pio; in pio_pinctrl_dt_get()
172 static void pio_init_hw(struct atmel_pio *pio) in pio_init_hw() argument
178 pio_write(pio, PIO_SIONR(PIO_GROUP_COUNT), GENMASK_32(31, 0)); in pio_init_hw()
189 struct atmel_pio *pio = NULL; in pio_node_probe() local
195 pio = calloc(1, sizeof(*pio)); in pio_node_probe()
196 if (!pio) in pio_node_probe()
203 if (dt_map_dev(fdt, node, &pio->base, &size, DT_MAP_AUTO) < 0) in pio_node_probe()
218 pio_init_hw(pio); in pio_node_probe()
220 res = pinctrl_register_provider(fdt, node, pio_pinctrl_dt_get, pio); in pio_node_probe()
229 free(pio); in pio_node_probe()