]> git.ipfire.org Git - people/ms/u-boot.git/commitdiff
gpio: at91_gpio: remove CPU_HAS_PIO3 macro
authorWenyou Yang <wenyou.yang@atmel.com>
Thu, 23 Mar 2017 04:44:36 +0000 (12:44 +0800)
committerSimon Glass <sjg@chromium.org>
Thu, 13 Apr 2017 20:44:50 +0000 (14:44 -0600)
The intention of the removal is the preparation to introduce the
new AT91 PIO pinctrl driver.

Use the union to make the PIO3 and PIO2's registers be together
and make their offset aligned.

Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
16 files changed:
arch/arm/mach-at91/arm926ejs/at91sam9n12_devices.c
arch/arm/mach-at91/arm926ejs/at91sam9x5_devices.c
arch/arm/mach-at91/armv7/sama5d3_devices.c
arch/arm/mach-at91/include/mach/at91_pio.h
arch/arm/mach-at91/include/mach/at91sam9x5.h
arch/arm/mach-at91/include/mach/sama5d3.h
arch/arm/mach-at91/include/mach/sama5d4.h
board/atmel/at91sam9n12ek/at91sam9n12ek.c
board/atmel/at91sam9x5ek/at91sam9x5ek.c
board/atmel/sama5d3xek/sama5d3xek.c
board/atmel/sama5d4_xplained/sama5d4_xplained.c
board/atmel/sama5d4ek/sama5d4ek.c
board/denx/ma5d4evk/ma5d4evk.c
board/l+g/vinco/vinco.c
drivers/gpio/at91_gpio.c
drivers/net/at91_emac.c

index a03abfc3104e42f2e575ae71bc08a4985b8d471a..28c8cf260a1f223619c164c3816880bff72953a2 100644 (file)
@@ -18,45 +18,45 @@ unsigned int has_lcdc()
 
 void at91_serial0_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 0, 1);                /* TXD0 */
-       at91_set_a_periph(AT91_PIO_PORTA, 1, 0);                /* RXD0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 0, 1);           /* TXD0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 1, 0);           /* RXD0 */
        at91_periph_clk_enable(ATMEL_ID_USART0);
 }
 
 void at91_serial1_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 5, 1);                /* TXD1 */
-       at91_set_a_periph(AT91_PIO_PORTA, 6, 0);                /* RXD1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 5, 1);           /* TXD1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 6, 0);           /* RXD1 */
        at91_periph_clk_enable(ATMEL_ID_USART1);
 }
 
 void at91_serial2_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 7, 1);                /* TXD2 */
-       at91_set_a_periph(AT91_PIO_PORTA, 8, 0);                /* RXD2 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 7, 1);           /* TXD2 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 8, 0);           /* RXD2 */
        at91_periph_clk_enable(ATMEL_ID_USART2);
 }
 
 void at91_serial3_hw_init(void)
 {
-       at91_set_b_periph(AT91_PIO_PORTC, 22, 1);               /* TXD3 */
-       at91_set_b_periph(AT91_PIO_PORTC, 23, 0);               /* RXD3 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 22, 1);          /* TXD3 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 23, 0);          /* RXD3 */
        at91_periph_clk_enable(ATMEL_ID_USART3);
 }
 
 void at91_seriald_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 10, 1);               /* DTXD */
-       at91_set_a_periph(AT91_PIO_PORTA, 9, 0);                /* DRXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 10, 1);          /* DTXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 9, 0);           /* DRXD */
        at91_periph_clk_enable(ATMEL_ID_SYS);
 }
 
 #ifdef CONFIG_ATMEL_SPI
 void at91_spi0_hw_init(unsigned long cs_mask)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 11, 0);       /* SPI0_MISO */
-       at91_set_a_periph(AT91_PIO_PORTA, 12, 0);       /* SPI0_MOSI */
-       at91_set_a_periph(AT91_PIO_PORTA, 13, 0);       /* SPI0_SPCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 11, 0);  /* SPI0_MISO */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 12, 0);  /* SPI0_MOSI */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 13, 0);  /* SPI0_SPCK */
 
        at91_periph_clk_enable(ATMEL_ID_SPI0);
 
@@ -72,9 +72,9 @@ void at91_spi0_hw_init(unsigned long cs_mask)
 
 void at91_spi1_hw_init(unsigned long cs_mask)
 {
-       at91_set_b_periph(AT91_PIO_PORTA, 21, 0);       /* SPI1_MISO */
-       at91_set_b_periph(AT91_PIO_PORTA, 22, 0);       /* SPI1_MOSI */
-       at91_set_b_periph(AT91_PIO_PORTA, 23, 0);       /* SPI1_SPCK */
+       at91_pio3_set_b_periph(AT91_PIO_PORTA, 21, 0);  /* SPI1_MISO */
+       at91_pio3_set_b_periph(AT91_PIO_PORTA, 22, 0);  /* SPI1_MOSI */
+       at91_pio3_set_b_periph(AT91_PIO_PORTA, 23, 0);  /* SPI1_SPCK */
 
        at91_periph_clk_enable(ATMEL_ID_SPI1);
 
@@ -91,12 +91,12 @@ void at91_spi1_hw_init(unsigned long cs_mask)
 
 void at91_mci_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 17, 0);       /* MCCK */
-       at91_set_a_periph(AT91_PIO_PORTA, 16, 0);       /* MCCDA */
-       at91_set_a_periph(AT91_PIO_PORTA, 15, 0);       /* MCDA0 */
-       at91_set_a_periph(AT91_PIO_PORTA, 18, 0);       /* MCDA1 */
-       at91_set_a_periph(AT91_PIO_PORTA, 19, 0);       /* MCDA2 */
-       at91_set_a_periph(AT91_PIO_PORTA, 20, 0);       /* MCDA3 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 17, 0);  /* MCCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 16, 0);  /* MCCDA */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 15, 0);  /* MCDA0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 18, 0);  /* MCDA1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 19, 0);  /* MCDA2 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 20, 0);  /* MCDA3 */
 
        at91_periph_clk_enable(ATMEL_ID_HSMCI0);
 }
@@ -104,37 +104,37 @@ void at91_mci_hw_init(void)
 #ifdef CONFIG_LCD
 void at91_lcd_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTC, 24, 0);       /* LCDDPWR */
-       at91_set_a_periph(AT91_PIO_PORTC, 26, 0);       /* LCDVSYNC */
-       at91_set_a_periph(AT91_PIO_PORTC, 27, 0);       /* LCDHSYNC */
-       at91_set_a_periph(AT91_PIO_PORTC, 28, 0);       /* LCDDOTCK */
-       at91_set_a_periph(AT91_PIO_PORTC, 29, 0);       /* LCDDEN */
-       at91_set_a_periph(AT91_PIO_PORTC, 30, 0);       /* LCDDOTCK */
-
-       at91_set_a_periph(AT91_PIO_PORTC, 0, 0);        /* LCDD0 */
-       at91_set_a_periph(AT91_PIO_PORTC, 1, 0);        /* LCDD1 */
-       at91_set_a_periph(AT91_PIO_PORTC, 2, 0);        /* LCDD2 */
-       at91_set_a_periph(AT91_PIO_PORTC, 3, 0);        /* LCDD3 */
-       at91_set_a_periph(AT91_PIO_PORTC, 4, 0);        /* LCDD4 */
-       at91_set_a_periph(AT91_PIO_PORTC, 5, 0);        /* LCDD5 */
-       at91_set_a_periph(AT91_PIO_PORTC, 6, 0);        /* LCDD6 */
-       at91_set_a_periph(AT91_PIO_PORTC, 7, 0);        /* LCDD7 */
-       at91_set_a_periph(AT91_PIO_PORTC, 8, 0);        /* LCDD8 */
-       at91_set_a_periph(AT91_PIO_PORTC, 9, 0);        /* LCDD9 */
-       at91_set_a_periph(AT91_PIO_PORTC, 10, 0);       /* LCDD10 */
-       at91_set_a_periph(AT91_PIO_PORTC, 11, 0);       /* LCDD11 */
-       at91_set_a_periph(AT91_PIO_PORTC, 12, 0);       /* LCDD12 */
-       at91_set_a_periph(AT91_PIO_PORTC, 13, 0);       /* LCDD13 */
-       at91_set_a_periph(AT91_PIO_PORTC, 14, 0);       /* LCDD14 */
-       at91_set_a_periph(AT91_PIO_PORTC, 15, 0);       /* LCDD15 */
-       at91_set_a_periph(AT91_PIO_PORTC, 16, 0);       /* LCDD16 */
-       at91_set_a_periph(AT91_PIO_PORTC, 17, 0);       /* LCDD17 */
-       at91_set_a_periph(AT91_PIO_PORTC, 18, 0);       /* LCDD18 */
-       at91_set_a_periph(AT91_PIO_PORTC, 19, 0);       /* LCDD19 */
-       at91_set_a_periph(AT91_PIO_PORTC, 20, 0);       /* LCDD20 */
-       at91_set_a_periph(AT91_PIO_PORTC, 21, 0);       /* LCDD21 */
-       at91_set_a_periph(AT91_PIO_PORTC, 22, 0);       /* LCDD22 */
-       at91_set_a_periph(AT91_PIO_PORTC, 23, 0);       /* LCDD23 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 24, 0);  /* LCDDPWR */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 26, 0);  /* LCDVSYNC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 27, 0);  /* LCDHSYNC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 28, 0);  /* LCDDOTCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 29, 0);  /* LCDDEN */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 30, 0);  /* LCDDOTCK */
+
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 0, 0);   /* LCDD0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 1, 0);   /* LCDD1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 2, 0);   /* LCDD2 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 3, 0);   /* LCDD3 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 4, 0);   /* LCDD4 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 5, 0);   /* LCDD5 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 6, 0);   /* LCDD6 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 7, 0);   /* LCDD7 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 8, 0);   /* LCDD8 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 9, 0);   /* LCDD9 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 10, 0);  /* LCDD10 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 11, 0);  /* LCDD11 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 12, 0);  /* LCDD12 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 13, 0);  /* LCDD13 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 14, 0);  /* LCDD14 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 15, 0);  /* LCDD15 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 16, 0);  /* LCDD16 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 17, 0);  /* LCDD17 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 18, 0);  /* LCDD18 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 19, 0);  /* LCDD19 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 20, 0);  /* LCDD20 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 21, 0);  /* LCDD21 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 22, 0);  /* LCDD22 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 23, 0);  /* LCDD23 */
 
        at91_periph_clk_enable(ATMEL_ID_LCDC);
 }
index 3e4555a1a1222f99dc05067c7ded0d338b3d1e90..8de086efd6b56178f6f3d980b8d3c9a675148ffc 100644 (file)
@@ -64,32 +64,32 @@ char *get_cpu_name()
 
 void at91_seriald_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 9, 0);        /* DRXD */
-       at91_set_a_periph(AT91_PIO_PORTA, 10, 1);       /* DTXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 9, 0);   /* DRXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 10, 1);  /* DTXD */
 
        at91_periph_clk_enable(ATMEL_ID_SYS);
 }
 
 void at91_serial0_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 0, 1);        /* TXD */
-       at91_set_a_periph(AT91_PIO_PORTA, 1, 0);        /* RXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 0, 1);   /* TXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 1, 0);   /* RXD */
 
        at91_periph_clk_enable(ATMEL_ID_USART0);
 }
 
 void at91_serial1_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 5, 1);        /* TXD */
-       at91_set_a_periph(AT91_PIO_PORTA, 6, 0);        /* RXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 5, 1);   /* TXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 6, 0);   /* RXD */
 
        at91_periph_clk_enable(ATMEL_ID_USART1);
 }
 
 void at91_serial2_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 7, 1);        /* TXD */
-       at91_set_a_periph(AT91_PIO_PORTA, 8, 0);        /* RXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 7, 1);   /* TXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 8, 0);   /* RXD */
 
        at91_periph_clk_enable(ATMEL_ID_USART2);
 }
@@ -97,12 +97,12 @@ void at91_serial2_hw_init(void)
 void at91_mci_hw_init(void)
 {
        /* Initialize the MCI0 */
-       at91_set_a_periph(AT91_PIO_PORTA, 17, 1);       /* MCCK */
-       at91_set_a_periph(AT91_PIO_PORTA, 16, 1);       /* MCCDA */
-       at91_set_a_periph(AT91_PIO_PORTA, 15, 1);       /* MCDA0 */
-       at91_set_a_periph(AT91_PIO_PORTA, 18, 1);       /* MCDA1 */
-       at91_set_a_periph(AT91_PIO_PORTA, 19, 1);       /* MCDA2 */
-       at91_set_a_periph(AT91_PIO_PORTA, 20, 1);       /* MCDA3 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 17, 1);  /* MCCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 16, 1);  /* MCCDA */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 15, 1);  /* MCDA0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 18, 1);  /* MCDA1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 19, 1);  /* MCDA2 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 20, 1);  /* MCDA3 */
 
        at91_periph_clk_enable(ATMEL_ID_HSMCI0);
 }
