[PATCH] user: Split the ARM BSPs source into separate files.

chrisj at rtems.org chrisj at rtems.org
Fri Jun 14 06:42:23 UTC 2019


From: Chris Johns <chrisj at rtems.org>

---
 user/bsps/bsp-altera-cyclone-v.rst |  83 ++++++
 user/bsps/bsp-atsam.rst            |   8 +
 user/bsps/bsp-beagle.rst           |   8 +
 user/bsps/bsp-csb336.rst           |   8 +
 user/bsps/bsp-csb337.rst           |   8 +
 user/bsps/bsp-edb7312.rst          |   8 +
 user/bsps/bsp-gdbarmsim.rst        |   8 +
 user/bsps/bsp-gumstix.rst          |   8 +
 user/bsps/bsp-imx.rst              | 149 +++++++++++
 user/bsps/bsp-lm3s69xx.rst         |   8 +
 user/bsps/bsp-lpc176x.rst          |   8 +
 user/bsps/bsp-lpc24xx.rst          |  78 ++++++
 user/bsps/bsp-raspberrypi.rst      |   8 +
 user/bsps/bsp-realview-pbx-a9.rst  |   8 +
 user/bsps/bsp-rtl22xx.rst          |   8 +
 user/bsps/bsp-smdk2410.rst         |   8 +
 user/bsps/bsp-stm32f4.rst          |   8 +
 user/bsps/bsp-tms570.rst           |   8 +
 user/bsps/bsp-xilinx-zynq.rst      |   8 +
 user/bsps/bsps-arm.rst             | 402 ++---------------------------
 20 files changed, 458 insertions(+), 382 deletions(-)
 create mode 100644 user/bsps/bsp-altera-cyclone-v.rst
 create mode 100644 user/bsps/bsp-atsam.rst
 create mode 100644 user/bsps/bsp-beagle.rst
 create mode 100644 user/bsps/bsp-csb336.rst
 create mode 100644 user/bsps/bsp-csb337.rst
 create mode 100644 user/bsps/bsp-edb7312.rst
 create mode 100644 user/bsps/bsp-gdbarmsim.rst
 create mode 100644 user/bsps/bsp-gumstix.rst
 create mode 100644 user/bsps/bsp-imx.rst
 create mode 100644 user/bsps/bsp-lm3s69xx.rst
 create mode 100644 user/bsps/bsp-lpc176x.rst
 create mode 100644 user/bsps/bsp-lpc24xx.rst
 create mode 100644 user/bsps/bsp-raspberrypi.rst
 create mode 100644 user/bsps/bsp-realview-pbx-a9.rst
 create mode 100644 user/bsps/bsp-rtl22xx.rst
 create mode 100644 user/bsps/bsp-smdk2410.rst
 create mode 100644 user/bsps/bsp-stm32f4.rst
 create mode 100644 user/bsps/bsp-tms570.rst
 create mode 100644 user/bsps/bsp-xilinx-zynq.rst

