[PATCH rtems-docs] user/imx: Add i.MX6UL/ULL.
Christian Mauderer
christian.mauderer at embedded-brains.de
Thu Apr 2 14:43:14 UTC 2020
Update #3869
---
user/bsps/arm/imx.rst | 49 ++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 46 insertions(+), 3 deletions(-)
diff --git a/user/bsps/arm/imx.rst b/user/bsps/arm/imx.rst
index bc93ae3..51c3b7e 100644
--- a/user/bsps/arm/imx.rst
+++ b/user/bsps/arm/imx.rst
@@ -7,9 +7,10 @@ imx (NXP i.MX)
==============
This BSP offers only one variant, the `imx7`. This variant supports the i.MX
-7Dual processor. The basic hardware initialization is not performed by the
-BSP. A boot loader with device tree support must be used to start the BSP,
-e.g. U-Boot.
+7Dual processor and the i.MX 6UL/ULL processor family (with slightly different
+clock settings). The basic hardware initialization is not performed by the BSP.
+A boot loader with device tree support must be used to start the BSP, e.g.
+U-Boot or barebox.
Build Configuration Options
---------------------------
@@ -40,9 +41,30 @@ The following options are available at the configure command line.
``IMX_CCM_UART_HZ``
The UART clock frequency in Hz (default is 24000000).
+``IMX_CCM_ECSPI_HZ``
+ The ECSPI clock frequency in Hz (default is 67500000).
+
``IMX_CCM_AHB_HZ``
The AHB clock frequency in Hz (default is 135000000).
+``IMX_CCM_SDHCI_HZ``
+ The SDHCI clock frequency in Hz (default is 196363000).
+
+Clock settings for different boards
+-----------------------------------
+
+The default clock settings are targeted for an i.MX 7Dual evaluation board using
+U-Boot. Some other boards with different boot loaders need different settings:
+
+ * Phytec phyCORE-i.MX 6ULL (system on module) with MCIMX6Y2CVM08AB and a
+ barebox bootloader (version ``2019.01.0-bsp-yocto-i.mx6ul-pd19.1.0``):
+
+ * IMX_CCM_IPG_HZ=66000000
+ * IMX_CCM_UART_HZ=80000000
+ * IMX_CCM_AHB_HZ=66000000
+ * IMX_CCM_SDHCI_HZ=198000000
+ * IMX_CCM_ECSPI_HZ=60000000
+
Boot via U-Boot
---------------
@@ -65,6 +87,14 @@ The ``loadfdt`` command may be not defined in your U-Boot environment. Just
replace it with the appropriate commands to load the device tree at
``${fdt_addr}``.
+Boot via barebox
+----------------
+
+The same command like for U-Boot can be used to generate an application image.
+In a default configuration barebox expects an fdt image called `oftree` and a
+kernel image called `zImage` in the root folder of the bootable medium (e.g. an
+SD card).
+
Clock Driver
------------
@@ -133,6 +163,18 @@ system controls:
A value of zero for the time or count disables the interrupt coalescing in the
corresponding direction.
+On the Phytec phyCORE-i.MX 6ULL modules the PHY needs an initialization for the
+clock. A special PHY driver handles that (``ksz8091rnb``). Add it to your libbsd
+config like that:
+
+.. code-block:: c
+
+ #define RTEMS_BSD_CONFIG_BSP_CONFIG
+ #define RTEMS_BSD_CONFIG_INIT
+ SYSINIT_DRIVER_REFERENCE(ksz8091rnb, miibus);
+ #include <machine/rtems-bsd-config.h>
+
+
MMC/SDCard Driver
-----------------
@@ -147,3 +189,4 @@ Caveats
The clock and pin configuration support is quite rudimentary and mostly relies
on the boot loader. For a pin group configuration see
``imx_iomux_configure_pins()``. There is no power management support.
+
--
2.16.4
More information about the devel
mailing list