SMC1, ethernet on SCC3 and patches to allow this

2 messages, 2 authors, 2004-07-09 · open the first message on its own page

SMC1, ethernet on SCC3 and patches to allow this

From: Robert P. J. Day <hidden>
Date: 2004-07-09 00:28:46

   final issue i have here involving our 850DE board, related to
console on SMC1 co-existing with ethernet on SCC3.

   the default parameter RAM layout for this processor is, according to
the user's manual:

 	...
 	0x1e00-0x1e7f	SCC3
 	0x1e80-0x1ebf	SMC1

no problem, unless you want ethernet on SCC3, which won't fit in that
window and runs over into the space for SMC1, clobbering it.  in the
2.4 kernel we have, this is solved by (apparently) relocating SMC1 by
adding a micropatch.c file to the kernel in the directory
arch/ppc/8xx_io/.  the relevant part of the Config.in file in that 2.4
source tree:

if [ "$CONFIG_SCC3_ENET" != "y" -o "$CONFIG_SMCUCODE_PATCH" = "y" ];
then
   bool 'Use SMC1 for UART' CONFIG_8xx_SMC1
fi

in short, you can't use SMC1 for UART unless you *don't* put ethernet
on SCC3, or you've installed the patch to relocate SMC1.  easy enough.
so how is this handled in the 2.6 kernel, which should have the same
problem?

   first, arch/ppc/8xx_io/uart.c clearly recognizes the conflict with
the code:

# ifndef CONFIG_SERIAL_CONSOLE_PORT
#  ifdef CONFIG_SCC3_ENET
#   ifdef CONFIG_CONS_SMC2 #    define CONFIG_SERIAL_CONSOLE_PORT  0
/* Console on SMC2 is 1st port */
#   else
#    error "Can't use SMC1 for console with Ethernet on SCC3" <-- aha!
#   endif
#  else /* ! CONFIG_SCC3_ENET */
#   ifdef CONFIG_CONS_SMC2                      /* Console on SMC2 */
#    define CONFIG_SERIAL_CONSOLE_PORT  1
#   else                                        /* Console on SMC1 */
#    define CONFIG_SERIAL_CONSOLE_PORT  0
#   endif /* CONFIG_CONS_SMC2 */
#  endif  /* CONFIG_SCC3_ENET */
# endif   /* CONFIG_SERIAL_CONSOLE_PORT */
#endif    /* CONFIG_SERIAL_CONSOLE */

but there's no reference to a patch that lets me get away with this.
surely others might want to have console SMC1 and ethernet SCC3.  how
is it done?  (i mean, short of configuring the console on SMC2, which
is not an option here.)

rday

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

Re: SMC1, ethernet on SCC3 and patches to allow this

From: Dan Malek <hidden>
Date: 2004-07-09 01:18:24

On Jul 8, 2004, at 8:28 PM, Robert P. J. Day wrote:
but there's no reference to a patch that lets me get away with this.
There is a microcode patch, but the 8xx drivers aren't written to look
for it and work with it.  It's not terribly hard to do, but there isn't
a
generic solution because the relocation is also dependent upon
the other devices you may be using withe the CPM.
surely others might want to have console SMC1 and ethernet SCC3.
I have not come across anyone that has done this.  "Normally," the
configurations use SCC2 for Ethernet and SCC3 for other uses.
The patch most commonly used on these processors is for the USB,
and you can't load multiple patches.
....  how
is it done?  (i mean, short of configuring the console on SMC2, which
is not an option here.)
You are going to have to get the microcode patch for this processor
CPM rom version (make sure it matches), and update the uart driver
to know about the relocation patch.

	-- Dan


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help