PERFORCE change 162801 for review
Sylvestre Gallon
syl at FreeBSD.org
Tue May 26 19:28:02 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=162801
Change 162801 by syl at syl_rincewind on 2009/05/26 19:27:58
Update pio code to be SoC independant.
Affected files ...
.. //depot/projects/soc2009/syl_usb/src/sys/arm/at91/at91_pio.c#2 edit
Differences ...
==== //depot/projects/soc2009/syl_usb/src/sys/arm/at91/at91_pio.c#2 (text) ====
@@ -39,7 +39,7 @@
#include <sys/rman.h>
#include <machine/bus.h>
-#include <arm/at91/at91rm92reg.h>
+#include <arm/at91/at91var.h>
#include <arm/at91/at91_pioreg.h>
#include <arm/at91/at91_piovar.h>
@@ -283,7 +283,7 @@
void
at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask, int use_pullup)
{
- uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio);
+ uint32_t *PIO = (uint32_t *)(at91_base() + pio);
PIO[PIO_ASR / 4] = periph_a_mask;
PIO[PIO_PDR / 4] = periph_a_mask;
@@ -296,7 +296,7 @@
void
at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask, int use_pullup)
{
- uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio);
+ uint32_t *PIO = (uint32_t *)(at91_base() + pio);
PIO[PIO_BSR / 4] = periph_b_mask;
PIO[PIO_PDR / 4] = periph_b_mask;
@@ -309,7 +309,7 @@
void
at91_pio_use_gpio(uint32_t pio, uint32_t gpio_mask)
{
- uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio);
+ uint32_t *PIO = (uint32_t *)(at91_base() + pio);
PIO[PIO_PER / 4] = gpio_mask;
}
@@ -317,7 +317,7 @@
void
at91_pio_gpio_input(uint32_t pio, uint32_t input_enable_mask)
{
- uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio);
+ uint32_t *PIO = (uint32_t *)(at91_base() + pio);
PIO[PIO_ODR / 4] = input_enable_mask;
}
@@ -325,7 +325,7 @@
void
at91_pio_gpio_output(uint32_t pio, uint32_t output_enable_mask, int use_pullup)
{
- uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio);
+ uint32_t *PIO = (uint32_t *)(at91_base() + pio);
PIO[PIO_OER / 4] = output_enable_mask;
if (use_pullup)
@@ -337,7 +337,7 @@
void
at91_pio_gpio_set(uint32_t pio, uint32_t data_mask)
{
- uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio);
+ uint32_t *PIO = (uint32_t *)(at91_base() + pio);
PIO[PIO_SODR / 4] = data_mask;
}
@@ -345,7 +345,7 @@
void
at91_pio_gpio_clear(uint32_t pio, uint32_t data_mask)
{
- uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio);
+ uint32_t *PIO = (uint32_t *)(at91_base() + pio);
PIO[PIO_CODR / 4] = data_mask;
}
@@ -353,7 +353,7 @@
uint8_t
at91_pio_gpio_get(uint32_t pio, uint32_t data_mask)
{
- uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio);
+ uint32_t *PIO = (uint32_t *)(at91_base() + pio);
data_mask &= PIO[PIO_PDSR / 4];
@@ -363,7 +363,7 @@
void
at91_pio_gpio_set_deglitch(uint32_t pio, uint32_t data_mask, int use_deglitch)
{
- uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio);
+ uint32_t *PIO = (uint32_t *)(at91_base() + pio);
if (use_deglitch)
PIO[PIO_IFER / 4] = data_mask;
@@ -376,7 +376,7 @@
at91_pio_gpio_set_interrupt(uint32_t pio, uint32_t data_mask,
int enable_interrupt)
{
- uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio);
+ uint32_t *PIO = (uint32_t *)(at91_base() + pio);
if (enable_interrupt)
PIO[PIO_IER / 4] = data_mask;
@@ -388,7 +388,7 @@
uint32_t
at91_pio_gpio_clear_interrupt(uint32_t pio)
{
- uint32_t *PIO = (uint32_t *)(AT91RM92_BASE + pio);
+ uint32_t *PIO = (uint32_t *)(at91_base() + pio);
/* reading this register will clear the interrupts */
return (PIO[PIO_ISR / 4]);
}
More information about the p4-projects
mailing list