diff options
| author | Wolfgang Denk <wd@denx.de> | 2011-08-04 23:05:07 +0200 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2011-08-04 23:05:07 +0200 | 
| commit | fb6440ee9b110b759ef61fd80bbd0df1bbf0f37b (patch) | |
| tree | dbde38784fb8b48c7f9b14e70a947fab3a1f3bab /board/atmel/at91sam9263ek/at91sam9263ek.c | |
| parent | 01b0f50060923e89693bf155c677e4f665916b3f (diff) | |
| parent | b608b95753873a5073f550cca002c4bebf1a18f5 (diff) | |
| download | olio-uboot-2014.01-fb6440ee9b110b759ef61fd80bbd0df1bbf0f37b.tar.xz olio-uboot-2014.01-fb6440ee9b110b759ef61fd80bbd0df1bbf0f37b.zip  | |
Merge branch 'master' of git://git.denx.de/u-boot-arm
* 'master' of git://git.denx.de/u-boot-arm:
  drivers/rtc: add Marvell Integrated RTC
  Armada100: Add Board Support for Marvell GuruPlug-Display
  Armada100: MFP macro naming correction
  arm: auto gen asm-offsets.h for mb86r0x
  spear: fix build errors for spear3xx/spear600 platforms
  cosmetic: arm: lib/board.c: Coding Style cleanup
  ARM: versatile: fix board support
  SMDKV310: Enable device tree support
  SMDKV310: MMC_SPL: Fix building when using "make O="
  arm: a320: enable tagged list support
  arm: a320: fix multiline comment style
  ARMv7: u8500_href: Add missing header to fix compiler warning
  Removed unused define, CONFIG_ARMV7.
  avr32: add grasshopper (ICnova AP7000) board
  AT91/SPI: fix atmel_dataflash_spi.c to allow building without warnings
  MAKEALL: remove AT91 boards that are in boards.cfg
  AT91: Makes AT91SAM9263-EK build correctly against u-boot-atmel/master
  AT91: Makes AT91SAM9263 SoC build correctly against u-boot-atmel/master
  AT91: Board fix for AT91SAM9261-EK
  AT91: SoC fix at91sam9261_matrix.h
  AT91: Makes AT91SAM9RL-EK build correctly against u-boot-atmel/master
  AT91: Makes AT91SAM9RL SoC build correctly against u-boot-atmel/master
  AT91: change common at91sam9261 files to compile with new scheme
  AT91: fix mistake in at91sam9260_devices.c(spi1_hw_init)
  a/a/c/arm920t/at91/reset.c: drop obsolete CONFIG_AT91RM9200_USART
  README: fix arm920t/at91 path
  net/eth.c: drop obsolete at91rm9200 support
  README.at91-soc: remove AT91(RM9200) joining notice
  a/a/c/arm920t/cpu.c: remove CONFIG_AT91_LEGACY warning
  MAKEALL: remove obsolete at91rm9200 soc
  ARM: remove obsolete at91rm9200
  omap4: clock init support for omap4460
  omap4: support TPS programming
  omap: reuse omap3 gpio support in omap4
  omap4: sdram init changes for omap4460
  omap4: add omap4460 revision detection
  mkimage: Add OMAP boot image support
  omap: add MMC and FAT support to SPL
  omap: add basic SPL support
  armv7: start.S: fixes and enhancements for SPL
  omap4: automatic sdram detection
  omap4: calculate EMIF register values
  omap4: add sdram init support
  omap4: add clock support
  omap4: add OMAP4430 revision check
  omap4: cleanup pin mux data
  omap4: utility function to identify the context of hw init
  DA8xx: fix LPSC constants
  DA8xx: switch an enum to defines for consistency
  DA8xx: add MMC/SD controller addresses
  DaVinci EMAC: declare function for all DA8xx CPUs
  DA8xx: add generic GPIO driver
  DaVinci: rename gpio_defs.h to gpio.h
  omap3evm: eth: Include functions only when necessary
  omap3evm: Update ethernet reset sequence for Rev.G board
  omap3evm: eth: split function setup_net_chip
  omap3: Include array definition only when it is used
  omap730p2: fix build breaks
  omap2420h4: fix build breaks
  omap1610inn: fix build breaks
  omap1510inn: fix build breaks
  omap5912osk: fix build breaks
  omap1610h2: fix build breaks
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;  }  |