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.

UPP Linux Driver

Other Parts Discussed in Thread: OMAP-L138, OMAPL138

Just wondering if there were any plans for a Linux UPP driver for the OMAP-L138.  I have an application that will be using the UPP, but I'd hate to write the driver if there was one in the works that might be released soon...

  • I took a look around and I could not find any indication of that there would be a UPP driver within Linux PSP, and it is explicitly not supported by the current PSP for the lastest DVSDK 4.

    Since this seems like a fairly generic question I wanted to bump this thread, has anyone heard of any plans for a UPP driver for Linux?

  • Hi Slocke,

    Around a year ago you mentioned you might end up writing a Linux uPP driver.  Did you write the driver?  Do you have anything you can share?

     

    Todd

     

  • Oh my god! I just need the upp driver based on linux,still now,there is not.What a pity,may be we need to write it ourselves,may be we can make it according to the DSP/BIOS driver for upp.

  • yes,  I also need UPP linux driver.  Anyone can share these with us. thanks!

  • Somebody might find this tar-ball with source code for a Linux, single channel, no lock, OMAP L138 Upp Driver based on Upp driver from DSP CSL usefull: https://sites.google.com/site/pretsch/clients/resources/upp_driver.tgz?attredirects=0&d=1

    Corrections are welcome :)

    Best regards

    Peter

  • Hi All ,

    This update is meant as reference for TI community :-

    a. We were able to sucessfully build ARM+LINUX deiver for OMAPL138 .

    b. We [ Dexcel Electronics Designs (P) Ltd.] have suceedded for an UPP interacting with XILINX 6 FPGA @ 75 MHZ.

    c. This update is because as we started the work , there was no clarity if from LINUX we can driver UPP .

     

    Thanks

    Ashish Kumar Mishra

    [Bangalore / India ]

  • Hi Ashish,

    I am working on upp driver for linux kernel 2.6.33 for SBC8018 board. I am using the upp driver code which  you  you have given in below link,

    https://sites.google.com/site/pretsch/clients/resources/upp_driver.tgz?attredirects=0&d=1

    I am able to compile the same upp driver module. But after inserting this module, I am not able to get the uppid.

    It is always giving the uppid as a zero. And even not able to read any register value from upp mem map.

    Is there any configuration do I need to modify in kernel?

    Could you please help on this issue.  

    Looking forward for positive reply.

     

    Thanks,

    Mrudula

  • Hi Mrudula , 

    1. The link of the above mentioned code is not developed / maintained  by me. 

         -> Neither have i analyzed that code , so would be difficult for me to comment on the same. 

    2. The code which i have developed on Linux i cant share due to legal terms. 

    3. The only thing i can do is help you apart from these two cases , as an E2E member. 

         -> So let me know if you want any input apart from first two point. 

    Thank You,

    Ashish Kumar Mishra 

  • Hi Ashish,

    I am not able to access any register from upp memory map. Is there any memory access configuration related upp do I need to do?

     Could you please provide the upp loop back testing mechanism for SBC8018 borad using linux kernel upp driver.

    Thanks

    Mrudula

  • Hi Ashish,

    I am doing the ioremap of UPP base in linux kernel, able to get the memory map, but not able to read the uppid register from memory. For any register read access it is giving value as Zero. Not able to read/write any register of upp memory map.

    Please let me know the initialization sequence for accessing upp module in linux kernel driver.

    Thanks

    Mrudula

  • Hi Mrudula , 

    -> Have you ensured that UPP pin-muxing and other stages to initialize UPP  is proper . 

    -> This is not an peripheral for which you can directly do an ioremap/mmap of memory and try to acess the memory. 

     

    Thanks ,

    Ashish Kumar Mishra

  • Hi Ashish,

    I have added this pin-mux details for upp in mux_config structure as a part of kernel configuation.

    MUX_CFG(DA850, UPP_2X_TX_CLK ,   14,     0,     15,    0,      false)
            MUX_CFG(DA850, UPP_CHA_WAIT ,    13,     28,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHA_ENABLE,   13,     24,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHA_START ,   13,     20,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHA_CLK ,     13,     16,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHA_D0 ,        16,     4,     15,    4,      false)
            MUX_CFG(DA850, UPP_CHA_D1 ,        16,     0,     15,    4,      false)
            MUX_CFG(DA850, UPP_CHA_D2 ,        15,     28,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHA_D3 ,        15,     24,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHA_D4 ,        15,     20,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHA_D5 ,        15,     16,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHA_D6 ,        15,     12,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHA_D7 ,        15,      8,    15,    4,      false)

            MUX_CFG(DA850, UPP_CHB_WAIT ,    18,     20,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHB_ENABLE,   18,     16,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHB_START ,   18,     12,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHB_CLK ,     18,     8,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHB_D8 ,        15,     4,     15,    4,      false)
            MUX_CFG(DA850, UPP_CHB_D9 ,        15,     0,     15,    4,      false)
            MUX_CFG(DA850, UPP_CHB_D10 ,        16,     28,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHB_D11 ,        16,     24,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHB_D12 ,        16,     20,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHB_D13 ,        16,     16,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHB_D14 ,        16,     12,    15,    4,      false)
            MUX_CFG(DA850, UPP_CHB_D15 ,        16,      8,    15,    4,      false)

    Apart from this do i need to modify anything in kernel to configure upp peripheral.

    Is there any configuration for PSC register do i need to do?

    could you please share the linux configuration for upp peripheral?

    Thanks,

    Mrudula