Skip to content

bsp: imx9: Add BSP manual for i.MX 91/93 FPSC#449

Open
FPlohl wants to merge 3 commits into
mainfrom
WIP/florijan.plohl@norik.com/imx93-phyflex-doc
Open

bsp: imx9: Add BSP manual for i.MX 91/93 FPSC#449
FPlohl wants to merge 3 commits into
mainfrom
WIP/florijan.plohl@norik.com/imx93-phyflex-doc

Conversation

@FPlohl
Copy link
Copy Markdown
Contributor

@FPlohl FPlohl commented Apr 16, 2026

Adds the HEAD & PD26.1.0 BSP manual for the phyFLEX-i.MX 93 FPSC-Gamma along with supporting documentation. Also adds substitutions for the U-Boot eMMC devno inside bsp/imx-common/installing-os.rsti

@FPlohl FPlohl requested review from cstoidner and pfiser April 16, 2026 10:09
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We have a duplicate of this file for every Libra board I guess. Why not move this to a more generic place and rename it to something like gpios-libra.rsti. Use the https://github.com/phytec/doc-bsp-yocto/blob/main/source/bsp/imx8/imx8mp-fpsc/gpios.rsti as reference as I just updated it for .2 Libra revision.
So all SoMs using Libra can reuse the file.

Copy link
Copy Markdown
Contributor Author

@FPlohl FPlohl Apr 20, 2026

Choose a reason for hiding this comment

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

This would mean the base gpios.rsti also needs to be generic, since different SoMs have different addresses, number of GPIO banks, and GPIOs per bank.

I suggest we create a generic gpios.rsti and update all manuals to use that instead. I can open a separate PR for this, but is the current state good enough for now?

@FPlohl FPlohl force-pushed the WIP/florijan.plohl@norik.com/imx93-phyflex-doc branch from 482c136 to a52f379 Compare April 20, 2026 10:45
@FPlohl FPlohl requested a review from tremmet April 21, 2026 11:24
tremmet
tremmet previously approved these changes May 5, 2026
Comment thread source/bsp/imx9/imx91-93-fpsc/head.rst Outdated
Comment on lines +365 to +366
resistors are activated or not. In this case, the internal resistors are
disabled.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

In this case, the internal resistors are disabled.

This is wrong. Correct would be: "In this case, the internal pull ups are activated."

Comment thread source/bsp/imx9/imx91-93-fpsc/head.rst Outdated
* SoM Detection EEPROM (write-protected)

* Bus: I2C-1
* Address: 0x51
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is wrong. Correct address for SoM factory eeprom is 0x50.

Comment thread source/bsp/imx9/imx91-93-fpsc/head.rst Outdated
* User EEPROM

* Bus: I2C-1
* Address: 0x50
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is wrong. Correct address for SoM user eeprom is 0x51.

Comment on lines +96 to +106
.. |ref-bootswitch| replace:: :ref:`bootmode switch (S1) <imx91-93-fpsc-head-bootswitch>`
.. |ref-bsp-images| replace:: :ref:`BSP Images <imx91-93-fpsc-head-images>`
.. |ref-debugusbconnector| replace:: :ref:`(X14) <imx91-93-fpsc-head-components>`
.. |ref-dt| replace:: :ref:`device tree <imx91-93-fpsc-head-device-tree>`
.. |ref-supported-hardware| replace:: :ref:`Supported Hardware <imx91-93-fpsc-head-supported-hardware>`
.. |ref-getting-started| replace:: :ref:`Getting Started <imx91-93-fpsc-head-getting-started>`
.. |ref-network| replace:: :ref:`Network Environment Customization <imx91-93-fpsc-head-network>`
.. |ref-setup-network-host| replace:: :ref:`Setup Network Host <imx91-93-fpsc-head-development>`
.. |ref-usb-otg| replace:: :ref:`X18 <imx91-93-fpsc-head-components>`
.. |ref-build-uboot| replace:: :ref:`Build U-Boot <imx91-93-fpsc-head-development-build-uboot>`
.. |ref-format-sd| replace:: :ref:`Resizing ext4 Root Filesystem <imx91-93-fpsc-head-format-sd>`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Those references point to the head, not to the release.

Comment on lines +114 to +115
.. |ref-serial| replace:: :ref:`X27 <imx91-93-fpsc-head-components>`
.. |ref-S5| replace:: :ref:`S5 <imx91-93-fpsc-head-components>`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Those refs point to the head.

Comment thread source/bsp/imx9/imx91-93-fpsc/head.rst Outdated
.. |som| replace:: phyFLEX-|soc| FPSC-Gamma
.. |debug-uart| replace:: ttyLP3
.. |serial-uart| replace:: ttyLP1
.. |bluetooth-uart| replace:: UART3
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Bluetooth is connected via USB on the imx93 libra.

Comment thread source/bsp/imx9/imx91-93-fpsc/head.rst Outdated
Comment on lines +329 to +333
imx93-phyflex-libra-rdk-fpsc-lvds-ph128800t006-zhc01.dtbo
imx93-phyflex-libra-rdk-fpsc-peb-av-10.dtbo
imx93-phyflex-libra-rdk-fpsc-peb-av-12.dtbo
imx93-phyflex-libra-rdk-fpsc-vm016.dtbo
imx93-phyflex-libra-rdk-fpsc-vm020.dtbo
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The term "-fpsc" is not part of those filenames.

:scale: 400%

SPI NOR flash

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We dont have a jtag boot mode.

Comment thread source/bsp/imx9/imx91-93-fpsc/head.rst Outdated

imx93-phyflex-libra-rdk-fpsc-lvds-ph128800t006-zhc01.dtbo
imx93-phyflex-libra-rdk-fpsc-peb-av-10.dtbo
imx93-phyflex-libra-rdk-fpsc-peb-av-12.dtbo
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is named
imx93-phyflex-libra-rdk-peb-av-12-ph128800t006-zhc01.dtbo

@@ -0,0 +1,513 @@
.. Download links
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Most of the comments from the file 'head.rst' also apply to this file.
Please dont forget to apply/fix them also here in that file 'pd26.1.0.rst'.

Comment on lines +1 to +31
.. list-table::

* - .. figure:: /bsp/images/dipswitch-tristate-4-pppp.svg
:scale: 400%

Internal fuses

- .. figure:: /bsp/images/dipswitch-tristate-4-mppp.svg
:scale: 400%

USB serial download

* - .. figure:: /bsp/images/dipswitch-tristate-4-pmpp.svg
:scale: 400%

e.MMC

- .. figure:: /bsp/images/dipswitch-tristate-4-mmpp.svg
:scale: 400%

SD card

* - .. figure:: /bsp/images/dipswitch-tristate-4-pmmp.svg
:scale: 400%

SPI NOR flash

- .. figure:: /bsp/images/dipswitch-tristate-4-mmmm.svg
:scale: 400%

JTAG mode
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

There are three things to mention here:

  1. the boot mode for SPI NOR is wrong
  2. we dont have a JTAG mode
  3. onwards PCB revision 1618.3 the modes are inverted

Therefore please consider the change below:

Suggested change
.. list-table::
* - .. figure:: /bsp/images/dipswitch-tristate-4-pppp.svg
:scale: 400%
Internal fuses
- .. figure:: /bsp/images/dipswitch-tristate-4-mppp.svg
:scale: 400%
USB serial download
* - .. figure:: /bsp/images/dipswitch-tristate-4-pmpp.svg
:scale: 400%
e.MMC
- .. figure:: /bsp/images/dipswitch-tristate-4-mmpp.svg
:scale: 400%
SD card
* - .. figure:: /bsp/images/dipswitch-tristate-4-pmmp.svg
:scale: 400%
SPI NOR flash
- .. figure:: /bsp/images/dipswitch-tristate-4-mmmm.svg
:scale: 400%
JTAG mode
.. list-table::
* - .. figure:: /bsp/images/dipswitch-tristate-4-mmmm.svg
:scale: 400%
Internal fuses
- .. figure:: /bsp/images/dipswitch-tristate-4-pmmm.svg
:scale: 400%
USB serial download
* - .. figure:: /bsp/images/dipswitch-tristate-4-mpmm.svg
:scale: 400%
e.MMC
- .. figure:: /bsp/images/dipswitch-tristate-4-ppmm.svg
:scale: 400%
SD card
* - .. figure:: /bsp/images/dipswitch-tristate-4-mmpm.svg
:scale: 400%
SPI NOR flash
- .. none
:scale: 400%
.. note::
In the |sbc| PCB revision 1618.2, all boot mode switches are inverted.
This means for rev 1618.2 that in the illustration above, each switch's
(+) position must be used instead of the (-) position, and vice versa.

And I already created the newly needed dipswitch images for "source/bsp/images/":

  • source/bsp/images/dipswitch-tristate-4-mpmm.svg: Image

  • source/bsp/images/dipswitch-tristate-4-pmmm.svg: Image

  • source/bsp/images/dipswitch-tristate-4-ppmm.svg: Image

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I've added the three images to the main branch: ea04af4 But I had to recreate them. @cstoidner Yours are somehow broken, when I opened them.

FPlohl added 3 commits May 15, 2026 13:04
Replace hardcoded eMMC device number ("2") in U-Boot command
examples with existing |u-boot-emmc-devno| substitution.

Apply this consistently across all relevant code blocks and enable
substitutions where required.

Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
Add the HEAD BSP manual for the phyFLEX-i.MX 93 FPSC-Gamma along with
supporting documentation.

The imx91 variant of the SoM is not yet available, however prepare the
bsp manual's foldername to add the imx91 later.

Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
Add documentation notes for the PD26.1.0 i.MX91/93 FPSC release.

Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
@FPlohl FPlohl force-pushed the WIP/florijan.plohl@norik.com/imx93-phyflex-doc branch from a52f379 to ac80564 Compare May 27, 2026 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants