• Home
  • Raw
  • Download

Lines Matching refs:pio

103 static char peripheral_function(void __iomem *pio, unsigned mask)  in peripheral_function()  argument
108 if (pio) { in peripheral_function()
110 select = !!(__raw_readl(pio + PIO_ABCDSR1) & mask); in peripheral_function()
111 select |= (!!(__raw_readl(pio + PIO_ABCDSR2) & mask) << 1); in peripheral_function()
114 ret = __raw_readl(pio + PIO_ABSR) & mask ? in peripheral_function()
143 void __iomem *pio = pin_to_controller(pin); in at91_set_GPIO_periph() local
146 if (!pio) in at91_set_GPIO_periph()
148 __raw_writel(mask, pio + PIO_IDR); in at91_set_GPIO_periph()
149 __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); in at91_set_GPIO_periph()
150 __raw_writel(mask, pio + PIO_PER); in at91_set_GPIO_periph()
161 void __iomem *pio = pin_to_controller(pin); in at91_set_A_periph() local
164 if (!pio) in at91_set_A_periph()
167 __raw_writel(mask, pio + PIO_IDR); in at91_set_A_periph()
168 __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); in at91_set_A_periph()
170 __raw_writel(__raw_readl(pio + PIO_ABCDSR1) & ~mask, in at91_set_A_periph()
171 pio + PIO_ABCDSR1); in at91_set_A_periph()
172 __raw_writel(__raw_readl(pio + PIO_ABCDSR2) & ~mask, in at91_set_A_periph()
173 pio + PIO_ABCDSR2); in at91_set_A_periph()
175 __raw_writel(mask, pio + PIO_ASR); in at91_set_A_periph()
177 __raw_writel(mask, pio + PIO_PDR); in at91_set_A_periph()
188 void __iomem *pio = pin_to_controller(pin); in at91_set_B_periph() local
191 if (!pio) in at91_set_B_periph()
194 __raw_writel(mask, pio + PIO_IDR); in at91_set_B_periph()
195 __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); in at91_set_B_periph()
197 __raw_writel(__raw_readl(pio + PIO_ABCDSR1) | mask, in at91_set_B_periph()
198 pio + PIO_ABCDSR1); in at91_set_B_periph()
199 __raw_writel(__raw_readl(pio + PIO_ABCDSR2) & ~mask, in at91_set_B_periph()
200 pio + PIO_ABCDSR2); in at91_set_B_periph()
202 __raw_writel(mask, pio + PIO_BSR); in at91_set_B_periph()
204 __raw_writel(mask, pio + PIO_PDR); in at91_set_B_periph()
215 void __iomem *pio = pin_to_controller(pin); in at91_set_C_periph() local
218 if (!pio || !has_pio3()) in at91_set_C_periph()
221 __raw_writel(mask, pio + PIO_IDR); in at91_set_C_periph()
222 __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); in at91_set_C_periph()
223 __raw_writel(__raw_readl(pio + PIO_ABCDSR1) & ~mask, pio + PIO_ABCDSR1); in at91_set_C_periph()
224 __raw_writel(__raw_readl(pio + PIO_ABCDSR2) | mask, pio + PIO_ABCDSR2); in at91_set_C_periph()
225 __raw_writel(mask, pio + PIO_PDR); in at91_set_C_periph()
236 void __iomem *pio = pin_to_controller(pin); in at91_set_D_periph() local
239 if (!pio || !has_pio3()) in at91_set_D_periph()
242 __raw_writel(mask, pio + PIO_IDR); in at91_set_D_periph()
243 __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); in at91_set_D_periph()
244 __raw_writel(__raw_readl(pio + PIO_ABCDSR1) | mask, pio + PIO_ABCDSR1); in at91_set_D_periph()
245 __raw_writel(__raw_readl(pio + PIO_ABCDSR2) | mask, pio + PIO_ABCDSR2); in at91_set_D_periph()
246 __raw_writel(mask, pio + PIO_PDR); in at91_set_D_periph()
258 void __iomem *pio = pin_to_controller(pin); in at91_set_gpio_input() local
261 if (!pio) in at91_set_gpio_input()
264 __raw_writel(mask, pio + PIO_IDR); in at91_set_gpio_input()
265 __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); in at91_set_gpio_input()
266 __raw_writel(mask, pio + PIO_ODR); in at91_set_gpio_input()
267 __raw_writel(mask, pio + PIO_PER); in at91_set_gpio_input()
279 void __iomem *pio = pin_to_controller(pin); in at91_set_gpio_output() local
282 if (!pio) in at91_set_gpio_output()
285 __raw_writel(mask, pio + PIO_IDR); in at91_set_gpio_output()
286 __raw_writel(mask, pio + PIO_PUDR); in at91_set_gpio_output()
287 __raw_writel(mask, pio + (value ? PIO_SODR : PIO_CODR)); in at91_set_gpio_output()
288 __raw_writel(mask, pio + PIO_OER); in at91_set_gpio_output()
289 __raw_writel(mask, pio + PIO_PER); in at91_set_gpio_output()
300 void __iomem *pio = pin_to_controller(pin); in at91_set_deglitch() local
303 if (!pio) in at91_set_deglitch()
307 __raw_writel(mask, pio + PIO_IFSCDR); in at91_set_deglitch()
308 __raw_writel(mask, pio + (is_on ? PIO_IFER : PIO_IFDR)); in at91_set_deglitch()
318 void __iomem *pio = pin_to_controller(pin); in at91_set_debounce() local
321 if (!pio || !has_pio3()) in at91_set_debounce()
325 __raw_writel(mask, pio + PIO_IFSCER); in at91_set_debounce()
326 __raw_writel(div & PIO_SCDR_DIV, pio + PIO_SCDR); in at91_set_debounce()
327 __raw_writel(mask, pio + PIO_IFER); in at91_set_debounce()
329 __raw_writel(mask, pio + PIO_IFDR); in at91_set_debounce()
341 void __iomem *pio = pin_to_controller(pin); in at91_set_multi_drive() local
344 if (!pio) in at91_set_multi_drive()
347 __raw_writel(mask, pio + (is_on ? PIO_MDER : PIO_MDDR)); in at91_set_multi_drive()
358 void __iomem *pio = pin_to_controller(pin); in at91_set_pulldown() local
361 if (!pio || !has_pio3()) in at91_set_pulldown()
365 __raw_writel(mask, pio + PIO_PUDR); in at91_set_pulldown()
366 __raw_writel(mask, pio + (is_on ? PIO_PPDER : PIO_PPDDR)); in at91_set_pulldown()
376 void __iomem *pio = pin_to_controller(pin); in at91_disable_schmitt_trig() local
379 if (!pio || !has_pio3()) in at91_disable_schmitt_trig()
382 __raw_writel(__raw_readl(pio + PIO_SCHMITT) | mask, pio + PIO_SCHMITT); in at91_disable_schmitt_trig()
392 void __iomem *pio = pin_to_controller(pin); in at91_set_gpio_value() local
395 if (!pio) in at91_set_gpio_value()
397 __raw_writel(mask, pio + (value ? PIO_SODR : PIO_CODR)); in at91_set_gpio_value()
408 void __iomem *pio = pin_to_controller(pin); in at91_get_gpio_value() local
412 if (!pio) in at91_get_gpio_value()
414 pdsr = __raw_readl(pio + PIO_PDSR); in at91_get_gpio_value()
450 void __iomem *pio = gpio_chip[i].regbase; in at91_gpio_suspend() local
452 backups[i] = __raw_readl(pio + PIO_IMR); in at91_gpio_suspend()
453 __raw_writel(backups[i], pio + PIO_IDR); in at91_gpio_suspend()
454 __raw_writel(wakeups[i], pio + PIO_IER); in at91_gpio_suspend()
472 void __iomem *pio = gpio_chip[i].regbase; in at91_gpio_resume() local
479 __raw_writel(wakeups[i], pio + PIO_IDR); in at91_gpio_resume()
480 __raw_writel(backups[i], pio + PIO_IER); in at91_gpio_resume()
506 void __iomem *pio = at91_gpio->regbase; in gpio_irq_mask() local
509 if (pio) in gpio_irq_mask()
510 __raw_writel(mask, pio + PIO_IDR); in gpio_irq_mask()
516 void __iomem *pio = at91_gpio->regbase; in gpio_irq_unmask() local
519 if (pio) in gpio_irq_unmask()
520 __raw_writel(mask, pio + PIO_IER); in gpio_irq_unmask()
538 void __iomem *pio = at91_gpio->regbase; in alt_gpio_irq_type() local
543 __raw_writel(mask, pio + PIO_ESR); in alt_gpio_irq_type()
544 __raw_writel(mask, pio + PIO_REHLSR); in alt_gpio_irq_type()
547 __raw_writel(mask, pio + PIO_ESR); in alt_gpio_irq_type()
548 __raw_writel(mask, pio + PIO_FELLSR); in alt_gpio_irq_type()
551 __raw_writel(mask, pio + PIO_LSR); in alt_gpio_irq_type()
552 __raw_writel(mask, pio + PIO_FELLSR); in alt_gpio_irq_type()
555 __raw_writel(mask, pio + PIO_LSR); in alt_gpio_irq_type()
556 __raw_writel(mask, pio + PIO_REHLSR); in alt_gpio_irq_type()
563 __raw_writel(mask, pio + PIO_AIMDR); in alt_gpio_irq_type()
572 __raw_writel(mask, pio + PIO_AIMER); in alt_gpio_irq_type()
591 void __iomem *pio = at91_gpio->regbase; in gpio_irq_handler() local
602 isr = __raw_readl(pio + PIO_ISR) & __raw_readl(pio + PIO_IMR); in gpio_irq_handler()
607 pio = at91_gpio->regbase; in gpio_irq_handler()
625 static void gpio_printf(struct seq_file *s, void __iomem *pio, unsigned mask) in gpio_printf() argument
630 if (__raw_readl(pio + PIO_IMR) & mask) { in gpio_printf()
631 if (!has_pio3() || !(__raw_readl(pio + PIO_AIMMR) & mask )) { in gpio_printf()
635 if (__raw_readl(pio + PIO_ELSR) & mask) { in gpio_printf()
637 polarity = __raw_readl(pio + PIO_FRLHSR) & mask ? in gpio_printf()
641 polarity = __raw_readl(pio + PIO_FRLHSR) & mask ? in gpio_printf()
648 __raw_readl(pio + PIO_PDSR) & mask ? "1" : "0"); in gpio_printf()
669 void __iomem *pio = pin_to_controller(pin); in at91_gpio_show() local
672 if (__raw_readl(pio + PIO_PSR) & mask) in at91_gpio_show()
673 gpio_printf(s, pio, mask); in at91_gpio_show()
676 peripheral_function(pio, mask)); in at91_gpio_show()
868 void __iomem *pio = at91_gpio->regbase; in at91_gpiolib_direction_input() local
871 __raw_writel(mask, pio + PIO_ODR); in at91_gpiolib_direction_input()
879 void __iomem *pio = at91_gpio->regbase; in at91_gpiolib_direction_output() local
882 __raw_writel(mask, pio + (val ? PIO_SODR : PIO_CODR)); in at91_gpiolib_direction_output()
883 __raw_writel(mask, pio + PIO_OER); in at91_gpiolib_direction_output()
890 void __iomem *pio = at91_gpio->regbase; in at91_gpiolib_get() local
894 pdsr = __raw_readl(pio + PIO_PDSR); in at91_gpiolib_get()
901 void __iomem *pio = at91_gpio->regbase; in at91_gpiolib_set() local
904 __raw_writel(mask, pio + (val ? PIO_SODR : PIO_CODR)); in at91_gpiolib_set()
913 void __iomem *pio = pin_to_controller(pin); in at91_gpiolib_dbg_show() local
921 if (__raw_readl(pio + PIO_PSR) & mask) in at91_gpiolib_dbg_show()
927 peripheral_function(pio, mask)); in at91_gpiolib_dbg_show()