@@ -110,20 +110,20 @@ void at91_mci_hw_init(void)
 #ifdef CONFIG_ATMEL_SPI
 void at91_spi0_hw_init(unsigned long cs_mask)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 11, 0);       /* SPI0_MISO */
-       at91_set_a_periph(AT91_PIO_PORTA, 12, 0);       /* SPI0_MOSI */
-       at91_set_a_periph(AT91_PIO_PORTA, 13, 0);       /* SPI0_SPCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 11, 0);  /* SPI0_MISO */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 12, 0);  /* SPI0_MOSI */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 13, 0);  /* SPI0_SPCK */
 
        at91_periph_clk_enable(ATMEL_ID_SPI0);
 
        if (cs_mask & (1 << 0))
-               at91_set_a_periph(AT91_PIO_PORTA, 14, 0);
+               at91_pio3_set_a_periph(AT91_PIO_PORTA, 14, 0);
        if (cs_mask & (1 << 1))
-               at91_set_b_periph(AT91_PIO_PORTA, 7, 0);
+               at91_pio3_set_b_periph(AT91_PIO_PORTA, 7, 0);
        if (cs_mask & (1 << 2))
-               at91_set_b_periph(AT91_PIO_PORTA, 1, 0);
+               at91_pio3_set_b_periph(AT91_PIO_PORTA, 1, 0);
        if (cs_mask & (1 << 3))
-               at91_set_b_periph(AT91_PIO_PORTB, 3, 0);
+               at91_pio3_set_b_periph(AT91_PIO_PORTB, 3, 0);
        if (cs_mask & (1 << 4))
                at91_set_pio_output(AT91_PIO_PORTA, 14, 0);
        if (cs_mask & (1 << 5))
@@ -136,20 +136,20 @@ void at91_spi0_hw_init(unsigned long cs_mask)
 
 void at91_spi1_hw_init(unsigned long cs_mask)
 {
-       at91_set_b_periph(AT91_PIO_PORTA, 21, 0);       /* SPI1_MISO */
-       at91_set_b_periph(AT91_PIO_PORTA, 22, 0);       /* SPI1_MOSI */
-       at91_set_b_periph(AT91_PIO_PORTA, 23, 0);       /* SPI1_SPCK */
+       at91_pio3_set_b_periph(AT91_PIO_PORTA, 21, 0);  /* SPI1_MISO */
+       at91_pio3_set_b_periph(AT91_PIO_PORTA, 22, 0);  /* SPI1_MOSI */
+       at91_pio3_set_b_periph(AT91_PIO_PORTA, 23, 0);  /* SPI1_SPCK */
 
        at91_periph_clk_enable(ATMEL_ID_SPI1);
 
        if (cs_mask & (1 << 0))
-               at91_set_b_periph(AT91_PIO_PORTA, 8, 0);
+               at91_pio3_set_b_periph(AT91_PIO_PORTA, 8, 0);
        if (cs_mask & (1 << 1))
-               at91_set_b_periph(AT91_PIO_PORTA, 0, 0);
+               at91_pio3_set_b_periph(AT91_PIO_PORTA, 0, 0);
        if (cs_mask & (1 << 2))
-               at91_set_b_periph(AT91_PIO_PORTA, 31, 0);
+               at91_pio3_set_b_periph(AT91_PIO_PORTA, 31, 0);
        if (cs_mask & (1 << 3))
-               at91_set_b_periph(AT91_PIO_PORTA, 30, 0);
+               at91_pio3_set_b_periph(AT91_PIO_PORTA, 30, 0);
        if (cs_mask & (1 << 4))
                at91_set_pio_output(AT91_PIO_PORTA, 8, 0);
        if (cs_mask & (1 << 5))
@@ -181,45 +181,45 @@ void at91_macb_hw_init(void)
                /* Enable EMAC0 clock */
                at91_periph_clk_enable(ATMEL_ID_EMAC0);
                /* EMAC0 pins setup */
-               at91_set_a_periph(AT91_PIO_PORTB, 4, 0);        /* ETXCK */
-               at91_set_a_periph(AT91_PIO_PORTB, 3, 0);        /* ERXDV */
-               at91_set_a_periph(AT91_PIO_PORTB, 0, 0);        /* ERX0 */
-               at91_set_a_periph(AT91_PIO_PORTB, 1, 0);        /* ERX1 */
-               at91_set_a_periph(AT91_PIO_PORTB, 2, 0);        /* ERXER */
-               at91_set_a_periph(AT91_PIO_PORTB, 7, 0);        /* ETXEN */
-               at91_set_a_periph(AT91_PIO_PORTB, 9, 0);        /* ETX0 */
-               at91_set_a_periph(AT91_PIO_PORTB, 10, 0);       /* ETX1 */
-               at91_set_a_periph(AT91_PIO_PORTB, 5, 0);        /* EMDIO */
-               at91_set_a_periph(AT91_PIO_PORTB, 6, 0);        /* EMDC */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 4, 0);   /* ETXCK */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 3, 0);   /* ERXDV */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 0, 0);   /* ERX0 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 1, 0);   /* ERX1 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 2, 0);   /* ERXER */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 7, 0);   /* ETXEN */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 9, 0);   /* ETX0 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 10, 0);  /* ETX1 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 5, 0);   /* EMDIO */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 6, 0);   /* EMDC */
        }
 
        if (has_emac1()) {
                /* Enable EMAC1 clock */
                at91_periph_clk_enable(ATMEL_ID_EMAC1);
                /* EMAC1 pins setup */
-               at91_set_b_periph(AT91_PIO_PORTC, 29, 0);       /* ETXCK */
-               at91_set_b_periph(AT91_PIO_PORTC, 28, 0);       /* ECRSDV */
-               at91_set_b_periph(AT91_PIO_PORTC, 20, 0);       /* ERXO */
-               at91_set_b_periph(AT91_PIO_PORTC, 21, 0);       /* ERX1 */
-               at91_set_b_periph(AT91_PIO_PORTC, 16, 0);       /* ERXER */
-               at91_set_b_periph(AT91_PIO_PORTC, 27, 0);       /* ETXEN */
-               at91_set_b_periph(AT91_PIO_PORTC, 18, 0);       /* ETX0 */
-               at91_set_b_periph(AT91_PIO_PORTC, 19, 0);       /* ETX1 */
-               at91_set_b_periph(AT91_PIO_PORTC, 31, 0);       /* EMDIO */
-               at91_set_b_periph(AT91_PIO_PORTC, 30, 0);       /* EMDC */
+               at91_pio3_set_b_periph(AT91_PIO_PORTC, 29, 0);  /* ETXCK */
+               at91_pio3_set_b_periph(AT91_PIO_PORTC, 28, 0);  /* ECRSDV */
+               at91_pio3_set_b_periph(AT91_PIO_PORTC, 20, 0);  /* ERXO */
+               at91_pio3_set_b_periph(AT91_PIO_PORTC, 21, 0);  /* ERX1 */
+               at91_pio3_set_b_periph(AT91_PIO_PORTC, 16, 0);  /* ERXER */
+               at91_pio3_set_b_periph(AT91_PIO_PORTC, 27, 0);  /* ETXEN */
+               at91_pio3_set_b_periph(AT91_PIO_PORTC, 18, 0);  /* ETX0 */
+               at91_pio3_set_b_periph(AT91_PIO_PORTC, 19, 0);  /* ETX1 */
+               at91_pio3_set_b_periph(AT91_PIO_PORTC, 31, 0);  /* EMDIO */
+               at91_pio3_set_b_periph(AT91_PIO_PORTC, 30, 0);  /* EMDC */
        }
 
 #ifndef CONFIG_RMII
        /* Only emac0 support MII */
        if (has_emac0()) {
-               at91_set_a_periph(AT91_PIO_PORTB, 16, 0);       /* ECRS */
-               at91_set_a_periph(AT91_PIO_PORTB, 17, 0);       /* ECOL */
-               at91_set_a_periph(AT91_PIO_PORTB, 13, 0);       /* ERX2 */
-               at91_set_a_periph(AT91_PIO_PORTB, 14, 0);       /* ERX3 */
-               at91_set_a_periph(AT91_PIO_PORTB, 15, 0);       /* ERXCK */
-               at91_set_a_periph(AT91_PIO_PORTB, 11, 0);       /* ETX2 */
-               at91_set_a_periph(AT91_PIO_PORTB, 12, 0);       /* ETX3 */
-               at91_set_a_periph(AT91_PIO_PORTB, 8, 0);        /* ETXER */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 16, 0);  /* ECRS */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 17, 0);  /* ECOL */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 13, 0);  /* ERX2 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 14, 0);  /* ERX3 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 15, 0);  /* ERXCK */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 11, 0);  /* ETX2 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 12, 0);  /* ETX3 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTB, 8, 0);   /* ETXER */
        }
 #endif
 }
index 64ac262818415ab649193ce09e98b58fd8a82ac6..6becdd7fee264f39787c074d1d9add3cded31cab 100644 (file)
@@ -52,8 +52,8 @@ char *get_cpu_name()
 
 void at91_serial0_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTD, 18, 1);       /* TXD0 */
-       at91_set_a_periph(AT91_PIO_PORTD, 17, 0);       /* RXD0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 18, 1);  /* TXD0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 17, 0);  /* RXD0 */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_USART0);
@@ -61,8 +61,8 @@ void at91_serial0_hw_init(void)
 
 void at91_serial1_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTB, 29, 1);       /* TXD1 */
-       at91_set_a_periph(AT91_PIO_PORTB, 28, 0);       /* RXD1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 29, 1);  /* TXD1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 28, 0);  /* RXD1 */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_USART1);
@@ -70,8 +70,8 @@ void at91_serial1_hw_init(void)
 
 void at91_serial2_hw_init(void)
 {
-       at91_set_b_periph(AT91_PIO_PORTE, 26, 1);       /* TXD2 */
-       at91_set_b_periph(AT91_PIO_PORTE, 25, 0);       /* RXD2 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTE, 26, 1);  /* TXD2 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTE, 25, 0);  /* RXD2 */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_USART2);
@@ -79,8 +79,8 @@ void at91_serial2_hw_init(void)
 
 void at91_seriald_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTB, 31, 1);       /* DTXD */
-       at91_set_a_periph(AT91_PIO_PORTB, 30, 0);       /* DRXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 31, 1);  /* DTXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 30, 0);  /* DRXD */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_DBGU);
@@ -89,9 +89,9 @@ void at91_seriald_hw_init(void)
 #if defined(CONFIG_ATMEL_SPI)
 void at91_spi0_hw_init(unsigned long cs_mask)
 {
-       at91_set_a_periph(AT91_PIO_PORTD, 10, 0);       /* SPI0_MISO */
-       at91_set_a_periph(AT91_PIO_PORTD, 11, 0);       /* SPI0_MOSI */
-       at91_set_a_periph(AT91_PIO_PORTD, 12, 0);       /* SPI0_SPCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 10, 0);       /* SPI0_MISO */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 11, 0);       /* SPI0_MOSI */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 12, 0);       /* SPI0_SPCK */
 
        if (cs_mask & (1 << 0))
                at91_set_pio_output(AT91_PIO_PORTD, 13, 1);
@@ -110,18 +110,18 @@ void at91_spi0_hw_init(unsigned long cs_mask)
 #ifdef CONFIG_GENERIC_ATMEL_MCI
 void at91_mci_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTD, 0, 0);        /* MCI0 CMD */
-       at91_set_a_periph(AT91_PIO_PORTD, 1, 0);        /* MCI0 DA0 */
-       at91_set_a_periph(AT91_PIO_PORTD, 2, 0);        /* MCI0 DA1 */
-       at91_set_a_periph(AT91_PIO_PORTD, 3, 0);        /* MCI0 DA2 */
-       at91_set_a_periph(AT91_PIO_PORTD, 4, 0);        /* MCI0 DA3 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 0, 0);   /* MCI0 CMD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 1, 0);   /* MCI0 DA0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 2, 0);   /* MCI0 DA1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 3, 0);        /* MCI0 DA2 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 4, 0);        /* MCI0 DA3 */
 #ifdef CONFIG_ATMEL_MCI_8BIT
-       at91_set_a_periph(AT91_PIO_PORTD, 5, 0);        /* MCI0 DA4 */
-       at91_set_a_periph(AT91_PIO_PORTD, 6, 0);        /* MCI0 DA5 */
-       at91_set_a_periph(AT91_PIO_PORTD, 7, 0);        /* MCI0 DA6 */
-       at91_set_a_periph(AT91_PIO_PORTD, 8, 0);        /* MCI0 DA7 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 5, 0);        /* MCI0 DA4 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 6, 0);        /* MCI0 DA5 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 7, 0);        /* MCI0 DA6 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 8, 0);        /* MCI0 DA7 */
 #endif
-       at91_set_a_periph(AT91_PIO_PORTD, 9, 0);        /* MCI0 CLK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 9, 0);        /* MCI0 CLK */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_MCI0);
@@ -131,16 +131,16 @@ void at91_mci_hw_init(void)
 #ifdef CONFIG_MACB
 void at91_macb_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTC, 7, 0);        /* ETXCK_EREFCK */
-       at91_set_a_periph(AT91_PIO_PORTC, 5, 0);        /* ERXDV */
-       at91_set_a_periph(AT91_PIO_PORTC, 2, 0);        /* ERX0 */
-       at91_set_a_periph(AT91_PIO_PORTC, 3, 0);        /* ERX1 */
-       at91_set_a_periph(AT91_PIO_PORTC, 6, 0);        /* ERXER */
-       at91_set_a_periph(AT91_PIO_PORTC, 4, 0);        /* ETXEN */
-       at91_set_a_periph(AT91_PIO_PORTC, 0, 0);        /* ETX0 */
-       at91_set_a_periph(AT91_PIO_PORTC, 1, 0);        /* ETX1 */
-       at91_set_a_periph(AT91_PIO_PORTC, 9, 0);        /* EMDIO */
-       at91_set_a_periph(AT91_PIO_PORTC, 8, 0);        /* EMDC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 7, 0);   /* ETXCK_EREFCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 5, 0);   /* ERXDV */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 2, 0);   /* ERX0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 3, 0);   /* ERX1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 6, 0);   /* ERXER */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 4, 0);   /* ETXEN */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 0, 0);   /* ETX0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 1, 0);   /* ETX1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 9, 0);   /* EMDIO */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 8, 0);   /* EMDC */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_EMAC);
@@ -148,23 +148,23 @@ void at91_macb_hw_init(void)
 
 void at91_gmac_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTB, 0, 0);        /* GTX0 */
-       at91_set_a_periph(AT91_PIO_PORTB, 1, 0);        /* GTX1 */
-       at91_set_a_periph(AT91_PIO_PORTB, 2, 0);        /* GTX2 */
-       at91_set_a_periph(AT91_PIO_PORTB, 3, 0);        /* GTX3 */
-       at91_set_a_periph(AT91_PIO_PORTB, 4, 0);        /* GRX0 */
-       at91_set_a_periph(AT91_PIO_PORTB, 5, 0);        /* GRX1 */
-       at91_set_a_periph(AT91_PIO_PORTB, 6, 0);        /* GRX2 */
-       at91_set_a_periph(AT91_PIO_PORTB, 7, 0);        /* GRX3 */
-       at91_set_a_periph(AT91_PIO_PORTB, 8, 0);        /* GTXCK */
-       at91_set_a_periph(AT91_PIO_PORTB, 9, 0);        /* GTXEN */
-
-       at91_set_a_periph(AT91_PIO_PORTB, 11, 0);       /* GRXCK */
-       at91_set_a_periph(AT91_PIO_PORTB, 13, 0);       /* GRXER */
-
-       at91_set_a_periph(AT91_PIO_PORTB, 16, 0);       /* GMDC */
-       at91_set_a_periph(AT91_PIO_PORTB, 17, 0);       /* GMDIO */
-       at91_set_a_periph(AT91_PIO_PORTB, 18, 0);       /* G125CK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 0, 0);   /* GTX0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 1, 0);   /* GTX1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 2, 0);   /* GTX2 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 3, 0);   /* GTX3 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 4, 0);   /* GRX0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 5, 0);   /* GRX1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 6, 0);   /* GRX2 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 7, 0);   /* GRX3 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 8, 0);   /* GTXCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 9, 0);   /* GTXEN */
+
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 11, 0);  /* GRXCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 13, 0);  /* GRXER */
+
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 16, 0);  /* GMDC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 17, 0);  /* GMDIO */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 18, 0);  /* G125CK */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_GMAC);
@@ -174,30 +174,30 @@ void at91_gmac_hw_init(void)
 #ifdef CONFIG_LCD
 void at91_lcd_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 24, 0);       /* LCDPWM */
-       at91_set_a_periph(AT91_PIO_PORTA, 25, 0);       /* LCDDISP */
-       at91_set_a_periph(AT91_PIO_PORTA, 26, 0);       /* LCDVSYNC */
-       at91_set_a_periph(AT91_PIO_PORTA, 27, 0);       /* LCDHSYNC */
-       at91_set_a_periph(AT91_PIO_PORTA, 28, 0);       /* LCDDOTCK */
-       at91_set_a_periph(AT91_PIO_PORTA, 29, 0);       /* LCDDEN */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 24, 0);  /* LCDPWM */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 25, 0);  /* LCDDISP */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 26, 0);  /* LCDVSYNC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 27, 0);  /* LCDHSYNC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 28, 0);  /* LCDDOTCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 29, 0);  /* LCDDEN */
 
        /* The lower 16-bit of LCD only available on Port A */
-       at91_set_a_periph(AT91_PIO_PORTA,  0, 0);       /* LCDD0 */
-       at91_set_a_periph(AT91_PIO_PORTA,  1, 0);       /* LCDD1 */
-       at91_set_a_periph(AT91_PIO_PORTA,  2, 0);       /* LCDD2 */
-       at91_set_a_periph(AT91_PIO_PORTA,  3, 0);       /* LCDD3 */
-       at91_set_a_periph(AT91_PIO_PORTA,  4, 0);       /* LCDD4 */
-       at91_set_a_periph(AT91_PIO_PORTA,  5, 0);       /* LCDD5 */
-       at91_set_a_periph(AT91_PIO_PORTA,  6, 0);       /* LCDD6 */
-       at91_set_a_periph(AT91_PIO_PORTA,  7, 0);       /* LCDD7 */
-       at91_set_a_periph(AT91_PIO_PORTA,  8, 0);       /* LCDD8 */
-       at91_set_a_periph(AT91_PIO_PORTA,  9, 0);       /* LCDD9 */
-       at91_set_a_periph(AT91_PIO_PORTA, 10, 0);       /* LCDD10 */
-       at91_set_a_periph(AT91_PIO_PORTA, 11, 0);       /* LCDD11 */
-       at91_set_a_periph(AT91_PIO_PORTA, 12, 0);       /* LCDD12 */
-       at91_set_a_periph(AT91_PIO_PORTA, 13, 0);       /* LCDD13 */
-       at91_set_a_periph(AT91_PIO_PORTA, 14, 0);       /* LCDD14 */
-       at91_set_a_periph(AT91_PIO_PORTA, 15, 0);       /* LCDD15 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  0, 0);  /* LCDD0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  1, 0);  /* LCDD1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  2, 0);  /* LCDD2 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  3, 0);  /* LCDD3 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  4, 0);  /* LCDD4 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  5, 0);  /* LCDD5 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  6, 0);  /* LCDD6 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  7, 0);  /* LCDD7 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  8, 0);  /* LCDD8 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  9, 0);  /* LCDD9 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 10, 0);  /* LCDD10 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 11, 0);  /* LCDD11 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 12, 0);  /* LCDD12 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 13, 0);  /* LCDD13 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 14, 0);  /* LCDD14 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 15, 0);  /* LCDD15 */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_LCDC);
index 301227880a63bd8b5d16cdab5754844a048ffa92..946f0767149d07947c03185b8d0db387d1c74025 100644 (file)
@@ -32,6 +32,8 @@
 #define AT91_ASM_PIOD_ASR      \
        (ATMEL_BASE_PIO + AT91_PIO_PORTD * AT91_ASM_PIO_RANGE + 0x70)
 
