i.MX93 without a GPU, parallel RGB LCD

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX93 without a GPU, parallel RGB LCD

Jump to solution
1,029 Views
davidpatton
Contributor III

The i.MX93's we are getting have the 2D GPU removed so we have no graphics accelerator. Back with the i.MX6SX we just did basic frame buffer stuff, I assume the same here. But I cannot find much help. I'm just trying to get the penguin during boot.

We are using Yocto Scarthgap, so I believe the kernel is 6.6.36. I found a patch titled:

Add i.MX91/93 parallel display support

dated 12/01/2025, which makes it sound like the kernel I am currently using may not even support what I'm trying to do. Also, everything, at least in the source tree, is under gpu/drm, and again I have no gpu.

I built what I thought was a simple panel in the device tree, but the kernel freezes during boot:

&lcdif {
    status = "okay";
    display = <&display_conf>;

    display_conf: display-0 {
        bits-per-pixel = <16>; /* or 18, 16, etc. depending on your panel */
        bus-width = <18>;
 
        panel {
            compatible = "panel-simple";
            backlight = <&backlight>; /* phandle to your backlight node */
            status = "okay";
 
            display-timings {
                native-mode = <&timing0>;
                timing0: timing0 {
                    clock-frequency = <25000000>;
                    hactive = <800>;
                    vactive = <480>;
                    hback-porch = <8>;
                    hfront-porch = <8>;
                    vback-porch = <16>;
                    vfront-porch = <16>;
                    hsync-len = <4>;
                    vsync-len = <4>;
                    hsync-active = <0>;
                    vsync-active = <0>;
                    pixelclk-active = <0>;
                };
            };
        };
    };
};

 

Thanks!

Tags (2)
0 Kudos
Reply
1 Solution
891 Views
davidpatton
Contributor III

Even though I do not have chips with a GPU, I still used code under drivers/gpu, that was just a little confusing. Attached is the device tree that got it to work, for future reference.

View solution in original post

0 Kudos
Reply
3 Replies
976 Views
Manuel_Salas
NXP TechSupport
NXP TechSupport

Hello @davidpatton 

I hope you are doing very well.

Please take a look to the imx91-11x11-evk-tianma-wvga-panel.dts.

There is an example of parallel display in i.MX91.

 

Best regards,

Salas.

 

0 Kudos
Reply
957 Views
davidpatton
Contributor III

Thanks, I'm good...will be much better once I see the display working.

I tried adding a display like in the example, but still nothing. I'm not at all certain I have my kernel configured correctly. Not having a GPU but seeing all of the code under "gpu" in the drivers directory is concerning me.

I'm adding my dts and kernel config....I also do not understand the "assigned-clock-rates" binding at all and what I should put there and what it's based on. I looked at the documentation, it didn't help...

Thanks!

0 Kudos
Reply
892 Views
davidpatton
Contributor III

