diff options
Diffstat (limited to 'board/atmel/at91sam9263ek/at91sam9263ek.c')
| -rw-r--r-- | board/atmel/at91sam9263ek/at91sam9263ek.c | 56 | 
1 files changed, 35 insertions, 21 deletions
| diff --git a/board/atmel/at91sam9263ek/at91sam9263ek.c b/board/atmel/at91sam9263ek/at91sam9263ek.c index 91efc07ff..4d2937d2d 100644 --- a/board/atmel/at91sam9263ek/at91sam9263ek.c +++ b/board/atmel/at91sam9263ek/at91sam9263ek.c @@ -32,7 +32,8 @@  #include <asm/arch/at91_matrix.h>  #include <asm/arch/at91_pio.h>  #include <asm/arch/clk.h> -#include <asm/arch/io.h> +#include <asm/io.h> +#include <asm/arch/gpio.h>  #include <asm/arch/hardware.h>  #include <lcd.h>  #include <atmel_lcdc.h> @@ -52,9 +53,9 @@ DECLARE_GLOBAL_DATA_PTR;  static void at91sam9263ek_nand_hw_init(void)  {  	unsigned long csa; -	at91_smc_t 	*smc 	= (at91_smc_t *) AT91_SMC0_BASE; -	at91_matrix_t 	*matrix = (at91_matrix_t *) AT91_MATRIX_BASE; -	at91_pmc_t	*pmc	= (at91_pmc_t *) AT91_PMC_BASE; +	at91_smc_t    *smc    = (at91_smc_t *) ATMEL_BASE_SMC0; +	at91_matrix_t *matrix = (at91_matrix_t *) ATMEL_BASE_MATRIX; +	at91_pmc_t    *pmc    = (at91_pmc_t *) ATMEL_BASE_PMC;  	/* Enable CS3 */  	csa = readl(&matrix->csa[0]) | AT91_MATRIX_CSA_EBI_CS3A; @@ -83,14 +84,14 @@ static void at91sam9263ek_nand_hw_init(void)  		       AT91_SMC_MODE_TDF_CYCLE(2),  		&smc->cs[3].mode); -	writel(1 << AT91SAM9263_ID_PIOA | 1 << AT91SAM9263_ID_PIOCDE, +	writel(1 << ATMEL_ID_PIOA | 1 << ATMEL_ID_PIOCDE,  		&pmc->pcer);  	/* Configure RDY/BSY */ -	at91_set_pio_input(CONFIG_SYS_NAND_READY_PIN, 1); +	at91_set_gpio_input(CONFIG_SYS_NAND_READY_PIN, 1);  	/* Enable NandFlash */ -	at91_set_pio_output(CONFIG_SYS_NAND_ENABLE_PIN, 1); +	at91_set_gpio_output(CONFIG_SYS_NAND_ENABLE_PIN, 1);  }  #endif @@ -98,11 +99,11 @@ static void at91sam9263ek_nand_hw_init(void)  static void at91sam9263ek_macb_hw_init(void)  {  	unsigned long 	erstl; -	at91_pmc_t	*pmc	= (at91_pmc_t *) AT91_PMC_BASE; -	at91_pio_t	*pio	= (at91_pio_t *) AT91_PIO_BASE; -	at91_rstc_t	*rstc	= (at91_rstc_t *) AT91_RSTC_BASE; +	at91_pmc_t	*pmc	= (at91_pmc_t *) ATMEL_BASE_PMC; +	at91_pio_t	*pio	= (at91_pio_t *) ATMEL_BASE_PIO; +	at91_rstc_t	*rstc	= (at91_rstc_t *) ATMEL_BASE_RSTC;  	/* Enable clock */ -	writel(1 << AT91SAM9263_ID_EMAC, &pmc->pcer); +	writel(1 << ATMEL_ID_EMAC, &pmc->pcer);  	/*  	 * Disable pull-up on: @@ -153,7 +154,7 @@ vidinfo_t panel_info = {  	vl_vsync_len:	1,  	vl_upper_margin:1,  	vl_lower_margin:0, -	mmio:		AT91SAM9263_LCDC_BASE, +	mmio:		ATMEL_BASE_LCDC,  };  void lcd_enable(void) @@ -168,7 +169,7 @@ void lcd_disable(void)  static void at91sam9263ek_lcd_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_PORTC, 1, 0);	/* LCDHSYNC */  	at91_set_a_periph(AT91_PIO_PORTC, 2, 0);	/* LCDDOTCK */ @@ -193,8 +194,8 @@ static void at91sam9263ek_lcd_hw_init(void)  	at91_set_a_periph(AT91_PIO_PORTC, 26, 0);	/* LCDD22 */  	at91_set_a_periph(AT91_PIO_PORTC, 27, 0);	/* LCDD23 */ -	writel(1 << AT91SAM9263_ID_LCDC, &pmc->pcer); -	gd->fb_base = AT91SAM9263_SRAM0_BASE; +	writel(1 << ATMEL_ID_LCDC, &pmc->pcer); +	gd->fb_base = ATMEL_BASE_SRAM0;  }  #ifdef CONFIG_LCD_INFO @@ -218,7 +219,7 @@ void lcd_show_board_info(void)  	lcd_printf ("(C) 2008 ATMEL Corp\n");  	lcd_printf ("at91support@atmel.com\n");  	lcd_printf ("%s CPU at %s MHz\n", -		CONFIG_SYS_AT91_CPU_NAME, +		ATMEL_CPU_NAME,  		strmhz(temp, get_cpu_clk_rate()));  	dram_size = 0; @@ -244,6 +245,18 @@ void lcd_show_board_info(void)  #endif /* CONFIG_LCD_INFO */  #endif +int board_early_init_f(void) +{ +	struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC; + +	/* Enable clocks for all PIOs */ +	writel((1 << ATMEL_ID_PIOA) | (1 << ATMEL_ID_PIOB) | +		(1 << ATMEL_ID_PIOCDE), +		&pmc->pcer); + +	return 0; +} +  int board_init(void)  {  	/* Enable Ctrlc */ @@ -252,9 +265,9 @@ int board_init(void)  	/* arch number of AT91SAM9263EK-Board */  	gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9263EK;  	/* adress of boot parameters */ -	gd->bd->bi_boot_params = PHYS_SDRAM + 0x100; +	gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; -	at91_serial_hw_init(); +	at91_seriald_hw_init();  #ifdef CONFIG_CMD_NAND  	at91sam9263ek_nand_hw_init();  #endif @@ -276,8 +289,9 @@ int board_init(void)  int dram_init(void)  { -	gd->bd->bi_dram[0].start = PHYS_SDRAM; -	gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE; +	gd->ram_size = get_ram_size((void *)CONFIG_SYS_SDRAM_BASE, +		CONFIG_SYS_SDRAM_SIZE); +  	return 0;  } @@ -291,7 +305,7 @@ int board_eth_init(bd_t *bis)  {  	int rc = 0;  #ifdef CONFIG_MACB -	rc = macb_eth_initialize(0, (void *) AT91_EMAC_BASE, 0x00); +	rc = macb_eth_initialize(0, (void *) ATMEL_BASE_EMAC, 0x00);  #endif  	return rc;  } |