Re: [PATCH] 83xx: add support for the kmeter1 board.
From: Heiko Schocher <hidden>
Date: 2009-05-08 05:54:27
Hello Christopher, Varlese, Christopher wrote:
(FYI I working on the kmeter1) kmeter1.c reuses the same QE_ENET10 RGMII errata workaround code from mpc836x_mds.c (MPC8360EMDS eval board). In my view errata nodes in the dts is overkill. Maybe the errata code can go into a reusable function somewhere in 83xx/ or in ucc_geth.c?
To put an errata node in the dts was just an idea ;-) I also mentioned putting this code in the ucc_geth.c driver ...
I also think the original errata code needs improving: - mask some SVR bits so activated for all matching CPU models, e.g. MPC8360 & MPC8360E.
Did a first try in my v2 patch, see: http://ozlabs.org/pipermail/linuxppc-dev/2009-April/071384.html but I got no response yet.
- The code in mpc836x_mds.c and kmeter1.c does not do exactly what Freescale errata says!
:-(
Here the errata document: http://www.freescale.com/files/32bit/doc/errata/MPC8360ECE.pdf Because kmeter1 is using an MPC8360 CPU model the workaround doesn't actually trigger. So to kill 2 birds with 1 stone we tested a Uboot patch (below) doing what QE_ENET10 says. It seemed to work fine for us. /* RGMII timing Errata workaround for rev 2.1 silicon * (ref: MPC8360ECE rev.1 12/2007 QE_ENET10 UCC2 option 1) */ void *reg = (void *)(CONFIG_SYS_IMMR + 0x14ac); clrsetbits_be32 (reg, 0x000000F0, 0x000000A0);quoted
From my point of view:- The workaround code in kmeter1.c could go for now. - An improved errata workaround for 836x boards would be nice (..who is motivated? :-))
I can make this errata, if someone gives advice, where to put ... I vote for putting it into the ucc_geth.c driver, and activating it maybe through the "phy-connection-type" if it activates the rgmii mode ... ? bye Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany