Skip to content

[bsp][nxp][imx] WIP: Add FRDM-i.MX91 bsp #10570

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 1 commit into
base: master
Choose a base branch
from

Conversation

xusiwei
Copy link
Contributor

@xusiwei xusiwei commented Jul 31, 2025

拉取/合并请求描述:(PR description)

为什么提交这份PR (why to submit this PR)

添加 NXP FRDM-i.MX91 开发板的 BSP

你的解决方案是什么 (what is your solution)

新增imx91目录

请提供验证的bsp和config (provide the config and bsp)

  • BSP: FRDM-i.MX91
  • .config:
  • action:

当前拉取/合并请求的状态 Intent for your PR

必须选择一项 Choose one (Mandatory):

  • 本拉取/合并请求是一个草稿版本 This PR is for a code-review and is intended to get feedback
  • 本拉取/合并请求是一个成熟版本 This PR is mature, and ready to be integrated into the repo

代码质量 Code Quality:

我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:

  • 已经仔细查看过代码改动的对比 Already check the difference between PR and old code
  • 代码风格正确,包括缩进空格,命名及其他风格 Style guide is adhered to, including spacing, naming and other styles
  • 没有垃圾代码,代码尽量精简,不包含#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up
  • 所有变更均有原因及合理的,并且不会影响到其他软件组件代码或BSP All modifications are justified and not affect other components or BSP
  • 对难懂代码均提供对应的注释 I've commented appropriately where code is tricky
  • 代码是高质量的 Code in this PR is of high quality
  • 已经使用formatting 等源码格式化工具确保格式符合RT-Thread代码规范 This PR complies with RT-Thread code specification
  • 如果是新增bsp, 已经添加ci检查到.github/workflows/bsp_buildings.yml 详细请参考链接BSP自查

@xusiwei xusiwei requested a review from Rbb666 as a code owner July 31, 2025 15:57
@github-actions github-actions bot added BSP: NXP Code related with NXP BSP labels Jul 31, 2025
@xusiwei xusiwei changed the title [bsp][nxp][imx] Add FRDM-i.MX91 bsp [bsp][nxp][imx] WIP: Add FRDM-i.MX91 bsp Jul 31, 2025
@BernardXiong
Copy link
Member

A核芯片,请启用MMU,外设都做ioremap,谢谢。

Copy link
Member

@Rbb666 Rbb666 left a comment

Choose a reason for hiding this comment

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

请添加此BSP的CI看护

Copy link
Member

Choose a reason for hiding this comment

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

正确姿势不应该重写这个文件吧?


group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH)

list = os.listdir(cwd)
Copy link
Member

Choose a reason for hiding this comment

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

这块多余的代码请删除

return ;
}

int main(void)
Copy link
Member

Choose a reason for hiding this comment

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

main函数应该在 applications/main.c

@Rbb666 Rbb666 requested a review from Copilot August 5, 2025 10:56
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds a new BSP (Board Support Package) for the NXP FRDM-i.MX91 development board, introducing support for the i.MX91 SoC with ARM Cortex-A55 architecture.

Key Changes:

  • Adds complete BSP structure for i.MX91 platform including toolchain configuration, memory management, and device drivers
  • Implements UART1 driver support with IOMUX configuration for serial communication
  • Provides basic board initialization with timer, interrupt handling, and memory mapping setup

Reviewed Changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
rtconfig.py Toolchain configuration for ARM Cortex-A with GCC compiler settings
rtconfig.h RT-Thread configuration header with i.MX91-specific settings
link.lds Linker script defining memory layout and sections for i.MX91
drivers/serial.* UART driver implementation and header
drivers/iomux/* Pin multiplexing configuration for UART interfaces
drivers/board.* Board initialization and hardware abstraction
applications/* Application startup code and initialization
build files SCons build system configuration and Kconfig files

/* Automatically generated file; DO NOT EDIT. */
/* RT-Thread Configuration */

#define BOARD_IMX6UL
Copy link
Preview

Copilot AI Aug 5, 2025

Choose a reason for hiding this comment

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

This macro definition is incorrect for the i.MX91 BSP. It should be '#define BOARD_IMX91' to match the actual hardware platform being supported.

Suggested change
#define BOARD_IMX6UL
#define BOARD_IMX91

Copilot uses AI. Check for mistakes.

rt_hw_interrupt_mask(irq_id);
}

