From f0e748cc6181d78f54939d24c5b4cc372052b770 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 10 Nov 2011 08:44:37 +0000 Subject: 2011-11-10 Sebastian Huber PR 1927/bsps: * mpc83xx/network/tsec.c: Fixed integer truncation. --- c/src/lib/libcpu/powerpc/ChangeLog | 5 +++++ c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'c') diff --git a/c/src/lib/libcpu/powerpc/ChangeLog b/c/src/lib/libcpu/powerpc/ChangeLog index d146dde835..9f78c14b3e 100644 --- a/c/src/lib/libcpu/powerpc/ChangeLog +++ b/c/src/lib/libcpu/powerpc/ChangeLog @@ -1,3 +1,8 @@ +2011-11-10 Sebastian Huber + + PR 1927/bsps: + * mpc83xx/network/tsec.c: Fixed integer truncation. + 2011-11-08 Sebastian Huber * new-exceptions/bspsupport/ppc_exc_async_normal.S: Bugfix for diff --git a/c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c b/c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c index 597cf4ee8d..8b740ada02 100644 --- a/c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c +++ b/c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c @@ -331,18 +331,19 @@ static void tsec_mdio_init | | \*=========================================================================*/ { - static const uint8_t divider [] = { 64, 64, 96, 128, 160, 224, 320, 448 }; + static const uint8_t divider [] = { 32, 32, 48, 64, 80, 112, 160, 224 }; size_t n = sizeof(divider) / sizeof(divider [0]); size_t i = 0; - uint32_t clock = UINT32_MAX; + uint32_t mii_clock = UINT32_MAX; + uint32_t tsec_system_clock = BSP_bus_frequency / 2; /* Set TSEC registers for MDIO communication */ /* * set clock divider */ - for (i = 0; i < n && clock > 2500000; ++i) { - clock = BSP_bus_frequency / divider [i]; + for (i = 0; i < n && mii_clock > 2500000; ++i) { + mii_clock = tsec_system_clock / divider [i]; } sc->mdio_ptr->miimcfg = i; -- cgit v1.2.3