+#define PIO_SCDR_DIV           0x3fff  /* Slow Clock Divider Selection for Debouncing Mask */
+
 #ifndef __ASSEMBLY__
 
 typedef struct at91_port {
@@ -63,28 +65,32 @@ typedef struct at91_port {
        u32     puer;           /* 0x64 Pull-up Enable Register */
        u32     pusr;           /* 0x68 Pad Pull-up Status Register */
        u32     reserved4;
-#if defined(CPU_HAS_PIO3)
-       u32     abcdsr1;        /* 0x70 Peripheral ABCD Select Register 1 */
-       u32     abcdsr2;        /* 0x74 Peripheral ABCD Select Register 2 */
-       u32     reserved5[2];
-       u32     ifscdr;         /* 0x80 Input Filter SCLK Disable Register */
-       u32     ifscer;         /* 0x84 Input Filter SCLK Enable Register */
-       u32     ifscsr;         /* 0x88 Input Filter SCLK Status Register */
-       u32     scdr;           /* 0x8C SCLK Divider Debouncing Register */
-       u32     ppddr;          /* 0x90 Pad Pull-down Disable Register */
-       u32     ppder;          /* 0x94 Pad Pull-down Enable Register */
-       u32     ppdsr;          /* 0x98 Pad Pull-down Status Register */
-       u32     reserved6;      /*  */
-#else
-       u32     asr;            /* 0x70 Select A Register */
-       u32     bsr;            /* 0x74 Select B Register */
-       u32     absr;           /* 0x78 AB Select Status Register */
-       u32     reserved5[9];   /*  */
-#endif
+       union {
+               struct {
+                       u32     abcdsr1;        /* 0x70 Peripheral ABCD Select Register 1 */
+                       u32     abcdsr2;        /* 0x74 Peripheral ABCD Select Register 2 */
+                       u32     reserved5[2];
+                       u32     ifscdr;         /* 0x80 Input Filter SCLK Disable Register */
+                       u32     ifscer;         /* 0x84 Input Filter SCLK Enable Register */
+                       u32     ifscsr;         /* 0x88 Input Filter SCLK Status Register */
+                       u32     scdr;           /* 0x8C SCLK Divider Debouncing Register */
+                       u32     ppddr;          /* 0x90 Pad Pull-down Disable Register */
+                       u32     ppder;          /* 0x94 Pad Pull-down Enable Register */
+                       u32     ppdsr;          /* 0x98 Pad Pull-down Status Register */
+                       u32     reserved6;      /*  */
+               } pio3;
+
+               struct {
+                       u32     asr;            /* 0x70 Select A Register */
+                       u32     bsr;            /* 0x74 Select B Register */
+                       u32     absr;           /* 0x78 AB Select Status Register */
+                       u32     reserved5[9];   /*  */
+               } pio2;
+       } mux;
+
        u32     ower;           /* 0xA0 Output Write Enable Register */
        u32     owdr;           /* 0xA4 Output Write Disable Register */
        u32     owsr;           /* OxA8 Output Write Status Register */
-#if defined(CPU_HAS_PIO3)
        u32     reserved7;      /*  */
        u32     aimer;          /* 0xB0 Additional INT Modes Enable Register */
        u32     aimdr;          /* 0xB4 Additional INT Modes Disable Register */
@@ -104,9 +110,6 @@ typedef struct at91_port {
        u32     reserved11[5];  /* */
        u32     schmitt;        /* 0x100 Schmitt Trigger Register */
        u32     reserved12[63];
-#else
-       u32     reserved6[85];
-#endif
 } at91_port_t;
 
 typedef union at91_pio {
@@ -123,13 +126,6 @@ typedef union at91_pio {
 #ifdef CONFIG_AT91_GPIO
 int at91_set_a_periph(unsigned port, unsigned pin, int use_pullup);
 int at91_set_b_periph(unsigned port, unsigned pin, int use_pullup);
-#if defined(CPU_HAS_PIO3)
-int at91_set_c_periph(unsigned port, unsigned pin, int use_pullup);
-int at91_set_d_periph(unsigned port, unsigned pin, int use_pullup);
-int at91_set_pio_debounce(unsigned port, unsigned pin, int is_on, int div);
-int at91_set_pio_pulldown(unsigned port, unsigned pin, int is_on);
-int at91_set_pio_disable_schmitt_trig(unsigned port, unsigned pin);
-#endif
 int at91_set_pio_input(unsigned port, unsigned pin, int use_pullup);
 int at91_set_pio_multi_drive(unsigned port, unsigned pin, int is_on);
 int at91_set_pio_output(unsigned port, unsigned pin, int value);
@@ -138,6 +134,15 @@ int at91_set_pio_pullup(unsigned port, unsigned pin, int use_pullup);
 int at91_set_pio_deglitch(unsigned port, unsigned pin, int is_on);
 int at91_set_pio_value(unsigned port, unsigned pin, int value);
 int at91_get_pio_value(unsigned port, unsigned pin);
+
+int at91_pio3_set_a_periph(unsigned port, unsigned pin, int use_pullup);
+int at91_pio3_set_b_periph(unsigned port, unsigned pin, int use_pullup);
+int at91_pio3_set_c_periph(unsigned port, unsigned pin, int use_pullup);
+int at91_pio3_set_d_periph(unsigned port, unsigned pin, int use_pullup);
+int at91_pio3_set_pio_debounce(unsigned port, unsigned pin, int is_on, int div);
+int at91_pio3_set_pio_pullup(unsigned port, unsigned pin, int use_pullup);
+int at91_pio3_set_pio_pulldown(unsigned port, unsigned pin, int is_on);
+int at91_pio3_set_pio_disable_schmitt_trig(unsigned port, unsigned pin);
 #endif
 #endif
 
index 8100ebed4b814d557f0a52bb8561b1ceeeeb35e1..e7224e432d90fd96f9c5fc24d7385b965d3a95a8 100644 (file)
  * Other misc defines
  */
 #define ATMEL_PIO_PORTS         4
-#define CPU_HAS_PIO3
-#define PIO_SCDR_DIV            (0x3fff <<  0)  /* Slow Clock Divider Mask */
 #define ATMEL_PMC_UHP          AT91SAM926x_PMC_UHP
 #define ATMEL_ID_UHP           ATMEL_ID_UHPHS
 
index 33f6c97c11d32501236317c96e7876b50f8f4202..d558f95141f062ac964582a7685c431fa641d8b6 100644 (file)
  * Other misc defines
  */
 #define ATMEL_PIO_PORTS                5
-#define CPU_HAS_PIO3
-#define PIO_SCDR_DIV           0x3fff
 #define CPU_HAS_PCR
 
 /* Timer */
index 90085da1c6e62970feee38c2a9ff82a5f37bca5d..78cc2a7a0abde860a7d246976857ed85fb7236c9 100644 (file)
  * Other misc defines
  */
 #define ATMEL_PIO_PORTS                5
-#define CPU_HAS_PIO3
-#define PIO_SCDR_DIV           0x3fff
 #define CPU_HAS_PCR
 #define CPU_HAS_H32MXDIV
 
index fc4f50d2192acabb33206a31a58d2bd2dce900d2..58da2d27f8cf74f1e2b7fab18342a5d1b3bd66f8 100644 (file)
@@ -71,10 +71,10 @@ static void at91sam9n12ek_nand_hw_init(void)
        /* Configure ENABLE pin for NandFlash */
        at91_set_pio_output(AT91_PIO_PORTD, 4, 1);
 
-       at91_set_a_periph(AT91_PIO_PORTD, 0, 1);    /* NAND OE */
-       at91_set_a_periph(AT91_PIO_PORTD, 1, 1);    /* NAND WE */
-       at91_set_a_periph(AT91_PIO_PORTD, 2, 1);    /* ALE */
-       at91_set_a_periph(AT91_PIO_PORTD, 3, 1);    /* CLE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 0, 1);    /* NAND OE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 1, 1);    /* NAND WE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 2, 1);    /* ALE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 3, 1);    /* CLE */
 }
 #endif
 
@@ -194,7 +194,7 @@ void at91sam9n12ek_ks8851_hw_init(void)
               &smc->cs[2].mode);
 
        /* Configure NCS2 PIN */
-       at91_set_b_periph(AT91_PIO_PORTD, 19, 0);
+       at91_pio3_set_b_periph(AT91_PIO_PORTD, 19, 0);
 }
 #endif
 
index b0d440d728a6a9c7e7da9b0cad9235bba8c98d2c..cc81776f9be9e81ac4a5e432a1606e2fad367df8 100644 (file)
@@ -77,18 +77,18 @@ static void at91sam9x5ek_nand_hw_init(void)
        /* Enable NandFlash */
        at91_set_gpio_output(CONFIG_SYS_NAND_ENABLE_PIN, 1);
 
-       at91_set_a_periph(AT91_PIO_PORTD, 0, 1);        /* NAND OE */
-       at91_set_a_periph(AT91_PIO_PORTD, 1, 1);        /* NAND WE */
-       at91_set_a_periph(AT91_PIO_PORTD, 2, 1);        /* NAND ALE */
-       at91_set_a_periph(AT91_PIO_PORTD, 3, 1);        /* NAND CLE */
-       at91_set_a_periph(AT91_PIO_PORTD, 6, 1);
-       at91_set_a_periph(AT91_PIO_PORTD, 7, 1);
-       at91_set_a_periph(AT91_PIO_PORTD, 8, 1);
-       at91_set_a_periph(AT91_PIO_PORTD, 9, 1);
-       at91_set_a_periph(AT91_PIO_PORTD, 10, 1);
-       at91_set_a_periph(AT91_PIO_PORTD, 11, 1);
-       at91_set_a_periph(AT91_PIO_PORTD, 12, 1);
-       at91_set_a_periph(AT91_PIO_PORTD, 13, 1);
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 0, 1);   /* NAND OE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 1, 1);   /* NAND WE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 2, 1);   /* NAND ALE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 3, 1);   /* NAND CLE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 6, 1);
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 7, 1);
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 8, 1);
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 9, 1);
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 10, 1);
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 11, 1);
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 12, 1);
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 13, 1);
 }
 #endif
 
@@ -128,49 +128,49 @@ vidinfo_t panel_info = {
 void lcd_enable(void)
 {
        if (has_lcdc())
-               at91_set_a_periph(AT91_PIO_PORTC, 29, 1);       /* power up */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 29, 1);  /* power up */
 }
 
 void lcd_disable(void)
 {
        if (has_lcdc())
-               at91_set_a_periph(AT91_PIO_PORTC, 29, 0);       /* power down */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 29, 0);  /* power down */
 }
 
 static void at91sam9x5ek_lcd_hw_init(void)
 {
        if (has_lcdc()) {
-               at91_set_a_periph(AT91_PIO_PORTC, 26, 0);       /* LCDPWM */
-               at91_set_a_periph(AT91_PIO_PORTC, 27, 0);       /* LCDVSYNC */
-               at91_set_a_periph(AT91_PIO_PORTC, 28, 0);       /* LCDHSYNC */
-               at91_set_a_periph(AT91_PIO_PORTC, 24, 0);       /* LCDDISP */
-               at91_set_a_periph(AT91_PIO_PORTC, 29, 0);       /* LCDDEN */
-               at91_set_a_periph(AT91_PIO_PORTC, 30, 0);       /* LCDPCK */
-
-               at91_set_a_periph(AT91_PIO_PORTC, 0, 0);        /* LCDD0 */
-               at91_set_a_periph(AT91_PIO_PORTC, 1, 0);        /* LCDD1 */
-               at91_set_a_periph(AT91_PIO_PORTC, 2, 0);        /* LCDD2 */
-               at91_set_a_periph(AT91_PIO_PORTC, 3, 0);        /* LCDD3 */
-               at91_set_a_periph(AT91_PIO_PORTC, 4, 0);        /* LCDD4 */
-               at91_set_a_periph(AT91_PIO_PORTC, 5, 0);        /* LCDD5 */
-               at91_set_a_periph(AT91_PIO_PORTC, 6, 0);        /* LCDD6 */
-               at91_set_a_periph(AT91_PIO_PORTC, 7, 0);        /* LCDD7 */
-               at91_set_a_periph(AT91_PIO_PORTC, 8, 0);        /* LCDD8 */
-               at91_set_a_periph(AT91_PIO_PORTC, 9, 0);        /* LCDD9 */
-               at91_set_a_periph(AT91_PIO_PORTC, 10, 0);       /* LCDD10 */
-               at91_set_a_periph(AT91_PIO_PORTC, 11, 0);       /* LCDD11 */
-               at91_set_a_periph(AT91_PIO_PORTC, 12, 0);       /* LCDD12 */
-               at91_set_a_periph(AT91_PIO_PORTC, 13, 0);       /* LCDD13 */
-               at91_set_a_periph(AT91_PIO_PORTC, 14, 0);       /* LCDD14 */
-               at91_set_a_periph(AT91_PIO_PORTC, 15, 0);       /* LCDD15 */
-               at91_set_a_periph(AT91_PIO_PORTC, 16, 0);       /* LCDD16 */
-               at91_set_a_periph(AT91_PIO_PORTC, 17, 0);       /* LCDD17 */
-               at91_set_a_periph(AT91_PIO_PORTC, 18, 0);       /* LCDD18 */
-               at91_set_a_periph(AT91_PIO_PORTC, 19, 0);       /* LCDD19 */
-               at91_set_a_periph(AT91_PIO_PORTC, 20, 0);       /* LCDD20 */
-               at91_set_a_periph(AT91_PIO_PORTC, 21, 0);       /* LCDD21 */
-               at91_set_a_periph(AT91_PIO_PORTC, 22, 0);       /* LCDD22 */
-               at91_set_a_periph(AT91_PIO_PORTC, 23, 0);       /* LCDD23 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 26, 0);  /* LCDPWM */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 27, 0);  /* LCDVSYNC */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 28, 0);  /* LCDHSYNC */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 24, 0);  /* LCDDISP */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 29, 0);  /* LCDDEN */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 30, 0);  /* LCDPCK */
+
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 0, 0);   /* LCDD0 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 1, 0);   /* LCDD1 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 2, 0);   /* LCDD2 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 3, 0);   /* LCDD3 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 4, 0);   /* LCDD4 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 5, 0);   /* LCDD5 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 6, 0);   /* LCDD6 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 7, 0);   /* LCDD7 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 8, 0);   /* LCDD8 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 9, 0);   /* LCDD9 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 10, 0);  /* LCDD10 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 11, 0);  /* LCDD11 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 12, 0);  /* LCDD12 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 13, 0);  /* LCDD13 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 14, 0);  /* LCDD14 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 15, 0);  /* LCDD15 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 16, 0);  /* LCDD16 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 17, 0);  /* LCDD17 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 18, 0);  /* LCDD18 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 19, 0);  /* LCDD19 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 20, 0);  /* LCDD20 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 21, 0);  /* LCDD21 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 22, 0);  /* LCDD22 */
+               at91_pio3_set_a_periph(AT91_PIO_PORTC, 23, 0);  /* LCDD23 */
 
                at91_periph_clk_enable(ATMEL_ID_LCDC);
        }
index ce67478f0be84c99aa63c7f2c45a5e6434077d1c..134c2fe1eb5fecea9e4daa1bc0bdd9efbb201eaf 100644 (file)
@@ -95,31 +95,31 @@ static void sama5d3xek_nor_hw_init(void)
               &smc->cs[0].mode);
 
        /* Address pin (A1 ~ A23) configuration */
-       at91_set_a_periph(AT91_PIO_PORTE, 1, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 2, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 3, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 4, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 5, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 6, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 7, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 8, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 9, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 10, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 11, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 12, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 13, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 14, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 15, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 16, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 17, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 18, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 19, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 20, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 21, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 22, 0);
-       at91_set_a_periph(AT91_PIO_PORTE, 23, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 1, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 2, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 3, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 4, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 5, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 6, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 7, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 8, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 9, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 10, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 11, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 12, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 13, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 14, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 15, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 16, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 17, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 18, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 19, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 20, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 21, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 22, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 23, 0);
        /* CS0 pin configuration */
-       at91_set_a_periph(AT91_PIO_PORTE, 26, 0);
+       at91_pio3_set_a_periph(AT91_PIO_PORTE, 26, 0);
 }
 #endif
 
@@ -170,14 +170,14 @@ static void sama5d3xek_lcd_hw_init(void)
        gd->fb_base = CONFIG_SAMA5D3_LCD_BASE;
 
        /* The higher 8 bit of LCD is board related */
-       at91_set_c_periph(AT91_PIO_PORTC, 14, 0);       /* LCDD16 */
-       at91_set_c_periph(AT91_PIO_PORTC, 13, 0);       /* LCDD17 */
-       at91_set_c_periph(AT91_PIO_PORTC, 12, 0);       /* LCDD18 */
-       at91_set_c_periph(AT91_PIO_PORTC, 11, 0);       /* LCDD19 */
-       at91_set_c_periph(AT91_PIO_PORTC, 10, 0);       /* LCDD20 */
-       at91_set_c_periph(AT91_PIO_PORTC, 15, 0);       /* LCDD21 */
-       at91_set_c_periph(AT91_PIO_PORTE, 27, 0);       /* LCDD22 */
-       at91_set_c_periph(AT91_PIO_PORTE, 28, 0);       /* LCDD23 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTC, 14, 0);  /* LCDD16 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTC, 13, 0);  /* LCDD17 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTC, 12, 0);  /* LCDD18 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTC, 11, 0);  /* LCDD19 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTC, 10, 0);  /* LCDD20 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTC, 15, 0);  /* LCDD21 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 27, 0);  /* LCDD22 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 28, 0);  /* LCDD23 */
 
        /* Configure lower 16 bit of LCD and enable clock */
        at91_lcd_hw_init();
index 23ec2744684aedc5a6cecb4f423dd58e59f84836..47f0bae8c151c4dc560b1b209874359180c8d58e 100644 (file)
@@ -45,9 +45,9 @@ void spi_cs_deactivate(struct spi_slave *slave)
 
 static void sama5d4_xplained_spi0_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTC, 0, 0);        /* SPI0_MISO */
-       at91_set_a_periph(AT91_PIO_PORTC, 1, 0);        /* SPI0_MOSI */
-       at91_set_a_periph(AT91_PIO_PORTC, 2, 0);        /* SPI0_SPCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 0, 0);   /* SPI0_MISO */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 1, 0);   /* SPI0_MOSI */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 2, 0);   /* SPI0_SPCK */
 
        at91_set_pio_output(AT91_PIO_PORTC, 3, 1);      /* SPI0_CS0 */
 
@@ -82,20 +82,20 @@ static void sama5d4_xplained_nand_hw_init(void)
               AT91_SMC_MODE_TDF_CYCLE(3),
               &smc->cs[3].mode);
 
-       at91_set_a_periph(AT91_PIO_PORTC, 5, 0);        /* D0 */
-       at91_set_a_periph(AT91_PIO_PORTC, 6, 0);        /* D1 */
-       at91_set_a_periph(AT91_PIO_PORTC, 7, 0);        /* D2 */
-       at91_set_a_periph(AT91_PIO_PORTC, 8, 0);        /* D3 */
-       at91_set_a_periph(AT91_PIO_PORTC, 9, 0);        /* D4 */
-       at91_set_a_periph(AT91_PIO_PORTC, 10, 0);       /* D5 */
-       at91_set_a_periph(AT91_PIO_PORTC, 11, 0);       /* D6 */
-       at91_set_a_periph(AT91_PIO_PORTC, 12, 0);       /* D7 */
-       at91_set_a_periph(AT91_PIO_PORTC, 13, 0);       /* RE */
-       at91_set_a_periph(AT91_PIO_PORTC, 14, 0);       /* WE */
-       at91_set_a_periph(AT91_PIO_PORTC, 15, 1);       /* NCS */
-       at91_set_a_periph(AT91_PIO_PORTC, 16, 1);       /* RDY */
-       at91_set_a_periph(AT91_PIO_PORTC, 17, 1);       /* ALE */
-       at91_set_a_periph(AT91_PIO_PORTC, 18, 1);       /* CLE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 5, 0);   /* D0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 6, 0);   /* D1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 7, 0);   /* D2 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 8, 0);   /* D3 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 9, 0);   /* D4 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 10, 0);  /* D5 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 11, 0);  /* D6 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 12, 0);  /* D7 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 13, 0);  /* RE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 14, 0);  /* WE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 15, 1);  /* NCS */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 16, 1);  /* RDY */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 17, 1);  /* ALE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 18, 1);  /* CLE */
 }
 #endif
 
@@ -134,39 +134,39 @@ unsigned int has_lcdc(void)
 
 static void sama5d4_xplained_lcd_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 24, 0);       /* LCDPWM */
-       at91_set_a_periph(AT91_PIO_PORTA, 25, 0);       /* LCDDISP */
-       at91_set_a_periph(AT91_PIO_PORTA, 26, 0);       /* LCDVSYNC */
-       at91_set_a_periph(AT91_PIO_PORTA, 27, 0);       /* LCDHSYNC */
-       at91_set_a_periph(AT91_PIO_PORTA, 28, 0);       /* LCDDOTCK */
-       at91_set_a_periph(AT91_PIO_PORTA, 29, 0);       /* LCDDEN */
-
-       at91_set_a_periph(AT91_PIO_PORTA,  0, 0);       /* LCDD0 */
-       at91_set_a_periph(AT91_PIO_PORTA,  1, 0);       /* LCDD1 */
-       at91_set_a_periph(AT91_PIO_PORTA,  2, 0);       /* LCDD2 */
-       at91_set_a_periph(AT91_PIO_PORTA,  3, 0);       /* LCDD3 */
-       at91_set_a_periph(AT91_PIO_PORTA,  4, 0);       /* LCDD4 */
-       at91_set_a_periph(AT91_PIO_PORTA,  5, 0);       /* LCDD5 */
-       at91_set_a_periph(AT91_PIO_PORTA,  6, 0);       /* LCDD6 */
-       at91_set_a_periph(AT91_PIO_PORTA,  7, 0);       /* LCDD7 */
-
-       at91_set_a_periph(AT91_PIO_PORTA,  8, 0);       /* LCDD9 */
-       at91_set_a_periph(AT91_PIO_PORTA,  9, 0);       /* LCDD8 */
-       at91_set_a_periph(AT91_PIO_PORTA, 10, 0);       /* LCDD10 */
-       at91_set_a_periph(AT91_PIO_PORTA, 11, 0);       /* LCDD11 */
-       at91_set_a_periph(AT91_PIO_PORTA, 12, 0);       /* LCDD12 */
-       at91_set_a_periph(AT91_PIO_PORTA, 13, 0);       /* LCDD13 */
-       at91_set_a_periph(AT91_PIO_PORTA, 14, 0);       /* LCDD14 */
-       at91_set_a_periph(AT91_PIO_PORTA, 15, 0);       /* LCDD15 */
-
-       at91_set_a_periph(AT91_PIO_PORTA, 16, 0);       /* LCDD16 */
-       at91_set_a_periph(AT91_PIO_PORTA, 17, 0);       /* LCDD17 */
-       at91_set_a_periph(AT91_PIO_PORTA, 18, 0);       /* LCDD18 */
-       at91_set_a_periph(AT91_PIO_PORTA, 19, 0);       /* LCDD19 */
-       at91_set_a_periph(AT91_PIO_PORTA, 20, 0);       /* LCDD20 */
-       at91_set_a_periph(AT91_PIO_PORTA, 21, 0);       /* LCDD21 */
-       at91_set_a_periph(AT91_PIO_PORTA, 22, 0);       /* LCDD22 */
-       at91_set_a_periph(AT91_PIO_PORTA, 23, 0);       /* LCDD23 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 24, 0);  /* LCDPWM */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 25, 0);  /* LCDDISP */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 26, 0);  /* LCDVSYNC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 27, 0);  /* LCDHSYNC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 28, 0);  /* LCDDOTCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 29, 0);  /* LCDDEN */
+
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  0, 0);  /* LCDD0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  1, 0);  /* LCDD1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  2, 0);  /* LCDD2 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  3, 0);  /* LCDD3 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  4, 0);  /* LCDD4 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  5, 0);  /* LCDD5 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  6, 0);  /* LCDD6 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  7, 0);  /* LCDD7 */
+
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  8, 0);  /* LCDD9 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  9, 0);  /* LCDD8 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 10, 0);  /* LCDD10 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 11, 0);  /* LCDD11 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 12, 0);  /* LCDD12 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 13, 0);  /* LCDD13 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 14, 0);  /* LCDD14 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 15, 0);  /* LCDD15 */
+
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 16, 0);  /* LCDD16 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 17, 0);  /* LCDD17 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 18, 0);  /* LCDD18 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 19, 0);  /* LCDD19 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 20, 0);  /* LCDD20 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 21, 0);  /* LCDD21 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 22, 0);  /* LCDD22 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 23, 0);  /* LCDD23 */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_LCDC);
@@ -203,12 +203,12 @@ void lcd_show_board_info(void)
 #ifdef CONFIG_GENERIC_ATMEL_MCI
 void sama5d4_xplained_mci1_hw_init(void)
 {
-       at91_set_c_periph(AT91_PIO_PORTE, 19, 1);       /* MCI1 CDA */
-       at91_set_c_periph(AT91_PIO_PORTE, 20, 1);       /* MCI1 DA0 */
-       at91_set_c_periph(AT91_PIO_PORTE, 21, 1);       /* MCI1 DA1 */
-       at91_set_c_periph(AT91_PIO_PORTE, 22, 1);       /* MCI1 DA2 */
-       at91_set_c_periph(AT91_PIO_PORTE, 23, 1);       /* MCI1 DA3 */
-       at91_set_c_periph(AT91_PIO_PORTE, 18, 0);       /* MCI1 CLK */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 19, 1);  /* MCI1 CDA */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 20, 1);  /* MCI1 DA0 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 21, 1);  /* MCI1 DA1 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 22, 1);  /* MCI1 DA2 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 23, 1);  /* MCI1 DA3 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 18, 0);  /* MCI1 CLK */
 
        /*
         * As the mci io internal pull down is too strong, so if the io needs
@@ -216,12 +216,12 @@ void sama5d4_xplained_mci1_hw_init(void)
         * the power consumption will increase, so disable the interanl pull
         * down to save the power.
         */
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 18, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 19, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 20, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 21, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 22, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 23, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 18, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 19, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 20, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 21, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 22, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 23, 0);
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_MCI1);
@@ -239,16 +239,16 @@ int board_mmc_init(bd_t *bis)
 #ifdef CONFIG_MACB
 void sama5d4_xplained_macb0_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTB, 0, 0);        /* ETXCK_EREFCK */
-       at91_set_a_periph(AT91_PIO_PORTB, 6, 0);        /* ERXDV */
-       at91_set_a_periph(AT91_PIO_PORTB, 8, 0);        /* ERX0 */
-       at91_set_a_periph(AT91_PIO_PORTB, 9, 0);        /* ERX1 */
-       at91_set_a_periph(AT91_PIO_PORTB, 7, 0);        /* ERXER */
-       at91_set_a_periph(AT91_PIO_PORTB, 2, 0);        /* ETXEN */
-       at91_set_a_periph(AT91_PIO_PORTB, 12, 0);       /* ETX0 */
-       at91_set_a_periph(AT91_PIO_PORTB, 13, 0);       /* ETX1 */
-       at91_set_a_periph(AT91_PIO_PORTB, 17, 0);       /* EMDIO */
-       at91_set_a_periph(AT91_PIO_PORTB, 16, 0);       /* EMDC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 0, 0);   /* ETXCK_EREFCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 6, 0);   /* ERXDV */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 8, 0);   /* ERX0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 9, 0);   /* ERX1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 7, 0);   /* ERXER */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 2, 0);   /* ETXEN */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 12, 0);  /* ETX0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 13, 0);  /* ETX1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 17, 0);  /* EMDIO */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 16, 0);  /* EMDC */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_GMAC0);
@@ -257,8 +257,8 @@ void sama5d4_xplained_macb0_hw_init(void)
 
 static void sama5d4_xplained_serial3_hw_init(void)
 {
-       at91_set_b_periph(AT91_PIO_PORTE, 17, 1);       /* TXD3 */
-       at91_set_b_periph(AT91_PIO_PORTE, 16, 0);       /* RXD3 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTE, 17, 1);  /* TXD3 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTE, 16, 0);  /* RXD3 */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_USART3);
index 72bad230871d1994f489bf92f79750ffdb9afa39..d1b5ff57971e09d2dee4160b7ec66835160fbc62 100644 (file)
@@ -45,9 +45,9 @@ void spi_cs_deactivate(struct spi_slave *slave)
 
 static void sama5d4ek_spi0_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTC, 0, 0);        /* SPI0_MISO */
-       at91_set_a_periph(AT91_PIO_PORTC, 1, 0);        /* SPI0_MOSI */
-       at91_set_a_periph(AT91_PIO_PORTC, 2, 0);        /* SPI0_SPCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 0, 0);   /* SPI0_MISO */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 1, 0);   /* SPI0_MOSI */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 2, 0);   /* SPI0_SPCK */
 
        at91_set_pio_output(AT91_PIO_PORTC, 3, 1);      /* SPI0_CS0 */
 
@@ -82,20 +82,20 @@ static void sama5d4ek_nand_hw_init(void)
               AT91_SMC_MODE_TDF_CYCLE(3),
               &smc->cs[3].mode);
 
-       at91_set_a_periph(AT91_PIO_PORTC, 5, 0);        /* D0 */
-       at91_set_a_periph(AT91_PIO_PORTC, 6, 0);        /* D1 */
-       at91_set_a_periph(AT91_PIO_PORTC, 7, 0);        /* D2 */
-       at91_set_a_periph(AT91_PIO_PORTC, 8, 0);        /* D3 */
-       at91_set_a_periph(AT91_PIO_PORTC, 9, 0);        /* D4 */
-       at91_set_a_periph(AT91_PIO_PORTC, 10, 0);       /* D5 */
-       at91_set_a_periph(AT91_PIO_PORTC, 11, 0);       /* D6 */
-       at91_set_a_periph(AT91_PIO_PORTC, 12, 0);       /* D7 */
-       at91_set_a_periph(AT91_PIO_PORTC, 13, 0);       /* RE */
-       at91_set_a_periph(AT91_PIO_PORTC, 14, 0);       /* WE */
-       at91_set_a_periph(AT91_PIO_PORTC, 15, 1);       /* NCS */
-       at91_set_a_periph(AT91_PIO_PORTC, 16, 1);       /* RDY */
-       at91_set_a_periph(AT91_PIO_PORTC, 17, 1);       /* ALE */
-       at91_set_a_periph(AT91_PIO_PORTC, 18, 1);       /* CLE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 5, 0);   /* D0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 6, 0);   /* D1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 7, 0);   /* D2 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 8, 0);   /* D3 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 9, 0);   /* D4 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 10, 0);  /* D5 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 11, 0);  /* D6 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 12, 0);  /* D7 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 13, 0);  /* RE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 14, 0);  /* WE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 15, 1);  /* NCS */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 16, 1);  /* RDY */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 17, 1);  /* ALE */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 18, 1);  /* CLE */
 }
 #endif
 
