cpm_uart_console_write() stuck in waiting for transmitter fifo ready

Scott Wood scottwood at freescale.com
Tue Jul 20 01:36:22 EST 2010

On Fri, 16 Jul 2010 17:30:01 -0700
Shawn Jin <shawnxjin at gmail.com> wrote:

> >> > My RCCR=0x1, meaning the first 512B is for microcode. So the data and
> >> > the TxBD should really be starting at 0xfa202200? Then my muram data's
> >> > reg should be <0x200 ?>? What size shall I specify?
> >>
> >> After the muram data's reg is changed to <0x200 0x1a00>, the cpm_uart
> >> driver works properly and the kernel messages are printed on the
> >> serial port.
> >
> > The muram node is supposed to show the portions of DPRAM that are
> > usable by the OS.  If some portion has been taken up by microcode (or
> > anything else not under the OS's control) before the OS has started,
> > then it must be excluded from the muram node.
> It would be nicer that the initialization code could query the RCCR
> value and adjust the base address.

Is that the only thing that could possibly conflict with OS usage of
DPRAM?  It seemed simpler to just specify the usable chunks.

Before the kernel supported allocating CPM2 SMC parameter RAM, that was
another thing that firmware allocated that had to be kept out of the
muram node.

> It took me quite a while to understand the design.


This constraint is described in the MURAM section of
Documentation/powerpc/dts-bindings/fsl/cpm_qe/cpm.txt, though.


More information about the Linuxppc-dev mailing list