Bug fix - added endian swap for MDIO parameters
authorMike Line <m-line1@ti.com>
Wed, 3 Nov 2010 19:33:51 +0000 (15:33 -0400)
committerMike Line <m-line1@ti.com>
Wed, 3 Nov 2010 19:33:51 +0000 (15:33 -0400)
The code that endian swapped the ibl structure was not swapping the
mdio configs. This is now fixed.

src/main/iblinit.c
src/make/ibl_c6472/ibl_common.inc

index e3b24faa07ca9c4c1c6e2a4ec7c419e293093469..39557ad3aa3ea7105320550ddf21aaa505fd3e1a 100644 (file)
@@ -161,6 +161,13 @@ void iblSwap (void)
         ibl.sgmiiConfig[i].auxConfig     = swap32val (ibl.sgmiiConfig[i].auxConfig);
     }
 
+    ibl.mdioConfig.nMdioOps   = swap16val (ibl.mdioConfig.nMdioOps);
+    ibl.mdioConfig.mdioClkDiv = swap16val (ibl.mdioConfig.mdioClkDiv);
+    ibl.mdioConfig.interDelay = swap32val (ibl.mdioConfig.interDelay);
+
+    for (i = 0; i < ibl_N_MDIO_CFGS; i++)
+        ibl.mdioConfig.mdio[i] = swap32val (ibl.mdioConfig.mdio[i]);
+
     ibl.nandConfig.nandPriority       = swap32val (ibl.nandConfig.nandPriority);
     ibl.nandConfig.bootFormat         = swap32val (ibl.nandConfig.bootFormat);
     ibl.nandConfig.blob.startAddress  = swap32val (ibl.nandConfig.blob.startAddress);
index aebda6127564677b045e8e841c3f7fddc46b437a..f663967b9084ea4d769eedf1c98721e51f75dc51 100644 (file)
@@ -15,8 +15,8 @@
 
 MEMORY
 {
-       TEXT_INIT :  origin = 0x800000, length = 0x2700
-       TEXT      :  origin = 0x802700, length = 0xd900
+       TEXT_INIT :  origin = 0x800000, length = 0x2800
+       TEXT      :  origin = 0x802800, length = 0xd800
        STACK     :  origin = 0x810000, length = 0x0800
        HEAP      :  origin = 0x810800, length = 0x6000
        DATA_INIT :  origin = 0x816800, length = 0x0200