@@ -135,33 +135,33 @@ unsigned int has_lcdc(void)
 
 static void sama5d4ek_lcd_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 24, 0);       /* LCDPWM */
-       at91_set_a_periph(AT91_PIO_PORTA, 25, 0);       /* LCDDISP */
-       at91_set_a_periph(AT91_PIO_PORTA, 26, 0);       /* LCDVSYNC */
-       at91_set_a_periph(AT91_PIO_PORTA, 27, 0);       /* LCDHSYNC */
-       at91_set_a_periph(AT91_PIO_PORTA, 28, 0);       /* LCDDOTCK */
-       at91_set_a_periph(AT91_PIO_PORTA, 29, 0);       /* LCDDEN */
-
-       at91_set_a_periph(AT91_PIO_PORTA,  2, 0);       /* LCDD2 */
-       at91_set_a_periph(AT91_PIO_PORTA,  3, 0);       /* LCDD3 */
-       at91_set_a_periph(AT91_PIO_PORTA,  4, 0);       /* LCDD4 */
-       at91_set_a_periph(AT91_PIO_PORTA,  5, 0);       /* LCDD5 */
-       at91_set_a_periph(AT91_PIO_PORTA,  6, 0);       /* LCDD6 */
-       at91_set_a_periph(AT91_PIO_PORTA,  7, 0);       /* LCDD7 */
-
-       at91_set_a_periph(AT91_PIO_PORTA, 10, 0);       /* LCDD10 */
-       at91_set_a_periph(AT91_PIO_PORTA, 11, 0);       /* LCDD11 */
-       at91_set_a_periph(AT91_PIO_PORTA, 12, 0);       /* LCDD12 */
-       at91_set_a_periph(AT91_PIO_PORTA, 13, 0);       /* LCDD13 */
-       at91_set_a_periph(AT91_PIO_PORTA, 14, 0);       /* LCDD14 */
-       at91_set_a_periph(AT91_PIO_PORTA, 15, 0);       /* LCDD15 */
-
-       at91_set_a_periph(AT91_PIO_PORTA, 18, 0);       /* LCDD18 */
-       at91_set_a_periph(AT91_PIO_PORTA, 19, 0);       /* LCDD19 */
-       at91_set_a_periph(AT91_PIO_PORTA, 20, 0);       /* LCDD20 */
-       at91_set_a_periph(AT91_PIO_PORTA, 21, 0);       /* LCDD21 */
-       at91_set_a_periph(AT91_PIO_PORTA, 22, 0);       /* LCDD22 */
-       at91_set_a_periph(AT91_PIO_PORTA, 23, 0);       /* LCDD23 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 24, 0);  /* LCDPWM */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 25, 0);  /* LCDDISP */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 26, 0);  /* LCDVSYNC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 27, 0);  /* LCDHSYNC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 28, 0);  /* LCDDOTCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 29, 0);  /* LCDDEN */
+
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  2, 0);  /* LCDD2 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  3, 0);  /* LCDD3 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  4, 0);  /* LCDD4 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  5, 0);  /* LCDD5 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  6, 0);  /* LCDD6 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  7, 0);  /* LCDD7 */
+
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 10, 0);  /* LCDD10 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 11, 0);  /* LCDD11 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 12, 0);  /* LCDD12 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 13, 0);  /* LCDD13 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 14, 0);  /* LCDD14 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 15, 0);  /* LCDD15 */
+
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 18, 0);  /* LCDD18 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 19, 0);  /* LCDD19 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 20, 0);  /* LCDD20 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 21, 0);  /* LCDD21 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 22, 0);  /* LCDD22 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 23, 0);  /* LCDD23 */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_LCDC);
@@ -199,12 +199,12 @@ void lcd_show_board_info(void)
 #ifdef CONFIG_GENERIC_ATMEL_MCI
 void sama5d4ek_mci1_hw_init(void)
 {
-       at91_set_c_periph(AT91_PIO_PORTE, 19, 1);       /* MCI1 CDA */
-       at91_set_c_periph(AT91_PIO_PORTE, 20, 1);       /* MCI1 DA0 */
-       at91_set_c_periph(AT91_PIO_PORTE, 21, 1);       /* MCI1 DA1 */
-       at91_set_c_periph(AT91_PIO_PORTE, 22, 1);       /* MCI1 DA2 */
-       at91_set_c_periph(AT91_PIO_PORTE, 23, 1);       /* MCI1 DA3 */
-       at91_set_c_periph(AT91_PIO_PORTE, 18, 0);       /* MCI1 CLK */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 19, 1);  /* MCI1 CDA */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 20, 1);  /* MCI1 DA0 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 21, 1);  /* MCI1 DA1 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 22, 1);  /* MCI1 DA2 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 23, 1);  /* MCI1 DA3 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 18, 0);  /* MCI1 CLK */
 
        /*
         * As the mci io internal pull down is too strong, so if the io needs
@@ -212,12 +212,12 @@ void sama5d4ek_mci1_hw_init(void)
         * the power consumption will increase, so disable the interanl pull
         * down to save the power.
         */
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 18, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 19, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 20, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 21, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 22, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 23, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 18, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 19, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 20, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 21, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 22, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 23, 0);
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_MCI1);
@@ -235,16 +235,16 @@ int board_mmc_init(bd_t *bis)
 #ifdef CONFIG_MACB
 void sama5d4ek_macb0_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTB, 0, 0);        /* ETXCK_EREFCK */
-       at91_set_a_periph(AT91_PIO_PORTB, 6, 0);        /* ERXDV */
-       at91_set_a_periph(AT91_PIO_PORTB, 8, 0);        /* ERX0 */
-       at91_set_a_periph(AT91_PIO_PORTB, 9, 0);        /* ERX1 */
-       at91_set_a_periph(AT91_PIO_PORTB, 7, 0);        /* ERXER */
-       at91_set_a_periph(AT91_PIO_PORTB, 2, 0);        /* ETXEN */
-       at91_set_a_periph(AT91_PIO_PORTB, 12, 0);       /* ETX0 */
-       at91_set_a_periph(AT91_PIO_PORTB, 13, 0);       /* ETX1 */
-       at91_set_a_periph(AT91_PIO_PORTB, 17, 0);       /* EMDIO */
-       at91_set_a_periph(AT91_PIO_PORTB, 16, 0);       /* EMDC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 0, 0);   /* ETXCK_EREFCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 6, 0);   /* ERXDV */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 8, 0);   /* ERX0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 9, 0);   /* ERX1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 7, 0);   /* ERXER */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 2, 0);   /* ETXEN */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 12, 0);  /* ETX0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 13, 0);  /* ETX1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 17, 0);  /* EMDIO */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 16, 0);  /* EMDC */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_GMAC0);
@@ -253,8 +253,8 @@ void sama5d4ek_macb0_hw_init(void)
 
 static void sama5d4ek_serial3_hw_init(void)
 {
-       at91_set_b_periph(AT91_PIO_PORTE, 17, 1);       /* TXD3 */
-       at91_set_b_periph(AT91_PIO_PORTE, 16, 0);       /* RXD3 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTE, 17, 1);  /* TXD3 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTE, 16, 0);  /* RXD3 */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_USART3);
index ec0fa28f3ecf6d048da69c62b1d005894c4e8100..81463712fa828641fb4048f740836401280ece96 100644 (file)
@@ -44,9 +44,9 @@ void spi_cs_deactivate(struct spi_slave *slave)
 
 static void ma5d4evk_spi0_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTC, 0, 0);        /* SPI0_MISO */
-       at91_set_a_periph(AT91_PIO_PORTC, 1, 0);        /* SPI0_MOSI */
-       at91_set_a_periph(AT91_PIO_PORTC, 2, 0);        /* SPI0_SPCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 0, 0);   /* SPI0_MISO */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 1, 0);   /* SPI0_MOSI */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 2, 0);   /* SPI0_SPCK */
 
        at91_set_pio_output(AT91_PIO_PORTC, 3, 1);      /* SPI0_CS0 */
 
@@ -90,39 +90,39 @@ unsigned int has_lcdc(void)
 
 static void ma5d4evk_lcd_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTA, 24, 1);       /* LCDPWM */
