AnsweredAssumed Answered

uCLinux CPLD table for interrupt   BF561

Question asked by fuhui on Mar 15, 2012
Latest reply on Mar 15, 2012 by Aaronwu

I want to use PF9 port as my dm9000aep interrupt .But I didn't know the address of cplb table for interrupt.

please help me and tell how to get something useful information to solve these problems.the next list is my party codes.

 

I guess the reason my eth can't receive any data is my interrupt information didn't get right.

If you have any ideas please tell me ,thank you very much.

 

cpld_irq1 = *((volatile unsigned char*)(0x2C0F0000));

    if(cpld_irq1&0x0200)

    {

        //printk("$$$$$$$$$$$$$$$$$not dm9000 irq$$$$$$$$$$$$$$$$$$$$$$$\n");

        return IRQ_NONE;

    }

 

 

static struct resource dm9000_resources[] = {

    [0] = {

        .name = "dm9000-regs",

        .start = 0x2C020000,

        .end   = 0x2C020000 + 3,

        .flags = IORESOURCE_MEM

    },

    [1] = {

        .start = 0x2C020000 + 4,

        .end   = 0x2C020000 + 7,

        .flags = IORESOURCE_MEM

    },

    [2] = {

        .start = IRQ_PF9,

        .end   = IRQ_PF9,

        .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE

    },

};

 

static struct dm9000_plat_data dm9000_platdata = {

    .flags          = DM9000_PLATF_16BITONLY,

};

 

static struct platform_device dm9000_device = {

    .name           = "dm9000",

    .id             = -1,

    .num_resources  = ARRAY_SIZE(dm9000_resources),

    .resource       = dm9000_resources,

    .dev            = {

        .platform_data = &dm9000_platdata,

    }

};

Outcomes