Skip to content

Conversation

@RuoshanShi
Copy link
Contributor

@RuoshanShi RuoshanShi commented Oct 30, 2025

  1. Added video pll driver to support i.MX93 display. Different screens require different VIDEO PLL configurations.
  2. Added rm67199 driver for i.MX93 evk board
  3. Added MX8_DSI_OLED1A shield and enable the display on imx93_evk/mimx9352/m33/ddr
  4. Added display tests to run the nxp_mx8_dsi_oled1a shield

@RuoshanShi
Copy link
Contributor Author

Please fix conflictions.

@JiafeiPan The conflicts have been fixed

JiafeiPan
JiafeiPan previously approved these changes Nov 20, 2025
@RuoshanShi
Copy link
Contributor Author

@mmahadevan108 Could you please help review this pull request?

description:
Number of data lanes.

pixel-format:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the repeat code

# SPDX-License-Identifier: Apache-2.0
#

description: Raydium RM67199 Panel
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Raydium RM67199 Panel
description: Raydium RM69380 controller for DSI panels

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed to " Raydium RM67199 controller for DSI panels"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be in SoC's or board's initialization code, does not fit the driver definition.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be in SoC's or board's initialization code, does not fit the driver definition.

Thank you for your review. The VIDEO_PLL operation indeed needs to be handled at the SoC stage. I made this change because on the iMX93 we need to support multiple panels, different shields require separate configuration of the VIDEO_PLL frequency. By implementing it as an independent clock control driver, we can configure the VIDEO_PLL frequency more flexibly.

# SPDX-License-Identifier: Apache-2.0

config RM67199
bool "RM67199 display driver"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bool "RM67199 display driver"
bool "RM67199 display controller driver"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

select MIPI_DSI
depends on DT_HAS_RAYDIUM_RM67199_ENABLED
help
Enable driver for RM67199 display.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Enable driver for RM67199 display.
Enable driver for RM67199 display controller.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed


if (config->bl_gpio.port != NULL) {
return gpio_pin_set_dt(&config->bl_gpio, 1);
} else {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
} else {
}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

.set_orientation = rm67199_set_orientation,
};

#define RM67199_PANEL(id) \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#define RM67199_PANEL(id) \
#define RM67199_CONTROLLER(id) \

replace all instances.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

replace all instances.

Fixed

Overview
********

The NXP MX8 DSI OLED1A Panel is a high-resolution OLED display panel
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The NXP MX8 DSI OLED1A Panel is a high-resolution OLED display panel
The NXP MX8 DSI OLED1A shield is a high-resolution OLED display panel

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

The NXP MX8 DSI OLED1A Panel is a high-resolution OLED display panel
designed for use with NXP i.MX8 series processors. This panel provides
excellent color reproduction and contrast ratio through OLED technology.
The display connects via MIPI DSI interface and offers superior visual
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The display connects via MIPI DSI interface and offers superior visual
The display shield connects via MIPI DSI interface and offers superior visual

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done


.. target-notes::

.. _NXP MX8 DSI OLED1A Panel website:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.. _NXP MX8 DSI OLED1A Panel website:
.. _NXP MX8 DSI OLED1A Shield website:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed the name

Added nxp_imx93_video_pll driver to support display function

Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
Added video_pll instance to soc dtsi.

Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
Added rm67199 driver for i.MX93 display.

Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
Signed-off-by: Winteri Wang <dongjie.wang@nxp.com>
Added MX8_DSI_OLED1A panel and enable display on imx93_evk ddr target

Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
Updated display tests to run the nxp_mx8_dsi_oled1a shield.

Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
Fix pointer-to-integer cast error by using uintptr_t intermediate cast
instead of direct uint64_t cast.

Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
Sync hal_nxp repo

Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
@RuoshanShi RuoshanShi force-pushed the support_imx93_video_pll_driver branch from 81429d4 to 0e634aa Compare November 26, 2025 08:24
@github-actions
Copy link

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
hal_nxp zephyrproject-rtos/hal_nxp@a7f64ac zephyrproject-rtos/hal_nxp#640 zephyrproject-rtos/hal_nxp#640/files

DNM label due to: 1 project with PR revision

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@github-actions github-actions bot added manifest manifest-hal_nxp DNM (manifest) This PR should not be merged (controlled by action-manifest) labels Nov 26, 2025
@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ARM64 ARM (64-bit) Architecture area: Boards/SoCs area: Devicetree Bindings area: Display area: MIPI-DSI area: Shields Shields (add-on boards) area: Tests Issues related to a particular existing or missing test DNM (manifest) This PR should not be merged (controlled by action-manifest) manifest manifest-hal_nxp platform: NXP MPU platform: NXP NXP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants