Skip to content

boards: nxp: imx95_evk_15x15: add i.MX 95 15x15 LPDDR4x EVK variant #90744

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

asellaminxp
Copy link
Contributor

@asellaminxp asellaminxp commented May 28, 2025

Add initial support for i.MX 95 15x15 LPDDR4x EVK board. This board uses the i.MX 95 15x15 SoC that shares many similarities to the already supported i.MX 95 19x19 SoC used for the i.MX 95 19x19 LPDDR5 EVK.

This enables Zephyr to boot and run on the i.MX 95 15x15 EVK and provides a foundation for further peripheral enablement and application development.

Depends on:

# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0

config BOARD_IMX95_EVK_15X15
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why do you need to add a new board for 15x15?
On a quick look all files you added here are the same as those from imx95_evk.

Copy link
Contributor Author

@asellaminxp asellaminxp Jun 6, 2025

Choose a reason for hiding this comment

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

I updated the commit, which should show more difference between the two boards (especially the doc/index.rst and the different pinctrl dtsi).

We need a different board due to the different packaging of the SoC (with slight differences in the pinctrl DTSI) and to adapt to the differences in peripherals between the two boards.
The current patch only adds an initial support, so it is for now very similar to the imx95_evk board, but it will diverge at some point (for instance for the usage of the different ethernet interfaces). So, to avoid future conflict, we started a separate board support for it right away.

CC: @GhMarwen

@asellaminxp asellaminxp force-pushed the develop/add-imx95-15x15-variant-support branch from a9f91b3 to 0d2d5f4 Compare June 6, 2025 14:51
@github-actions github-actions bot requested a review from yangbolu1991 June 6, 2025 14:52
@JiafeiPan
Copy link
Collaborator

Please fix twister issue.

@asellaminxp asellaminxp force-pushed the develop/add-imx95-15x15-variant-support branch from 0d2d5f4 to db70bf9 Compare June 17, 2025 14:33
@asellaminxp asellaminxp force-pushed the develop/add-imx95-15x15-variant-support branch from db70bf9 to d4758f0 Compare June 17, 2025 14:35
@asellaminxp asellaminxp reopened this Jun 17, 2025
@asellaminxp asellaminxp force-pushed the develop/add-imx95-15x15-variant-support branch from f14b3bb to bffd803 Compare June 17, 2025 14:45
Copy link

github-actions bot commented Jun 17, 2025

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

Name Old Revision New Revision Diff
hal_nxp zephyrproject-rtos/hal_nxp@111f568 (master) zephyrproject-rtos/hal_nxp#553 zephyrproject-rtos/hal_nxp#553/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 Jun 17, 2025
@mmahadevan108
Copy link
Collaborator

@asellaminxp please re-visit this PR.

@asellaminxp asellaminxp force-pushed the develop/add-imx95-15x15-variant-support branch from bffd803 to 61f03f8 Compare June 23, 2025 13:51
@github-actions github-actions bot added the area: ARM64 ARM (64-bit) Architecture label Jun 23, 2025
@asellaminxp
Copy link
Contributor Author

The build issue was due to missing pinmux nodes in the https://github.com/zephyrproject-rtos/hal_nxp/blob/master/dts/nxp/nxp_imx/mimx9596cvtxn-pinctrl.dtsi file, where iomuxc_gpio_io35_gpio_io_bit_gpio5_io_bit15, iomuxc_gpio_io36_gpio_io_bit_gpio5_io_bit16 and iomuxc_gpio_io37_gpio_io_bit_gpio5_io_bit17.
A temporary fix would be to move the gpio pinmux definitions at the board level.

CC: @GhMarwen

@JiafeiPan
Copy link
Collaborator

The build issue was due to missing pinmux nodes in the https://github.com/zephyrproject-rtos/hal_nxp/blob/master/dts/nxp/nxp_imx/mimx9596cvtxn-pinctrl.dtsi file, where iomuxc_gpio_io35_gpio_io_bit_gpio5_io_bit15, iomuxc_gpio_io36_gpio_io_bit_gpio5_io_bit16 and iomuxc_gpio_io37_gpio_io_bit_gpio5_io_bit17. A temporary fix would be to move the gpio pinmux definitions at the board level.

