From eb32e3a386e957fa9ac6ca85474ac2035096f300 Mon Sep 17 00:00:00 2001 From: Thomas Doerfler Date: Tue, 18 Nov 2008 11:36:28 +0000 Subject: [PATCH] include/bsp.h, include/hwreg_vals.h, network/network.c: correct some init values for HSC_CM01 boards change strategy to determine MAC address --- c/src/lib/libbsp/powerpc/gen83xx/ChangeLog | 6 +++++ .../lib/libbsp/powerpc/gen83xx/include/bsp.h | 2 +- .../powerpc/gen83xx/include/hwreg_vals.h | 2 +- .../libbsp/powerpc/gen83xx/network/network.c | 23 +++++++++++++------ 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog b/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog index 2221dcdd55..453c8a5977 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog +++ b/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog @@ -1,3 +1,9 @@ +2008-11-18 Thomas Doerfler + + * include/bsp.h, include/hwreg_vals.h, network/network.c: + correct some init values for HSC_CM01 boards + change strategy to determine MAC address + 2008-11-13 Sebastian Huber * console/console.c: Update for new NS16550 polled write function. diff --git a/c/src/lib/libbsp/powerpc/gen83xx/include/bsp.h b/c/src/lib/libbsp/powerpc/gen83xx/include/bsp.h index b9b8216e98..338967a767 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/gen83xx/include/bsp.h @@ -150,7 +150,7 @@ rtems_status_code bsp_register_spi(void); #endif #define PRINTK_MINOR BSP_UART1_MINOR -#if defined(MPC8249EAMDS) +#if defined(MPC8249EAMDS) || defined(HSC_CM01) #define BSP_USE_UART2 TRUE #else #define BSP_USE_UART2 FALSE diff --git a/c/src/lib/libbsp/powerpc/gen83xx/include/hwreg_vals.h b/c/src/lib/libbsp/powerpc/gen83xx/include/hwreg_vals.h index aaeff4c6ba..34c20f53e6 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/include/hwreg_vals.h +++ b/c/src/lib/libbsp/powerpc/gen83xx/include/hwreg_vals.h @@ -249,7 +249,7 @@ #define DDR_SDRAM_CFG_2_VAL 0x00401000 #define DDR_SDRAM_MODE_VAL 0x44521632 #define DDR_SDRAM_CLK_CNTL_VAL 0x01800000 -#define DDR_SDRAM_CFG_VAL 0x43000008 +#define DDR_SDRAM_CFG_VAL 0x63000008 #define DDR_ERR_DISABLE_VAL 0x0000008D #define DDR_ERR_DISABLE_VAL2 0x00000089 diff --git a/c/src/lib/libbsp/powerpc/gen83xx/network/network.c b/c/src/lib/libbsp/powerpc/gen83xx/network/network.c index 2d5f59d88f..741d3f303f 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/network/network.c +++ b/c/src/lib/libbsp/powerpc/gen83xx/network/network.c @@ -123,9 +123,24 @@ int BSP_tsec_attach * FIXME: get the real address we need */ if (config->hardware_address == NULL) { +#if !defined(HAS_UBOOT) + static char hw_addr [M83xx_TSEC_NIFACES][6]; + m83xxTSEC_Registers_t *reg_ptr; -#ifdef HAS_UBOOT + /* read MAC address from hardware register */ + /* we expect it htere from the boot loader */ + reg_ptr = &mpc83xx.tsec[unitNumber - 1]; + config->hardware_address = hw_addr[unitNumber-1]; + + hw_addr[unitNumber-1][5] = (reg_ptr->macstnaddr[0] >> 24) & 0xff; + hw_addr[unitNumber-1][4] = (reg_ptr->macstnaddr[0] >> 16) & 0xff; + hw_addr[unitNumber-1][3] = (reg_ptr->macstnaddr[0] >> 8) & 0xff; + hw_addr[unitNumber-1][2] = (reg_ptr->macstnaddr[0] >> 0) & 0xff; + hw_addr[unitNumber-1][1] = (reg_ptr->macstnaddr[1] >> 24) & 0xff; + hw_addr[unitNumber-1][0] = (reg_ptr->macstnaddr[1] >> 16) & 0xff; +#endif +#if defined(HAS_UBOOT) switch (unitNumber) { case 1: config->hardware_address = mpc83xx_uboot_board_info.bi_enetaddr; @@ -153,12 +168,6 @@ int BSP_tsec_attach return 0; } -#else /* HAS_UBOOT */ - - char hw_addr [6] = { 0x00, 0x04, 0x9f, 0x00, 0x2f, 0xcb}; - - config->hardware_address = hw_addr; - #endif /* HAS_UBOOT */ }