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.

AM625: OLDI driver or dts example

Part Number: AM625

By the TRM of AM62x and AM65x, the DSS registers of AM62x are NOT the same as that of AM65x. It's not a proper manipulation to set the dts of AM62x DSS compatible to "ti,am65x-dss". Please recommand how to config the dts. Thanks.

  • Hello,

    Thank you for the feedback. We are working on enabling the oldi driver and adding the proper compatible field. At the moment, it's not supported in our default SDK but you could follow the patchwork series:
    1. https://patchwork.kernel.org/project/dri-devel/list/?series=654214&archive=both
    2. https://patchwork.kernel.org/project/dri-devel/list/?series=660970&archive=both

    Regards,
    Krunal

  • Hello,

    By applying the patches from the link, there's no LVDS display as before. DSS related message are listed below. Please check what's wrong. Thank you very much.

    [ 2.184846] tidss 30200000.dss: DSS fclk 0 Hz
    [ 2.191848] tidss 30200000.dss: tidss_modeset_init
    [ 2.196740] tidss 30200000.dss: Setting up panel for port 0
    [ 2.202320] tidss 30200000.dss: no panel/bridge for port 1
    [ 2.207844] tidss 30200000.dss: Encoder create done
    [ 2.212960] tidss 30200000.dss: tidss_modeset_init done
    [ 2.218223] tidss 30200000.dss: tidss_runtime_get
    [ 2.222933] tidss 30200000.dss: tidss_pm_runtime_resume
    [ 2.228151] tidss 30200000.dss: resume
    [ 2.232234] tidss 30200000.dss: OMAP DSS7 rev 0x64040901
    [ 2.237542] tidss 30200000.dss: VP RESETDONE 1,1,0
    [ 2.242328] tidss 30200000.dss: OLDI RESETDONE 0,0,0
    [ 2.247285] tidss 30200000.dss: DISPC IDLE 1
    [ 2.251549] tidss 30200000.dss: dispc_k3_plane_init()
    [ 2.256599] tidss 30200000.dss: vid: bufsize 2560, buf_threshold 2559/1280, mflag threshold 1706/853 preload 1280
    [ 2.266852] tidss 30200000.dss: vidl1: bufsize 2560, buf_threshold 2559/1280, mflag threshold 1706/853 preload 1280
    [ 2.277277] tidss 30200000.dss: dispc_vp_init()
    [ 2.281816] tidss 30200000.dss: tidss_runtime_put
    [ 2.286518] tidss 30200000.dss: tidss_pm_runtime_suspend
    [ 2.291823] tidss 30200000.dss: suspend
    [ 2.311589] tidss 30200000.dss: tidss_runtime_get
    [ 2.331470] tidss 30200000.dss: tidss_pm_runtime_resume
    [ 2.336691] tidss 30200000.dss: resume
    [ 2.347292] tidss 30200000.dss: OMAP DSS7 rev 0x64040901
    [ 2.352601] tidss 30200000.dss: VP RESETDONE 1,1,0
    [ 2.357387] tidss 30200000.dss: OLDI RESETDONE 0,0,0
    [ 2.362344] tidss 30200000.dss: DISPC IDLE 1
    [ 2.366608] tidss 30200000.dss: dispc_k3_plane_init()
    [ 2.371656] tidss 30200000.dss: vid: bufsize 2560, buf_threshold 2559/1280, mflag threshold 1706/853 preload 1280
    [ 2.381908] tidss 30200000.dss: vidl1: bufsize 2560, buf_threshold 2559/1280, mflag threshold 1706/853 preload 1280
    [ 2.392331] tidss 30200000.dss: dispc_vp_init()
    [ 2.396863] tidss 30200000.dss: tidss_runtime_put
    [ 2.401563] tidss 30200000.dss: tidss_pm_runtime_suspend
    [ 2.406867] tidss 30200000.dss: suspend
    [ 2.426885] [drm] Initialized tidss 1.0.0 20180215 for 30200000.dss on minor 0

  • Hi Krunal,

    May I know the schedule of releasing am625 OLDI driver?

    Best Regards,

    Ken

  • Hi Ken,

    As of now, I don't have an exact schedule but feel free to follow the patchwork links I shared. We have LVDS working with AM62x and the developer is working on upstreaming the code.

    Regards,
    Krunal

  • Hi Krunal:

    THanks for your helping.

    If TI has the LVDS working, can TI offer the working patch/driver instead to wait the "patchwork" update?

    ps. Steven/Ken are our customers.

    BR Rio

  • Hi Rio,

    Yes, please reach out to me internally and I can share the patches. However, please keep in mind, the patches being shared are not finalized because we are still in the upstream review process. 

    Regards,
    Krunal

  • Hi Krunal,

    Do the OLDI pins have to be configured (PADCONFIG151~PADCONFIG170)? If yes, what's the suggested configuration value?

    Regards,

    Steven

  • Hi Steven,

    Are you referring to the pin mux information?

    Regards,
    Krunal

  • Hi Krunal,

    The mux mode should be 0. How to set the other fields in the PADCONFIG register?

    In the TRM, the PADCONFIG registers of OLDI pins have the same characteristics as that of digital I/O pins.

    Regards,

    Steven

  • Hello Steven,

    Please refer to the attached file. Also, keep in mind that the below are experimental patches and upstream process is still in progress. Besides the below patches, you also need to add either of the following option in Uboot to enable OLDI:

    1. In Uboot "spl_board_init" function, add the following code to enable OLDI Transmitter "writel(0x0, 0x108700);"
    2. Create a uEnv.txt file and add the following contents uenvcmd=if run check_psdk_setup; then echo "Already setup."; else run do_psdk_setup; mw.b ${loadaddr} 0 1; fatwrite mmc 1:1 ${loadaddr} .psdk_setup 1; reset; fi; mw.l 0x00109008 0x68EF3490; mw.l 0x0010900C 0xD172BC5A; mw.l 0x00108700 0x00000000;

    Regards,
    Krunal

    oldi-8.3.5-v-09_02.tar.xz

  • Thanks
    Just to clarify on which branch/kernel this patches are for? mainline linux, ti-linux and what branch?

    Thanks, Dario

  • Hello,

    9e58028f94 (tag: 08.03.00.005) Merged TI feature platform_base into ti-linux-5.10.y

    Regards,
    Krunal

  • Hello

    Just to confirm I have working LCD now with all this patches on HV070WX2-1E0
    Here is shoot of loading screen (sorry for bad quality)

    https://imgur.com/ORFnW5p


    Thanks for help now I can focus on other things (while waiting to be officially released) 

  • Hi Dario,

    We got the result as the below picture after we updating the configure file (DTS and disp c file) for our panel.

    It look like color distortion in the picture.

    Do you have any idea for this problem or how to make sure to validate the configure parameters (clock/ register/ display driver)? 

    Best Regards,

    Ken

  • Hi Ken

    1st: can you post exact model of the LCD (so it is easier to get/find more details) or upload datasheet
    2nd: I have removed line from patch for port in dts
     

    Fullscreen
    1
    2
    dual-lvds-even-pixels;
    dual-lvds-odd-pixels;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


    So now my port(for port is)

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    port@0 {
    lcd_in0: endpoint {
    remote-endpoint = <&oldi_out0>;
    };
    };
    port@1 {
    lcd_in1: endpoint {
    remote-endpoint = <&oldi_out1>;
    };
    };
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    As I'm not using 2 ports for whole display (I'm using only port@0 )
    Also data-mapping for my screen works as "vesa-24" or "jeida-24" maybe your is working differently(need to check datasheet)
    Please update missing info so maybe I could give more details

    Thanks, Dario

  • Hi Krunal,

    The display is working file by applying the patch. Thanks for great support.

    Regards,

    Steven

  • hello Krunal

    used patch , but could not get lvds up in my case , we are using single channel LVDS, please let us know what modifications to be done 

    platform AM625 - bsp_08_03_00_19

    -nagendra