Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lvgl: nxp: pxp: Fix irq enablement for Zephyr #52

Open
wants to merge 1 commit into
base: zephyr
Choose a base branch
from

Conversation

0xFarahFl
Copy link

Description of the feature or fix

For Zephyr RTOS, irq is not correctly enabled and disabled. Fix it.

Checkpoints

  • Follow the styling guide
  • Run code-format.py from the scripts folder. astyle needs to be installed.
  • Update the documentation

For Zephyr RTOS, irq is not correctly enabled and disabled.
Fix it.

Signed-off-by: Farah Fliss <[email protected]>
Signed-off-by: Trung Hieu Le <[email protected]>
@faxe1008 faxe1008 self-requested a review April 30, 2024 11:32
@faxe1008
Copy link
Contributor

Thanks for your submission 👍 . For the zephyr cloned modules generally we want to upstream changes and pull them in the next release. I will open a upstream LVGL PR containing your changes and link them in here.

@dleach02
Copy link
Member

dleach02 commented Jun 5, 2024

@faxe1008 I see the changes were merged into the upstream LVGL. What is the plan for updating the Zephyr fork? We have release 3.7 prep getting ready to kick off with RC1 next Friday.

@faxe1008
Copy link
Contributor

faxe1008 commented Jun 6, 2024

Hey @dleach02 thanks for the heads up. The one that was merged is targeting v9.1. We can not use that version just yet in the Zephyr integration because it would drop support for all monochrome displays. The one targeting v8.4.1 (next Zephyr version) still needs some work done, rework of some of the PXP based processing: lvgl/lvgl#6158 (comment). If there is a v8.4.1 in time I will submit a PR, although it will most likely not contain this change.

@dleach02
Copy link
Member

@faxe1008 do we need @0xFarahFl to submit a PR to the v8.4 then?

And why did the v9 drop monochrome displays?

@faxe1008
Copy link
Contributor

@dleach02 I'd rather move on to the v9.2 release with the module since I have gotten quite a few requests when the new version will be available in Zephyr.

And why did the v9 drop monochrome displays?

I can not pin point the exact reason for this, but in the past the monochrome display support was implemented on the "library consumer side" (see https://github.com/zephyrproject-rtos/zephyr/blob/main/modules/lvgl/lvgl_display_mono.c#L56). LVGL v9 had quite big changes in regards to rendering architecture, drawing is now split up into tasks and dispatched to various drawing engines (CPU bound, VGLite, PXP etc.). Since they did a entire rewrite of the software rendering, I suppose they "dropped" it (but again this was not part of the library anyways, they removed the callback architecture) and did not add it for 9.0 and 9.1. In the meantime I went ahead and raised the PR lvgl/lvgl#6345, which got merged so at least this blocker is now resolved.

I also went ahead and added support for PXP in this PR: lvgl/lvgl#6298
Which worked, but unfortunately, last minute before the release of 9.2 they went ahead and tried to make a bunch of structs "private" meaning they moved them to dedicated headers. Which results into this issue for Zephyr:
lvgl/lvgl#6870

In short there are three possible routes going forward:

From all of these options I am in favor of the first one, since I've been working on moving this module forward since January and I like to have this merged at some point.

@danieldegrasse
Copy link
Contributor

From all of these options I am in favor of the first one, since I've been working on moving this module forward since January and I like to have this merged at some point.

Adding in here- I think we should stick with released versions of LVGL unless there is a very good reason not to. My vote would also be to merge 9.2, and drop PXP support for now. We can perform an intermediate update before 9.3 is released if needed, but I think moving to 9.2 for now makes sense. If we make this move will we loose support for monochrome displays though, or did lvgl/lvgl#6345 resolve this issue?

@faxe1008
Copy link
Contributor

I have moved the LVGL PR onto 9.2.1 where PXP does build succesfuly now, still need to so some testing with hardware. Things left to do:

  • Handle monochrome vtiled displays as the renderer is htiled mode only. Coordinating the implementation upstream in this issue: Color Format I1 vtile lvgl/lvgl#7067

  • Add the plumbing for DMA2D since there have been some changes as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants