Patchwork [U-Boot,2/8] Update at91sam9m10g45_devices.c to fix compile errors.

login
register
mail settings
Submitter Alex
Date June 30, 2011, 7:33 p.m.
Message ID <1309462387-22926-3-git-send-email-awaterman@dawning.com>
Download mbox | patch
Permalink /patch/102811/
State Changes Requested
Delegated to: Reinhard Meyer
Headers show

Comments

Alex - June 30, 2011, 7:33 p.m.
Move this file to the new ATMEL_BASE_* and ATMEL_ID_* defines.

Also fixed a problem appearing in the ethernet initialization where
the entire board was being reset, not just the ethernet controller.
This at least makes ethernet work on my board if the correct
environment (mac address, ip address, etc) is available on boot.

Signed-off-by: Alex Waterman <awaterman@dawning.com>
---
 .../cpu/arm926ejs/at91/at91sam9m10g45_devices.c    |   26 ++++++++++----------
 1 files changed, 13 insertions(+), 13 deletions(-)
Reinhard Meyer - July 4, 2011, 7:35 a.m.
Dear Alex Waterman,
> Move this file to the new ATMEL_BASE_* and ATMEL_ID_* defines.
> 
> Also fixed a problem appearing in the ethernet initialization where
> the entire board was being reset, not just the ethernet controller.
> This at least makes ethernet work on my board if the correct
> environment (mac address, ip address, etc) is available on boot.
> 
> Signed-off-by: Alex Waterman <awaterman@dawning.com>
> ---
>  .../cpu/arm926ejs/at91/at91sam9m10g45_devices.c    |   26 ++++++++++----------
>  1 files changed, 13 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm/cpu/arm926ejs/at91/at91sam9m10g45_devices.c b/arch/arm/cpu/arm926ejs/at91/at91sam9m10g45_devices.c
> index 4ad9b1f..9ef8966 100644
> --- a/arch/arm/cpu/arm926ejs/at91/at91sam9m10g45_devices.c
> +++ b/arch/arm/cpu/arm926ejs/at91/at91sam9m10g45_devices.c
> @@ -26,42 +26,42 @@
>  #include <asm/arch/at91_common.h>
>  #include <asm/arch/at91_pmc.h>
>  #include <asm/arch/gpio.h>
> -#include <asm/arch/io.h>
> +#include <asm/io.h>
>  
>  void at91_serial0_hw_init(void)
>  {
> -	at91_pmc_t	*pmc	= (at91_pmc_t *) AT91_PMC_BASE;
> +	at91_pmc_t	*pmc	= (at91_pmc_t *) ATMEL_BASE_PMC;
>  
>  	at91_set_a_periph(AT91_PIO_PORTB, 19, 1);	/* TXD0 */
>  	at91_set_a_periph(AT91_PIO_PORTB, 18, 0);	/* RXD0 */
> -	writel(1 << AT91SAM9G45_ID_US0, &pmc->pcer);
> +	writel(1 << ATMEL_ID_USART0, &pmc->pcer);
>  }
>  
>  void at91_serial1_hw_init(void)
>  {
> -	at91_pmc_t	*pmc	= (at91_pmc_t *) AT91_PMC_BASE;
> +	at91_pmc_t	*pmc	= (at91_pmc_t *) ATMEL_BASE_PMC;
>  
>  	at91_set_a_periph(AT91_PIO_PORTB, 4, 1);		/* TXD1 */
>  	at91_set_a_periph(AT91_PIO_PORTB, 5, 0);		/* RXD1 */
> -	writel(1 << AT91SAM9G45_ID_US1, &pmc->pcer);
> +	writel(1 << ATMEL_ID_USART1, &pmc->pcer);
>  }
>  
>  void at91_serial2_hw_init(void)
>  {
> -	at91_pmc_t	*pmc	= (at91_pmc_t *) AT91_PMC_BASE;
> +	at91_pmc_t	*pmc	= (at91_pmc_t *) ATMEL_BASE_PMC;
>  
>  	at91_set_a_periph(AT91_PIO_PORTD, 6, 1);		/* TXD2 */
>  	at91_set_a_periph(AT91_PIO_PORTD, 7, 0);		/* RXD2 */
> -	writel(1 << AT91SAM9G45_ID_US2, &pmc->pcer);
> +	writel(1 << ATMEL_ID_USART2, &pmc->pcer);
>  }
>  
>  void at91_serial3_hw_init(void)
>  {
> -	at91_pmc_t	*pmc	= (at91_pmc_t *) AT91_PMC_BASE;
> +	at91_pmc_t	*pmc	= (at91_pmc_t *) ATMEL_BASE_PMC;
>  
>  	at91_set_a_periph(AT91_PIO_PORTB, 12, 0);	/* DRXD */
>  	at91_set_a_periph(AT91_PIO_PORTB, 13, 1);	/* DTXD */
> -	writel(1 << AT91_ID_SYS, &pmc->pcer);
> +	writel(1 << ATMEL_ID_USART3, &pmc->pcer);
>  }

