Adding 16c752 to MPC5200

From: Mateo Anderson <hidden>
Date: 2006-11-15 20:26:58

Hi

I am trying to add additional UART controller (TL16C752B) to MPC5200B
(even though it has six of them, but PSCs are used for different functions)
using kernel 2.6.18-rc5. I am (still) using arch/ppc.

The board is very simillar to Lite5200B, so I defined a structure in
arch/ppc/platforms/lite5200.c as:

static struct plat_serial8250_port additional_serial_ports[] = {
       [0] =   {
               /* UART 6 */
                       .uartclk = 115200*16,
                       .iotype = UPIO_MEM,
                       .mapbase = 0x30000000,
                       .irq = MPC52xx_IRQ0,
                       .flags = UPF_BOOT_AUTOCONF,
               },
       [1] =   {
...

and

static struct platform_device additional_serial_device = {
               .name = "serial16c752",
               .id = -1,
               .num_resources = 2,
               .dev.platform_data = &additional_serial_ports,
};


at the end of the function platform_init I added:
platform_device_register(&additional_serial_device);

However the kernel does not work.

If I comment out a call to platform_device_register, the kernel boots
fine. If I use in a working kernel tool devmem2, I can see the values
of the registers in the UART controller.

What am I doing wrong?

BR,
Mateo

_________________________________________________________________
FREE pop-up blocking with the new MSN Toolbar - get it now! http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help