Re: [PATCH 07/11] ST SPEAr: Added source files for SPEAr3xxmachine family

From: Russell King - ARM Linux
Date: Thu Mar 11 2010 - 05:41:39 EST


On Tue, Mar 09, 2010 at 07:46:10AM +0100, Linus Walleij wrote:
> > +struct amba_device uart_device = {
> > +       .dev = {
> > +               .init_name = "uart",
> > +               },
> > +       .res = {
> > +               .start = SPEAR3XX_ICM1_UART_BASE,
> > +               .end = SPEAR3XX_ICM1_UART_BASE + SPEAR3XX_ICM1_UART_SIZE - 1,
> > +               .flags = IORESOURCE_MEM,
> > +               },
> > +       .irq = {IRQ_UART, NO_IRQ},
> > +       .periphid = 0x00041011,
> > +};
>
> You're hardcoding the PrimeCell ID to the ARM version, but I suspect
> you have an ST derivate with some additional features. If you look in
> the PL011 driver in drivers/serial/amba-pl011.c you will probably recognize
> the modified PrimeCell IDs for vendor 0x80 (VENDOR_ST) and I think
> you might rather need to patch this file with your new periphid and
> possibly even implement some new extensions (if there are any).
>
> What value is actually in the ID registers of your cell? (Just
> check in some debugger or simply printk() it...)

There is no need to specify the ID when the device provides it - in fact
the code will override you by reading the ID from the device if it finds
it. The only reason to explicitly provide one is for the very early
Primecell devices which didn't implement the ID scheme - such as PL010.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/