Adding 16c752 to MPC5200

Mateo Anderson mateo_anderson at hotmail.com
Thu Nov 16 07:14:47 EST 2006


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/




More information about the Linuxppc-embedded mailing list