-       at91_set_a_periph(AT91_PIO_PORTA, 25, 0);       /* LCDDISP */
-       at91_set_a_periph(AT91_PIO_PORTA, 26, 0);       /* LCDVSYNC */
-       at91_set_a_periph(AT91_PIO_PORTA, 27, 0);       /* LCDHSYNC */
-       at91_set_a_periph(AT91_PIO_PORTA, 28, 0);       /* LCDDOTCK */
-       at91_set_a_periph(AT91_PIO_PORTA, 29, 1);       /* LCDDEN */
-
-       at91_set_a_periph(AT91_PIO_PORTA,  0, 0);       /* LCDD0 */
-       at91_set_a_periph(AT91_PIO_PORTA,  1, 0);       /* LCDD1 */
-       at91_set_a_periph(AT91_PIO_PORTA,  2, 0);       /* LCDD2 */
-       at91_set_a_periph(AT91_PIO_PORTA,  3, 0);       /* LCDD3 */
-       at91_set_a_periph(AT91_PIO_PORTA,  4, 0);       /* LCDD4 */
-       at91_set_a_periph(AT91_PIO_PORTA,  5, 0);       /* LCDD5 */
-       at91_set_a_periph(AT91_PIO_PORTA,  6, 0);       /* LCDD6 */
-       at91_set_a_periph(AT91_PIO_PORTA,  7, 0);       /* LCDD7 */
-
-       at91_set_a_periph(AT91_PIO_PORTA,  8, 0);       /* LCDD9 */
-       at91_set_a_periph(AT91_PIO_PORTA,  9, 0);       /* LCDD8 */
-       at91_set_a_periph(AT91_PIO_PORTA, 10, 0);       /* LCDD10 */
-       at91_set_a_periph(AT91_PIO_PORTA, 11, 0);       /* LCDD11 */
-       at91_set_a_periph(AT91_PIO_PORTA, 12, 0);       /* LCDD12 */
-       at91_set_a_periph(AT91_PIO_PORTA, 13, 0);       /* LCDD13 */
-       at91_set_a_periph(AT91_PIO_PORTA, 14, 0);       /* LCDD14 */
-       at91_set_a_periph(AT91_PIO_PORTA, 15, 0);       /* LCDD15 */
-
-       at91_set_a_periph(AT91_PIO_PORTA, 16, 0);       /* LCDD16 */
-       at91_set_a_periph(AT91_PIO_PORTA, 17, 0);       /* LCDD17 */
-       at91_set_a_periph(AT91_PIO_PORTA, 18, 0);       /* LCDD18 */
-       at91_set_a_periph(AT91_PIO_PORTA, 19, 0);       /* LCDD19 */
-       at91_set_a_periph(AT91_PIO_PORTA, 20, 0);       /* LCDD20 */
-       at91_set_a_periph(AT91_PIO_PORTA, 21, 0);       /* LCDD21 */
-       at91_set_a_periph(AT91_PIO_PORTA, 22, 0);       /* LCDD22 */
-       at91_set_a_periph(AT91_PIO_PORTA, 23, 0);       /* LCDD23 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 24, 1);  /* LCDPWM */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 25, 0);  /* LCDDISP */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 26, 0);  /* LCDVSYNC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 27, 0);  /* LCDHSYNC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 28, 0);  /* LCDDOTCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 29, 1);  /* LCDDEN */
+
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  0, 0);  /* LCDD0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  1, 0);  /* LCDD1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  2, 0);  /* LCDD2 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  3, 0);  /* LCDD3 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  4, 0);  /* LCDD4 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  5, 0);  /* LCDD5 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  6, 0);  /* LCDD6 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  7, 0);  /* LCDD7 */
+
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  8, 0);  /* LCDD9 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA,  9, 0);  /* LCDD8 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 10, 0);  /* LCDD10 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 11, 0);  /* LCDD11 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 12, 0);  /* LCDD12 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 13, 0);  /* LCDD13 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 14, 0);  /* LCDD14 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 15, 0);  /* LCDD15 */
+
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 16, 0);  /* LCDD16 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 17, 0);  /* LCDD17 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 18, 0);  /* LCDD18 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 19, 0);  /* LCDD19 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 20, 0);  /* LCDD20 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 21, 0);  /* LCDD21 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 22, 0);  /* LCDD22 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTA, 23, 0);  /* LCDD23 */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_LCDC);
@@ -134,16 +134,16 @@ static void ma5d4evk_lcd_hw_init(void)
 /* On-SoM eMMC */
 void ma5d4evk_mci0_hw_init(void)
 {
-       at91_set_b_periph(AT91_PIO_PORTC, 5, 1);        /* MCI1 CDA */
-       at91_set_b_periph(AT91_PIO_PORTC, 6, 1);        /* MCI1 DA0 */
-       at91_set_b_periph(AT91_PIO_PORTC, 7, 1);        /* MCI1 DA1 */
-       at91_set_b_periph(AT91_PIO_PORTC, 8, 1);        /* MCI1 DA2 */
-       at91_set_b_periph(AT91_PIO_PORTC, 9, 1);        /* MCI1 DA3 */
-       at91_set_b_periph(AT91_PIO_PORTC, 10, 1);       /* MCI1 DA4 */
-       at91_set_b_periph(AT91_PIO_PORTC, 11, 1);       /* MCI1 DA5 */
-       at91_set_b_periph(AT91_PIO_PORTC, 12, 1);       /* MCI1 DA6 */
-       at91_set_b_periph(AT91_PIO_PORTC, 13, 1);       /* MCI1 DA7 */
-       at91_set_b_periph(AT91_PIO_PORTC, 4, 0);        /* MCI1 CLK */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 5, 1);   /* MCI1 CDA */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 6, 1);   /* MCI1 DA0 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 7, 1);   /* MCI1 DA1 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 8, 1);   /* MCI1 DA2 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 9, 1);   /* MCI1 DA3 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 10, 1);  /* MCI1 DA4 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 11, 1);  /* MCI1 DA5 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 12, 1);  /* MCI1 DA6 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 13, 1);  /* MCI1 DA7 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 4, 0);   /* MCI1 CLK */
 
        /*
         * As the mci io internal pull down is too strong, so if the io needs
@@ -151,16 +151,16 @@ void ma5d4evk_mci0_hw_init(void)
         * the power consumption will increase, so disable the internal pull
         * down to save the power.
         */
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 5, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 6, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 7, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 8, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 9, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 10, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 11, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 12, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 13, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 4, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 5, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 6, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 7, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 8, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 9, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 10, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 11, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 12, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 13, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 4, 0);
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_MCI0);
@@ -169,12 +169,12 @@ void ma5d4evk_mci0_hw_init(void)
 /* On-board MicroSD slot */
 void ma5d4evk_mci1_hw_init(void)
 {
-       at91_set_c_periph(AT91_PIO_PORTE, 19, 1);       /* MCI1 CDA */
-       at91_set_c_periph(AT91_PIO_PORTE, 20, 1);       /* MCI1 DA0 */
-       at91_set_c_periph(AT91_PIO_PORTE, 21, 1);       /* MCI1 DA1 */
-       at91_set_c_periph(AT91_PIO_PORTE, 22, 1);       /* MCI1 DA2 */
-       at91_set_c_periph(AT91_PIO_PORTE, 23, 1);       /* MCI1 DA3 */
-       at91_set_c_periph(AT91_PIO_PORTE, 18, 0);       /* MCI1 CLK */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 19, 1);  /* MCI1 CDA */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 20, 1);  /* MCI1 DA0 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 21, 1);  /* MCI1 DA1 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 22, 1);  /* MCI1 DA2 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 23, 1);  /* MCI1 DA3 */
+       at91_pio3_set_c_periph(AT91_PIO_PORTE, 18, 0);  /* MCI1 CLK */
 
        /*
         * As the mci io internal pull down is too strong, so if the io needs
@@ -182,16 +182,16 @@ void ma5d4evk_mci1_hw_init(void)
         * the power consumption will increase, so disable the internal pull
         * down to save the power.
         */
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 18, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 19, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 20, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 21, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 22, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 23, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 18, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 19, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 20, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 21, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 22, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 23, 0);
 
        /* Deal with WP pin on the microSD slot. */
        at91_set_pio_output(AT91_PIO_PORTE, 16, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 16, 1);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 16, 1);
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_MCI1);
@@ -203,7 +203,7 @@ int board_mmc_init(bd_t *bis)
 
        /* De-assert reset on On-SoM eMMC */
        at91_set_pio_output(AT91_PIO_PORTE, 15, 1);
-       at91_set_pio_pulldown(AT91_PIO_PORTE, 15, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTE, 15, 0);
 
        ret = atmel_mci_init((void *)ATMEL_BASE_MCI0);
        if (ret)        /* eMMC init failed, skip it. */
@@ -223,16 +223,16 @@ int board_mmc_init(bd_t *bis)
 #ifdef CONFIG_MACB
 void ma5d4evk_macb0_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTB, 0, 0);        /* ETXCK_EREFCK */
-       at91_set_a_periph(AT91_PIO_PORTB, 6, 0);        /* ERXDV */
-       at91_set_a_periph(AT91_PIO_PORTB, 8, 0);        /* ERX0 */
-       at91_set_a_periph(AT91_PIO_PORTB, 9, 0);        /* ERX1 */
-       at91_set_a_periph(AT91_PIO_PORTB, 7, 0);        /* ERXER */
-       at91_set_a_periph(AT91_PIO_PORTB, 2, 0);        /* ETXEN */
-       at91_set_a_periph(AT91_PIO_PORTB, 12, 0);       /* ETX0 */
-       at91_set_a_periph(AT91_PIO_PORTB, 13, 0);       /* ETX1 */
-       at91_set_a_periph(AT91_PIO_PORTB, 17, 0);       /* EMDIO */
-       at91_set_a_periph(AT91_PIO_PORTB, 16, 0);       /* EMDC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 0, 0);   /* ETXCK_EREFCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 6, 0);   /* ERXDV */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 8, 0);   /* ERX0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 9, 0);   /* ERX1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 7, 0);   /* ERXER */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 2, 0);   /* ETXEN */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 12, 0);  /* ETX0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 13, 0);  /* ETX1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 17, 0);  /* EMDIO */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 16, 0);  /* EMDC */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_GMAC0);
@@ -242,17 +242,17 @@ void ma5d4evk_macb0_hw_init(void)
 static void ma5d4evk_serial_hw_init(void)
 {
        /* USART0 */
-       at91_set_a_periph(AT91_PIO_PORTD, 13, 1);       /* TXD */
-       at91_set_a_periph(AT91_PIO_PORTD, 12, 0);       /* RXD */
-       at91_set_a_periph(AT91_PIO_PORTD, 11, 0);       /* RTS */
-       at91_set_a_periph(AT91_PIO_PORTD, 10, 0);       /* CTS */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 13, 1);  /* TXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 12, 0);  /* RXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 11, 0);  /* RTS */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 10, 0);  /* CTS */
        at91_periph_clk_enable(ATMEL_ID_USART0);
 
        /* USART1 */
-       at91_set_a_periph(AT91_PIO_PORTD, 17, 1);       /* TXD */
-       at91_set_a_periph(AT91_PIO_PORTD, 16, 0);       /* RXD */
-       at91_set_a_periph(AT91_PIO_PORTD, 15, 0);       /* RTS */
-       at91_set_a_periph(AT91_PIO_PORTD, 14, 0);       /* CTS */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 17, 1);  /* TXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 16, 0);  /* RXD */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 15, 0);  /* RTS */
+       at91_pio3_set_a_periph(AT91_PIO_PORTD, 14, 0);  /* CTS */
        at91_periph_clk_enable(ATMEL_ID_USART1);
 }
 
@@ -273,7 +273,7 @@ int board_early_init_f(void)
        at91_set_pio_output(AT91_PIO_PORTB, 21, 0);
        udelay(100);
        at91_set_pio_output(AT91_PIO_PORTB, 21, 1);
-       at91_set_pio_pulldown(AT91_PIO_PORTB, 21, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTB, 21, 0);
 
        ma5d4evk_serial_hw_init();
 
index 3d7af092e8396885179735b77c43d61a40fd8952..a938a2c2e1d468023388a0c177d95c97b868c690 100644 (file)
@@ -51,9 +51,9 @@ void spi_cs_deactivate(struct spi_slave *slave)
 
 static void vinco_spi0_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTC, 0, 0);        /* SPI0_MISO */
-       at91_set_a_periph(AT91_PIO_PORTC, 1, 0);        /* SPI0_MOSI */
-       at91_set_a_periph(AT91_PIO_PORTC, 2, 0);        /* SPI0_SPCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 0, 0);   /* SPI0_MISO */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 1, 0);   /* SPI0_MOSI */
+       at91_pio3_set_a_periph(AT91_PIO_PORTC, 2, 0);   /* SPI0_SPCK */
 
        at91_set_pio_output(AT91_PIO_PORTC, 3, 1);      /* SPI0_CS0 */
 
