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.

OMAPL138 UPP Control Registers

Other Parts Discussed in Thread: OMAPL138

I'm trying to read and write the UPP control registers from the ARM side with a Linux Device Driver but I'm unable to do so.  I was read and write the SYSCFG0, GPIO, and SPI control registers just fine but for some reason I'm unable to do so with the UPP.   Even when reading the first register (UPPID), 0x01E16000, I read back a zero. 

device->upp = ioremap(0x01E16000, SZ_4k);

printk(KERN_NOTICE "upp: %x \n, __raw_readl(device->upp));

Are the UPP's registers different than the other control registers (SPI, GPIO, SYSCFG)? Is there something that I should do prior to attempting to read?    

Note: I have been able to write and read the UPP control registers from the DSP side.  The memory map table in the OMAPL138 data sheet specifies that the UPP registers are memory mapped to both ARM and DSP.     

  • Joe,

    You should be able to access the uPP registers like any other module.  Can you check to see if uPP has been PSC Enabled?  It's possible that the module is still clock-gated from device reset.

    -Tommy