Even though I do not have chips with a GPU, I still used code under drivers/gpu, that was just a little confusing. Attached is the device tree that got it to work, for future reference.

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2320884%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Ei.MX93%20without%20a%20GPU%2C%20parallel%20RGB%20LCD%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2320884%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThe%20i.MX93's%20we%20are%20getting%20have%20the%202D%20GPU%20removed%20so%20we%20have%20no%20graphics%20accelerator.%20Back%20with%20the%20i.MX6SX%20we%20just%20did%20basic%20frame%20buffer%20stuff%2C%20I%20assume%20the%20same%20here.%20But%20I%20cannot%20find%20much%20help.%20I'm%20just%20trying%20to%20get%20the%20penguin%20during%20boot.%3C%2FP%3E%3CP%3EWe%20are%20using%20Yocto%20Scarthgap%2C%20so%20I%20believe%20the%20kernel%20is%206.6.36.%20I%20found%20a%20patch%20titled%3A%3C%2FP%3E%3CP%3E%3CFONT%20face%3D%22arial%2Chelvetica%2Csans-serif%22%3EAdd%20i.MX91%2F93%20parallel%20display%20support%3C%2FFONT%3E%3C%2FP%3E%3CP%3Edated%2012%2F01%2F2025%2C%20which%20makes%20it%20sound%20like%20the%20kernel%20I%20am%20currently%20using%20may%20not%20even%20support%20what%20I'm%20trying%20to%20do.%20Also%2C%20everything%2C%20at%20least%20in%20the%20source%20tree%2C%20is%20under%20gpu%2Fdrm%2C%20and%20again%20I%20have%20no%20gpu.%3C%2FP%3E%3CP%3EI%20built%20what%20I%20thought%20was%20a%20simple%20panel%20in%20the%20device%20tree%2C%20but%20the%20kernel%20freezes%20during%20boot%3A%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3E%26amp%3Blcdif%3C%2FSPAN%3E%3CSPAN%3E%20%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20status%20%3D%20%3C%2FSPAN%3E%3CSPAN%3E%22okay%22%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20display%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E%26amp%3Bdisplay_conf%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20display_conf%3C%2FSPAN%3E%3CSPAN%3E%3A%20%3C%2FSPAN%3E%3CSPAN%3Edisplay-0%3C%2FSPAN%3E%3CSPAN%3E%20%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20bits-per-pixel%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E16%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20or%2018%2C%2016%2C%20etc.%20depending%20on%20your%20panel%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20bus-width%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E18%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20panel%3C%2FSPAN%3E%3CSPAN%3E%20%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20compatible%20%3D%20%3C%2FSPAN%3E%3CSPAN%3E%22panel-simple%22%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20backlight%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E%26amp%3Bbacklight%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20phandle%20to%20your%20backlight%20node%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20status%20%3D%20%3C%2FSPAN%3E%3CSPAN%3E%22okay%22%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20display-timings%3C%2FSPAN%3E%3CSPAN%3E%20%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20native-mode%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E%26amp%3Btiming0%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20timing0%3C%2FSPAN%3E%3CSPAN%3E%3A%20%3C%2FSPAN%3E%3CSPAN%3Etiming0%3C%2FSPAN%3E%3CSPAN%3E%20%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20clock-frequency%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E25000000%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20hactive%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E800%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20vactive%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E480%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20hback-porch%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E8%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20hfront-porch%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E8%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20vback-porch%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E16%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20vfront-porch%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E16%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20hsync-len%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E4%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20vsync-len%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E4%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20hsync-active%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E0%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20vsync-active%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E0%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20pixelclk-active%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E0%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CP%3EThanks!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2322125%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX93%20without%20a%20GPU%2C%20parallel%20RGB%20LCD%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2322125%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThanks%2C%20I'm%20good...will%20be%20much%20better%20once%20I%20see%20the%20display%20working.%3C%2FP%3E%3CP%3EI%20tried%20adding%20a%20display%20like%20in%20the%20example%2C%20but%20still%20nothing.%20I'm%20not%20at%20all%20certain%20I%20have%20my%20kernel%20configured%20correctly.%20Not%20having%20a%20GPU%20but%20seeing%20all%20of%20the%20code%20under%20%22gpu%22%20in%20the%20drivers%20directory%20is%20concerning%20me.%3C%2FP%3E%3CP%3EI'm%20adding%20my%20dts%20and%20kernel%20config....I%20also%20do%20not%20understand%20the%20%22assigned-clock-rates%22%20binding%20at%20all%20and%20what%20I%20should%20put%20there%20and%20what%20it's%20based%20on.%20I%20looked%20at%20the%20documentation%2C%20it%20didn't%20help...%3C%2FP%3E%3CP%3EThanks!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2321472%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX93%20without%20a%20GPU%2C%20parallel%20RGB%20LCD%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2321472%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F100561%22%20target%3D%22_blank%22%3E%40davidpatton%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI%20hope%20you%20are%20doing%20very%20well.%3C%2FP%3E%0A%3CP%3EPlease%20take%20a%20look%20to%20the%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2Flf-6.12.y%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx91-11x11-evk-tianma-wvga-panel.dts%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Eimx91-11x11-evk-tianma-wvga-panel.dts%3C%2FA%3E.%3C%2FP%3E%0A%3CP%3EThere%20is%20an%20example%20of%20parallel%20display%20in%20i.MX91.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBest%20regards%2C%3C%2FP%3E%0A%3CP%3ESalas.%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2326532%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX93%20without%20a%20GPU%2C%20parallel%20RGB%20LCD%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2326532%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EEven%20though%20I%20do%20not%20have%20chips%20with%20a%20GPU%2C%20I%20still%20used%20code%20under%20drivers%2Fgpu%2C%20that%20was%20just%20a%20little%20confusing.%20Attached%20is%20the%20device%20tree%20that%20got%20it%20to%20work%2C%20for%20future%20reference.%3C%2FP%3E%3C%2FLINGO-BODY%3E