From: Rolf Peukert <rolf.peukert@imms.de>
To: linuxppc-embedded@lists.linuxppc.org
Subject: MPC850 SCC3/USB host conflict
Date: Fri, 31 Jan 2003 17:09:17 +0100 [thread overview]
Message-ID: <3E3A9FAD.9070409@imms.de> (raw)
Hi everybody!
We are installing Linux (2.4.4) on a board design using an MPC850
(XSPC850SRZT66C). We're planning to make the device work as USB host
controller, and to use SCC3 as an additional UART.
We're using Brad Parker's USB Host Controller Interface driver
m8xxhci.c, and the USB Host Start-of-Frame microcode patch available on
your site for the MPC823 (MPC823SOFGENMC). Timer 1 is configured to
generate the SOF clock, and PA6/Tout1 is connected to PC15/Dreq0. An
external 48 MHz oscillator on PA4 is used as USB clock.
The standard UART driver (8xx_io/uart.c) is configured to use SMC1 as
console, and SCC3 as an additional UART using PB29/30 (RXD3/TXD3), PC5
(CTS3), PC13 (RTS3) and PC4 (CD3). Ethernet is on SCC2.
As far as I can tell, these pin configurations don't conflict, but still
we are experiencing a conflict between the USB and UART drivers.
USB works fine when SCC3 UART is not enabled, as does SCC3 without USB.
But when both config options are selected, the kernel will hang during
bootup, shortly after the "Enable" bit in the USMOD register is set (in
function rh_port_reset).
With printk statements around that line,
...
reset_bus_history();
printk("rh_port_reset() before USMOD_EN\n");
usbregs->usb_usmod |= USMOD_EN;
printk("rh_port_reset() after USMOD_EN\n");
wait_ms(20);
...
the output typically looks like this,
...
Freeing unused kernel memory: 60k init
rh_port_reset(1)
rh_port_reset() before USMOD_EN
rh_port
(with sometimes a few output characters more or less)
The microcode patch is installed during initialization, way before
rh_port_reset() is called.
We found out, that the Kernel will start up with a USB/SCC3
configuration, if the microcode patch is not installed. It will also
start up, if the microcode is installed, but timer 1 (SOF) is not
activated. In these cases, however, USB does not work.
So, we're left rather clueless and will be very grateful for any help.
Are there still possible I/O port conflicts we did not check?
What does the microcode patch actually do?
Is it possible to make USB (host controller mode) and SCC3 UART work
concurrently on the MPC850 at all?
Best Regards,
Rolf
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
next reply other threads:[~2003-01-31 16:09 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-01-31 16:09 Rolf Peukert [this message]
2003-02-05 10:17 ` MPC850 SCC3/USB host conflict Rolf Peukert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3E3A9FAD.9070409@imms.de \
--to=rolf.peukert@imms.de \
--cc=linuxppc-embedded@lists.linuxppc.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).