CC: @GhMarwen

Hi, @asellaminxp , pinmux is not board level, it should be SoC level. as 15x15 has different pinmux with 19x19, so it should have a standalone SoC dts, as they have the same memory layout for all peripherals, so could create a common dtsi common.dtsi like to cover these common part, then in 19x19.dtsi and 15x15.dtsi will include common.dtsi and silicon specified pinmux dts nodes.

@asellaminxp asellaminxp force-pushed the develop/add-imx95-15x15-variant-support branch from 61f03f8 to ec6b9d7 Compare June 24, 2025 09:26
@asellaminxp
Copy link
Contributor Author

The build issue was due to missing pinmux nodes in the https://github.com/zephyrproject-rtos/hal_nxp/blob/master/dts/nxp/nxp_imx/mimx9596cvtxn-pinctrl.dtsi file, where iomuxc_gpio_io35_gpio_io_bit_gpio5_io_bit15, iomuxc_gpio_io36_gpio_io_bit_gpio5_io_bit16 and iomuxc_gpio_io37_gpio_io_bit_gpio5_io_bit17. A temporary fix would be to move the gpio pinmux definitions at the board level.
CC: @GhMarwen

Hi, @asellaminxp , pinmux is not board level, it should be SoC level. as 15x15 has different pinmux with 19x19, so it should have a standalone SoC dts, as they have the same memory layout for all peripherals, so could create a common dtsi common.dtsi like to cover these common part, then in 19x19.dtsi and 15x15.dtsi will include common.dtsi and silicon specified pinmux dts nodes.

Indeed, I created the new DTSIs for 19x19 and 15x15, as suggested.

west.yml Outdated
@@ -210,7 +210,7 @@ manifest:
groups:
- hal
- name: hal_nxp
revision: 111f568bda6f119cd896f38ae5843ecde92039bd
revision: 49ca79a20d932374a2c26e4f47153d17c038c0b5
Copy link
Collaborator

Choose a reason for hiding this comment

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

revision: refs/pull/553/head

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

@@ -6,7 +6,7 @@

/dts-v1/;

#include <nxp/nxp_mimx95_a55.dtsi>
#include <nxp/nxp_mimx95_19x19_a55.dtsi>
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think this should be the first commit to add dts for 15x15, then the second one will add the board. so that it will not break bisect.

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

Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggest to refine the commit message like:
dts: nxp: imx95-ca55: add dts for SoC 15x15 variant

As, i.MX 95 19x19 and i.MX 95 15x15 have different pinmux definitions, so keep
common part in nxp_mimx95_a55.dtsi, and define separate dts file for each variant,
they include common part and pinmux definitions.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I reworded the commit message as suggested. Thanks

@asellaminxp asellaminxp force-pushed the develop/add-imx95-15x15-variant-support branch 2 times, most recently from bb984cf to 8fff0ac Compare June 24, 2025 13:26
@JiafeiPan
Copy link
Collaborator

looks fine for me.

As i.MX 95 19x19 and i.MX 95 15x15 have different pinmux definitions,
keep common part in nxp_mimx95_a55.dtsi, and define separate dts file
for each variants. These include the common part and their respective
pinmux definitions.

Signed-off-by: Aziz Sellami <[email protected]>
Add initial support for i.MX 95 15x15 LPDDR4x EVK board. This board
uses the i.MX 95 15x15 SoC that shares many similarities to the
already supported i.MX 95 19x19 SoC used for the i.MX 95 19x19
LPDDR5 EVK.

This enables Zephyr to boot and run on the i.MX 95 15x15 EVK and
provides a foundation for further peripheral enablement and
application development.

Signed-off-by: Aziz Sellami <[email protected]>
@asellaminxp asellaminxp force-pushed the develop/add-imx95-15x15-variant-support branch from 8fff0ac to f522227 Compare June 25, 2025 07:29
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 DNM (manifest) This PR should not be merged (controlled by action-manifest) manifest manifest-hal_nxp platform: NXP MPU
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants