-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Develop/imx943 netc #93399
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
Draft
JiafeiPan
wants to merge
38
commits into
zephyrproject-rtos:main
Choose a base branch
from
nxp-upstream:develop/imx943-netc
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Develop/imx943 netc #93399
JiafeiPan
wants to merge
38
commits into
zephyrproject-rtos:main
from
nxp-upstream:develop/imx943-netc
+1,312
−141
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
GIC redistributor on Some platform are connected to a non-coherent downstream interconnect, it need to use Non-cahable and Non-shareable access atttributes to access external memory. And also flush the data cache after CPU update related memory. Signed-off-by: Jiafei Pan <[email protected]>
Add DMA noncoherent support on GICv3 ITS driver. Signed-off-by: Jiafei Pan <[email protected]>
For RDbase used by its command, When GITS_TYPER.PTA = 1, physicall address is used, the RDbase field consist of bits[51:16] of the address, so need to left shift the address by 16 bits. But when GITS_TYPER.PTA = 0, PE number is used, no need to shit anymore. Signed-off-by: Jiafei Pan <[email protected]>
GIC v3 ITS is initialized in pre-kernel stage in which sleep function can't work yet, so use busy delay in pre-kernel stage and use sleep delay in post-kernel stage. Signed-off-by: Jiafei Pan <[email protected]>
Enlarge the memory size to 10M bytes as it is not enough if run some networking application. Signed-off-by: Jiafei Pan <[email protected]>
Added dts node for GIC v3 ITS. Signed-off-by: Jiafei Pan <[email protected]>
In case of ITS is enabled, need to include LPI in the total number of irq. Signed-off-by: Jiafei Pan <[email protected]>
GIC redistribute on i.MX 95 is DMA noncoherent, so enable CONFIG_GIC_V3_RDIST_DMA_NONCOHERENT. Signed-off-by: Jiafei Pan <[email protected]>
GIC ITS depends on kernel heap, so move GIC initialize to be behind of heap which initialization priority is CONFIG_KERNEL_INIT_PRIORITY_OBJECTS (it is 30 by default). MU mailbox and SCMI objects depend on GIC, so set their init priority to be same with GIC, the initialization sequence decided by the dts dependency although they use the same init priority. Signed-off-by: Jiafei Pan <[email protected]>
Add imx95_evk support, as hardware limication, it only has 832 LPIs. Signed-off-by: Jiafei Pan <[email protected]>
Tmp patch to depend on hal_nxp PR 571. Signed-off-by: Jiafei Pan <[email protected]>
It could use GIC ITS as MSI controller on Cortex-A Core, so added GIC ITS MSI support for NETC drivers. Signed-off-by: Jiafei Pan <[email protected]>
Add NETC block driver, it could do some block memory region MMIO mapping and also so dome block initialization, moved some netc related configuration form board_init() to block driver so that it could be reused between different platforms, although some configuration is different for different platform, but put all NETC related code in the same driver to make it easier to be maintained. Signed-off-by: Jiafei Pan <[email protected]>
Added MMIO memory mapping for NETC MDIO driver. Signed-off-by: Jiafei Pan <[email protected]>
In order to support MMU mapping on Cortex-A core, added MMIO mapping support in imx_netc_psi driver. Signed-off-by: Jiafei Pan <[email protected]>
i.MX 95 has no NETC switch, so disable it on this platform. Signed-off-by: Jiafei Pan <[email protected]>
As reg property is not used by the driver and there is no proper address could be assigned to it, so remove it. Signed-off-by: Jiafei Pan <[email protected]>
Update NETC device nodes according to NETC driver update: 1. Added NETC block control device node to handle block control initialization in netc block driver. 2. Added "nxp,imx-netc" compatible for netc driver. 3. Added all memory region in MMIO reg propertiy to let driver to handle MMIO mapping for all memory region. Signed-off-by: Jiafei Pan <[email protected]>
Update NETC device nodes according to NETC driver update: 1. Added "nxp,imx-netc" compatible. 2. Added all memory region in MMIO reg propertiy to let driver to handle MMIO mapping for all memory region. Signed-off-by: Jiafei Pan <[email protected]>
Update NETC device nodes according to NETC driver update: 1. Added "nxp,imx-netc" compatible for netc driver. 2. Added all memory region in MMIO reg propertiy to let driver to handle MMIO mapping for all memory region. Signed-off-by: Jiafei Pan <[email protected]>
Added NETC dts nodes in imx95_evk A55 platform. Signed-off-by: Jiafei Pan <[email protected]>
Added SCMI power dts node. Signed-off-by: Jiafei Pan <[email protected]>
Power up NETCMIX and configure netc clock in soc_init(). Signed-off-by: Jiafei Pan <[email protected]>
Removed overlay and enabled these nodes in board dts directly as it is not be valid unless CONFIG_NETWORKING is enabled. Signed-off-by: Jiafei Pan <[email protected]>
Added NETC PSI0 support on the i.MX 95 EVK board for A55 platform. Signed-off-by: Jiafei Pan <[email protected]>
The issue is caused by default stack size 1500 bytes of NET_RX_STACK_SIZE is to small for ARM64 platform, then the stack of net_rx thread is overflow and break the net_mgmt thread's stack, as a result net_mgmt thread is crashed. So this patch will enlarge all the stack size of net stack threads. Signed-off-by: Jiafei Pan <[email protected]>
Add i.MX 95 EVK A55 support for zperf sample. Signed-off-by: Jiafei Pan <[email protected]>
Added dts node for GIC v3 ITS, enabled LPI interrupts, and enabled GIC ITS driver on the SoC. Signed-off-by: Jiafei Pan <[email protected]>
Enlarge the memory size to 10M bytes as it is not enough if run some networking application. Signed-off-by: Jiafei Pan <[email protected]>
GIC ITS depends on kernel heap, so move GIC initialize to be behind of heap which initialization priority is CONFIG_KERNEL_INIT_PRIORITY_OBJECTS which is 30 by default. MU mailbox and SCMI objects depend on GIC, so set their init priority to be same with GIC, the initialization sequence decided by the dts dependency although they use the same init priority. Signed-off-by: Jiafei Pan <[email protected]>
Add imx943_evk support, as hardware limication, it only has 832 LPIs. Signed-off-by: Jiafei Pan <[email protected]>
Add NETCMIX block initialization for i.MX 943. Signed-off-by: Jiafei Pan <[email protected]>
Added SCMI power dts node. Signed-off-by: Jiafei Pan <[email protected]>
Power up NETCMIX and configure netc clock in soc_init(). Signed-off-by: Jiafei Pan <[email protected]>
Added NETC related device nodes in SoC dts. Signed-off-by: Jiafei Pan <[email protected]>
Enabled NETC support on i.MX 943 A55 platform. Signed-off-by: Jiafei Pan <[email protected]>
Configure heap memory size to be enough for GIC ITS. Signed-off-by: Jiafei Pan <[email protected]>
Moved armv8-a cache driver from mcux-sdk to mcux-sdk-ng. Signed-off-by: Jiafei Pan <[email protected]>
The following west manifest projects have changed revision in this Pull Request:
⛔ DNM label due to: 1 project with PR revision Note: This message is automatically posted and updated by the Manifest GitHub Action. |
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
DNM (manifest)
This PR should not be merged (controlled by action-manifest)
manifest
manifest-hal_nxp
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Based on #92585
Depends on zephyrproject-rtos/hal_nxp#578