@@ -76,16 +76,16 @@ static void vinco_usb_hw_init(void)
 #ifdef CONFIG_GENERIC_ATMEL_MCI
 void vinco_mci0_hw_init(void)
 {
-       at91_set_b_periph(AT91_PIO_PORTC, 5, 1);        /* MCI0 CDA */
-       at91_set_b_periph(AT91_PIO_PORTC, 6, 1);        /* MCI0 DA0 */
-       at91_set_b_periph(AT91_PIO_PORTC, 7, 1);        /* MCI0 DA1 */
-       at91_set_b_periph(AT91_PIO_PORTC, 8, 1);        /* MCI0 DA2 */
-       at91_set_b_periph(AT91_PIO_PORTC, 9, 1);        /* MCI0 DA3 */
-       at91_set_b_periph(AT91_PIO_PORTC, 10, 1);       /* MCI0 DA4 */
-       at91_set_b_periph(AT91_PIO_PORTC, 11, 1);       /* MCI0 DA5 */
-       at91_set_b_periph(AT91_PIO_PORTC, 12, 1);       /* MCI0 DA6 */
-       at91_set_b_periph(AT91_PIO_PORTC, 13, 1);       /* MCI0 DA7 */
-       at91_set_b_periph(AT91_PIO_PORTC, 4, 0);        /* MCI0 CLK */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 5, 1);   /* MCI0 CDA */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 6, 1);   /* MCI0 DA0 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 7, 1);   /* MCI0 DA1 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 8, 1);   /* MCI0 DA2 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 9, 1);   /* MCI0 DA3 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 10, 1);  /* MCI0 DA4 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 11, 1);  /* MCI0 DA5 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 12, 1);  /* MCI0 DA6 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 13, 1);  /* MCI0 DA7 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTC, 4, 0);   /* MCI0 CLK */
 
        /*
         * As the mci io internal pull down is too strong, so if the io needs
@@ -93,16 +93,16 @@ void vinco_mci0_hw_init(void)
         * the power consumption will increase, so disable the interanl pull
         * down to save the power.
         */
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 4, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 5, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 6, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 7, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 8, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 9, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 10, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 11, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 12, 0);
-       at91_set_pio_pulldown(AT91_PIO_PORTC, 13, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 4, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 5, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 6, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 7, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 8, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 9, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 10, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 11, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 12, 0);
+       at91_pio3_set_pio_pulldown(AT91_PIO_PORTC, 13, 0);
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_MCI0);
@@ -120,16 +120,16 @@ int board_mmc_init(bd_t *bis)
 #ifdef CONFIG_MACB
 void vinco_macb0_hw_init(void)
 {
-       at91_set_a_periph(AT91_PIO_PORTB, 0, 0);        /* ETXCK_EREFCK */
-       at91_set_a_periph(AT91_PIO_PORTB, 6, 0);        /* ERXDV */
-       at91_set_a_periph(AT91_PIO_PORTB, 8, 0);        /* ERX0 */
-       at91_set_a_periph(AT91_PIO_PORTB, 9, 0);        /* ERX1 */
-       at91_set_a_periph(AT91_PIO_PORTB, 7, 0);        /* ERXER */
-       at91_set_a_periph(AT91_PIO_PORTB, 2, 0);        /* ETXEN */
-       at91_set_a_periph(AT91_PIO_PORTB, 12, 0);       /* ETX0 */
-       at91_set_a_periph(AT91_PIO_PORTB, 13, 0);       /* ETX1 */
-       at91_set_a_periph(AT91_PIO_PORTB, 17, 0);       /* EMDIO */
-       at91_set_a_periph(AT91_PIO_PORTB, 16, 0);       /* EMDC */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 0, 0);   /* ETXCK_EREFCK */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 6, 0);   /* ERXDV */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 8, 0);   /* ERX0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 9, 0);   /* ERX1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 7, 0);   /* ERXER */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 2, 0);   /* ETXEN */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 12, 0);  /* ETX0 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 13, 0);  /* ETX1 */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 17, 0);  /* EMDIO */
+       at91_pio3_set_a_periph(AT91_PIO_PORTB, 16, 0);  /* EMDC */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_GMAC0);
@@ -141,8 +141,8 @@ void vinco_macb0_hw_init(void)
 
 static void vinco_serial3_hw_init(void)
 {
-       at91_set_b_periph(AT91_PIO_PORTE, 17, 1);       /* TXD3 */
-       at91_set_b_periph(AT91_PIO_PORTE, 16, 0);       /* RXD3 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTE, 17, 1);  /* TXD3 */
+       at91_pio3_set_b_periph(AT91_PIO_PORTE, 16, 0);  /* RXD3 */
 
        /* Enable clock */
        at91_periph_clk_enable(ATMEL_ID_USART3);
index 8e52e3dad0af181e0df608466134ea3ba0660bef..2f9e44b620996a135ed56d685d5f9215f578d077 100644 (file)
@@ -59,11 +59,6 @@ int at91_set_pio_pullup(unsigned port, unsigned pin, int use_pullup)
 {
        struct at91_port *at91_port = at91_pio_get_port(port);
 
-#if defined(CPU_HAS_PIO3)
-       if (use_pullup)
-               at91_set_pio_pulldown(port, pin, 0);
-#endif
-
        if (at91_port && (pin < GPIO_PER_BANK))
                at91_set_port_pullup(at91_port, pin, use_pullup);
 
@@ -100,14 +95,7 @@ int at91_set_a_periph(unsigned port, unsigned pin, int use_pullup)
                mask = 1 << pin;
                writel(mask, &at91_port->idr);
                at91_set_pio_pullup(port, pin, use_pullup);
-#if defined(CPU_HAS_PIO3)
-               writel(readl(&at91_port->abcdsr1) & ~mask,
-                      &at91_port->abcdsr1);
-               writel(readl(&at91_port->abcdsr2) & ~mask,
-                      &at91_port->abcdsr2);
-#else
-               writel(mask, &at91_port->asr);
-#endif
+               writel(mask, &at91_port->mux.pio2.asr);
                writel(mask, &at91_port->pdr);
        }
 
@@ -126,25 +114,62 @@ int at91_set_b_periph(unsigned port, unsigned pin, int use_pullup)
                mask = 1 << pin;
                writel(mask, &at91_port->idr);
                at91_set_pio_pullup(port, pin, use_pullup);
-#if defined(CPU_HAS_PIO3)
-               writel(readl(&at91_port->abcdsr1) | mask,
-                      &at91_port->abcdsr1);
-               writel(readl(&at91_port->abcdsr2) & ~mask,
-                      &at91_port->abcdsr2);
-#else
-               writel(mask, &at91_port->bsr);
-#endif
+               writel(mask, &at91_port->mux.pio2.bsr);
+               writel(mask, &at91_port->pdr);
+       }
+
+       return 0;
+}
+
+/*
+ * mux the pin to the "A" internal peripheral role.
+ */
+int at91_pio3_set_a_periph(unsigned port, unsigned pin, int use_pullup)
+{
+       struct at91_port *at91_port = at91_pio_get_port(port);
+       u32 mask;
+
+       if (at91_port && (pin < GPIO_PER_BANK)) {
+               mask = 1 << pin;
+               writel(mask, &at91_port->idr);
+               at91_set_pio_pullup(port, pin, use_pullup);
+               writel(readl(&at91_port->mux.pio3.abcdsr1) & ~mask,
+                      &at91_port->mux.pio3.abcdsr1);
+               writel(readl(&at91_port->mux.pio3.abcdsr2) & ~mask,
+                      &at91_port->mux.pio3.abcdsr2);
+
                writel(mask, &at91_port->pdr);
        }
 
        return 0;
 }
 
-#if defined(CPU_HAS_PIO3)
+/*
+ * mux the pin to the "B" internal peripheral role.
+ */
+int at91_pio3_set_b_periph(unsigned port, unsigned pin, int use_pullup)
+{
+       struct at91_port *at91_port = at91_pio_get_port(port);
+       u32 mask;
+
+       if (at91_port && (pin < GPIO_PER_BANK)) {
+               mask = 1 << pin;
+               writel(mask, &at91_port->idr);
+               at91_set_pio_pullup(port, pin, use_pullup);
+               writel(readl(&at91_port->mux.pio3.abcdsr1) | mask,
+                      &at91_port->mux.pio3.abcdsr1);
+               writel(readl(&at91_port->mux.pio3.abcdsr2) & ~mask,
+                      &at91_port->mux.pio3.abcdsr2);
+
+               writel(mask, &at91_port->pdr);
+       }
+
+       return 0;
+}
 /*
  * mux the pin to the "C" internal peripheral role.
  */
-int at91_set_c_periph(unsigned port, unsigned pin, int use_pullup)
+int at91_pio3_set_c_periph(unsigned port, unsigned pin, int use_pullup)
 {
        struct at91_port *at91_port = at91_pio_get_port(port);
        u32 mask;
@@ -153,10 +178,10 @@ int at91_set_c_periph(unsigned port, unsigned pin, int use_pullup)
                mask = 1 << pin;
                writel(mask, &at91_port->idr);
                at91_set_pio_pullup(port, pin, use_pullup);
-               writel(readl(&at91_port->abcdsr1) & ~mask,
-                      &at91_port->abcdsr1);
-               writel(readl(&at91_port->abcdsr2) | mask,
-                      &at91_port->abcdsr2);
+               writel(readl(&at91_port->mux.pio3.abcdsr1) & ~mask,
+                      &at91_port->mux.pio3.abcdsr1);
+               writel(readl(&at91_port->mux.pio3.abcdsr2) | mask,
+                      &at91_port->mux.pio3.abcdsr2);
                writel(mask, &at91_port->pdr);
        }
 
@@ -166,7 +191,7 @@ int at91_set_c_periph(unsigned port, unsigned pin, int use_pullup)
 /*
  * mux the pin to the "D" internal peripheral role.
  */
-int at91_set_d_periph(unsigned port, unsigned pin, int use_pullup)
+int at91_pio3_set_d_periph(unsigned port, unsigned pin, int use_pullup)
 {
        struct at91_port *at91_port = at91_pio_get_port(port);
        u32 mask;
@@ -175,16 +200,15 @@ int at91_set_d_periph(unsigned port, unsigned pin, int use_pullup)
                mask = 1 << pin;
                writel(mask, &at91_port->idr);
                at91_set_pio_pullup(port, pin, use_pullup);
-               writel(readl(&at91_port->abcdsr1) | mask,
-                      &at91_port->abcdsr1);
-               writel(readl(&at91_port->abcdsr2) | mask,
-                      &at91_port->abcdsr2);
+               writel(readl(&at91_port->mux.pio3.abcdsr1) | mask,
+                      &at91_port->mux.pio3.abcdsr1);
+               writel(readl(&at91_port->mux.pio3.abcdsr2) | mask,
+                      &at91_port->mux.pio3.abcdsr2);
                writel(mask, &at91_port->pdr);
        }
 
        return 0;
 }
-#endif
 
 #ifdef CONFIG_DM_GPIO
 static bool at91_get_port_output(struct at91_port *at91_port, int offset)
@@ -261,12 +285,29 @@ int at91_set_pio_deglitch(unsigned port, unsigned pin, int is_on)
        struct at91_port *at91_port = at91_pio_get_port(port);
        u32 mask;
 
+       if (at91_port && (pin < GPIO_PER_BANK)) {
+               mask = 1 << pin;
+               if (is_on)
+                       writel(mask, &at91_port->ifer);
+               else
+                       writel(mask, &at91_port->ifdr);
+       }
+
+       return 0;
+}
+
+/*
+ * enable/disable the glitch filter. mostly used with IRQ handling.
+ */
+int at91_pio3_set_pio_deglitch(unsigned port, unsigned pin, int is_on)
+{
+       struct at91_port *at91_port = at91_pio_get_port(port);
+       u32 mask;
+
        if (at91_port && (pin < GPIO_PER_BANK)) {
                mask = 1 << pin;
                if (is_on) {
-#if defined(CPU_HAS_PIO3)
-                       writel(mask, &at91_port->ifscdr);
-#endif
+                       writel(mask, &at91_port->mux.pio3.ifscdr);
                        writel(mask, &at91_port->ifer);
                } else {
                        writel(mask, &at91_port->ifdr);
@@ -276,11 +317,10 @@ int at91_set_pio_deglitch(unsigned port, unsigned pin, int is_on)
        return 0;
 }
 
-#if defined(CPU_HAS_PIO3)
 /*
  * enable/disable the debounce filter.
  */
-int at91_set_pio_debounce(unsigned port, unsigned pin, int is_on, int div)
+int at91_pio3_set_pio_debounce(unsigned port, unsigned pin, int is_on, int div)
 {
        struct at91_port *at91_port = at91_pio_get_port(port);
        u32 mask;
@@ -288,8 +328,8 @@ int at91_set_pio_debounce(unsigned port, unsigned pin, int is_on, int div)
        if (at91_port && (pin < GPIO_PER_BANK)) {
                mask = 1 << pin;
                if (is_on) {
-                       writel(mask, &at91_port->ifscer);
-                       writel(div & PIO_SCDR_DIV, &at91_port->scdr);
+                       writel(mask, &at91_port->mux.pio3.ifscer);
+                       writel(div & PIO_SCDR_DIV, &at91_port->mux.pio3.scdr);
                        writel(mask, &at91_port->ifer);
                } else {
                        writel(mask, &at91_port->ifdr);
@@ -303,7 +343,7 @@ int at91_set_pio_debounce(unsigned port, unsigned pin, int is_on, int div)
  * enable/disable the pull-down.
  * If pull-up already enabled while calling the function, we disable it.
  */
-int at91_set_pio_pulldown(unsigned port, unsigned pin, int is_on)
+int at91_pio3_set_pio_pulldown(unsigned port, unsigned pin, int is_on)
 {
        struct at91_port *at91_port = at91_pio_get_port(port);
        u32 mask;
@@ -312,18 +352,31 @@ int at91_set_pio_pulldown(unsigned port, unsigned pin, int is_on)
                mask = 1 << pin;
                if (is_on) {
                        at91_set_pio_pullup(port, pin, 0);
-                       writel(mask, &at91_port->ppder);
+                       writel(mask, &at91_port->mux.pio3.ppder);
                } else
-                       writel(mask, &at91_port->ppddr);
+                       writel(mask, &at91_port->mux.pio3.ppddr);
        }
 
        return 0;
 }
 
+int at91_pio3_set_pio_pullup(unsigned port, unsigned pin, int use_pullup)
+{
+       struct at91_port *at91_port = at91_pio_get_port(port);
+
+       if (use_pullup)
+               at91_pio3_set_pio_pulldown(port, pin, 0);
+
+       if (at91_port && (pin < GPIO_PER_BANK))
+               at91_set_port_pullup(at91_port, pin, use_pullup);
+
+       return 0;
+}
+
 /*
  * disable Schmitt trigger
  */
-int at91_set_pio_disable_schmitt_trig(unsigned port, unsigned pin)
+int at91_pio3_set_pio_disable_schmitt_trig(unsigned port, unsigned pin)
 {
        struct at91_port *at91_port = at91_pio_get_port(port);
        u32 mask;
@@ -336,7 +389,6 @@ int at91_set_pio_disable_schmitt_trig(unsigned port, unsigned pin)
 
        return 0;
 }
-#endif
 
 /*
  * enable/disable the multi-driver. This is only valid for output and
index be3d82e67eaccb9dd76c111263856215bdccc665..eb8d2b31ecb61f890487e7c10ea363ded186ac96 100644 (file)
@@ -333,7 +333,7 @@ static int at91emac_init(struct eth_device *netdev, bd_t *bd)
                ATMEL_PMX_AA_ETXEN |    ATMEL_PMX_AA_EREFCK;
 
        writel(value, &pio->pioa.pdr);
-       writel(value, &pio->pioa.asr);
+       writel(value, &pio->pioa.mux.pio2.asr);
 
 #ifdef CONFIG_RMII
        value = ATMEL_PMX_BA_ERXCK;
@@ -344,7 +344,7 @@ static int at91emac_init(struct eth_device *netdev, bd_t *bd)
                ATMEL_PMX_BA_ETX3 |     ATMEL_PMX_BA_ETX2;
 #endif
        writel(value, &pio->piob.pdr);
-       writel(value, &pio->piob.bsr);
+       writel(value, &pio->piob.mux.pio2.bsr);
 
        at91_periph_clk_enable(ATMEL_ID_EMAC);