diff --git a/user/bsps/bsp-altera-cyclone-v.rst b/user/bsps/bsp-altera-cyclone-v.rst
new file mode 100644
index 0000000..14c026c
--- /dev/null
+++ b/user/bsps/bsp-altera-cyclone-v.rst
@@ -0,0 +1,83 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2017, 2019 embedded brains GmbH
+.. Copyright (C) 2017, 2019 Sebastian Huber
+
+altera-cyclone-v (Intel Cyclone V)
+==================================
+
+This BSP offers only one variant, the `altcycv_devkit`.  This variant supports
+the Intel Cyclone V system on chip.  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.
+
+The BSP is known to run on these boards:
+
+* `Cyclone V SoC Development Kit <https://www.intel.com/content/www/us/en/programmable/products/boards_and_kits/dev-kits/altera/kit-cyclone-v-soc.html>`_
+
+* `Enclustra Mars MA3 SoC Module <https://www.enclustra.com/en/products/system-on-chip-modules/mars-ma3/>`_
+
+* `Terasic DE10-Standard Development Kit <https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=165&No=1081>`_
+
+Boot via U-Boot
+---------------
+
+The application executable file (ELF file) must be converted to an U-Boot
+image.  Use the following commands:
+
+.. code-block:: none
+
+    arm-rtems5-objcopy -O binary app.exe app.bin
+    gzip -9 -f -c app.bin > app.bin.gz
+    mkimage -A arm -O linux -T kernel -a 0x00300000 -e 0x00300000 -n RTEMS -d app.bin.gz app.img
+
+Use the following U-Boot commands to boot an application via TFTP download:
+
+.. code-block:: none
+
+    tftpboot ${loadaddr} app.img && run loadfdt && bootm ${loadaddr} - ${fdt_addr} ; reset
+
+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}``.
+
+Clock Driver
+------------
+
+The clock driver uses the `Cortex-A9 MPCore Global Timer`.
+
+Console Driver
+--------------
+
+The console driver supports up to two on-chip NS16550 UARTs.  The console
+driver does not configure the pins.
+
+I2C Driver
+----------
+
+There is a legacy I2C driver.  It should be converted to the I2C driver framework.
+
+Network Interface Driver
+------------------------
+
+The network interface driver is provided by the `libbsd`.  It is initialized
+according to the device tree.  It supports checksum offload.
+
+MMC/SDCard Driver
+-----------------
+
+The MMC/SDCard driver is provided by the `libbsd`.  It is
+initialized according to the device tree.  Pin re-configuration according to
+the serial clock frequency is not supported.  DMA transfers are supported.
+
+USB Host Driver
+---------------
+
+The USB host driver is provided by the `libbsd`.  It is initialized according
+to the device tree.  The driver works in polled mode.
+
+Caveats
+-------
+
+The clock and pin configuration support is quite rudimentary and mostly relies
+on the boot loader.
diff --git a/user/bsps/bsp-atsam.rst b/user/bsps/bsp-atsam.rst
new file mode 100644
index 0000000..db65026
--- /dev/null
+++ b/user/bsps/bsp-atsam.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+atsam
+=====
+
+TODO.
diff --git a/user/bsps/bsp-beagle.rst b/user/bsps/bsp-beagle.rst
new file mode 100644
index 0000000..a36efde
--- /dev/null
+++ b/user/bsps/bsp-beagle.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+beagle
+======
+
+TODO.
diff --git a/user/bsps/bsp-csb336.rst b/user/bsps/bsp-csb336.rst
new file mode 100644
index 0000000..7894f45
--- /dev/null
+++ b/user/bsps/bsp-csb336.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+csb336
+======
+
+TODO.
diff --git a/user/bsps/bsp-csb337.rst b/user/bsps/bsp-csb337.rst
new file mode 100644
index 0000000..6f7d927
--- /dev/null
+++ b/user/bsps/bsp-csb337.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+csb337
+======
+
+TODO.
diff --git a/user/bsps/bsp-edb7312.rst b/user/bsps/bsp-edb7312.rst
new file mode 100644
index 0000000..8d91a34
--- /dev/null
+++ b/user/bsps/bsp-edb7312.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+edb7312
+=======
+
+TODO.
diff --git a/user/bsps/bsp-gdbarmsim.rst b/user/bsps/bsp-gdbarmsim.rst
new file mode 100644
index 0000000..26ea90c
--- /dev/null
+++ b/user/bsps/bsp-gdbarmsim.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+gdbarmsim
+=========
+
+TODO.
diff --git a/user/bsps/bsp-gumstix.rst b/user/bsps/bsp-gumstix.rst
new file mode 100644
index 0000000..6ab98ae
--- /dev/null
+++ b/user/bsps/bsp-gumstix.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+gumstix
+=======
+
+TODO.
diff --git a/user/bsps/bsp-imx.rst b/user/bsps/bsp-imx.rst
new file mode 100644
index 0000000..bc93ae3
--- /dev/null
+++ b/user/bsps/bsp-imx.rst
@@ -0,0 +1,149 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2017, 2019 embedded brains GmbH
+.. Copyright (C) 2017, 2019 Sebastian Huber
+
+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.
+
+Build Configuration Options
+---------------------------
+
+The following options are available at the configure command line.
+
+``BSP_PRESS_KEY_FOR_RESET``
+    If defined to a non-zero value, then print a message and wait until pressed
+    before resetting board when application terminates.
+
+``BSP_RESET_BOARD_AT_EXIT``
+    If defined to a non-zero value, then reset the board when the application
+    terminates.
+
+``BSP_PRINT_EXCEPTION_CONTEXT``
+    If defined to a non-zero value, then print the exception context when an
+    unexpected exception occurs.
+
+``BSP_FDT_BLOB_SIZE_MAX``
+    The maximum size of the device tree blob in bytes (default is 262144).
+
+``CONSOLE_USE_INTERRUPTS``
+    Use interrupt driven mode for console devices (enabled by default).
+
+``IMX_CCM_IPG_HZ``
+   The IPG clock frequency in Hz (default is 67500000).
+
+``IMX_CCM_UART_HZ``
+   The UART clock frequency in Hz (default is 24000000).
+
+``IMX_CCM_AHB_HZ``
+   The AHB clock frequency in Hz (default is 135000000).
+
+Boot via U-Boot
+---------------
+
+The application executable file (ELF file) must be converted to an U-Boot
+image.  Use the following commands:
+
+.. code-block:: none
+
+    arm-rtems5-objcopy -O binary app.exe app.bin
+    gzip -9 -f -c app.bin > app.bin.gz
+    mkimage -A arm -O linux -T kernel -a 0x80200000 -e 0x80200000 -n RTEMS -d app.bin.gz app.img
+
+Use the following U-Boot commands to boot an application via TFTP download:
+
+.. code-block:: none
+
+    tftpboot ${loadaddr} app.img && run loadfdt && bootm ${loadaddr} - ${fdt_addr} ; reset
+
+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}``.
+
+Clock Driver
+------------
+
+The clock driver uses the `ARMv7-AR Generic Timer`.
+
+Console Driver
+--------------
+
+The console driver supports up to seven on-chip UARTs.  They are initialized
+according to the device tree.  The console driver does not configure the pins.
+
+I2C Driver
+----------
+
+I2C drivers are registered by the ``i2c_bus_register_imx()`` function.  The I2C
+driver does not configure the pins.
+
+.. code-block:: c
+
+    #include <assert.h>
+    #include <bsp.h>
+
+    void i2c_init(void)
+    {
+      int rv;
+
+      rv = i2c_bus_register_imx("/dev/i2c-0", "i2c0");
+      assert(rv == 0);
+    }
+
+SPI Driver
+----------
+
+SPI drivers are registered by the ``spi_bus_register_imx()`` function.  The SPI
+driver configures the pins according to the ``pinctrl-0`` device tree property.
+SPI transfers with a continuous chip select are limited by the FIFO size of 64
+bytes.  The driver has no DMA support.
+
+.. code-block:: c
+
+    #include <assert.h>
+    #include <bsp.h>
+
+    void spi_init(void)
+    {
+      int rv;
+
+      rv =  spi_bus_register_imx("/dev/spi-0", "spi0");
+      assert(rv == 0);
+    }
+
+Network Interface Driver
+------------------------
+
+The network interface driver is provided by the `libbsd`.  It is initialized
+according to the device tree.  It supports checksum offload and interrupt
+coalescing.  IPv6 transmit checksum offload is not implemented.  The interrupt
+coalescing uses the MII/GMII clocks and can be controlled by the following
+system controls:
+
+ * ``dev.ffec.<unit>.int_coal.rx_time``
+ * ``dev.ffec.<unit>.int_coal.rx_count``
+ * ``dev.ffec.<unit>.int_coal.tx_time``
+ * ``dev.ffec.<unit>.int_coal.tx_count``
+
+A value of zero for the time or count disables the interrupt coalescing in the
+corresponding direction.
+
+MMC/SDCard Driver
+-----------------
+
+The MMC/SDCard driver (uSDHC module) is provided by the `libbsd`.  It is
+initialized according to the device tree.  Pin re-configuration according to
+the serial clock frequency is not supported.  Data transfers are extremely
+slow.  This is probably due to the missing DMA support.
+
+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.
diff --git a/user/bsps/bsp-lm3s69xx.rst b/user/bsps/bsp-lm3s69xx.rst
new file mode 100644
index 0000000..15101ba
--- /dev/null
+++ b/user/bsps/bsp-lm3s69xx.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+lm3s69xx
+========
+
+TODO.
diff --git a/user/bsps/bsp-lpc176x.rst b/user/bsps/bsp-lpc176x.rst
new file mode 100644
index 0000000..663fe4e
--- /dev/null
+++ b/user/bsps/bsp-lpc176x.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+lpc176x
+=======
+
+TODO.
diff --git a/user/bsps/bsp-lpc24xx.rst b/user/bsps/bsp-lpc24xx.rst
new file mode 100644
index 0000000..ecf1d84
--- /dev/null
+++ b/user/bsps/bsp-lpc24xx.rst
@@ -0,0 +1,78 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2017, 2019 embedded brains GmbH
+.. Copyright (C) 2017, 2019 Sebastian Huber
+
+lpc24xx (NXP LPC17XX/LPC24XX/LPC40XX)
+=====================================
+
+This BSP offers only several variants.  The following variants support the
+`Embedded Artits LPC4088 Developer's Kit <https://www.embeddedartists.com/products/lpc4088-developers-kit/>`_
+and earlier board generations:
+
+* lpc17xx_ea_ram
+
+* lpc17xx_ea_rom_int
+
+* lpc24xx_ea
+
+* lpc40xx_ea_ram
+
+* lpc40xx_ea_rom_int
+
+They can be used as a base line for customization.  The basic hardware
+initialization is performed by the BSP.  It can be customized via configuration
+options and configuration tables.  See also
+`<bsp/start-config.h> <https://git.rtems.org/rtems/tree/bsps/arm/lpc24xx/include/bsp/start-config.h>`_.
+
+Clock Driver
+------------
+
+The clock driver of the Cortex-M variants uses the `ARMv7-M Systick`.  The
+older ARM7TDMI variants use the `TMR0` timer module.
+
+Console Driver
+--------------
+
+The console driver supports up to four on-chip UARTs.  Initialization can be
+customized via the ``lpc24xx_uart_probe_1()``, ``lpc24xx_uart_probe_2()`` and
+``lpc24xx_uart_probe_3()`` functions.
+
+I2C Bus Driver
+--------------
+
+I2C bus drivers are registered by the ``lpc24xx_register_i2c_0()``,
+``lpc24xx_register_i2c_1()`` and ``lpc24xx_register_i2c_2()`` functions.  The
+I2C driver does not configure the pins.  See also
+`<bsp/i2c.h> <https://git.rtems.org/rtems/tree/bsps/arm/lpc24xx/include/bsp/i2c.h>`_.
+
+SPI Bus Driver
+--------------
+
+SPI bus drivers are registered by the ``lpc24xx_register_ssp_0()``,
+``lpc24xx_register_ssp_1()`` and ``lpc24xx_register_ssp_2()`` functions.  The
+SSP driver does not configure the pins.  See also
+`<bsp/ssp.h> <https://git.rtems.org/rtems/tree/bsps/arm/lpc24xx/include/bsp/ssp.h>`_.
+
+Network Interface Driver
+------------------------
+
+Only a legacy network driver is support.  For a `libbsd` base driver the
+platform support is missing, see
+`if_lpe.c <https://git.rtems.org/rtems-libbsd/tree/rtemsbsd/sys/arm/lpc/if_lpe.c>`_.
+
+USB Driver
+----------
+
+The USB host driver (OHCI) is provided by the `libbsd`.
+
+Framebuffer Driver
+------------------
+
+For a custom framebuffer driver see
+`<bsp/lcd.h> <https://git.rtems.org/rtems/tree/bsps/arm/lpc24xx/include/bsp/lcd.h>`_.
+
+RTC Driver
+----------
+
+There is a standard RTC driver available using the on-chip RTC module.
diff --git a/user/bsps/bsp-raspberrypi.rst b/user/bsps/bsp-raspberrypi.rst
new file mode 100644
index 0000000..4ef75bd
--- /dev/null
+++ b/user/bsps/bsp-raspberrypi.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+raspberrypi
+===========
+
+TODO.
diff --git a/user/bsps/bsp-realview-pbx-a9.rst b/user/bsps/bsp-realview-pbx-a9.rst
new file mode 100644
index 0000000..96710a0
--- /dev/null
+++ b/user/bsps/bsp-realview-pbx-a9.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+realview-pbx-a9
+===============
+
+TODO.
diff --git a/user/bsps/bsp-rtl22xx.rst b/user/bsps/bsp-rtl22xx.rst
new file mode 100644
index 0000000..74b3235
--- /dev/null
+++ b/user/bsps/bsp-rtl22xx.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+rtl22xx
+=======
+
+TODO.
diff --git a/user/bsps/bsp-smdk2410.rst b/user/bsps/bsp-smdk2410.rst
new file mode 100644
index 0000000..ef3bbad
--- /dev/null
+++ b/user/bsps/bsp-smdk2410.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+smdk2410
+========
+
+TODO.
diff --git a/user/bsps/bsp-stm32f4.rst b/user/bsps/bsp-stm32f4.rst
new file mode 100644
index 0000000..23e764e
--- /dev/null
+++ b/user/bsps/bsp-stm32f4.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+stm32f4
+=======
+
+TODO.
diff --git a/user/bsps/bsp-tms570.rst b/user/bsps/bsp-tms570.rst
new file mode 100644
index 0000000..593407a
--- /dev/null
+++ b/user/bsps/bsp-tms570.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+tms570
+======
+
+TODO.
diff --git a/user/bsps/bsp-xilinx-zynq.rst b/user/bsps/bsp-xilinx-zynq.rst
new file mode 100644
index 0000000..909b23e
--- /dev/null
+++ b/user/bsps/bsp-xilinx-zynq.rst
@@ -0,0 +1,8 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 TBD
+
+xilinx-zynq
+===========
+
+TODO.
diff --git a/user/bsps/bsps-arm.rst b/user/bsps/bsps-arm.rst
index eb972c6..8e1befd 100644
--- a/user/bsps/bsps-arm.rst
+++ b/user/bsps/bsps-arm.rst
@@ -6,385 +6,23 @@
 arm (ARM)
 *********
 
