
Hi, Sinan Akman,
As the comment of commit c207ff612903389f8b32e377fe32be43e6efd8f7 said, we removes the bit reversing for SCFG registers in u-boot. It is implemented through PBI command in RCW. .pbi write 0x570200, 0xffffffff .end
Through this way, other SCFG registers could be written in big-endian mode in u-boot or kernel directly. No other bit reversing is needed. For example, we only need to set SCFG_ETSECDMAMCR register as follows. out_be32(&scfg->etsecdmamcr, SCFG_ETSECDMAMCR_LE_BD_FR);
According to your test, I think your RCW is very old and the above PBI command is not added. So I suggest you to add this PBI command in RCW, it will make Ethernet work.
Best Regards, Alison Wang
-----Original Message----- From: Sinan Akman [mailto:sinan@writeme.com] Sent: Friday, January 23, 2015 3:11 PM To: U-Boot-Denx Cc: Wang Huan-B18965; Sun York-R58495 Subject: removing bit reversing for SCFG in immap_ls102xa.h
Hi Alison
I was just testing out ls1021atwr board with NOR boot using rcw_1000.bin.
I noticed that Ethernet is not working.
In ls1021atwr.c we have :
out_be32(&scfg->etsecdmamcr, SCFG_ETSECDMAMCR_LE_BD_FR); out_be32(&scfg->etsecmcr, SCFG_ETSECCMCR_GE2_CLK125);
In your earlier commit c207ff612903389f8b32e377fe32be43e6efd8f7 you removed the bit reversing around this but those defines are not in big-endian. By setting bit reversing before those lines as before makes Ethernet working.
Could you please take a look at this. Should we reverse your commit since we are accessing SCFG registers directly in the board specific files ?
Regards
Sinan Akman