
Hi Stefano,
On Mon, Aug 31, 2015 at 07:14:06PM +0200, Stefano Babic wrote:
Hi Peng,
On 23/08/2015 17:43, Stefano Babic wrote:
On 12/08/2015 11:40, Peng Fan wrote:
The MIB RAM and FIFO receive start register does not exist on i.MX6UL. Accessing these register will cause enet not work well.
Signed-off-by: Peng Fan Peng.Fan@freescale.com Signed-off-by: Fugang Duan B38611@freescale.com Cc: Joe Hershberger joe.hershberger@ni.com Cc: Stefano Babic sbabic@denx.de
Changes v2: Using runtime check, but not hardcoding "#ifdef". This patch depends on the runtime checking patch: https://patchwork.ozlabs.org/patch/505621/.
drivers/net/fec_mxc.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index c5dcbbb..bff5fd1 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -17,6 +17,7 @@
#include <asm/arch/clock.h> #include <asm/arch/imx-regs.h> +#include <asm/imx-common/sys_proto.h> #include <asm/io.h> #include <asm/errno.h> #include <linux/compiler.h> @@ -551,12 +552,15 @@ static int fec_init(struct eth_device *dev, bd_t* bd) writel(0x00000000, &fec->eth->gaddr2);
- /* clear MIB RAM */
- for (i = mib_ptr; i <= mib_ptr + 0xfc; i += 4)
writel(0, i);
- /* Do not access reserved register for i.MX6UL */
- if (!is_cpu_type(MXC_CPU_MX6UL)) {
/* clear MIB RAM */
for (i = mib_ptr; i <= mib_ptr + 0xfc; i += 4)
writel(0, i);
- /* FIFO receive start register */
- writel(0x520, &fec->eth->r_fstart);
/* FIFO receive start register */
writel(0x520, &fec->eth->r_fstart);
}
/* size and address of each buffer */ writel(FEC_MAX_PKT_SIZE, &fec->eth->emrbr);
Patch is already applied - however, I have found that this break build for vf610 boards (they have not a get_cpu_rev()). You can check with the current u-boot-imx.
Sorry, I checked all i.MXes, but missed vf610.
Can you take a look, please ?
I worked a simple patch: https://patchwork.ozlabs.org/patch/512669/ Add an empty function to avoid build errors. Current we do not have drivers to check vf610 cpu types, later if we need saying "is_cpu_type(VF610)", we can add more stuff to the function get_cpu_rev for vf610.
Regards, Peng.
Thanks, Stefano Babic
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de =====================================================================
--