apparent config error, SMC1/SCC3 conflict in uart.c
Robert P. J. Day
rpjday at mindspring.com
Wed Jul 14 04:22:03 EST 2004
following up on my earlier posts regarding trying to simultaneously
use SMC1 as console and SCC3 as ethernet, it appears that the source
file arch/ppc/8xx_io/uart.c has a condition error.
similar to a check that was used in the 2.4 kernel, we have:
=========================================================
...
# 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"
# 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 */
...
=========================================================
which would normally prevent both SMC1 and SCC3 being selected
simultaneously (without the necessary patch, that is).
but based on changes in Kconfig options, it appears that i can
select both of those and not be notified of an error (my system will
just hang at boot time). some of my config options:
CONFIG_SERIAL_CONSOLE=y
...
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CPM=y
CONFIG_SERIAL_CPM_CONSOLE=y
# CONFIG_SERIAL_CPM_SCC1 is not set
# CONFIG_SERIAL_CPM_SCC2 is not set
# CONFIG_SERIAL_CPM_SCC3 is not set
# CONFIG_SERIAL_CPM_SCC4 is not set
CONFIG_SERIAL_CPM_SMC1=y <-- pick SMC1
# CONFIG_SERIAL_CPM_SMC2 is not set
...
CONFIG_SCC_ENET=y
# CONFIG_SCC1_ENET is not set
# CONFIG_SCC2_ENET is not set
CONFIG_SCC3_ENET=y <-- pick SCC3
# CONFIG_FEC_ENET is not set
# CONFIG_ENET_BIG_BUFFERS is not set
# CONFIG_8xx_UART is not set
based on the above, it sure *looks* like i'm selecting SMC1 and SCC3
at the same time, and i recall a previous poster suggesting that
CONFIG_8xx_UART is a holdover from 2.4 that will disappear so i left
it unselected.
with this set of options, the build succeeds, but the system hangs
at boot time. however, if i select ethernet on SCC2 (it will
obviously not work, then), at least the system boots and i have a
system console.
thoughts? i suspect that set of "ifdef"s needs to be updated --
there isn't even a "CONFIG_SERIAL_CONSOLE_PORT" option anymore, among
other things. or CONFIG_CONS_SMC2. and probably others.
rday
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
** This list is shutting down 7/24/2004.
More information about the Linuxppc-embedded
mailing list