Merge tag 'uniphier-v2019.07' of git://git.denx.de/u-boot-uniphier
[oweals/u-boot.git] / drivers / net / mpc8xx_fec.c
index b070d6696a2411a97e35c3372f0fdfa266b5226d..f45f1e4677388d3ffb0b6972d22cd6212149eda6 100644 (file)
@@ -1,15 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * (C) Copyright 2000
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
 #include <command.h>
-#include <commproc.h>
 #include <malloc.h>
 #include <net.h>
+#include <netdev.h>
+#include <asm/cpm_8xx.h>
 #include <asm/io.h>
 
 #include <phy.h>
@@ -413,6 +413,26 @@ static void fec_pin_init(int fecidx)
                 */
                out_be16(&immr->im_ioport.iop_pdpar, 0x1fff);
                out_be16(&immr->im_ioport.iop_pddir, 0x1fff);
+
+#if defined(CONFIG_TARGET_MCR3000)
+               out_be16(&immr->im_ioport.iop_papar, 0xBBFF);
+               out_be16(&immr->im_ioport.iop_padir, 0x04F0);
+               out_be16(&immr->im_ioport.iop_paodr, 0x0000);
+
+               out_be32(&immr->im_cpm.cp_pbpar, 0x000133FF);
+               out_be32(&immr->im_cpm.cp_pbdir, 0x0003BF0F);
+               out_be16(&immr->im_cpm.cp_pbodr, 0x0000);
+
+               out_be16(&immr->im_ioport.iop_pcpar, 0x0400);
+               out_be16(&immr->im_ioport.iop_pcdir, 0x0080);
+               out_be16(&immr->im_ioport.iop_pcso , 0x0D53);
+               out_be16(&immr->im_ioport.iop_pcint, 0x0000);
+
+               out_be16(&immr->im_ioport.iop_pdpar, 0x03FE);
+               out_be16(&immr->im_ioport.iop_pddir, 0x1C09);
+
+               setbits_be32(&immr->im_ioport.utmode, 0x80);
+#endif
 #endif
 
 #endif /* CONFIG_ETHER_ON_FEC1 */