X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=post%2Fether.c;h=660620e8f6282f7d04f4f6ac649ad61aa8d6a25d;hb=f18e874ad548034552cc4a2cdfe1a21edd9ca392;hp=47aa3526b8f5604a92da092d7e6d13eb6d1e778a;hpb=cf56e1101957c09cb4aafcf28a89658c4649c511;p=u-boot diff --git a/post/ether.c b/post/ether.c index 47aa3526b8..660620e8f6 100644 --- a/post/ether.c +++ b/post/ether.c @@ -49,6 +49,7 @@ #include #include +#include #define MIN_PACKET_LENGTH 64 #define MAX_PACKET_LENGTH 256 @@ -77,8 +78,6 @@ static struct { static char *ctlr_name[1] = { "SCC" }; -static int used_by_uart[1] = { -1 }; - /* Ethernet Transmit and Receive Buffers */ #define DBUF_LENGTH 1520 @@ -458,6 +457,7 @@ static void scc_halt (int scc_index) immr->im_cpm.cp_scc[scc_index].scc_gsmrl &= ~(SCC_GSMRL_ENR | SCC_GSMRL_ENT); + immr->im_ioport.iop_pcso &= ~(PC_ENET_CLSN | PC_ENET_RENA); } static int scc_send (int index, volatile void *packet, int length) @@ -513,7 +513,7 @@ static int scc_recv (int index, void *packet, int max_length) rxIdx++; } - Done: +Done: return length; } @@ -579,16 +579,10 @@ static int test_ctlr (int ctlr, int index) res = 0; - Done: +Done: ctlr_proc[ctlr].halt (index); -#if !defined(CONFIG_8xx_CONS_NONE) - if (used_by_uart[ctlr] == index) { - serial_init (); - } -#endif - /* * SCC2 Ethernet parameter RAM space overlaps * the SPI parameter RAM space. So we need to restore @@ -614,16 +608,6 @@ int ether_post_test (int flags) int res = 0; int i; -#if defined(CONFIG_8xx_CONS_SCC1) - used_by_uart[CTLR_SCC] = 0; -#elif defined(CONFIG_8xx_CONS_SCC2) - used_by_uart[CTLR_SCC] = 1; -#elif defined(CONFIG_8xx_CONS_SCC3) - used_by_uart[CTLR_SCC] = 2; -#elif defined(CONFIG_8xx_CONS_SCC4) - used_by_uart[CTLR_SCC] = 3; -#endif - ctlr_proc[CTLR_SCC].init = scc_init; ctlr_proc[CTLR_SCC].halt = scc_halt; ctlr_proc[CTLR_SCC].send = scc_send; @@ -635,6 +619,9 @@ int ether_post_test (int flags) } } +#if !defined(CONFIG_8xx_CONS_NONE) + serial_reinit_all (); +#endif return res; }