From e5f5802c95b218ab74f4268584835aa13cb2d36d Mon Sep 17 00:00:00 2001 From: Justin Waters Date: Mon, 7 Jul 2008 16:07:04 -0400 Subject: Fix AT91SAM9G20-EK Specific bugs This fixes the nand flash and ethernet on the 9g20. Dataflash is still broken, however. Signed-off-by: Justin Waters --- board/at91sam9g20ek/at91sam9g20ek.c | 6 +++--- board/at91sam9g20ek/dm9161a.c | 6 +++--- board/at91sam9g20ek/nand.c | 6 ++++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/board/at91sam9g20ek/at91sam9g20ek.c b/board/at91sam9g20ek/at91sam9g20ek.c index 1cd71fb314..3272ae08f2 100644 --- a/board/at91sam9g20ek/at91sam9g20ek.c +++ b/board/at91sam9g20ek/at91sam9g20ek.c @@ -72,7 +72,7 @@ int board_late_init(void) DECLARE_GLOBAL_DATA_PTR; /* Fix Ethernet Initialization Bug when starting Linux from U-Boot */ -#if (CONFIG_COMMANDS & CFG_CMD_NET) +#if defined(CONFIG_CMD_NET) eth_init(gd->bd); #endif @@ -109,7 +109,7 @@ int AT91F_Serial_Hardware_Init(void) #ifdef CONFIG_DRIVER_ETHER -#if (CONFIG_COMMANDS & CFG_CMD_NET) +#if defined(CONFIG_CMD_NET) extern AT91PS_EMAC p_mac; @@ -194,5 +194,5 @@ int AT91F_EMAC_Hardware_Init(void) AT91C_BASE_PIOA->PIO_PDR = (periphAEnable | periphBEnable); } -#endif /* CONFIG_COMMANDS & CFG_CMD_NET */ +#endif /* CONFIG_CMD_NET */ #endif /* CONFIG_DRIVER_ETHER */ diff --git a/board/at91sam9g20ek/dm9161a.c b/board/at91sam9g20ek/dm9161a.c index cd9933e902..fda0b5d2d2 100644 --- a/board/at91sam9g20ek/dm9161a.c +++ b/board/at91sam9g20ek/dm9161a.c @@ -27,7 +27,7 @@ #ifdef CONFIG_DRIVER_ETHER -#if (CONFIG_COMMANDS & CFG_CMD_NET) +#if defined(CONFIG_CMD_NET) /* * Name: @@ -97,7 +97,7 @@ static uchar dm9161a_GetLinkSpeed (AT91PS_EMAC p_mac) return TRUE; } - if ((stat1 & DM9161_100BASE_T4_HD) && (stat2 & DM9161_100HDX)) { + if ((stat1 & DM9161_100BASE_TX_HD) && (stat2 & DM9161_100HDX)) { /*set MII for 100BaseTX and Half Duplex */ p_mac->EMAC_NCFGR = (p_mac->EMAC_NCFGR & ~(AT91C_EMAC_SPD | AT91C_EMAC_FD)) @@ -295,7 +295,7 @@ void at91_GetPhyInterface(AT91PS_PhyOps p_phyops) p_phyops->Reset = dm9161a_ResetPhy; } -#endif /* CONFIG_COMMANDS & CFG_CMD_NET */ +#endif /* CONFIG_CMD_NET */ #endif /* CONFIG_DRIVER_ETHER */ diff --git a/board/at91sam9g20ek/nand.c b/board/at91sam9g20ek/nand.c index 2a339a9ed7..d632399358 100644 --- a/board/at91sam9g20ek/nand.c +++ b/board/at91sam9g20ek/nand.c @@ -23,7 +23,7 @@ #include #include -#if (CONFIG_COMMANDS & CFG_CMD_NAND) +#if defined(CONFIG_CMD_NAND) #include @@ -95,7 +95,7 @@ static int at91sam9260ek_nand_ready(struct mtd_info *mtd) return (*AT91C_PIOC_PDSR & AT91C_PIO_PC13); } -void board_nand_init(struct nand_chip *nand) +int board_nand_init(struct nand_chip *nand) { nand->eccmode = NAND_ECC_SOFT; nand->hwcontrol = at91sam9260ek_nand_hwcontrol; @@ -103,5 +103,7 @@ void board_nand_init(struct nand_chip *nand) nand->chip_delay = 18; at91sam9260ek_nand_init(nand); + + return 0; } #endif -- cgit v1.2.3