X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=board%2Feukrea%2Fcpuat91%2Fcpuat91.c;h=f654f87b725f12d93e6a60cbadcd286a7abf658a;hb=9792987721c7980453fe6447c3fa6593b44f8458;hp=1a700b649cce4089b001e07e253317268ff222e5;hpb=6dceeaa679ca3326a8dd1ddbd535a0651ec231bb;p=u-boot diff --git a/board/eukrea/cpuat91/cpuat91.c b/board/eukrea/cpuat91/cpuat91.c index 1a700b649c..f654f87b72 100644 --- a/board/eukrea/cpuat91/cpuat91.c +++ b/board/eukrea/cpuat91/cpuat91.c @@ -1,5 +1,5 @@ /* - * (C) Copyright 2006 Eukrea Electromatique + * (C) Copyright 2006-2010 Eukrea Electromatique * Eric Benard * based on at91rm9200dk.c which is : * (C) Copyright 2002 @@ -26,9 +26,13 @@ */ #include -#include -#include -#include +#include + +#include +#include +#include +#include +#include DECLARE_GLOBAL_DATA_PTR; @@ -44,38 +48,46 @@ int board_init(void) /* arch number of CPUAT91-Board */ gd->bd->bi_arch_number = MACH_TYPE_CPUAT91; /* adress of boot parameters */ - gd->bd->bi_boot_params = PHYS_SDRAM + 0x100; + gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; return 0; } -int dram_init(void) +int board_early_init_f(void) { - gd->bd->bi_dram[0].start = PHYS_SDRAM; - gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE; + at91_seriald_hw_init(); return 0; } -#if defined(CONFIG_DRIVER_ETHER) -#if defined(CONFIG_CMD_NET) -/* - * Name: - * at91rm9200_GetPhyInterface - * Description: - * Initialise the interface functions to the PHY - * Arguments: - * None - * Return value: - * None - */ -void at91rm9200_GetPhyInterface(AT91PS_PhyOps p_phyops) +int dram_init(void) +{ + /* dram_init must store complete ramsize in gd->ram_size */ + gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE, + CONFIG_SYS_SDRAM_SIZE); + return 0; +} + +#ifdef CONFIG_DRIVER_AT91EMAC +int board_eth_init(bd_t *bis) { - p_phyops->Init = ks8721_initphy; - p_phyops->IsPhyConnected = ks8721_isphyconnected; - p_phyops->GetLinkSpeed = ks8721_getlinkspeed; - p_phyops->AutoNegotiate = ks8721_autonegotiate; + return at91emac_register(bis, (u32) ATMEL_BASE_EMAC); } +#endif -#endif /* CONFIG_CMD_NET */ -#endif /* CONFIG_DRIVER_ETHER */ +#ifdef CONFIG_SOFT_I2C +void i2c_init_board(void) +{ + u32 pin; + at91_pmc_t *pmc = (at91_pmc_t *) ATMEL_BASE_PMC; + at91_pio_t *pio = (at91_pio_t *) ATMEL_BASE_PIO; + + writel(1 << AT91_ID_PIOA, &pmc->pcer); + pin = AT91_PMX_AA_TWD | AT91_PMX_AA_TWCK; + writel(pin, &pio->pioa.idr); + writel(pin, &pio->pioa.pudr); + writel(pin, &pio->pioa.per); + writel(pin, &pio->pioa.oer); + writel(pin, &pio->pioa.sodr); +} +#endif