This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Questions about GPMC

Hi experts,

I'm expanding UART with st16c554.

I looked through the EVM BSP, and can't find the GPMC configure code unless it is a GPMC_DEVICE_NAND, in gpmc_probe():

       gpmc_mem_init();
       for (p = gpmc_device->pdata; p; gpmc_device++, p = gpmc_device->pdata)
                if (gpmc_device->flag & GPMC_DEVICE_NAND)
                        gpmc_nand_init((struct omap_nand_platform_data *) p);
        return 0;

and gpmc_mem_init() initialize all the enabled CS to base_mem = 0x8000000 and size=0x10000000 (Am I right?)

in gpmc_mem_init():

        /* Reserve all regions that has been set up by bootloader */                    
       for (cs = 0; cs < GPMC_CS_NUM; cs++) {                                          
                u32 base, size;                                                         
                                                                                       
                if (!gpmc_cs_mem_enabled(cs))                                           
                       continue;                                                       
               gpmc_cs_get_memconf(cs, &base, &size);                                  
                    if (gpmc_cs_insert_mem(cs, base, size) < 0)                             
                        BUG();                                                          
       }                     

and in gpmc_sc_get_memconf():

        if (cpu_is_am33xx()) {                                                          
                *base = 0x8000000;                                                      
                *size = 0x10000000;                                                     
        } 

If Above is correct, then I have to implement the gpmc configuration myself.

My question is:

What kind of device it is for st16sc554? I can find devices defination:

#define GPMC_DEVICE_NAND        (1 << 0)
#define GPMC_DEVICE_ONENAND     (1 << 1)
#define GPMC_DEVICE_NOR         (1 << 2)
#define GPMC_DEVICE_SMC91X      (1 << 3)
#define GPMC_DEVICE_SMS911X     (1 << 4)
#define GPMC_DEVICE_TUSB6010    (1 << 5)


And I'd like to ask more: what kind of device SMC91X SMS911X and TUSB6010 are?

Thank you very much.

  • Lihua,

    SMSC 91xx and TUSB6010 are memory mapped devices for Ethernet and USB respectively. You can follow similar settings for your device as well.

    http://www.ti.com/lit/an/swpa058a/swpa058a.pdf

    st16sc554 is also having a similar interface.