Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 14 additions & 10 deletions source/bsp/imx-common/installing-os.rsti
Original file line number Diff line number Diff line change
Expand Up @@ -139,14 +139,15 @@ Load your image via network to RAM:
Write the image to the e.MMC:

.. code-block::
:substitutions:

u-boot=> mmc dev 2
u-boot=> mmc dev |u-boot-emmc-devno|
switch to partitions #0, OK
mmc2(part 0) is current device
mmc|u-boot-emmc-devno|(part 0) is current device
u-boot=> setexpr nblk ${filesize} / 0x200
u-boot=> mmc write ${loadaddr} 0x0 ${nblk}

MMC write: dev # 2, block # 0, count 1780942 ... 1780942 blocks written: OK
MMC write: dev # |u-boot-emmc-devno|, block # 0, count 1780942 ... 1780942 blocks written: OK

Flash e.MMC U-Boot image via Network from running U-Boot
........................................................
Expand All @@ -165,7 +166,7 @@ Load image over tftp into RAM and then write it to e.MMC:

u-boot=> tftp ${loadaddr} imx-boot
u-boot=> setexpr nblk ${filesize} / 0x200
u-boot=> mmc dev 2
u-boot=> mmc dev |u-boot-emmc-devno|
u-boot=> mmc write ${loadaddr} |u-boot-mmc-flash-offset| ${nblk}

.. hint::
Expand Down Expand Up @@ -253,14 +254,15 @@ Load your image from the USB device to RAM:
Write the image to the e.MMC:

.. code-block::
:substitutions:

u-boot=> mmc dev 2
u-boot=> mmc dev |u-boot-emmc-devno|
switch to partitions #0, OK
mmc2(part 0) is current device
mmc|u-boot-emmc-devno|(part 0) is current device
u-boot=> setexpr nblk ${filesize} / 0x200
u-boot=> mmc write 0x58000000 0x0 ${nblk}

MMC write: dev # 2, block # 0, count 1024000 ... 1024000 blocks written: OK
MMC write: dev # |u-boot-emmc-devno|, block # 0, count 1024000 ... 1024000 blocks written: OK
u-boot=> boot

.. flash-emmc-from-sdcard-marker
Expand Down Expand Up @@ -351,24 +353,26 @@ Flash e.MMC from SD card in U-Boot on Target
* Switch the mmc dev to e.MMC:

.. code-block::
:substitutions:

u-boot=> mmc list
FSL_SDHC: 1 (SD)
FSL_SDHC: 2 (eMMC)
u-boot=> mmc dev 2
u-boot=> mmc dev |u-boot-emmc-devno|
switch to partitions #0, OK
mmc2(part 0) is current device
mmc|u-boot-emmc-devno|(part 0) is current device

* Flash your WIC image (for example |yocto-imagename|.rootfs.wic)
from the SD card to e.MMC. This will partition the card and copy imx-boot,
Image, dtb, dtbo, and root file system to e.MMC.

.. code-block::
:substitutions:

u-boot=> setexpr nblk ${filesize} / 0x200
u-boot=> mmc write ${loadaddr} 0x0 ${nblk}

MMC write: dev # 2, block # 0, count 1780942 ... 1780942 blocks written: OK
MMC write: dev # |u-boot-emmc-devno|, block # 0, count 1780942 ... 1780942 blocks written: OK

* Power off the board and change the |ref-bootswitch| to e.MMC.

Expand Down
1 change: 1 addition & 0 deletions source/bsp/imx9/imx9.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ i.MX 9
:maxdepth: 2

phyCORE-i.MX 91/93 Manuals <imx91-93/imx91-93.rst>
phyFLEX-i.MX 91/93 Manuals <imx91-93-fpsc/imx91-93-fpsc.rst>
phyFLEX-i.MX 95 FPSC Manuals <imx95-fpsc/imx95-fpsc.rst>
34 changes: 34 additions & 0 deletions source/bsp/imx9/imx91-93-fpsc/bootmode-switch.rsti
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
.. 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

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.

- .. 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.
14 changes: 14 additions & 0 deletions source/bsp/imx9/imx91-93-fpsc/components.rsti
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
|sbc| Components
................

.. figure:: /bsp/imx9/imx91-93-fpsc/images/Libra-front-components.jpg
:align: center
:width: 90 %

**Libra Components (top)**

.. figure:: /bsp/imx9/imx91-93-fpsc/images/Libra-back-components.jpg
:align: center
:width: 85 %

**Libra Components (bottom)**
23 changes: 23 additions & 0 deletions source/bsp/imx9/imx91-93-fpsc/display.rsti
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Display
-------

.. supported-display-interfaces-marker-start

The |kit| supports up to 2 different display outputs: LVDS and MIPI-DSI.
The BSP contains two different device tree overlays:

* ``imx93-phyflex-libra-rdk-lvds-ph128800t006-zhc01.dtbo`` for LVDS
* ``imx93-phyflex-libra-rdk-peb-av-12-ph128800t006-zhc01.dtbo`` for MIPI-DSI

Both overlays are for the display Powertip display PH12800T006 (AC209).
For LVDS the display is connected directly to the |sbc|. For MIPI-DSI the
Phytec PEB-AV-12 adapter is used between |sbc| and the display.

.. supported-display-interfaces-marker-end

.. code-block::
:substitutions:

[output]
name=LVDS-1
mode=preferred
22 changes: 22 additions & 0 deletions source/bsp/imx9/imx91-93-fpsc/gpios.rsti

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.

@FPlohl FPlohl Apr 20, 2026

Copy link
Copy Markdown
Contributor Author

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?

Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
.. include:: ../peripherals/gpios.rsti
:end-before: .. gpio-gpiochip-table

* GPIO expander

Beside the GPIOs of the |soc| SoC, the |sbc| has two GPIO expanders, which add
more GPIOs to the system.

.. code-block:: console

gpiochip4 [2-0021] (16 lines)
gpiochip5 [3-0021] (16 lines)

DT configuration for the GPIO expanders can be found here:

|dt-gpio-expander1|

|dt-gpio-expander2|

.. include:: ../peripherals/gpios.rsti
:start-after: .. gpio-gpiochip-table

Loading
Loading