#endif /* __IMX6UL_H__ */
Copy link
Preview

Copilot AI Aug 5, 2025

Choose a reason for hiding this comment

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

The header guard comment is incorrect. It should be '/* IMX91_H */' to match the actual header guard defined at the top of the file.

Suggested change
#endif /* __IMX6UL_H__ */
#endif /* __IMX91_H__ */

Copilot uses AI. Check for mistakes.


#include "iomux_config.h"

// Function to configure iomux for i.MX6SL board MCIMX6SLEVK rev. B.
Copy link
Preview

Copilot AI Aug 5, 2025

Choose a reason for hiding this comment

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

The comment references the wrong board. It should mention i.MX91 board instead of 'i.MX6SL board MCIMX6SLEVK rev. B.' to accurately reflect the target hardware.

Suggested change
// Function to configure iomux for i.MX6SL board MCIMX6SLEVK rev. B.
// Function to configure IOMUX for i.MX91 board.

Copilot uses AI. Check for mistakes.

Comment on lines +18 to +19
#define CONFIG_MX6
#define CONFIG_MX6UL
Copy link
Preview

Copilot AI Aug 5, 2025

Choose a reason for hiding this comment

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

This macro definition is incorrect for i.MX91. It should be '#define CONFIG_MX91' or similar to match the actual SoC family.

Suggested change
#define CONFIG_MX6
#define CONFIG_MX6UL
#define CONFIG_MX91

Copilot uses AI. Check for mistakes.

Comment on lines +18 to +19
#define CONFIG_MX6
#define CONFIG_MX6UL
Copy link
Preview

Copilot AI Aug 5, 2025

Choose a reason for hiding this comment

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

This macro definition is incorrect for i.MX91. It should be '#define CONFIG_MX91' or similar to match the actual SoC being supported.

Suggested change
#define CONFIG_MX6
#define CONFIG_MX6UL
#define CONFIG_MX91

Copilot uses AI. Check for mistakes.

Comment on lines +108 to +114
return uart5_iomux_config();

case HW_UART7:
return uart5_iomux_config();

case HW_UART8:
return uart5_iomux_config();
Copy link
Preview

Copilot AI Aug 5, 2025

Choose a reason for hiding this comment

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

Incorrect function call for UART7 case. It should call 'uart7_iomux_config()' instead of 'uart5_iomux_config()'.

Suggested change
return uart5_iomux_config();
case HW_UART7:
return uart5_iomux_config();
case HW_UART8:
return uart5_iomux_config();
return uart6_iomux_config();
case HW_UART7:
return uart7_iomux_config();
case HW_UART8:
return uart8_iomux_config();

Copilot uses AI. Check for mistakes.

return uart5_iomux_config();

case HW_UART8:
return uart5_iomux_config();
Copy link
Preview

Copilot AI Aug 5, 2025

Choose a reason for hiding this comment

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

Incorrect function call for UART8 case. It should call 'uart8_iomux_config()' instead of 'uart5_iomux_config()'.

Suggested change
return uart5_iomux_config();
return uart8_iomux_config();

Copilot uses AI. Check for mistakes.

*
* Change Logs:
* Date Author Notes
* 2025-07-12 BruceOu the first verion
Copy link
Preview

Copilot AI Aug 5, 2025

Choose a reason for hiding this comment

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

Spelling error: 'verion' should be 'version'.

Suggested change
* 2025-07-12 BruceOu the first verion
* 2025-07-12 BruceOu the first version

Copilot uses AI. Check for mistakes.

*
* Change Logs:
* Date Author Notes
* 2025-07-12 BruceOu The first verion
Copy link
Preview

Copilot AI Aug 5, 2025

Choose a reason for hiding this comment

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

Spelling error: 'verion' should be 'version'.

Suggested change
* 2025-07-12 BruceOu The first verion
* 2025-07-12 BruceOu The first version

Copilot uses AI. Check for mistakes.

*
* Change Logs:
* Date Author Notes
* 2025-07-12 BruceOu The first verion
Copy link
Preview

Copilot AI Aug 5, 2025

Choose a reason for hiding this comment

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

Spelling error: 'verion' should be 'version'.

Suggested change
* 2025-07-12 BruceOu The first verion
* 2025-07-12 BruceOu The first version

Copilot uses AI. Check for mistakes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BSP: NXP Code related with NXP BSP
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants