[PATCH 06/14] ARM: kirkwood: convert uart0 to devicetree.
Jason
jason at lakedaemon.net
Fri Mar 9 08:55:50 EST 2012
On Thu, Mar 08, 2012 at 02:31:39PM -0700, Grant Likely wrote:
> On Wed, Mar 07, 2012 at 02:27:23PM -0500, Jason wrote:
> > On Wed, Mar 07, 2012 at 06:31:31PM +0000, Arnd Bergmann wrote:
> > > On Wednesday 07 March 2012, Jason Cooper wrote:
> > > > + serial at f1012000 {
> > > > + compatible = "ns16550a";
> > > > + reg = <0xf1012000 0xff>;
> > > > + reg-shift = <2>;
> > > > + interrupts = <33>;
> > > > + clock-frequency = <200000000>;
> > > > + };
> > >
> > > I just noticed that the length here should be inclusive, i.e. 0x100 not 0xff.
> > > This is different from the way we define resources in Linux.
> >
> > Grrr. Now I'm getting frustrated. I'm trying to boot without
> > earlyprintk. Evidently, something is wrong with the above, because the
> > device boots all the way up (blinky lights come on), but I get no
> > messages after the usual "Uncompressing Linux... done, booting the
> > kernel."
> >
> > Here's my most recent attempt:
> >
>
> I see that you've resolved your problem, but some comments below on the
> device node:
>
> > serial at f1012000 {
> > device_type = "serial";
>
> Never use device_type. It should only ever appear in the memory node, and
> I plan to remove it from there too.
>
> > compatible = "ns16550a";
> > reg = <0xf1012000 0x100>; /*phys addr*/
> > virt-reg = <0xfed12000>; /*virt addr*/
>
> Don't use virt-reg. Nothing in the kernel uses it and the kernel will
> make it's own decision about virtual address mapping.
>
> > reg-shift = <2>;
> > reg-io-width = <1>;
>
> 1 is the default for reg-io-width. No need to have this property. It
> should only be used if the device requires 32 bit accesses.
>
> > interrupts = <33>;
> > current-speed = <115200>;
> > interrupt-parent = <&intc>;
> > clock-frequency = <200000000>;
> > };
Thanks, Grant. I reverted all of those changes once I found the root of
my problem.
thx,
Jason.
More information about the devicetree-discuss
mailing list