Lines Matching refs:gc
36 struct bcm_gpio_chip *gc = NULL; in bcm_gpio_pin_to_chip() local
38 SLIST_FOREACH(gc, &gclist, link) in bcm_gpio_pin_to_chip()
39 if ((pin >= gc->gpio_base) && in bcm_gpio_pin_to_chip()
40 (pin < (gc->gpio_base + gc->ngpios))) in bcm_gpio_pin_to_chip()
41 return gc; in bcm_gpio_pin_to_chip()
48 struct bcm_gpio_chip *gc = NULL; in gpio_is_range_overlap() local
50 SLIST_FOREACH(gc, &gclist, link) in gpio_is_range_overlap()
51 if ((start < (gc->gpio_base + gc->ngpios)) && in gpio_is_range_overlap()
52 (end > gc->gpio_base)) in gpio_is_range_overlap()
61 struct bcm_gpio_chip *gc = bcm_gpio_pin_to_chip(gpio); in iproc_set_bit() local
63 assert(gc); in iproc_set_bit()
64 io_setbits32(gc->base + offset, BIT(shift)); in iproc_set_bit()
71 struct bcm_gpio_chip *gc = bcm_gpio_pin_to_chip(gpio); in iproc_clr_bit() local
73 assert(gc); in iproc_clr_bit()
74 io_clrbits32(gc->base + offset, BIT(shift)); in iproc_clr_bit()
91 struct bcm_gpio_chip *gc = bcm_gpio_pin_to_chip(gpio); in iproc_gpio_get() local
93 assert(gc); in iproc_gpio_get()
95 if (io_read32(gc->base + offset) & BIT(shift)) in iproc_gpio_get()
115 struct bcm_gpio_chip *gc = bcm_gpio_pin_to_chip(gpio); in iproc_gpio_get_dir() local
117 assert(gc); in iproc_gpio_get_dir()
119 if (io_read32(gc->base + offset) & BIT(shift)) in iproc_gpio_get_dir()
130 struct bcm_gpio_chip *gc = bcm_gpio_pin_to_chip(gpio); in iproc_gpio_get_itr() local
132 assert(gc); in iproc_gpio_get_itr()
134 if (io_read32(gc->base + offset) & BIT(shift)) in iproc_gpio_get_itr()
174 static void iproc_gpio_init(struct bcm_gpio_chip *gc, unsigned int paddr, in iproc_gpio_init() argument
177 assert(!gpio_is_range_overlap(gpio_base, gpio_base + gc->ngpios)); in iproc_gpio_init()
179 gc->base = core_mmu_get_va(paddr, MEM_AREA_IO_SEC, 1); in iproc_gpio_init()
180 gc->chip.ops = &bcm_gpio_ops; in iproc_gpio_init()
181 gc->gpio_base = gpio_base; in iproc_gpio_init()
182 gc->ngpios = ngpios; in iproc_gpio_init()
184 SLIST_INSERT_HEAD(&gclist, gc, link); in iproc_gpio_init()
191 struct bcm_gpio_chip *gc = NULL; in bcm_gpio_init() local
194 gc = malloc(sizeof(*gc)); in bcm_gpio_init()
195 if (gc == NULL) in bcm_gpio_init()
198 iproc_gpio_init(gc, SECURE_GPIO_BASE0, GPIO_NUM_START0, NUM_GPIOS0); in bcm_gpio_init()
201 gc = malloc(sizeof(*gc)); in bcm_gpio_init()
202 if (gc == NULL) in bcm_gpio_init()
205 iproc_gpio_init(gc, SECURE_GPIO_BASE1, GPIO_NUM_START1, NUM_GPIOS1); in bcm_gpio_init()