Skip to content

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看护

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

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

Copy link
Contributor

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

Copilot reviewed 76 out of 77 changed files in this pull request and generated 1 comment.

Comment on lines 34 to 36
static inline void rt_hw_earlycon_putc(char) {}
static inline void rt_hw_earlycon_puts(const char *) {}
static inline void rt_hw_earlycon_print_hex(const char *, rt_base_t) {}
Copy link

Copilot AI Dec 9, 2025

Choose a reason for hiding this comment

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

Missing parameter name in function declaration / 函数声明中缺少参数名

English: The inline function parameters are missing names. According to RT-Thread coding standards, parameter names should be included for better code readability.

中文:内联函数参数缺少名称。根据 RT-Thread 编码标准,应包含参数名称以提高代码可读性。

Example/示例:

static inline void rt_hw_earlycon_putc(char c) {}
static inline void rt_hw_earlycon_puts(const char *str) {}
static inline void rt_hw_earlycon_print_hex(const char *str, rt_base_t hex) {}

Copilot uses AI. Check for mistakes.
Copy link
Contributor

@rcitach rcitach left a comment

Choose a reason for hiding this comment

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

这个文件是否必须存在

Copy link
Contributor

@rcitach rcitach left a comment

Choose a reason for hiding this comment

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

注意

Copy link
Contributor

@rcitach rcitach left a comment

Choose a reason for hiding this comment

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

Copy link
Contributor

@rcitach rcitach left a comment

Choose a reason for hiding this comment

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

config.bufsz = RT_SERIAL_RB_BUFSZ;

// #ifdef BSP_USING_EARLY_CONSOLE
// rt_ioremap_early((void*)CCM_CTRL_BASE, CCM_CTRL_SIZE);
Copy link
Contributor

Choose a reason for hiding this comment

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

对于启用MMU的soc,需要使用ioremap对外设做映射

#endif

/* map LPUART1/CCM_CTRL/GIC_DISTRIBUTOR/GIC_REDISTRIBUTOR virtual address to equals physical address */
rt_ioremap_early((void*)LPUART1_BASE, GIC_REDISTRIBUTOR_BASE + GIC_REDISTRIBUTOR_SIZE - LPUART1_BASE);
Copy link
Contributor

Choose a reason for hiding this comment

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

mmu_setup之后 rt_ioremap_early 接口就不应该再继续使用了

@xusiwei xusiwei changed the title [bsp][nxp][imx] WIP: Add FRDM-i.MX91 bsp [bsp][nxp][imx] Add FRDM-i.MX91 bsp Dec 9, 2025
@xusiwei
Copy link
Contributor Author

xusiwei commented Dec 9, 2025

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

done!

@xusiwei xusiwei force-pushed the master branch 2 times, most recently from 33de741 to 45d4eec Compare December 9, 2025 19:26
@github-actions
Copy link

github-actions bot commented Dec 9, 2025

📌 Code Review Assignment

🏷️ Tag: workflow

Reviewers: Rbb666 kurisaW supperthomas

Changed Files (Click to expand)
  • .github/ALL_BSP_COMPILE.json

📊 Current Review Status (Last Updated: 2025-12-12 00:47 CST)

  • Rbb666 Pending Review
  • kurisaW Pending Review
  • supperthomas Pending Review

📝 Review Instructions

  1. 维护者可以通过单击此处来刷新审查状态: 🔄 刷新状态
    Maintainers can refresh the review status by clicking here: 🔄 Refresh Status

  2. 确认审核通过后评论 LGTM/lgtm
    Comment LGTM/lgtm after confirming approval

  3. PR合并前需至少一位维护者确认
    PR must be confirmed by at least one maintainer before merging

ℹ️ 刷新CI状态操作需要具备仓库写入权限。
ℹ️ Refresh CI status operation requires repository Write permission.

@github-actions github-actions bot added the action github action yml imporve label Dec 9, 2025
@xusiwei xusiwei force-pushed the master branch 5 times, most recently from efc16b5 to cbb41d3 Compare December 10, 2025 14:25
@xusiwei
Copy link
Contributor Author

xusiwei commented Dec 11, 2025

请添加此BSP的CI看护

Done

@Rbb666 Rbb666 merged commit b75828f into RT-Thread:master Dec 12, 2025
86 of 87 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action github action yml imporve BSP: NXP Code related with NXP BSP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants