user/imx: Add i.MX6UL/ULL.

Update #3869
This commit is contained in:
Christian Mauderer 2020-04-01 15:14:57 +02:00
parent 7b7efb2ed0
commit 01b1f479a3

View File

@ -7,9 +7,10 @@ imx (NXP i.MX)
============== ==============
This BSP offers only one variant, the `imx7`. This variant supports the 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 7Dual processor and the i.MX 6UL/ULL processor family (with slightly different
BSP. A boot loader with device tree support must be used to start the BSP, clock settings). The basic hardware initialization is not performed by the BSP.
e.g. U-Boot. A boot loader with device tree support must be used to start the BSP, e.g.
U-Boot or barebox.
Build Configuration Options Build Configuration Options
--------------------------- ---------------------------
@ -40,9 +41,30 @@ The following options are available at the configure command line.
``IMX_CCM_UART_HZ`` ``IMX_CCM_UART_HZ``
The UART clock frequency in Hz (default is 24000000). 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`` ``IMX_CCM_AHB_HZ``
The AHB clock frequency in Hz (default is 135000000). 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 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 replace it with the appropriate commands to load the device tree at
``${fdt_addr}``. ``${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 Clock Driver
------------ ------------
@ -133,6 +163,17 @@ system controls:
A value of zero for the time or count disables the interrupt coalescing in the A value of zero for the time or count disables the interrupt coalescing in the
corresponding direction. 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 MMC/SDCard Driver
----------------- -----------------