-altera-cyclone-v (Intel Cyclone V)
-==================================
-
-This BSP offers only one variant, the `altcycv_devkit`.  This variant supports
-the Intel Cyclone V system on chip.  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.
-
-The BSP is known to run on these boards:
-
-* `Cyclone V SoC Development Kit <https://www.intel.com/content/www/us/en/programmable/products/boards_and_kits/dev-kits/altera/kit-cyclone-v-soc.html>`_
-
-* `Enclustra Mars MA3 SoC Module <https://www.enclustra.com/en/products/system-on-chip-modules/mars-ma3/>`_
-
-* `Terasic DE10-Standard Development Kit <https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=165&No=1081>`_
-
-Boot via U-Boot
----------------
-
-The application executable file (ELF file) must be converted to an U-Boot
-image.  Use the following commands:
-
-.. code-block:: none
-
-    arm-rtems5-objcopy -O binary app.exe app.bin
-    gzip -9 -f -c app.bin > app.bin.gz
-    mkimage -A arm -O linux -T kernel -a 0x00300000 -e 0x00300000 -n RTEMS -d app.bin.gz app.img
-
-Use the following U-Boot commands to boot an application via TFTP download:
-
-.. code-block:: none
-
-    tftpboot ${loadaddr} app.img && run loadfdt && bootm ${loadaddr} - ${fdt_addr} ; reset
-
-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}``.
-
-Clock Driver
-------------
-
-The clock driver uses the `Cortex-A9 MPCore Global Timer`.
-
-Console Driver
---------------
-
-The console driver supports up to two on-chip NS16550 UARTs.  The console
-driver does not configure the pins.
-
-I2C Driver
-----------
-
-There is a legacy I2C driver.  It should be converted to the I2C driver framework.
-
-Network Interface Driver
-------------------------
-
-The network interface driver is provided by the `libbsd`.  It is initialized
-according to the device tree.  It supports checksum offload.
-
-MMC/SDCard Driver
------------------
-
-The MMC/SDCard driver is provided by the `libbsd`.  It is
-initialized according to the device tree.  Pin re-configuration according to
-the serial clock frequency is not supported.  DMA transfers are supported.
-
-USB Host Driver
----------------
-
-The USB host driver is provided by the `libbsd`.  It is initialized according
-to the device tree.  The driver works in polled mode.
-
-Caveats
--------
-
-The clock and pin configuration support is quite rudimentary and mostly relies
-on the boot loader.
-
-atsam
-=====
-
-TODO.
-
-beagle
-======
-
-TODO.
-
-csb336
-======
-
-TODO.
-
-csb337
-======
-
-TODO.
-
-edb7312
-=======
-
-TODO.
-
-gdbarmsim
-=========
-
-TODO.
-
-gumstix
-=======
-
-TODO.
-
-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.
-
-Build Configuration Options
----------------------------
-
-The following options are available at the configure command line.
-
-``BSP_PRESS_KEY_FOR_RESET``
-    If defined to a non-zero value, then print a message and wait until pressed
-    before resetting board when application terminates.
-
-``BSP_RESET_BOARD_AT_EXIT``
-    If defined to a non-zero value, then reset the board when the application
-    terminates.
-
-``BSP_PRINT_EXCEPTION_CONTEXT``
-    If defined to a non-zero value, then print the exception context when an
-    unexpected exception occurs.
-
-``BSP_FDT_BLOB_SIZE_MAX``
-    The maximum size of the device tree blob in bytes (default is 262144).
-
-``CONSOLE_USE_INTERRUPTS``
-    Use interrupt driven mode for console devices (enabled by default).
-
-``IMX_CCM_IPG_HZ``
-   The IPG clock frequency in Hz (default is 67500000).
-
-``IMX_CCM_UART_HZ``
-   The UART clock frequency in Hz (default is 24000000).
-
-``IMX_CCM_AHB_HZ``
-   The AHB clock frequency in Hz (default is 135000000).
-
-Boot via U-Boot
----------------
-
-The application executable file (ELF file) must be converted to an U-Boot
-image.  Use the following commands:
-
-.. code-block:: none
-
-    arm-rtems5-objcopy -O binary app.exe app.bin
-    gzip -9 -f -c app.bin > app.bin.gz
-    mkimage -A arm -O linux -T kernel -a 0x80200000 -e 0x80200000 -n RTEMS -d app.bin.gz app.img
-
-Use the following U-Boot commands to boot an application via TFTP download:
-
-.. code-block:: none
-
-    tftpboot ${loadaddr} app.img && run loadfdt && bootm ${loadaddr} - ${fdt_addr} ; reset
-
-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}``.
-
-Clock Driver
-------------
-
-The clock driver uses the `ARMv7-AR Generic Timer`.
-
-Console Driver
---------------
-
-The console driver supports up to seven on-chip UARTs.  They are initialized
-according to the device tree.  The console driver does not configure the pins.
-
-I2C Driver
-----------
-
-I2C drivers are registered by the ``i2c_bus_register_imx()`` function.  The I2C
-driver does not configure the pins.
-
-.. code-block:: c
-
-    #include <assert.h>
-    #include <bsp.h>
-
-    void i2c_init(void)
-    {
-      int rv;
-
-      rv = i2c_bus_register_imx("/dev/i2c-0", "i2c0");
-      assert(rv == 0);
-    }
-
-SPI Driver
-----------
-
-SPI drivers are registered by the ``spi_bus_register_imx()`` function.  The SPI
-driver configures the pins according to the ``pinctrl-0`` device tree property.
-SPI transfers with a continuous chip select are limited by the FIFO size of 64
-bytes.  The driver has no DMA support.
-
-.. code-block:: c
-
-    #include <assert.h>
-    #include <bsp.h>
-
-    void spi_init(void)
-    {
-      int rv;
-
-      rv =  spi_bus_register_imx("/dev/spi-0", "spi0");
-      assert(rv == 0);
-    }
-
-Network Interface Driver
-------------------------
-
-The network interface driver is provided by the `libbsd`.  It is initialized
-according to the device tree.  It supports checksum offload and interrupt
-coalescing.  IPv6 transmit checksum offload is not implemented.  The interrupt
-coalescing uses the MII/GMII clocks and can be controlled by the following
-system controls:
-
- * ``dev.ffec.<unit>.int_coal.rx_time``
- * ``dev.ffec.<unit>.int_coal.rx_count``
- * ``dev.ffec.<unit>.int_coal.tx_time``
- * ``dev.ffec.<unit>.int_coal.tx_count``
-
-A value of zero for the time or count disables the interrupt coalescing in the
-corresponding direction.
-
-MMC/SDCard Driver
------------------
-
-The MMC/SDCard driver (uSDHC module) is provided by the `libbsd`.  It is
-initialized according to the device tree.  Pin re-configuration according to
-the serial clock frequency is not supported.  Data transfers are extremely
-slow.  This is probably due to the missing DMA support.
-
-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.
-
-lm3s69xx
-========
-
-TODO.
-
-lpc176x
-=======
-
-TODO.
-
-lpc24xx (NXP LPC17XX/LPC24XX/LPC40XX)
-=====================================
-
-This BSP offers only several variants.  The following variants support the
-`Embedded Artits LPC4088 Developer's Kit <https://www.embeddedartists.com/products/lpc4088-developers-kit/>`_
-and earlier board generations:
-
-* lpc17xx_ea_ram
-
-* lpc17xx_ea_rom_int
-
-* lpc24xx_ea
-
-* lpc40xx_ea_ram
-
-* lpc40xx_ea_rom_int
-
-They can be used as a base line for customization.  The basic hardware
-initialization is performed by the BSP.  It can be customized via configuration
-options and configuration tables.  See also
-`<bsp/start-config.h> <https://git.rtems.org/rtems/tree/bsps/arm/lpc24xx/include/bsp/start-config.h>`_.
-
-Clock Driver
-------------
-
-The clock driver of the Cortex-M variants uses the `ARMv7-M Systick`.  The
-older ARM7TDMI variants use the `TMR0` timer module.
-
-Console Driver
---------------
-
-The console driver supports up to four on-chip UARTs.  Initialization can be
-customized via the ``lpc24xx_uart_probe_1()``, ``lpc24xx_uart_probe_2()`` and
-``lpc24xx_uart_probe_3()`` functions.
-
-I2C Bus Driver
---------------
-
-I2C bus drivers are registered by the ``lpc24xx_register_i2c_0()``,
-``lpc24xx_register_i2c_1()`` and ``lpc24xx_register_i2c_2()`` functions.  The
-I2C driver does not configure the pins.  See also
-`<bsp/i2c.h> <https://git.rtems.org/rtems/tree/bsps/arm/lpc24xx/include/bsp/i2c.h>`_.
-
-SPI Bus Driver
---------------
-
-SPI bus drivers are registered by the ``lpc24xx_register_ssp_0()``,
-``lpc24xx_register_ssp_1()`` and ``lpc24xx_register_ssp_2()`` functions.  The
-SSP driver does not configure the pins.  See also
-`<bsp/ssp.h> <https://git.rtems.org/rtems/tree/bsps/arm/lpc24xx/include/bsp/ssp.h>`_.
-
-Network Interface Driver
-------------------------
-
-Only a legacy network driver is support.  For a `libbsd` base driver the
-platform support is missing, see
-`if_lpe.c <https://git.rtems.org/rtems-libbsd/tree/rtemsbsd/sys/arm/lpc/if_lpe.c>`_.
-
-USB Driver
-----------
-
-The USB host driver (OHCI) is provided by the `libbsd`.
-
-Framebuffer Driver
-------------------
-
-For a custom framebuffer driver see
-`<bsp/lcd.h> <https://git.rtems.org/rtems/tree/bsps/arm/lpc24xx/include/bsp/lcd.h>`_.
-
-RTC Driver
-----------
-
-There is a standard RTC driver available using the on-chip RTC module.
-
-lpc32xx
-=======
-
-TODO.
-
-raspberrypi
-===========
-
-TODO.
-
-realview-pbx-a9
-===============
-
-TODO.
-
-rtl22xx
-=======
-
-TODO.
-
-smdk2410
-========
-
-TODO.
-
-stm32f4
-=======
-
-TODO.
-
-tms570
-======
-
-TODO.
-
-xilinx-zynq
-===========
-
-TODO.
+.. include:: bsp-altera-cyclone-v.rst
+.. include:: bsp-atsam.rst
+.. include:: bsp-beagle.rst
+.. include:: bsp-csb336.rst
+.. include:: bsp-csb337.rst
+.. include:: bsp-edb7312.rst
+.. include:: bsp-gdbarmsim.rst
+.. include:: bsp-gumstix.rst
+.. include:: bsp-imx.rst
+.. include:: bsp-lm3s69xx.rst
+.. include:: bsp-lpc176x.rst
+.. include:: bsp-imx.rst
+.. include:: bsp-lpc32xx.rst
+.. include:: bsp-raspberrypi.rst
+.. include:: bsp-realview-pbx-a9.rst
+.. include:: bsp-rtl22xx.rst
+.. include:: bsp-smdk2410.rst
+.. include:: bsp-stm32f4.rst
+.. include:: bsp-tms570.rst
+.. include:: bsp-xilinx-zynq.rst
-- 
2.19.1



More information about the devel mailing list