If this is the debug UART, ID_USART3 is definitely wrong here. Also
following the example set up by at91sam9260_devives.c, this function
should be named "at91_seriald_hw_init".

>  
>  void at91_serial_hw_init(void)

There should be no such function left after rework.


> @@ -86,14 +86,14 @@ void at91_serial_hw_init(void)
>  #ifdef CONFIG_ATMEL_SPI
>  void at91_spi0_hw_init(unsigned long cs_mask)
>  {
> -	at91_pmc_t	*pmc	= (at91_pmc_t *) AT91_PMC_BASE;
> +	at91_pmc_t	*pmc	= (at91_pmc_t *) ATMEL_BASE_PMC;
>  
>  	at91_set_a_periph(AT91_PIO_PORTB, 0, 0);	/* SPI0_MISO */
>  	at91_set_a_periph(AT91_PIO_PORTB, 1, 0);	/* SPI0_MOSI */
>  	at91_set_a_periph(AT91_PIO_PORTB, 2, 0);	/* SPI0_SPCK */
>  
>  	/* Enable clock */
> -	writel(1 << AT91SAM9G45_ID_SPI0, &pmc->pcer);
> +	writel(1 << ATMEL_ID_SPI0, &pmc->pcer);
>  
>  	if (cs_mask & (1 << 0)) {
>  		at91_set_a_periph(AT91_PIO_PORTB, 3, 0);
> @@ -123,14 +123,14 @@ void at91_spi0_hw_init(unsigned long cs_mask)
>  
>  void at91_spi1_hw_init(unsigned long cs_mask)
>  {
> -	at91_pmc_t	*pmc	= (at91_pmc_t *) AT91_PMC_BASE;
> +	at91_pmc_t	*pmc	= (at91_pmc_t *) ATMEL_BASE_PMC;
>  
>  	at91_set_a_periph(AT91_PIO_PORTB, 14, 0);	/* SPI1_MISO */
>  	at91_set_a_periph(AT91_PIO_PORTB, 15, 0);	/* SPI1_MOSI */
>  	at91_set_a_periph(AT91_PIO_PORTB, 16, 0);	/* SPI1_SPCK */
>  
>  	/* Enable clock */
> -	writel(1 << AT91SAM9G45_ID_SPI1, &pmc->pcer);
> +	writel(1 << ATMEL_ID_SPI1, &pmc->pcer);
>  
>  	if (cs_mask & (1 << 0)) {
>  		at91_set_a_periph(AT91_PIO_PORTB, 17, 0);

Those also miss the pull-up option like in at91sam9260_devices.c.


Please fix this file in the style done by at91sam9260_devices.c or
wait until I have done so.

Best Regards,
Reinhard

Patch

diff --git a/arch/arm/cpu/arm926ejs/at91/at91sam9m10g45_devices.c b/arch/arm/cpu/arm926ejs/at91/at91sam9m10g45_devices.c
index 4ad9b1f..9ef8966 100644
--- a/arch/arm/cpu/arm926ejs/at91/at91sam9m10g45_devices.c
+++ b/arch/arm/cpu/arm926ejs/at91/at91sam9m10g45_devices.c
@@ -26,42 +26,42 @@ 
 #include <asm/arch/at91_common.h>
 #include <asm/arch/at91_pmc.h>
 #include <asm/arch/gpio.h>
-#include <asm/arch/io.h>
+#include <asm/io.h>
 
 void at91_serial0_hw_init(void)
 {
-	at91_pmc_t	*pmc	= (at91_pmc_t *) AT91_PMC_BASE;
+	at91_pmc_t	*pmc	= (at91_pmc_t *) ATMEL_BASE_PMC;
 
 	at91_set_a_periph(AT91_PIO_PORTB, 19, 1);	/* TXD0 */
 	at91_set_a_periph(AT91_PIO_PORTB, 18, 0);	/* RXD0 */
-	writel(1 << AT91SAM9G45_ID_US0, &pmc->pcer);
+	writel(1 << ATMEL_ID_USART0, &pmc->pcer);
 }
 
 void at91_serial1_hw_init(void)
 {
-	at91_pmc_t	*pmc	= (at91_pmc_t *) AT91_PMC_BASE;
+	at91_pmc_t	*pmc	= (at91_pmc_t *) ATMEL_BASE_PMC;
 
 	at91_set_a_periph(AT91_PIO_PORTB, 4, 1);		/* TXD1 */
 	at91_set_a_periph(AT91_PIO_PORTB, 5, 0);		/* RXD1 */
-	writel(1 << AT91SAM9G45_ID_US1, &pmc->pcer);
+	writel(1 << ATMEL_ID_USART1, &pmc->pcer);
 }
 
 void at91_serial2_hw_init(void)
 {
-	at91_pmc_t	*pmc	= (at91_pmc_t *) AT91_PMC_BASE;
+	at91_pmc_t	*pmc	= (at91_pmc_t *) ATMEL_BASE_PMC;
 
 	at91_set_a_periph(AT91_PIO_PORTD, 6, 1);		/* TXD2 */
 	at91_set_a_periph(AT91_PIO_PORTD, 7, 0);		/* RXD2 */
-	writel(1 << AT91SAM9G45_ID_US2, &pmc->pcer);
+	writel(1 << ATMEL_ID_USART2, &pmc->pcer);
 }
 
 void at91_serial3_hw_init(void)
 {
-	at91_pmc_t	*pmc	= (at91_pmc_t *) AT91_PMC_BASE;
+	at91_pmc_t	*pmc	= (at91_pmc_t *) ATMEL_BASE_PMC;
 
 	at91_set_a_periph(AT91_PIO_PORTB, 12, 0);	/* DRXD */
 	at91_set_a_periph(AT91_PIO_PORTB, 13, 1);	/* DTXD */
-	writel(1 << AT91_ID_SYS, &pmc->pcer);
+	writel(1 << ATMEL_ID_USART3, &pmc->pcer);
 }
 
 void at91_serial_hw_init(void)
@@ -86,14 +86,14 @@  void at91_serial_hw_init(void)
 #ifdef CONFIG_ATMEL_SPI
 void at91_spi0_hw_init(unsigned long cs_mask)
 {
-	at91_pmc_t	*pmc	= (at91_pmc_t *) AT91_PMC_BASE;
+	at91_pmc_t	*pmc	= (at91_pmc_t *) ATMEL_BASE_PMC;
 
 	at91_set_a_periph(AT91_PIO_PORTB, 0, 0);	/* SPI0_MISO */
 	at91_set_a_periph(AT91_PIO_PORTB, 1, 0);	/* SPI0_MOSI */
 	at91_set_a_periph(AT91_PIO_PORTB, 2, 0);	/* SPI0_SPCK */
 
 	/* Enable clock */
-	writel(1 << AT91SAM9G45_ID_SPI0, &pmc->pcer);
+	writel(1 << ATMEL_ID_SPI0, &pmc->pcer);
 
 	if (cs_mask & (1 << 0)) {
 		at91_set_a_periph(AT91_PIO_PORTB, 3, 0);
@@ -123,14 +123,14 @@  void at91_spi0_hw_init(unsigned long cs_mask)
 
 void at91_spi1_hw_init(unsigned long cs_mask)
 {
-	at91_pmc_t	*pmc	= (at91_pmc_t *) AT91_PMC_BASE;
+	at91_pmc_t	*pmc	= (at91_pmc_t *) ATMEL_BASE_PMC;
 
 	at91_set_a_periph(AT91_PIO_PORTB, 14, 0);	/* SPI1_MISO */
 	at91_set_a_periph(AT91_PIO_PORTB, 15, 0);	/* SPI1_MOSI */
 	at91_set_a_periph(AT91_PIO_PORTB, 16, 0);	/* SPI1_SPCK */
 
 	/* Enable clock */
-	writel(1 << AT91SAM9G45_ID_SPI1, &pmc->pcer);
+	writel(1 << ATMEL_ID_SPI1, &pmc->pcer);
 
 	if (cs_mask & (1 << 0)) {
 		at91_set_a_periph(AT91_PIO_PORTB, 17, 0);