This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new a4637613d8 Documentation: migrate STM32F7
a4637613d8 is described below

commit a4637613d8f1cda308b2343ca301652e3aa8f8c3
Author: raiden00pl <[email protected]>
AuthorDate: Wed Aug 23 10:20:25 2023 +0200

    Documentation: migrate STM32F7
---
 .../arm/stm32f7/boards/nucleo-f722/index.rst       | 379 +++++++++++++
 .../arm/stm32f7/boards/nucleo-f746/index.rst       | 421 ++++++++++++++
 .../arm/stm32f7/boards/nucleo-f767/index.rst       | 423 ++++++++++++++
 .../arm/stm32f7/boards/steval-eth001v1/index.rst   |  18 +
 .../arm/stm32f7/boards/stm32f746-ws/index.rst      |   3 +
 .../arm/stm32f7/boards/stm32f746g-disco/index.rst  | 302 ++++++++++
 .../arm/stm32f7/boards/stm32f769i-disco/index.rst  |  90 +--
 .../stm32f7/boards/stm32f777zit6-meadow/index.rst  |   3 +
 Documentation/platforms/arm/stm32f7/index.rst      | 434 +++++++++++++++
 boards/arm/stm32f7/nucleo-144/README.txt           | 605 ---------------------
 boards/arm/stm32f7/steval-eth001v1/README.txt      |  18 -
 boards/arm/stm32f7/stm32f746g-disco/README.txt     | 537 ------------------
 .../stm32f7/stm32f746g-disco/configs/fb/README.txt |  33 --
 .../stm32f746g-disco/configs/nxdemo/README.txt     |  50 --
 .../stm32f746g-disco/configs/nxterm/README.txt     |  42 --
 15 files changed, 2032 insertions(+), 1326 deletions(-)

diff --git a/Documentation/platforms/arm/stm32f7/boards/nucleo-f722/index.rst 
b/Documentation/platforms/arm/stm32f7/boards/nucleo-f722/index.rst
new file mode 100644
index 0000000000..198538c59e
--- /dev/null
+++ b/Documentation/platforms/arm/stm32f7/boards/nucleo-f722/index.rst
@@ -0,0 +1,379 @@
+================
+ST Nucleo F722ZE
+================
+
+This README discusses issues unique to NuttX configurations for the STMicro
+Nucleo-144 board.  See ST document STM32 Nucleo-144 boards (UM1974):
+
+https://www.st.com/resource/en/user_manual/dm00244518.pdf
+
+Board Features
+--------------
+
+- Peripherals: 8 leds, 2 push button (3 LEDs, 1 button) under software control
+- Debug: STLINK/V2-1 debugger/programmer Uses a STM32F103CB to
+  provide a ST-Link for programming, debug similar to the
+  OpenOcd FTDI function - USB to JTAG front-end.
+- Expansion I/F: ST Zio and Extended Arduino and Morpho Headers
+
+Hardware
+========
+
+GPIO - there are 144 I/O lines on the STM32F7xxZxT6 with various pins pined out
+on the Nucleo 144.
+
+See https://developer.mbed.org/platforms/ST-Nucleo-F746ZG/ for slick graphic
+pinouts.
+
+Keep in mind that:
+
+- The I/O is 3.3 Volt not 5 Volt like on the Arduino products.
+- The Nucleo-144 board family has 3 pages of Solder Bridges AKA Solder
+  Blobs (SB) that can alter the factory configuration. We will note SB
+  in effect but will assume the factory default settings.
+
+Our main concern is establishing a console and LED utilization for
+debugging. Because so many pins can be multiplexed with so many functions,
+the above mentioned graphic may be helpful in identifying a serial port.
+
+There are 5 choices that can be made from the menuconfig::
+
+  CONFIG_NUCLEO_CONSOLE_ARDUINO or CONFIG_NUCLEO_CONSOLE_MORPHO or
+  CONFIG_NUCLEO_CONSOLE_MORPHO_UART4 or CONFIG_NUCLEO_CONSOLE_VIRTUAL or
+  CONFIG_NUCLEO_CONSOLE_NONE
+
+The CONFIG_NUCLEO_CONSOLE_NONE makes no preset for the console. You should 
still
+visit the U[S]ART selection and Device Drivers to disable any U[S]ART 
remaining.
+
+The CONFIG_NUCLEO_CONSOLE_ARDUINO configurations assume that you are using a
+standard Arduino RS-232 shield with the serial interface with RX on pin D0 and
+TX on pin D1 from USART6::
+
+            -------- ---------------
+                        STM32F7
+            ARDUIONO FUNCTION  GPIO
+            -- ----- --------- -----
+            DO RX    USART6_RX PG9
+            D1 TX    USART6_TX PG14
+            -- ----- --------- -----
+
+The CONFIG_NUCLEO_CONSOLE_MORPHO configurations uses Serial Port 8 (USART8)
+with TX on PE1 and RX on PE0.::
+
+            Serial
+            ------
+            SERIAL_RX         PE_0
+            SERIAL_TX         PE_1
+
+The CONFIG_NUCLEO_CONSOLE_MORPHO_UART4 configurations uses Serial Port 4 
(UART4)
+with TX on PA1 and RX on PA0. Zero Ohm resistor / solder short at
+SB13 must be removed/open. (Disables Ethernet MII clocking.)::
+
+            Serial
+            ------
+            SERIAL_RX         PA_1  CN11 30
+            SERIAL_TX         PA_0  CN11 28
+
+The CONFIG_NUCLEO_CONSOLE_VIRTUAL configurations uses Serial Port 3 (USART3)
+with TX on PD8 and RX on PD9.::
+
+            Serial
+            ------
+            SERIAL_RX         PD9
+            SERIAL_TX         PD8
+
+These signals are internally connected to the on board ST-Link.
+
+Of course if your design has used those pins you can choose a completely
+different U[S]ART to use as the console. In that Case, you will need to edit
+the include/board.h to select different U[S]ART and / or pin selections.
+
+Buttons
+-------
+
+B1 USER: the user button is connected to the I/O PC13 (Tamper support, SB173
+ON and SB180 OFF)
+
+LEDs
+----
+
+The Board provides a 3 user LEDs, LD1-LD3::
+
+  LED1 (Green)      PB_0  (SB120 ON and SB119 OFF)
+  LED2 (Blue)       PB_7  (SB139 ON)
+  LED3 (Red)        PB_14 (SP118 ON)
+
+- When the I/O is HIGH value, the LEDs are on.
+- When the I/O is LOW, the LEDs are off.
+
+These LEDs are not used by the board port unless CONFIG_ARCH_LEDS is
+defined.  In that case, the usage by the board port is defined in
+include/board.h and src/stm32_autoleds.c. The LEDs are used to encode OS
+related events as follows when the LEDs are available:
+
+  ===================  =======================   ===  ===== ====
+  SYMBOL                Meaning                  RED  GREEN BLUE
+  ===================  =======================   ===  ===== ====
+  LED_STARTED          NuttX has been started    OFF  OFF   OFF
+  LED_HEAPALLOCATE     Heap has been allocated   OFF  OFF   ON
+  LED_IRQSENABLED      Interrupts enabled        OFF  ON    OFF
+  LED_STACKCREATED     Idle stack created        OFF  ON    ON
+  LED_INIRQ            In an interrupt           NC   NC    ON  (momentary)
+  LED_SIGNAL           In a signal handler       NC   ON    OFF (momentary)
+  LED_ASSERTION        An assertion failed       ON   NC    ON  (momentary)
+  LED_PANIC            The system has crashed    ON   OFF   OFF (flashing 2Hz)
+  LED_IDLE             MCU is is sleep mode      ON   OFF   OFF
+  ===================  =======================   ===  ===== ====
+
+OFF -    means that the OS is still initializing. Initialization is very fast
+         so if you see this at all, it probably means that the system is
+         hanging up somewhere in the initialization phases.
+
+GREEN -  This means that the OS completed initialization.
+
+BLUE  -  Whenever and interrupt or signal handler is entered, the BLUE LED is
+         illuminated and extinguished when the interrupt or signal handler
+         exits.
+
+VIOLET - If a recovered assertion occurs, the RED and blue LED will be
+         illuminated briefly while the assertion is handled.  You will
+         probably never see this.
+
+Flashing RED - In the event of a fatal crash, all other LEDs will be
+          extinguished and RED LED will FLASH at a 2Hz rate.
+
+  Thus if the GREEN LED is lit, NuttX has successfully booted and is,
+  apparently, running normally.  If the RED LED is flashing at
+  approximately 2Hz, then a fatal error has been detected and the system has
+  halted.
+
+Serial Consoles
+===============
+
+USART6 (CONFIG_NUCLEO_CONSOLE_ARDUINO)
+--------------------------------------
+
+    ======= ========== =====
+    ARDUINO FUNCTION   GPIO
+    ======= ========== =====
+    DO RX   USART6_RX  PG9
+    D1 TX   USART6_TX  PG14
+    ======= ========== =====
+
+You must use a 3.3 TTL to RS-232 converter or a USB to 3.3V TTL
+
+::
+
+    Nucleo 144           FTDI TTL-232R-3V3
+    -------------       -------------------
+    TXD - D1-TXD   -    RXD - Pin 5 (Yellow)
+    RXD - D0-RXD   -    TXD - Pin 4 (Orange)
+    GND   GND      -    GND   Pin 1  (Black)
+    -------------       -------------------
+
+    *Note you will be reverse RX/TX
+
+Use make menuconfig to configure USART6 as the console::
+
+    CONFIG_STM32F7_USART6=y
+    CONFIG_USARTs_SERIALDRIVER=y
+    CONFIG_USARTS_SERIAL_CONSOLE=y
+    CONFIG_USART6_RXBUFSIZE=256
+    CONFIG_USART6_TXBUFSIZE=256
+    CONFIG_USART6_BAUD=115200
+    CONFIG_USART6_BITS=8
+    CONFIG_USART6_PARITY=0
+    CONFIG_USART6_2STOP=0
+
+USART8 (CONFIG_NUCLEO_CONSOLE_MORPHO)
+-------------------------------------
+
+Pins and Connectors::
+
+    FUNC GPIO  Connector
+                   Pin NAME
+    ---- ---   ------- ----
+    TXD: PE1   CN11-61, PE1
+    RXD: PE0   CN12-64, PE0
+               CN10-33, D34
+    ---- ---   ------- ----
+
+You must use a 3.3 TTL to RS-232 converter or a USB to 3.3V TTL::
+
+    Nucleo 144           FTDI TTL-232R-3V3
+    -------------       -------------------
+    TXD - CN11-61   -   RXD - Pin 5 (Yellow)
+    RXD - CN12-64   -   TXD - Pin 4 (Orange)
+    GND   CN12-63   -   GND   Pin 1  (Black)
+    -------------       -------------------
+
+    *Note you will be reverse RX/TX
+
+Use make menuconfig to configure USART8 as the console::
+
+    CONFIG_STM32F7_UART8=y
+    CONFIG_UART8_SERIALDRIVER=y
+    CONFIG_UART8_SERIAL_CONSOLE=y
+    CONFIG_UART8_RXBUFSIZE=256
+    CONFIG_UART8_TXBUFSIZE=256
+    CONFIG_UART8_BAUD=115200
+    CONFIG_UART8_BITS=8
+    CONFIG_UART8_PARITY=0
+    CONFIG_UART8_2STOP=0
+
+Virtual COM Port (CONFIG_NUCLEO_CONSOLE_VIRTUAL)
+------------------------------------------------
+
+Yet another option is to use USART3 and the USB virtual COM port.  This
+option may be more convenient for long term development, but is painful
+to use during board bring-up.
+
+Solder Bridges.  This configuration requires::
+
+    PD8 USART3 TX SB5 ON and SB7 OFF (Default)
+    PD9 USART3 RX SB6 ON and SB4 OFF (Default)
+
+Configuring USART3 is the same as given above but add the S and #3.
+
+Question:  What BAUD should be configure to interface with the Virtual
+COM port?  115200 8N1?
+
+Default:
+
+As shipped, SB4 and SB7 are open and SB5 and SB6 closed, so the
+virtual COM port is enabled.
+
+SPI
+---
+
+Since this board is so generic, having a quick way to set the SPI
+configuration seams in order. So the board provides a quick test
+that can be selected vi CONFIG_NUCLEO_SPI_TEST that will initialize
+the selected buses (SPI1-SPI3) and send some text on the bus at
+application initialization time board_app_initialize.
+
+SDIO
+----
+
+To test the SD performance one can use a SparkFun microSD Sniffer
+from https://www.sparkfun.com/products/9419 or similar board
+and connect it as follows::
+
+          VCC    V3.3 CN11  16
+          GND    GND  CN11-8
+          CMD    PD2  CN11-4
+          CLK    PC12 CN11-3
+          DAT0 - PC8  CN12-2
+          DAT1 - PC9  CN12-1
+          DAT2   PC10 CN11-1
+          CD     PC11 CN11-2
+
+
+Configurations
+==============
+
+f7xx-nsh
+--------
+
+Configures the NuttShell (nsh) located at apps/examples/nsh for the
+Nucleo-144 boards.  The Configuration enables the serial interfaces
+on USART6.  Support for builtin applications is enabled, but in the base
+configuration no builtin applications are selected (see NOTES below).
+
+NOTES:
+
+1. This configuration uses the mconf-based configuration tool.  To
+   change this configuration using that tool, you should:
+
+   a. Build and install the kconfig-mconf tool.  See nuttx/README.txt
+      see additional README.txt files in the NuttX tools repository.
+
+   b. If this is the initial configuration then execute::
+
+           ./tools/configure.sh nucleo-144:nsh
+
+      in nuttx/ in order to start configuration process.
+      Caution: Doing this step more than once will overwrite .config with
+      the contents of the nucleo-144/nsh/defconfig file.
+
+   c. Execute 'make oldconfig' in nuttx/ in order to refresh the
+      configuration.
+
+   d. Execute 'make menuconfig' in nuttx/ in order to start the
+      reconfiguration process.
+
+   e. Save the .config file to reuse it in the future starting at step d.
+
+2. By default, this configuration uses the ARM GNU toolchain
+   for Linux.  That can easily be reconfigured, of course.::
+
+     CONFIG_HOST_LINUX=y                     : Builds under Linux
+     CONFIG_ARM_TOOLCHAIN_GNU_EABI=y      : ARM GNU for Linux
+
+3. The serial console may be configured to use either USART3 (which would
+     correspond to the Virtual COM port) or with the console device
+     configured for USART6 to support an Arduino serial shield (see
+     instructions above under "Serial Consoles).  You will need to check the
+     defconfig file to see how the console is set up and, perhaps, modify
+     the configuration accordingly.
+
+     To select the Virtual COM port::
+
+       -CONFIG_NUCLEO_CONSOLE_ARDUINO
+       +CONFIG_NUCLEO_CONSOLE_VIRTUAL=y
+       -CONFIG_USART6_SERIAL_CONSOLE=y
+       +CONFIG_USART3_SERIAL_CONSOLE=y
+
+     To select the Arduino serial shield::
+
+       -CONFIG_NUCLEO_CONSOLE_VIRTUAL=y
+       +CONFIG_NUCLEO_CONSOLE_ARDUINO
+       -CONFIG_USART3_SERIAL_CONSOLE=y
+       +CONFIG_USART6_SERIAL_CONSOLE=y
+
+     Default values for other settings associated with the select USART should
+     be correct.
+
+f7xx-evalos:
+------------
+
+This configuration is designed to test the features of the board.
+
+- Configures the NuttShell (nsh) located at apps/examples/nsh for the
+  Nucleo-144 boards. The console is available on serial interface USART3,
+  which is accessible over the USB ST-Link interface.
+- Configures nsh with advanced features such as autocompletion.
+- Configures the on-board LEDs to work with the 'leds' example app.
+- Configures the \'helloxx\' example app.
+- Adds character device for i2c1
+- Tries to register mpu60x0 IMU to i2c1
+
+NOTES:
+
+1. This configuration uses the mconf-based configuration tool.  To
+   change this configuration using that tool, you should:
+
+   a. Build and install the kconfig-mconf tool.  See nuttx/README.txt
+      see additional README.txt files in the NuttX tools repository.
+
+   b. If this is the initial configuration then execute::
+
+          ./tools/configure.sh nucleo-144:evalos
+
+      in nuttx/ in order to start configuration process.
+      Caution: Doing this step more than once will overwrite .config with
+      the contents of the nucleo-144/evalos/defconfig file.
+
+   c. Execute 'make oldconfig' in nuttx/ in order to refresh the
+      configuration.
+
+   d. Execute 'make menuconfig' in nuttx/ in order to start the
+      reconfiguration process.
+
+   e. Save the .config file to reuse it in the future starting at step d.
+
+2. By default, this configuration uses the ARM GNU toolchain
+   for Linux.  That can easily be reconfigured, of course.::
+
+    CONFIG_HOST_LINUX=y                     : Builds under Linux
+    CONFIG_ARM_TOOLCHAIN_GNU_EABI=y      : ARM GNU for Linux
diff --git a/Documentation/platforms/arm/stm32f7/boards/nucleo-f746/index.rst 
b/Documentation/platforms/arm/stm32f7/boards/nucleo-f746/index.rst
new file mode 100644
index 0000000000..bcdc4d17e2
--- /dev/null
+++ b/Documentation/platforms/arm/stm32f7/boards/nucleo-f746/index.rst
@@ -0,0 +1,421 @@
+================
+ST Nucleo F746ZG
+================
+
+This README discusses issues unique to NuttX configurations for the STMicro
+Nucleo-144 board.  See ST document STM32 Nucleo-144 boards (UM1974):
+
+https://www.st.com/resource/en/user_manual/dm00244518.pdf
+
+Board Features
+--------------
+
+- Peripherals: 8 leds, 2 push button (3 LEDs, 1 button) under software control
+- Debug: STLINK/V2-1 debugger/programmer Uses a STM32F103CB to
+  provide a ST-Link for programming, debug similar to the
+  OpenOcd FTDI function - USB to JTAG front-end.
+- Expansion I/F: ST Zio and Extended Arduino and Morpho Headers
+
+ST Nucleo F746ZG board from ST Micro is supported.  See
+
+http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-nucleo/nucleo-f746zg.html
+
+The Nucleo F746ZG order part number is NUCLEO-F746ZG. It is one member of
+the STM32 Nucleo-144 board family.
+
+NUCLEO-F746ZG Features
+----------------------
+
+- Microprocessor: STM32F746ZGT6 Core: ARM 32-bit Cortex®-M7 CPU with FPU,
+  L1-cache: 4KB data cache and 4KB instruction cache, up to
+  216 MHz, MPU, and DSP instructions.
+- Memory: 1024 KB Flash 320KB of SRAM (including 64KB of data TCM RAM)
+  + 16KB of instruction TCM RAM + 4KB of backup SRAM
+- ADC:3×12-bit, 2.4 MSPS ADC: up to 24 channels and 7.2 MSPS in
+  triple interleaved mode
+- DMA: 2 X 16-stream DMA controllers with FIFOs and burst support
+- Timers: Up to 18 timers: up to thirteen 16-bit (1x 16-bit low power),
+  two 32-bit timers, 2x watchdogs, SysTick
+- GPIO: 114 I/O ports with interrupt capability
+- LCD: LCD-TFT Controller with (DMA2D), Parallel interface
+- I2C: 4 × I2C interfaces (SMBus/PMBus)
+- U[S]ARTs: 4 USARTs, 4 UARTs (27 Mbit/s, ISO7816 interface, LIN, IrDA, modem 
control)
+- SPI/12Ss: 6/3 (simplex) (up to 50 Mbit/s), 3 with muxed simplex I2S
+  for audio class accuracy via internal audio PLL or external clock
+- QSPI: Dual mode Quad-SPI
+- SAIs: 2 Serial Audio Interfaces
+- CAN:  2 X CAN interface
+- SDMMC interface
+- SPDIFRX interface
+- USB: USB 2.0 full-speed device/host/OTG controller with on-chip PHY
+- 10/100 Ethernet: MAC with dedicated DMA: supports IEEE 1588v2 hardware,
+  MII/RMII
+- Camera Interface: 8/14 Bit
+- CRC calculation unit
+- TRG: True random number generator
+- RTC
+
+See https://developer.mbed.org/platforms/ST-Nucleo-F746ZG  for additional
+information about this board.
+
+Hardware
+========
+
+GPIO - there are 144 I/O lines on the STM32F7xxZxT6 with various pins pined out
+on the Nucleo 144.
+
+See https://developer.mbed.org/platforms/ST-Nucleo-F746ZG/ for slick graphic
+pinouts.
+
+Keep in mind that:
+
+- The I/O is 3.3 Volt not 5 Volt like on the Arduino products.
+- The Nucleo-144 board family has 3 pages of Solder Bridges AKA Solder
+  Blobs (SB) that can alter the factory configuration. We will note SB
+  in effect but will assume the factory default settings.
+
+Our main concern is establishing a console and LED utilization for
+debugging. Because so many pins can be multiplexed with so many functions,
+the above mentioned graphic may be helpful in identifying a serial port.
+
+There are 5 choices that can be made from the menuconfig::
+
+  CONFIG_NUCLEO_CONSOLE_ARDUINO or CONFIG_NUCLEO_CONSOLE_MORPHO or
+  CONFIG_NUCLEO_CONSOLE_MORPHO_UART4 or CONFIG_NUCLEO_CONSOLE_VIRTUAL or
+  CONFIG_NUCLEO_CONSOLE_NONE
+
+The CONFIG_NUCLEO_CONSOLE_NONE makes no preset for the console. You should 
still
+visit the U[S]ART selection and Device Drivers to disable any U[S]ART 
remaining.
+
+The CONFIG_NUCLEO_CONSOLE_ARDUINO configurations assume that you are using a
+standard Arduino RS-232 shield with the serial interface with RX on pin D0 and
+TX on pin D1 from USART6::
+
+            -------- ---------------
+                        STM32F7
+            ARDUIONO FUNCTION  GPIO
+            -- ----- --------- -----
+            DO RX    USART6_RX PG9
+            D1 TX    USART6_TX PG14
+            -- ----- --------- -----
+
+The CONFIG_NUCLEO_CONSOLE_MORPHO configurations uses Serial Port 8 (USART8)
+with TX on PE1 and RX on PE0.::
+
+            Serial
+            ------
+            SERIAL_RX         PE_0
+            SERIAL_TX         PE_1
+
+The CONFIG_NUCLEO_CONSOLE_MORPHO_UART4 configurations uses Serial Port 4 
(UART4)
+with TX on PA1 and RX on PA0. Zero Ohm resistor / solder short at
+SB13 must be removed/open. (Disables Ethernet MII clocking.)::
+
+            Serial
+            ------
+            SERIAL_RX         PA_1  CN11 30
+            SERIAL_TX         PA_0  CN11 28
+
+The CONFIG_NUCLEO_CONSOLE_VIRTUAL configurations uses Serial Port 3 (USART3)
+with TX on PD8 and RX on PD9.::
+
+            Serial
+            ------
+            SERIAL_RX         PD9
+            SERIAL_TX         PD8
+
+These signals are internally connected to the on board ST-Link.
+
+Of course if your design has used those pins you can choose a completely
+different U[S]ART to use as the console. In that Case, you will need to edit
+the include/board.h to select different U[S]ART and / or pin selections.
+
+Buttons
+-------
+
+B1 USER: the user button is connected to the I/O PC13 (Tamper support, SB173
+ON and SB180 OFF)
+
+LEDs
+----
+
+The Board provides a 3 user LEDs, LD1-LD3::
+
+  LED1 (Green)      PB_0  (SB120 ON and SB119 OFF)
+  LED2 (Blue)       PB_7  (SB139 ON)
+  LED3 (Red)        PB_14 (SP118 ON)
+
+- When the I/O is HIGH value, the LEDs are on.
+- When the I/O is LOW, the LEDs are off.
+
+These LEDs are not used by the board port unless CONFIG_ARCH_LEDS is
+defined.  In that case, the usage by the board port is defined in
+include/board.h and src/stm32_autoleds.c. The LEDs are used to encode OS
+related events as follows when the LEDs are available:
+
+  ===================  =======================   ===  ===== ====
+  SYMBOL                Meaning                  RED  GREEN BLUE
+  ===================  =======================   ===  ===== ====
+  LED_STARTED          NuttX has been started    OFF  OFF   OFF
+  LED_HEAPALLOCATE     Heap has been allocated   OFF  OFF   ON
+  LED_IRQSENABLED      Interrupts enabled        OFF  ON    OFF
+  LED_STACKCREATED     Idle stack created        OFF  ON    ON
+  LED_INIRQ            In an interrupt           NC   NC    ON  (momentary)
+  LED_SIGNAL           In a signal handler       NC   ON    OFF (momentary)
+  LED_ASSERTION        An assertion failed       ON   NC    ON  (momentary)
+  LED_PANIC            The system has crashed    ON   OFF   OFF (flashing 2Hz)
+  LED_IDLE             MCU is is sleep mode      ON   OFF   OFF
+  ===================  =======================   ===  ===== ====
+
+OFF -    means that the OS is still initializing. Initialization is very fast
+         so if you see this at all, it probably means that the system is
+         hanging up somewhere in the initialization phases.
+
+GREEN -  This means that the OS completed initialization.
+
+BLUE  -  Whenever and interrupt or signal handler is entered, the BLUE LED is
+         illuminated and extinguished when the interrupt or signal handler
+         exits.
+
+VIOLET - If a recovered assertion occurs, the RED and blue LED will be
+         illuminated briefly while the assertion is handled.  You will
+         probably never see this.
+
+Flashing RED - In the event of a fatal crash, all other LEDs will be
+          extinguished and RED LED will FLASH at a 2Hz rate.
+
+  Thus if the GREEN LED is lit, NuttX has successfully booted and is,
+  apparently, running normally.  If the RED LED is flashing at
+  approximately 2Hz, then a fatal error has been detected and the system has
+  halted.
+
+Serial Consoles
+===============
+
+USART6 (CONFIG_NUCLEO_CONSOLE_ARDUINO)
+--------------------------------------
+
+    ======= ========== =====
+    ARDUINO FUNCTION   GPIO
+    ======= ========== =====
+    DO RX   USART6_RX  PG9
+    D1 TX   USART6_TX  PG14
+    ======= ========== =====
+
+You must use a 3.3 TTL to RS-232 converter or a USB to 3.3V TTL
+
+::
+
+    Nucleo 144           FTDI TTL-232R-3V3
+    -------------       -------------------
+    TXD - D1-TXD   -    RXD - Pin 5 (Yellow)
+    RXD - D0-RXD   -    TXD - Pin 4 (Orange)
+    GND   GND      -    GND   Pin 1  (Black)
+    -------------       -------------------
+
+    *Note you will be reverse RX/TX
+
+Use make menuconfig to configure USART6 as the console::
+
+    CONFIG_STM32F7_USART6=y
+    CONFIG_USARTs_SERIALDRIVER=y
+    CONFIG_USARTS_SERIAL_CONSOLE=y
+    CONFIG_USART6_RXBUFSIZE=256
+    CONFIG_USART6_TXBUFSIZE=256
+    CONFIG_USART6_BAUD=115200
+    CONFIG_USART6_BITS=8
+    CONFIG_USART6_PARITY=0
+    CONFIG_USART6_2STOP=0
+
+USART8 (CONFIG_NUCLEO_CONSOLE_MORPHO)
+-------------------------------------
+
+Pins and Connectors::
+
+    FUNC GPIO  Connector
+                   Pin NAME
+    ---- ---   ------- ----
+    TXD: PE1   CN11-61, PE1
+    RXD: PE0   CN12-64, PE0
+               CN10-33, D34
+    ---- ---   ------- ----
+
+You must use a 3.3 TTL to RS-232 converter or a USB to 3.3V TTL::
+
+    Nucleo 144           FTDI TTL-232R-3V3
+    -------------       -------------------
+    TXD - CN11-61   -   RXD - Pin 5 (Yellow)
+    RXD - CN12-64   -   TXD - Pin 4 (Orange)
+    GND   CN12-63   -   GND   Pin 1  (Black)
+    -------------       -------------------
+
+    *Note you will be reverse RX/TX
+
+Use make menuconfig to configure USART8 as the console::
+
+    CONFIG_STM32F7_UART8=y
+    CONFIG_UART8_SERIALDRIVER=y
+    CONFIG_UART8_SERIAL_CONSOLE=y
+    CONFIG_UART8_RXBUFSIZE=256
+    CONFIG_UART8_TXBUFSIZE=256
+    CONFIG_UART8_BAUD=115200
+    CONFIG_UART8_BITS=8
+    CONFIG_UART8_PARITY=0
+    CONFIG_UART8_2STOP=0
+
+Virtual COM Port (CONFIG_NUCLEO_CONSOLE_VIRTUAL)
+------------------------------------------------
+
+Yet another option is to use USART3 and the USB virtual COM port.  This
+option may be more convenient for long term development, but is painful
+to use during board bring-up.
+
+Solder Bridges.  This configuration requires::
+
+    PD8 USART3 TX SB5 ON and SB7 OFF (Default)
+    PD9 USART3 RX SB6 ON and SB4 OFF (Default)
+
+Configuring USART3 is the same as given above but add the S and #3.
+
+Question:  What BAUD should be configure to interface with the Virtual
+COM port?  115200 8N1?
+
+Default:
+
+As shipped, SB4 and SB7 are open and SB5 and SB6 closed, so the
+virtual COM port is enabled.
+
+SPI
+---
+
+Since this board is so generic, having a quick way to set the SPI
+configuration seams in order. So the board provides a quick test
+that can be selected vi CONFIG_NUCLEO_SPI_TEST that will initialize
+the selected buses (SPI1-SPI3) and send some text on the bus at
+application initialization time board_app_initialize.
+
+SDIO
+----
+
+To test the SD performance one can use a SparkFun microSD Sniffer
+from https://www.sparkfun.com/products/9419 or similar board
+and connect it as follows::
+
+          VCC    V3.3 CN11  16
+          GND    GND  CN11-8
+          CMD    PD2  CN11-4
+          CLK    PC12 CN11-3
+          DAT0 - PC8  CN12-2
+          DAT1 - PC9  CN12-1
+          DAT2   PC10 CN11-1
+          CD     PC11 CN11-2
+
+
+Configurations
+==============
+
+f7xx-nsh
+--------
+
+Configures the NuttShell (nsh) located at apps/examples/nsh for the
+Nucleo-144 boards.  The Configuration enables the serial interfaces
+on USART6.  Support for builtin applications is enabled, but in the base
+configuration no builtin applications are selected (see NOTES below).
+
+NOTES:
+
+1. This configuration uses the mconf-based configuration tool.  To
+   change this configuration using that tool, you should:
+
+   a. Build and install the kconfig-mconf tool.  See nuttx/README.txt
+      see additional README.txt files in the NuttX tools repository.
+
+   b. If this is the initial configuration then execute::
+
+           ./tools/configure.sh nucleo-144:nsh
+
+      in nuttx/ in order to start configuration process.
+      Caution: Doing this step more than once will overwrite .config with
+      the contents of the nucleo-144/nsh/defconfig file.
+
+   c. Execute 'make oldconfig' in nuttx/ in order to refresh the
+      configuration.
+
+   d. Execute 'make menuconfig' in nuttx/ in order to start the
+      reconfiguration process.
+
+   e. Save the .config file to reuse it in the future starting at step d.
+
+2. By default, this configuration uses the ARM GNU toolchain
+   for Linux.  That can easily be reconfigured, of course.::
+
+     CONFIG_HOST_LINUX=y                     : Builds under Linux
+     CONFIG_ARM_TOOLCHAIN_GNU_EABI=y      : ARM GNU for Linux
+
+3. The serial console may be configured to use either USART3 (which would
+     correspond to the Virtual COM port) or with the console device
+     configured for USART6 to support an Arduino serial shield (see
+     instructions above under "Serial Consoles).  You will need to check the
+     defconfig file to see how the console is set up and, perhaps, modify
+     the configuration accordingly.
+
+     To select the Virtual COM port::
+
+       -CONFIG_NUCLEO_CONSOLE_ARDUINO
+       +CONFIG_NUCLEO_CONSOLE_VIRTUAL=y
+       -CONFIG_USART6_SERIAL_CONSOLE=y
+       +CONFIG_USART3_SERIAL_CONSOLE=y
+
+     To select the Arduino serial shield::
+
+       -CONFIG_NUCLEO_CONSOLE_VIRTUAL=y
+       +CONFIG_NUCLEO_CONSOLE_ARDUINO
+       -CONFIG_USART3_SERIAL_CONSOLE=y
+       +CONFIG_USART6_SERIAL_CONSOLE=y
+
+     Default values for other settings associated with the select USART should
+     be correct.
+
+f7xx-evalos:
+------------
+
+This configuration is designed to test the features of the board.
+
+- Configures the NuttShell (nsh) located at apps/examples/nsh for the
+  Nucleo-144 boards. The console is available on serial interface USART3,
+  which is accessible over the USB ST-Link interface.
+- Configures nsh with advanced features such as autocompletion.
+- Configures the on-board LEDs to work with the 'leds' example app.
+- Configures the \'helloxx\' example app.
+- Adds character device for i2c1
+- Tries to register mpu60x0 IMU to i2c1
+
+NOTES:
+
+1. This configuration uses the mconf-based configuration tool.  To
+   change this configuration using that tool, you should:
+
+   a. Build and install the kconfig-mconf tool.  See nuttx/README.txt
+      see additional README.txt files in the NuttX tools repository.
+
+   b. If this is the initial configuration then execute::
+
+          ./tools/configure.sh nucleo-144:evalos
+
+      in nuttx/ in order to start configuration process.
+      Caution: Doing this step more than once will overwrite .config with
+      the contents of the nucleo-144/evalos/defconfig file.
+
+   c. Execute 'make oldconfig' in nuttx/ in order to refresh the
+      configuration.
+
+   d. Execute 'make menuconfig' in nuttx/ in order to start the
+      reconfiguration process.
+
+   e. Save the .config file to reuse it in the future starting at step d.
+
+2. By default, this configuration uses the ARM GNU toolchain
+   for Linux.  That can easily be reconfigured, of course.::
+
+    CONFIG_HOST_LINUX=y                     : Builds under Linux
+    CONFIG_ARM_TOOLCHAIN_GNU_EABI=y      : ARM GNU for Linux
diff --git a/Documentation/platforms/arm/stm32f7/boards/nucleo-f767/index.rst 
b/Documentation/platforms/arm/stm32f7/boards/nucleo-f767/index.rst
new file mode 100644
index 0000000000..ceb02132a0
--- /dev/null
+++ b/Documentation/platforms/arm/stm32f7/boards/nucleo-f767/index.rst
@@ -0,0 +1,423 @@
+================
+ST Nucleo F767ZI
+================
+
+This README discusses issues unique to NuttX configurations for the STMicro
+Nucleo-144 board.  See ST document STM32 Nucleo-144 boards (UM1974):
+
+https://www.st.com/resource/en/user_manual/dm00244518.pdf
+
+Board Features
+--------------
+
+- Peripherals: 8 leds, 2 push button (3 LEDs, 1 button) under software control
+- Debug: STLINK/V2-1 debugger/programmer Uses a STM32F103CB to
+  provide a ST-Link for programming, debug similar to the
+  OpenOcd FTDI function - USB to JTAG front-end.
+- Expansion I/F: ST Zio and Extended Arduino and Morpho Headers
+
+ST Nucleo F7467ZI board from ST Micro is supported.  See
+
+http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-nucleo/nucleo-f767zi.html
+
+The Nucleo F767ZI order part number is NUCLEO-F767ZI. It is one member of
+the STM32 Nucleo-144 board family.
+
+NUCLEO-F767ZI Features
+----------------------
+
+- Microprocessor: STM32F767ZIT6 Core: ARM 32-bit Cortex®-M7 CPU with DPFPU,
+  L1-cache: 16KB data cache and 16KB instruction cache, up to
+  216 MHz, MPU, and DSP instructions.
+- Memory: 2048 KB Flash 512KB of SRAM (including 128KB of data TCM RAM)
+  + 16KB of instruction TCM RAM + 4KB of backup SRAM
+- ADC: 3×12-bit, 2.4 MSPS ADC: up to 24 channels and 7.2 MSPS in
+  triple interleaved mode
+- DMA: 2 X 16-stream DMA controllers with FIFOs and burst support
+- Timers: Up to 18 timers: up to thirteen 16-bit (1x 16-bit low power),
+  two 32-bit timers, 2x watchdogs, SysTick
+- GPIO: 114 I/O ports with interrupt capability
+- LCD: LCD-TFT Controller with (DMA2D), Parallel interface
+- I2C: 4 × I2C interfaces (SMBus/PMBus)
+- U[S]ARTs: 4 USARTs, 4 UARTs (27 Mbit/s, ISO7816 interface, LIN, IrDA, modem 
control)
+- SPI/12Ss: 6/3 (simplex) (up to 50 Mbit/s), 3 with muxed simplex I2S
+  for audio class accuracy via internal audio PLL or external clock
+- QSPI:  Dual mode Quad-SPI
+- SAIs: 2 Serial Audio Interfaces
+- CAN: 3 X CAN interface
+- SDMMC interface
+- SPDIFRX interface
+- USB:  USB 2.0 full/High-speed device/host/OTG controller with on-chip PHY
+- 10/100 Ethernet: MAC with dedicated DMA: supports IEEE 1588v2 hardware, 
MII/RMII
+- Camera Interface: 8/14 Bit
+- CRC calculation unit
+- TRG: True random number generator
+- RTC subsecond accuracy, hardware calendar
+
+For pinout and details Check NUCLEO-F767ZI page on developer.mbed.org:
+https://os.mbed.com/platforms/ST-Nucleo-F767ZI/
+
+Also https://developer.mbed.org/platforms/ST-Nucleo-F746ZG
+may contain some related useful information.
+
+Hardware
+========
+
+GPIO - there are 144 I/O lines on the STM32F7xxZxT6 with various pins pined out
+on the Nucleo 144.
+
+See https://developer.mbed.org/platforms/ST-Nucleo-F746ZG/ for slick graphic
+pinouts.
+
+Keep in mind that:
+
+- The I/O is 3.3 Volt not 5 Volt like on the Arduino products.
+- The Nucleo-144 board family has 3 pages of Solder Bridges AKA Solder
+  Blobs (SB) that can alter the factory configuration. We will note SB
+  in effect but will assume the factory default settings.
+
+Our main concern is establishing a console and LED utilization for
+debugging. Because so many pins can be multiplexed with so many functions,
+the above mentioned graphic may be helpful in identifying a serial port.
+
+There are 5 choices that can be made from the menuconfig::
+
+  CONFIG_NUCLEO_CONSOLE_ARDUINO or CONFIG_NUCLEO_CONSOLE_MORPHO or
+  CONFIG_NUCLEO_CONSOLE_MORPHO_UART4 or CONFIG_NUCLEO_CONSOLE_VIRTUAL or
+  CONFIG_NUCLEO_CONSOLE_NONE
+
+The CONFIG_NUCLEO_CONSOLE_NONE makes no preset for the console. You should 
still
+visit the U[S]ART selection and Device Drivers to disable any U[S]ART 
remaining.
+
+The CONFIG_NUCLEO_CONSOLE_ARDUINO configurations assume that you are using a
+standard Arduino RS-232 shield with the serial interface with RX on pin D0 and
+TX on pin D1 from USART6::
+
+            -------- ---------------
+                        STM32F7
+            ARDUIONO FUNCTION  GPIO
+            -- ----- --------- -----
+            DO RX    USART6_RX PG9
+            D1 TX    USART6_TX PG14
+            -- ----- --------- -----
+
+The CONFIG_NUCLEO_CONSOLE_MORPHO configurations uses Serial Port 8 (USART8)
+with TX on PE1 and RX on PE0.::
+
+            Serial
+            ------
+            SERIAL_RX         PE_0
+            SERIAL_TX         PE_1
+
+The CONFIG_NUCLEO_CONSOLE_MORPHO_UART4 configurations uses Serial Port 4 
(UART4)
+with TX on PA1 and RX on PA0. Zero Ohm resistor / solder short at
+SB13 must be removed/open. (Disables Ethernet MII clocking.)::
+
+            Serial
+            ------
+            SERIAL_RX         PA_1  CN11 30
+            SERIAL_TX         PA_0  CN11 28
+
+The CONFIG_NUCLEO_CONSOLE_VIRTUAL configurations uses Serial Port 3 (USART3)
+with TX on PD8 and RX on PD9.::
+
+            Serial
+            ------
+            SERIAL_RX         PD9
+            SERIAL_TX         PD8
+
+These signals are internally connected to the on board ST-Link.
+
+Of course if your design has used those pins you can choose a completely
+different U[S]ART to use as the console. In that Case, you will need to edit
+the include/board.h to select different U[S]ART and / or pin selections.
+
+Buttons
+-------
+
+B1 USER: the user button is connected to the I/O PC13 (Tamper support, SB173
+ON and SB180 OFF)
+
+LEDs
+----
+
+The Board provides a 3 user LEDs, LD1-LD3::
+
+  LED1 (Green)      PB_0  (SB120 ON and SB119 OFF)
+  LED2 (Blue)       PB_7  (SB139 ON)
+  LED3 (Red)        PB_14 (SP118 ON)
+
+- When the I/O is HIGH value, the LEDs are on.
+- When the I/O is LOW, the LEDs are off.
+
+These LEDs are not used by the board port unless CONFIG_ARCH_LEDS is
+defined.  In that case, the usage by the board port is defined in
+include/board.h and src/stm32_autoleds.c. The LEDs are used to encode OS
+related events as follows when the LEDs are available:
+
+  ===================  =======================   ===  ===== ====
+  SYMBOL               Meaning                   RED  GREEN BLUE
+  ===================  =======================   ===  ===== ====
+  LED_STARTED          NuttX has been started    OFF  OFF   OFF
+  LED_HEAPALLOCATE     Heap has been allocated   OFF  OFF   ON
+  LED_IRQSENABLED      Interrupts enabled        OFF  ON    OFF
+  LED_STACKCREATED     Idle stack created        OFF  ON    ON
+  LED_INIRQ            In an interrupt           NC   NC    ON  (momentary)
+  LED_SIGNAL           In a signal handler       NC   ON    OFF (momentary)
+  LED_ASSERTION        An assertion failed       ON   NC    ON  (momentary)
+  LED_PANIC            The system has crashed    ON   OFF   OFF (flashing 2Hz)
+  LED_IDLE             MCU is is sleep mode      ON   OFF   OFF
+  ===================  =======================   ===  ===== ====
+
+OFF -    means that the OS is still initializing. Initialization is very fast
+         so if you see this at all, it probably means that the system is
+         hanging up somewhere in the initialization phases.
+
+GREEN -  This means that the OS completed initialization.
+
+BLUE  -  Whenever and interrupt or signal handler is entered, the BLUE LED is
+         illuminated and extinguished when the interrupt or signal handler
+         exits.
+
+VIOLET - If a recovered assertion occurs, the RED and blue LED will be
+         illuminated briefly while the assertion is handled.  You will
+         probably never see this.
+
+Flashing RED - In the event of a fatal crash, all other LEDs will be
+          extinguished and RED LED will FLASH at a 2Hz rate.
+
+  Thus if the GREEN LED is lit, NuttX has successfully booted and is,
+  apparently, running normally.  If the RED LED is flashing at
+  approximately 2Hz, then a fatal error has been detected and the system has
+  halted.
+
+Serial Consoles
+===============
+
+USART6 (CONFIG_NUCLEO_CONSOLE_ARDUINO)
+--------------------------------------
+
+    ======= ========== =====
+    ARDUINO FUNCTION   GPIO
+    ======= ========== =====
+    DO RX   USART6_RX  PG9
+    D1 TX   USART6_TX  PG14
+    ======= ========== =====
+
+You must use a 3.3 TTL to RS-232 converter or a USB to 3.3V TTL
+
+::
+
+    Nucleo 144           FTDI TTL-232R-3V3
+    -------------       -------------------
+    TXD - D1-TXD   -    RXD - Pin 5 (Yellow)
+    RXD - D0-RXD   -    TXD - Pin 4 (Orange)
+    GND   GND      -    GND   Pin 1  (Black)
+    -------------       -------------------
+
+    *Note you will be reverse RX/TX
+
+Use make menuconfig to configure USART6 as the console::
+
+    CONFIG_STM32F7_USART6=y
+    CONFIG_USARTs_SERIALDRIVER=y
+    CONFIG_USARTS_SERIAL_CONSOLE=y
+    CONFIG_USART6_RXBUFSIZE=256
+    CONFIG_USART6_TXBUFSIZE=256
+    CONFIG_USART6_BAUD=115200
+    CONFIG_USART6_BITS=8
+    CONFIG_USART6_PARITY=0
+    CONFIG_USART6_2STOP=0
+
+USART8 (CONFIG_NUCLEO_CONSOLE_MORPHO)
+-------------------------------------
+
+Pins and Connectors::
+
+    FUNC GPIO  Connector
+                   Pin NAME
+    ---- ---   ------- ----
+    TXD: PE1   CN11-61, PE1
+    RXD: PE0   CN12-64, PE0
+               CN10-33, D34
+    ---- ---   ------- ----
+
+You must use a 3.3 TTL to RS-232 converter or a USB to 3.3V TTL::
+
+    Nucleo 144           FTDI TTL-232R-3V3
+    -------------       -------------------
+    TXD - CN11-61   -   RXD - Pin 5 (Yellow)
+    RXD - CN12-64   -   TXD - Pin 4 (Orange)
+    GND   CN12-63   -   GND   Pin 1  (Black)
+    -------------       -------------------
+
+    *Note you will be reverse RX/TX
+
+Use make menuconfig to configure USART8 as the console::
+
+    CONFIG_STM32F7_UART8=y
+    CONFIG_UART8_SERIALDRIVER=y
+    CONFIG_UART8_SERIAL_CONSOLE=y
+    CONFIG_UART8_RXBUFSIZE=256
+    CONFIG_UART8_TXBUFSIZE=256
+    CONFIG_UART8_BAUD=115200
+    CONFIG_UART8_BITS=8
+    CONFIG_UART8_PARITY=0
+    CONFIG_UART8_2STOP=0
+
+Virtual COM Port (CONFIG_NUCLEO_CONSOLE_VIRTUAL)
+------------------------------------------------
+
+Yet another option is to use USART3 and the USB virtual COM port.  This
+option may be more convenient for long term development, but is painful
+to use during board bring-up.
+
+Solder Bridges.  This configuration requires::
+
+    PD8 USART3 TX SB5 ON and SB7 OFF (Default)
+    PD9 USART3 RX SB6 ON and SB4 OFF (Default)
+
+Configuring USART3 is the same as given above but add the S and #3.
+
+Question:  What BAUD should be configure to interface with the Virtual
+COM port?  115200 8N1?
+
+Default:
+
+As shipped, SB4 and SB7 are open and SB5 and SB6 closed, so the
+virtual COM port is enabled.
+
+SPI
+---
+
+Since this board is so generic, having a quick way to set the SPI
+configuration seams in order. So the board provides a quick test
+that can be selected vi CONFIG_NUCLEO_SPI_TEST that will initialize
+the selected buses (SPI1-SPI3) and send some text on the bus at
+application initialization time board_app_initialize.
+
+SDIO
+----
+
+To test the SD performance one can use a SparkFun microSD Sniffer
+from https://www.sparkfun.com/products/9419 or similar board
+and connect it as follows::
+
+          VCC    V3.3 CN11  16
+          GND    GND  CN11-8
+          CMD    PD2  CN11-4
+          CLK    PC12 CN11-3
+          DAT0 - PC8  CN12-2
+          DAT1 - PC9  CN12-1
+          DAT2   PC10 CN11-1
+          CD     PC11 CN11-2
+
+
+Configurations
+==============
+
+f7xx-nsh
+--------
+
+Configures the NuttShell (nsh) located at apps/examples/nsh for the
+Nucleo-144 boards.  The Configuration enables the serial interfaces
+on USART6.  Support for builtin applications is enabled, but in the base
+configuration no builtin applications are selected (see NOTES below).
+
+NOTES:
+
+1. This configuration uses the mconf-based configuration tool.  To
+   change this configuration using that tool, you should:
+
+   a. Build and install the kconfig-mconf tool.  See nuttx/README.txt
+      see additional README.txt files in the NuttX tools repository.
+
+   b. If this is the initial configuration then execute::
+
+           ./tools/configure.sh nucleo-144:nsh
+
+      in nuttx/ in order to start configuration process.
+      Caution: Doing this step more than once will overwrite .config with
+      the contents of the nucleo-144/nsh/defconfig file.
+
+   c. Execute 'make oldconfig' in nuttx/ in order to refresh the
+      configuration.
+
+   d. Execute 'make menuconfig' in nuttx/ in order to start the
+      reconfiguration process.
+
+   e. Save the .config file to reuse it in the future starting at step d.
+
+2. By default, this configuration uses the ARM GNU toolchain
+   for Linux.  That can easily be reconfigured, of course.::
+
+     CONFIG_HOST_LINUX=y                     : Builds under Linux
+     CONFIG_ARM_TOOLCHAIN_GNU_EABI=y      : ARM GNU for Linux
+
+3. The serial console may be configured to use either USART3 (which would
+     correspond to the Virtual COM port) or with the console device
+     configured for USART6 to support an Arduino serial shield (see
+     instructions above under "Serial Consoles).  You will need to check the
+     defconfig file to see how the console is set up and, perhaps, modify
+     the configuration accordingly.
+
+     To select the Virtual COM port::
+
+       -CONFIG_NUCLEO_CONSOLE_ARDUINO
+       +CONFIG_NUCLEO_CONSOLE_VIRTUAL=y
+       -CONFIG_USART6_SERIAL_CONSOLE=y
+       +CONFIG_USART3_SERIAL_CONSOLE=y
+
+     To select the Arduino serial shield::
+
+       -CONFIG_NUCLEO_CONSOLE_VIRTUAL=y
+       +CONFIG_NUCLEO_CONSOLE_ARDUINO
+       -CONFIG_USART3_SERIAL_CONSOLE=y
+       +CONFIG_USART6_SERIAL_CONSOLE=y
+
+     Default values for other settings associated with the select USART should
+     be correct.
+
+f7xx-evalos:
+------------
+
+This configuration is designed to test the features of the board.
+
+- Configures the NuttShell (nsh) located at apps/examples/nsh for the
+  Nucleo-144 boards. The console is available on serial interface USART3,
+  which is accessible over the USB ST-Link interface.
+- Configures nsh with advanced features such as autocompletion.
+- Configures the on-board LEDs to work with the 'leds' example app.
+- Configures the \'helloxx\' example app.
+- Adds character device for i2c1
+- Tries to register mpu60x0 IMU to i2c1
+
+NOTES:
+
+1. This configuration uses the mconf-based configuration tool.  To
+   change this configuration using that tool, you should:
+
+   a. Build and install the kconfig-mconf tool.  See nuttx/README.txt
+      see additional README.txt files in the NuttX tools repository.
+
+   b. If this is the initial configuration then execute::
+
+          ./tools/configure.sh nucleo-144:evalos
+
+      in nuttx/ in order to start configuration process.
+      Caution: Doing this step more than once will overwrite .config with
+      the contents of the nucleo-144/evalos/defconfig file.
+
+   c. Execute 'make oldconfig' in nuttx/ in order to refresh the
+      configuration.
+
+   d. Execute 'make menuconfig' in nuttx/ in order to start the
+      reconfiguration process.
+
+   e. Save the .config file to reuse it in the future starting at step d.
+
+2. By default, this configuration uses the ARM GNU toolchain
+   for Linux.  That can easily be reconfigured, of course.::
+
+    CONFIG_HOST_LINUX=y                     : Builds under Linux
+    CONFIG_ARM_TOOLCHAIN_GNU_EABI=y      : ARM GNU for Linux
diff --git 
a/Documentation/platforms/arm/stm32f7/boards/steval-eth001v1/index.rst 
b/Documentation/platforms/arm/stm32f7/boards/steval-eth001v1/index.rst
new file mode 100644
index 0000000000..127a2882a9
--- /dev/null
+++ b/Documentation/platforms/arm/stm32f7/boards/steval-eth001v1/index.rst
@@ -0,0 +1,18 @@
+==================
+ST STEVAL-ETH001V1
+==================
+
+This README discusses issues unique to NuttX configurations for the
+STMicro STEVAL-ETH001V1 servo drive evaluation board.
+The STEVAL-ETH001V1 board is based on the STM32F767ZI MCU (2Mbytes FLASH
+and 512Kbytes of SRAM).
+
+The boards features:
+
+- Three-phase motor driver inverter based on STDRIVE101 gate driver and
+  STH270N8F7-2 power MOSFET
+- NETX90 network controller
+- Operating supply voltage up to 48 V with a max. overvoltage robustness of 60 
V
+- Motor brake dissipative energy circuit
+- Digital actuation section for industrial loads
+- RS485 interface for digital encoder and host interface
diff --git a/Documentation/platforms/arm/stm32f7/boards/stm32f746-ws/index.rst 
b/Documentation/platforms/arm/stm32f7/boards/stm32f746-ws/index.rst
new file mode 100644
index 0000000000..bba4ea50dd
--- /dev/null
+++ b/Documentation/platforms/arm/stm32f7/boards/stm32f746-ws/index.rst
@@ -0,0 +1,3 @@
+============
+STM32F746-WS
+============
diff --git 
a/Documentation/platforms/arm/stm32f7/boards/stm32f746g-disco/index.rst 
b/Documentation/platforms/arm/stm32f7/boards/stm32f746g-disco/index.rst
new file mode 100644
index 0000000000..9112d734aa
--- /dev/null
+++ b/Documentation/platforms/arm/stm32f7/boards/stm32f746g-disco/index.rst
@@ -0,0 +1,302 @@
+===================
+ST STM32F746G-DISCO
+===================
+
+This README discusses issues unique to NuttX configurations for the
+STMicro STM32F746G-DISCO development board featuring the STM32F746NGH6
+MCU. The STM32F746NGH6  is a 216MHz Cortex-M7 operation with 1024Kb Flash
+memory and 300Kb SRAM. The board features:
+
+- On-board ST-LINK/V2 for programming and debugging,
+- Mbed-enabled (mbed.org)
+- 4.3-inch 480x272 color LCD-TFT with capacitive touch screen
+- Camera connector
+- SAI audio codec
+- Audio line in and line out jack
+- Stereo speaker outputs
+- Two ST MEMS microphones
+- SPDIF RCA input connector
+- Two pushbuttons (user and reset)
+- 128-Mbit Quad-SPI Flash memory
+- 128-Mbit SDRAM (64 Mbits accessible)
+- Connector for microSD card
+- RF-EEPROM daughterboard connector
+- USB OTG HS with Micro-AB connectors
+- USB OTG FS with Micro-AB connectors
+- Ethernet connector compliant with IEEE-802.3-2002
+
+Refer to the http://www.st.com website for further information about this
+board (search keyword: stm32f746g-disco)
+
+Development Environment
+=======================
+
+The Development environments for the STM32F746G-DISCO board are identical
+to the environments for other STM32F boards.  For full details on the
+environment options and setup, see the README.txt file in the
+boards/arm/stm32f7/stm32f746g-disco directory.
+
+LEDs and Buttons
+================
+
+LEDs
+----
+
+The STM32F746G-DISCO board has numerous LEDs but only one, LD1 located
+near the reset button, that can be controlled by software (LD2 is a power
+indicator, LD3-6 indicate USB status, LD7 is controlled by the ST-Link).
+
+LD1 is controlled by PI1 which is also the SPI2_SCK at the Arduino
+interface.  One end of LD1 is grounded so a high output on PI1 will
+illuminate the LED.
+
+This LED is not used by the board port unless CONFIG_ARCH_LEDS is defined.
+In that case, the usage by the board port is defined in include/board.h
+and src/stm32_leds.c. The LEDs are used to encode OS-related events as
+follows:
+
+    =================== ======================= ======
+    SYMBOL              Meaning                 LD1
+    =================== ======================= ======
+    LED_STARTED         NuttX has been started  OFF
+    LED_HEAPALLOCATE    Heap has been allocated OFF
+    LED_IRQSENABLED     Interrupts enabled      OFF
+    LED_STACKCREATED    Idle stack created      ON
+    LED_INIRQ           In an interrupt         N/C
+    LED_SIGNAL          In a signal handler     N/C
+    LED_ASSERTION       An assertion failed     N/C
+    LED_PANIC           The system has crashed  FLASH
+    =================== ======================= ======
+
+  Thus is LD1 is statically on, NuttX has successfully  booted and is,
+  apparently, running normally.  If LD1 is flashing at approximately
+  2Hz, then a fatal error has been detected and the system has halted.
+
+Buttons
+-------
+
+Pushbutton B1, labelled "User", is connected to GPIO PI11.  A high
+value will be sensed when the button is depressed.
+
+Serial Console
+==============
+
+The STM32F469G-DISCO uses USART1 connected to "Virtual COM", so when you
+plug it on your computer it will be detected as a USB port (i.e. ttyACM0):
+
+  ======  ========= =====
+  V.COM   FUNCTION  GPIO
+  ======  ========= =====
+  RXD     USART1_RX PB7
+  TXD     USART1_TX PA9
+  ======  ========= =====
+
+All you need to do after flashing NuttX on this board is use a serial
+console tool (minicom, picocom, screen, hyperterminal, teraterm, putty,
+etc ) configured to 115200 8n1.
+
+Configurations
+==============
+
+Common Configuration Information
+--------------------------------
+
+Each STM32F746G-DISCO configuration is maintained in a sub-directory and
+can be selected as follow::
+
+    tools/configure.sh stm32f746g-disco:<subdir>
+
+Where <subdir> is one of the sub-directories listed below.
+
+NOTES:
+
+1. These configurations use the mconf-based configuration tool.  To
+   change this configuration using that tool, you should:
+
+   a. Build and install the kconfig-mconf tool.  See nuttx/README.txt
+      see additional README.txt files in the NuttX tools repository.
+
+   b. Execute 'make menuconfig' in nuttx/ in order to start the
+      reconfiguration process.
+
+2. By default, these configurations use the USART1 for the serial
+   console.  Pins are configured to that RX/TX are available at
+   pins D0 and D1 of the Arduion connectors.  This should be compatible
+   with most RS-232 shields.
+
+3. All of these configurations are set up to build under Windows using the
+   "GNU Tools for ARM Embedded Processors" that is maintained by ARM
+   (unless stated otherwise in the description of the configuration).
+
+         https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
+
+   As of this writing (2015-03-11), full support is difficult to find
+   for the Cortex-M7, but is supported by at least this release of
+   the ARM GNU tools:
+
+         https://launchpadlibrarian.net/209776344/release.txt
+
+   hat toolchain selection can easily be reconfigured using
+   'make menuconfig'.  Here are the relevant current settings:
+
+   Build Setup::
+
+         CONFIG_HOST_WINDOWS=y               : Window environment
+         CONFIG_WINDOWS_CYGWIN=y             : Cywin under Windows
+
+   System Type -> Toolchain::
+
+         CONFIG_ARM_TOOLCHAIN_GNU_EABI=y  : GNU ARM EABI toolchain
+
+   NOTE: As of this writing, there are issues with using this tool at
+   the -Os level of optimization.  This has not been proven to be a
+   compiler issue (as least not one that might not be fixed with a
+   well placed volatile qualifier).  However, in any event, it is
+   recommend that you use not more that -O2 optimization.
+
+Configuration Directories
+-------------------------
+
+nsh
+---
+
+Configures the NuttShell (NSH) located at apps/examples/nsh.  The
+Configuration enables the serial interfaces on USART1.  Support for
+built-in applications is enabled, but in the base configuration no
+built-in applications are selected.
+
+netnsh
+------
+
+This configuration is similar to the nsh but a lot more hardware
+peripherals are enabled, in particular Ethernet, as well as networking
+support.  It is similar to the stm32f769i-disco/netnsh
+configuration. This configuration uses USART1 for the serial console.
+USART1 is connected to the ST-link virtual com inside board.h to remove
+the need of a extra serial connection to use this board.
+
+lgvl
+----
+
+STM32F746G-DISCO LittlevGL demo example.
+
+The LTDC is initialized during boot up.
+This configuration uses USART1 for the serial console.
+USART1 is connected to the ST-link virtual com inside board.h to remove
+the need of a extra serial connection to use this board.
+From the nsh command line execute the lvgldemo example::
+
+      nsh> lvgldemo
+
+The test will execute the calibration process and then run the
+LittlevGL demo project.
+
+STM32F746G-DISCO LTDC Framebuffer demo example
+==============================================
+
+Configure and build
+
+tools/configure.sh stm32f746g-disco:fb
+make
+
+Configuration
+
+This configuration provides 1 LTDC with
+16bpp pixel format and a resolution of 480x272.
+
+Loading
+
+st-flash write nuttx.bin 0x8000000
+
+Executing
+
+The ltdc is initialized during boot up.  Interaction with NSH is via the serial
+console provided by ST-LINK USB at 115200 8N1 baud.
+From the nsh comandline execute the fb example::
+
+  nsh> fb
+
+The test will put a pattern of concentric squares in the framebuffer and
+terminate.
+
+STM32F746G-DISCO NX Terminal example
+====================================
+
+Configure and build
+
+tools/configure.sh stm32f746g-disco:nxterm
+make
+
+Configuration
+
+This configuration provides 1 LTDC with
+16bpp pixel format and a resolution of 480x272.
+
+Trickiest part of config is increasing max message size 
(CONFIG_MQ_MAXMSGSIZE=256).
+NX server - client communication cannot be established with default value 8 
bytes.
+
+Loading
+
+st-flash write nuttx.bin 0x8000000
+
+or
+
+openocd -f interface/stlink.cfg -f target/stm32f7x.cfg
+telnet localhost 4444
+> program nuttx verify reset
+
+Executing
+
+The ltdc is initialized during boot up.  Interaction with NSH is via the serial
+console provided by ST-LINK USB at 115200 8N1 baud.
+
+From the nsh comandline execute the example::
+
+  nsh> nxterm
+
+The test will show terminal window on the screen.
+
+STM32F746G-DISCO NX demo example
+================================
+
+Configure and build::
+
+  tools/configure.sh stm32f746g-disco:nxdemo
+  make
+
+Configuration
+
+This configuration provides 1 LTDC with
+16bpp pixel format and a resolution of 480x272.
+
+Trickiest part of config is increasing max message size 
(CONFIG_MQ_MAXMSGSIZE=256).
+NX server - client communication cannot be established with default value 8 
bytes.
+
+Loading::
+
+  st-flash write nuttx.bin 0x8000000
+
+or::
+
+  openocd -f interface/stlink.cfg -f target/stm32f7x.cfg
+  telnet localhost 4444
+  > program nuttx verify reset
+
+Executing
+
+The ltdc is initialized during boot up.  Interaction with NSH is via the serial
+console provided by ST-LINK USB at 115200 8N1 baud.
+
+There are two graphics examples provided in this configuration:
+- nxdemo
+- nxhello
+
+Use help command to show list of examples available::
+
+  nsh> help
+
+From the nsh comandline execute the example::
+
+  nsh> nxdemo
+
+The test will draw animated lines, squares and circles on the device screen.
diff --git a/boards/arm/stm32f7/stm32f769i-disco/README.txt 
b/Documentation/platforms/arm/stm32f7/boards/stm32f769i-disco/index.rst
similarity index 57%
rename from boards/arm/stm32f7/stm32f769i-disco/README.txt
rename to Documentation/platforms/arm/stm32f7/boards/stm32f769i-disco/index.rst
index 991b27462f..f278989dbe 100644
--- a/boards/arm/stm32f7/stm32f769i-disco/README.txt
+++ b/Documentation/platforms/arm/stm32f7/boards/stm32f769i-disco/index.rst
@@ -1,5 +1,6 @@
-README
-======
+===================
+ST STM32F769I-DISCO
+===================
 
 This README discusses issues unique to NuttX configurations for the
 STMicro STM32F769I-DISCO development board featuring the STM32F769NIH6
@@ -58,22 +59,24 @@ Development Environment
 LEDs and Buttons
 ================
 
-  LEDs
-  ----
-  The STM32F769I-DISCO board has numerous LEDs but only one, LD3 located
-  near the reset button, that can be controlled by software.
+LEDs
+----
+
+The STM32F769I-DISCO board has numerous LEDs but only one, LD3 located
+near the reset button, that can be controlled by software.
 
-  LD3 is controlled by PI1 which is also the SPI2_SCK at the Arduino
-  interface.  One end of LD3 is grounded so a high output on PI1 will
-  illuminate the LED.
+LD3 is controlled by PI1 which is also the SPI2_SCK at the Arduino
+interface.  One end of LD3 is grounded so a high output on PI1 will
+illuminate the LED.
 
-  This LED is not used by the board port unless CONFIG_ARCH_LEDS is defined.
-  In that case, the usage by the board port is defined in include/board.h
-  and src/stm32_leds.c. The LEDs are used to encode OS-related events as
-  follows:
+This LED is not used by the board port unless CONFIG_ARCH_LEDS is defined.
+In that case, the usage by the board port is defined in include/board.h
+and src/stm32_leds.c. The LEDs are used to encode OS-related events as
+follows:
 
+    =================== ======================= ======
     SYMBOL              Meaning                 LD3
-    ------------------- ----------------------- ------
+    =================== ======================= ======
     LED_STARTED         NuttX has been started  OFF
     LED_HEAPALLOCATE    Heap has been allocated OFF
     LED_IRQSENABLED     Interrupts enabled      OFF
@@ -82,47 +85,51 @@ LEDs and Buttons
     LED_SIGNAL          In a signal handler     N/C
     LED_ASSERTION       An assertion failed     N/C
     LED_PANIC           The system has crashed  FLASH
+    =================== ======================= ======
+
+Thus is LD3 is statically on, NuttX has successfully  booted and is,
+apparently, running normally.  If LD3 is flashing at approximately
+2Hz, then a fatal error has been detected and the system has halted.
 
-  Thus is LD3 is statically on, NuttX has successfully  booted and is,
-  apparently, running normally.  If LD3 is flashing at approximately
-  2Hz, then a fatal error has been detected and the system has halted.
+Buttons
+-------
 
-  Buttons
-  -------
-  Pushbutton B1, labelled "User", is connected to GPIO PI11.  A high
-  value will be sensed when the button is depressed.
+Pushbutton B1, labelled "User", is connected to GPIO PI11.  A high
+value will be sensed when the button is depressed.
 
 Serial Console
 ==============
 
-  Use the serial interface the ST/LINK provides to the USB host.
+Use the serial interface the ST/LINK provides to the USB host.
 
 Configurations
 ==============
 
-  Common Configuration Information
-  --------------------------------
-  Each STM32F769I-DISCO configuration is maintained in a sub-directory and
-  can be selected as follow:
+Common Configuration Information
+--------------------------------
+
+Each STM32F769I-DISCO configuration is maintained in a sub-directory and
+can be selected as follow::
 
     tools/configure.sh stm32f769i-disco:<subdir>
 
-  Where <subdir> is one of the sub-directories listed below.
+Where <subdir> is one of the sub-directories listed below.
 
 Configuration Directories
 -------------------------
 
-  nsh:
-  ---
-    Configures the NuttShell (NSH) located at apps/examples/nsh.  The
-    Configuration enables the serial interfaces on UART1.
-    Otherwise nothing is enabled, so that config is a starting point
-    for initial testing.
-    Support for builtin applications is enabled, but in the base
-    configuration no builtin applications are selected.
+nsh
+---
+
+Configures the NuttShell (NSH) located at apps/examples/nsh.  The
+Configuration enables the serial interfaces on UART1.
+Otherwise nothing is enabled, so that config is a starting point
+for initial testing.
+Support for builtin applications is enabled, but in the base
+configuration no builtin applications are selected.
 
-    1. This config supports the PWM test (apps/examples/pwm) but this must
-       be manually enabled by selecting:
+1. This config supports the PWM test (apps/examples/pwm) but this must
+   be manually enabled by selecting::
 
        CONFIG_PWM=y              : Enable the generic PWM infrastructure
        CONFIG_EXAMPLES_PWM=y     : Enable the PWM example app
@@ -133,7 +140,8 @@ Configuration Directories
        CONFIG_STM32F7_TIM1_PWM=y
        CONFIG_STM32F7_TIM1_CHANNEL=4
 
-  nsh-ehternet:
-  ---
-    Same as above but a lot more hardware peripherals enabled,
-    in particular ethernet, as well as networking stuff.
+nsh-ehternet
+------------
+
+Same as above but a lot more hardware peripherals enabled,
+in particular ethernet, as well as networking stuff.
diff --git 
a/Documentation/platforms/arm/stm32f7/boards/stm32f777zit6-meadow/index.rst 
b/Documentation/platforms/arm/stm32f7/boards/stm32f777zit6-meadow/index.rst
new file mode 100644
index 0000000000..6077bf1b61
--- /dev/null
+++ b/Documentation/platforms/arm/stm32f7/boards/stm32f777zit6-meadow/index.rst
@@ -0,0 +1,3 @@
+====================
+STM32f777ZIT6-MEADOW
+====================
diff --git a/Documentation/platforms/arm/stm32f7/index.rst 
b/Documentation/platforms/arm/stm32f7/index.rst
new file mode 100644
index 0000000000..513bce5b91
--- /dev/null
+++ b/Documentation/platforms/arm/stm32f7/index.rst
@@ -0,0 +1,434 @@
+==========
+ST STM32F7
+==========
+
+Supported MCUs
+==============
+
+TODO
+
+Peripheral Support
+==================
+
+..
+   Individual subsystems can be enabled:
+
+       =========================  ==========
+       APB1                       Peripheral
+       =========================  ==========
+       CONFIG_STM32F7_TIM2        TIM2
+       CONFIG_STM32F7_TIM3        TIM3
+       CONFIG_STM32F7_TIM4        TIM4
+       CONFIG_STM32F7_TIM5        TIM5
+       CONFIG_STM32F7_TIM6        TIM6
+       CONFIG_STM32F7_TIM7        TIM7
+       CONFIG_STM32F7_TIM12       TIM12
+       CONFIG_STM32F7_TIM13       TIM13
+       CONFIG_STM32F7_TIM14       TIM14
+       CONFIG_STM32F7_LPTIM1      LPTIM1
+       CONFIG_STM32F7_RTC         RTC
+       CONFIG_STM32F7_BKP         BKP Registers
+       CONFIG_STM32F7_WWDG        WWDG
+       CONFIG_STM32F7_IWDG        IWDG
+       CONFIG_STM32F7_SPI2        SPI2
+       CONFIG_STM32F7_I2S2        I2S2
+       CONFIG_STM32F7_SPI3        SPI3
+       CONFIG_STM32F7_I2S3        I2S3
+       CONFIG_STM32F7_SPDIFRX     SPDIFRX
+       CONFIG_STM32F7_USART2      USART2
+       CONFIG_STM32F7_USART3      USART3
+       CONFIG_STM32F7_UART4       UART4
+       CONFIG_STM32F7_UART5       UART5
+       CONFIG_STM32F7_I2C1        I2C1
+       CONFIG_STM32F7_I2C2        I2C2
+       CONFIG_STM32F7_I2C3        I2C3
+       CONFIG_STM32F7_I2C4        I2C4
+       CONFIG_STM32F7_CAN1        CAN1
+       CONFIG_STM32F7_CAN2        CAN2
+       CONFIG_STM32F7_HDMICEC     HDMI-CEC
+       CONFIG_STM32F7_PWR         PWR
+       CONFIG_STM32F7_DAC         DAC
+       CONFIG_STM32F7_UART7       UART7
+       CONFIG_STM32F7_UART8       UART8
+       =========================  ==========
+
+       =========================  ==========
+       APB2                       Peripheral
+       =========================  ==========
+       CONFIG_STM32F7_TIM1        TIM1
+       CONFIG_STM32F7_TIM8        TIM8
+       CONFIG_STM32F7_USART1      USART1
+       CONFIG_STM32F7_USART6      USART6
+       CONFIG_STM32F7_ADC         ADC1 - ADC2 - ADC3
+       CONFIG_STM32F7_SDMMC1      SDMMC1
+       CONFIG_STM32F7_SPI1        SPI1
+       CONFIG_STM32F7_SPI4        SPI4
+       CONFIG_STM32F7_SYSCFG      SYSCFG
+       CONFIG_STM32F7_EXTI        EXTI
+       CONFIG_STM32F7_TIM9        TIM9
+       CONFIG_STM32F7_TIM10       TIM10
+       CONFIG_STM32F7_TIM11       TIM11
+       CONFIG_STM32F7_SPI5        SPI5
+       CONFIG_STM32F7_SPI6        SPI6
+       CONFIG_STM32F7_SAI1        SAI1
+       CONFIG_STM32F7_SAI2        SAI2
+       CONFIG_STM32F7_LTDC        LCD-TFT
+       =========================  ==========
+
+       =========================  ==========
+       AHB1                       Peripheral
+       =========================  ==========
+       CONFIG_STM32F7_CRC         CRC
+       CONFIG_STM32F7_BKPSRAM     BKPSRAM
+       CONFIG_STM32F7_DMA1        DMA1
+       CONFIG_STM32F7_DMA2        DMA2
+       CONFIG_STM32F7_ETHMAC      Ethernet MAC
+       CONFIG_STM32F7_DMA2D       Chrom-ART (DMA2D)
+       CONFIG_STM32F7_OTGHS       USB OTG HS
+       =========================  ==========
+
+       =========================  ==========
+       AHB2                       Peripheral
+       =========================  ==========
+       CONFIG_STM32F7_OTGFS       USB OTG FS
+       CONFIG_STM32F7_DCMI        DCMI
+       CONFIG_STM32F7_CRYP        CRYP
+       CONFIG_STM32F7_HASH        HASH
+       CONFIG_STM32F7_RNG         RNG
+       =========================  ==========
+
+       =========================  ==========
+       AHB3                       Peripheral
+       =========================  ==========
+       CONFIG_STM32F7_FMC         FMC control registers
+       CONFIG_STM32F7_QUADSPI     QuadSPI Control
+       =========================  ==========
+
+Porting STM32 F4 Drivers
+========================
+
+The STM32F746 is very similar to the STM32 F429 and many of the drivers
+in the stm32/ directory could be ported here:  ADC, BBSRAM, CAN, DAC,
+DMA2D, FLASH, I2C, IWDG, LSE, LSI, LTDC, OTGFS, OTGHS, PM, Quadrature
+Encoder, RNG, RTCC, SDMMC (was SDIO), Timer/counters, and WWDG.
+
+Many of these drivers would be ported very simply; many ports would just
+be a matter of copying files and some seach-and-replacement.  Like:
+
+1. Compare the two register definitions files; make sure that the STM32
+   F4 peripheral is identical (or nearly identical) to the F7
+   peripheral.  If so then,
+
+2. Copy the register definition file from the stm32/chip directory to
+   the stm32f7/chip directory, making name changes as appropriate and
+   updating the driver for any minor register differences.
+
+3. Copy the corresponding C  file (and possibly a matching .h file) from
+   the stm32/ directory to the stm32f7/ directory again with naming
+   changes and changes for any register differences.
+
+4. Update the Make.defs file to include the new C file in the build.
+
+For other files, particularly those that use DMA, the port will be
+significantly more complex.  That is because the STM32F7 has a D-Cache
+and, as a result, we need to exercise much more care to maintain cache
+coherency.  There is a Wiki page discussing the issues of porting
+drivers from the stm32/ to the stm32f7/ directories here:
+https://cwiki.apache.org/confluence/display/NUTTX/Porting+Drivers+to+the+STM32+F7
+
+Memory
+------
+
+CONFIG_RAM_SIZE - Describes the installed DRAM (SRAM in this case)::
+
+       CONFIG_RAM_SIZE=0x00010000 (64Kb)
+
+CONFIG_RAM_START - The start address of installed SRAM (SRAM1)::
+
+       CONFIG_RAM_START=0x20010000
+       CONFIG_RAM_SIZE=245760
+
+This configurations use only SRAM1 for data storage.  The heap includes
+the remainder of SRAM1.  If CONFIG_MM_REGIONS=2, then SRAM2 will be
+included in the heap.
+
+DTCM SRAM is never included in the heap because it cannot be used for
+DMA.  A DTCM allocator is available, however, so that DTCM can be
+managed with dtcm_malloc(), dtcm_free(), etc.
+
+In order to use FMC SRAM, the following additional things need to be
+present in the NuttX configuration file:
+
+CONFIG_STM32F7_FMC_SRAM - Indicates that SRAM is available via the
+FMC (as opposed to an LCD or FLASH).
+
+CONFIG_HEAP2_BASE - The base address of the SRAM in the FMC address space (hex)
+
+CONFIG_HEAP2_SIZE - The size of the SRAM in the FMC address space (decimal)
+
+CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
+stack. If defined, this symbol is the size of the interrupt
+stack in bytes.  If not defined, the user task stacks will be
+used during interrupt handling.
+
+CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
+
+Clock
+-----
+
+CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG - Enables special STM32 clock
+configuration features.::
+
+       CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG=n
+
+CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation of delay 
loops
+
+TIMER
+-----
+
+Timer devices may be used for different purposes.  One special purpose is
+to generate modulated outputs for such things as motor control.  If 
CONFIG_STM32F7_TIMn
+is defined (as above) then the following may also be defined to indicate that
+the timer is intended to be used for pulsed output modulation, ADC conversion,
+or DAC conversion. Note that ADC/DAC require two definition:  Not only do you 
have
+to assign the timer (n) for used by the ADC or DAC, but then you also have to
+configure which ADC or DAC (m) it is assigned to.::
+
+    CONFIG_STM32F7_TIMn_PWM   Reserve timer n for use by PWM, n=1,..,14
+    CONFIG_STM32F7_TIMn_ADC   Reserve timer n for use by ADC, n=1,..,14
+    CONFIG_STM32F7_TIMn_ADCm  Reserve timer n to trigger ADCm, n=1,..,14, 
m=1,..,3
+    CONFIG_STM32F7_TIMn_DAC   Reserve timer n for use by DAC, n=1,..,14
+    CONFIG_STM32F7_TIMn_DACm  Reserve timer n to trigger DACm, n=1,..,14, 
m=1,..,2
+
+For each timer that is enabled for PWM usage, we need the following additional
+configuration settings::
+
+    CONFIG_STM32F7_TIMx_CHANNEL - Specifies the timer output channel {1,..,4}
+
+NOTE: The STM32 timers are each capable of generating different signals on
+each of the four channels with different duty cycles.  That capability is
+not supported by this driver:  Only one output channel per timer.
+
+JTAG
+----
+
+USART
+-----
+
+CONFIG_U[S]ARTn_SERIAL_CONSOLE - selects the USARTn (n=1,2,3) or UART
+m (m=4,5) for the console and ttys0 (default is the USART1).
+
+CONFIG_U[S]ARTn_RXBUFSIZE - Characters are buffered as received.
+This specific the size of the receive buffer
+
+CONFIG_U[S]ARTn_TXBUFSIZE - Characters are buffered before
+being sent.  This specific the size of the transmit buffer
+
+CONFIG_U[S]ARTn_BAUD - The configure BAUD of the UART.  Must be
+
+CONFIG_U[S]ARTn_BITS - The number of bits.  Must be either 7 or 8.
+
+CONFIG_U[S]ARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
+
+CONFIG_U[S]ARTn_2STOP - Two stop bits
+
+CAN
+---
+
+CONFIG_CAN - Enables CAN support (one or both of CONFIG_STM32F7_CAN1 or
+CONFIG_STM32F7_CAN2 must also be defined)
+
+CONFIG_CAN_EXTID - Enables support for the 29-bit extended ID.  Default 
Standard 11-bit IDs.
+
+CONFIG_CAN_FIFOSIZE - The size of the circular buffer of CAN messages.  
Default: 8
+
+CONFIG_CAN_NPENDINGRTR - The size of the list of pending RTR requests.  
Default: 4
+
+CONFIG_CAN_LOOPBACK - A CAN driver may or may not support a loopback
+mode for testing. The STM32 CAN driver does support loopback mode.
+
+CONFIG_STM32F7_CAN1_BAUD - CAN1 BAUD rate.  Required if CONFIG_STM32F7_CAN1 is 
defined.
+
+CONFIG_STM32F7_CAN2_BAUD - CAN1 BAUD rate.  Required if CONFIG_STM32F7_CAN2 is 
defined.
+
+CONFIG_STM32_CAN_TSEG1 - The number of CAN time quanta in segment 1.  Default: 
6
+
+CONFIG_STM32_CAN_TSEG2 - the number of CAN time quanta in segment 2.  Default: 
7
+
+CONFIG_STM32_CAN_REGDEBUG - If CONFIG_DEBUG_FEATURES is set, this will 
generate an
+dump of all CAN registers.
+
+SPI
+---
+
+CONFIG_STM32F7_SPI_INTERRUPTS - Select to enable interrupt driven SPI
+support. Non-interrupt-driven, poll-waiting is recommended if the
+interrupt rate would be to high in the interrupt driven case.
+
+CONFIG_STM32F7_SPIx_DMA - Use DMA to improve SPIx transfer performance.
+Cannot be used with CONFIG_STM32F7_SPI_INTERRUPT.
+
+DMA
+---
+
+CONFIG_SDIO_DMA - Support DMA data transfers.  Requires CONFIG_STM32F7_SDIO 
and CONFIG_STM32F7_DMA2.
+
+CONFIG_STM32_SDIO_DMAPRIO - Select SDIO DMA interrupt priority. Default:  
Medium
+
+CONFIG_STM32_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode.  Default: 4-bit 
transfer mode.
+
+USB
+---
+
+STM32 USB OTG FS Host Driver Support
+
+Pre-requisites::
+
+   CONFIG_USBDEV          - Enable USB device support
+   CONFIG_USBHOST         - Enable USB host support
+   CONFIG_STM32F7_OTGFS     - Enable the STM32 USB OTG FS block
+   CONFIG_STM32F7_SYSCFG    - Needed
+   CONFIG_SCHED_WORKQUEUE - Worker thread support is required
+
+Options::
+
+   CONFIG_STM32F7_OTGFS_RXFIFO_SIZE - Size of the RX FIFO in 32-bit words.
+     Default 128 (512 bytes)
+   CONFIG_STM32F7_OTGFS_NPTXFIFO_SIZE - Size of the non-periodic Tx FIFO
+     in 32-bit words.  Default 96 (384 bytes)
+   CONFIG_STM32F7_OTGFS_PTXFIFO_SIZE - Size of the periodic Tx FIFO in 32-bit
+     words.  Default 96 (384 bytes)
+   CONFIG_STM32F7_OTGFS_DESCSIZE - Maximum size of a descriptor.  Default: 128
+   CONFIG_STM32F7_OTGFS_SOFINTR - Enable SOF interrupts.  Why would you ever
+     want to do that?
+   CONFIG_STM32F7_USBHOST_REGDEBUG - Enable very low-level register access
+     debug.  Depends on CONFIG_DEBUG_FEATURES.
+   CONFIG_STM32F7_USBHOST_PKTDUMP - Dump all incoming and outgoing USB
+     packets. Depends on CONFIG_DEBUG_FEATURES.
+
+FPU
+===
+
+FPU Configuration Options
+-------------------------
+
+There are two version of the FPU support built into the STM32 port.
+
+1. Non-Lazy Floating Point Register Save
+
+   In this configuration floating point register save and restore is
+   implemented on interrupt entry and return, respectively.  In this
+   case, you may use floating point operations for interrupt handling
+   logic if necessary.  This FPU behavior logic is enabled by default
+   with::
+
+     CONFIG_ARCH_FPU=y
+
+2. Lazy Floating Point Register Save.
+
+   An alternative mplementation only saves and restores FPU registers only
+   on context switches.  This means: (1) floating point registers are not
+   stored on each context switch and, hence, possibly better interrupt
+   performance.  But, (2) since floating point registers are not saved,
+   you cannot use floating point operations within interrupt handlers.
+
+   This logic can be enabled by simply adding the following to your .config
+   file::
+
+     CONFIG_ARCH_FPU=y
+
+SPI Test
+========
+
+The builtin SPI test facility can be enabled with the following settings::
+
+    +CONFIG_STM32F7_SPI=y
+    +CONFIG_STM32F7_SPI1=y
+    +CONFIG_STM32F7_SPI2=y
+    +CONFIG_STM32F7_SPI3=y
+
+    +# CONFIG_STM32F7_SPI_INTERRUPTS is not set
+    +# CONFIG_STM32F7_SPI1_DMA is not set
+    +# CONFIG_STM32F7_SPI2_DMA is not set
+    +# CONFIG_STM32F7_SPI3_DMA is not set
+     # CONFIG_STM32F7_CUSTOM_CLOCKCONFIG is not set
+
+    +CONFIG_NUCLEO_SPI_TEST=y
+    +CONFIG_NUCLEO_SPI_TEST_MESSAGE="Hello World"
+    +CONFIG_NUCLEO_SPI1_TEST=y
+    +CONFIG_NUCLEO_SPI1_TEST_FREQ=1000000
+    +CONFIG_NUCLEO_SPI1_TEST_BITS=8
+    +CONFIG_NUCLEO_SPI1_TEST_MODE3=y
+
+    +CONFIG_NUCLEO_SPI2_TEST=y
+    +CONFIG_NUCLEO_SPI2_TEST_FREQ=12000000
+    +CONFIG_NUCLEO_SPI2_TEST_BITS=8
+    +CONFIG_NUCLEO_SPI2_TEST_MODE3=y
+
+    +CONFIG_NUCLEO_SPI3_TEST=y
+    +CONFIG_NUCLEO_SPI3_TEST_FREQ=40000000
+    +CONFIG_NUCLEO_SPI3_TEST_BITS=8
+    +CONFIG_NUCLEO_SPI3_TEST_MODE3=y
+
+    +CONFIG_BOARDCTL=y
+    +CONFIG_NSH_ARCHINIT=y
+
+Development Environment
+=======================
+
+Either Linux or Cygwin on Windows can be used for the development environment.
+The source has been built only using the GNU toolchain (see below).  Other
+toolchains will likely cause problems.
+
+All testing has been conducted using the GNU toolchain from ARM for Linux.
+found here 
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/4.9/4.9-2015-q3-update/+download/gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
+
+If you change the default toolchain, then you may also have to modify the
+PATH environment variable to include the path to the toolchain binaries.
+
+IDEs
+====
+
+NuttX is built using command-line make.  It can be used with an IDE, but some
+effort will be required to create the project.
+
+Makefile Build
+--------------
+
+Under Eclipse, it is pretty easy to set up an "empty makefile project" and
+simply use the NuttX makefile to build the system.  That is almost for free
+under Linux.  Under Windows, you will need to set up the "Cygwin GCC" empty
+makefile project in order to work with Windows (Google for "Eclipse Cygwin" -
+there is a lot of help on the internet).
+
+Basic configuration & build steps
+==================================
+
+A GNU GCC-based toolchain is assumed.  The PATH environment variable should
+be modified to point to the correct path to the Cortex-M7 GCC toolchain (if
+different from the default in your PATH variable).
+
+- Configures nuttx creating .config file in the nuttx directory.::
+
+     $ tools/configure.sh nucleo-f746zg:nsh
+
+- Refreshes the .config file with the latest available configurations.::
+
+     $ make oldconfig
+
+- Select the features you want in the build.::
+
+     $ make menuconfig
+
+- Builds NuttX with the features you selected.::
+
+     $ make
+
+Supported Boards
+================
+
+.. toctree::
+   :glob:
+   :maxdepth: 1
+
+   boards/*/*
diff --git a/boards/arm/stm32f7/nucleo-144/README.txt 
b/boards/arm/stm32f7/nucleo-144/README.txt
deleted file mode 100644
index 652d9b0e83..0000000000
--- a/boards/arm/stm32f7/nucleo-144/README.txt
+++ /dev/null
@@ -1,605 +0,0 @@
-README
-======
-
-This README discusses issues unique to NuttX configurations for the STMicro
-Nucleo-144 board.  See ST document STM32 Nucleo-144 boards (UM1974):
-
-https://www.st.com/resource/en/user_manual/dm00244518.pdf
-
-Contents
-========
-
-  - Nucleo-144 Boards
-  - Nucleo F722ZE
-  - Nucleo F746ZG
-  - Nucleo F767ZI
-  - Development Environment
-  - IDEs
-  - Basic configuration & build steps
-  - Hardware
-    - Button
-    - LED
-    - U[S]ARTs and Serial Consoles
-    - SPI
-    - SDIO - MMC
-  - SPI Test
-  - Configurations
-     f7xx-nsh
-     f7xx-evalos
-
-Nucleo-144 Boards:
-=================
-
-The Nucleo-144 is a standard board for use with several STM32 parts in the
-LQFP144 package.  Variants include
-
-  STM32 Part     Board Variant Name
-  -------------  ------------------
-  STM32F207ZGT6  NUCLEO-F207ZG
-  STM32F303ZET6  NUCLEO-F303ZE
-  STM32F429ZIT6  NUCLEO-F429ZI
-  STM32F446ZET6  NUCLEO-F446ZE
-  STM32F722ZET6  NUCLEO-F722ZE
-  STM32F746ZGT6  NUCLEO-F746ZG
-  STM32F756ZGT6  NUCLEO-F756ZG
-  STM32F767ZIT6  NUCLEO-F767ZI
-  STM32L496ZGT6  NUCLEO-L496ZG
-  STM32L496ZGT6P NUCLEO-L496ZG-P
-  STM32L4A6ZGT6  NUCLEO-L4A6ZG
-  STM32L4R5ZIT6  NUCLEO-L4R5ZI
-  STM32L4R5ZIT6P NUCLEO-L4R5ZI-P
-  ------------- ------------------
-
-This directory is intended to support all STM32F7 Nucleo-144 variants since
-the boards are identical, differing only in the installed part.  This common
-board design provides uniformity in the documentation from ST and should
-allow us to quickly change configurations by just cloning a configuration
-and changing the CPU choice and board initialization.  Unfortunately for
-the developer, the CPU specific information must be extracted from the
-common information in the documentation.
-
-The NUCLEO-L496ZG and NUCLEO-L496ZG-P boards are not supported by this
-directory, but by boards/arm/stm32l4/nucleo-l496zg. Any other STM32L4
-Nucleo-144 boards are also not supported by this directory.
-
-Please read the User Manual UM1727: Getting started with STM32 Nucleo board
-software development tools and take note of the Powering options for the
-board (6.3 Power supply and power selection) and the Solder bridges based
-hardware configuration changes that are configurable (6.11 Solder bridges).
-
-Common Board Features:
----------------------
-
-  Peripherals:    8 leds, 2 push button (3 LEDs, 1 button) under software
-                  control
-  Debug:          STLINK/V2-1 debugger/programmer Uses a STM32F103CB to
-                  provide a ST-Link for programming, debug similar to the
-                  OpenOcd FTDI function - USB to JTAG front-end.
-
-  Expansion I/F:  ST Zio and Extended Arduino and Morpho Headers
-
-Nucleo F746ZG
-=============
-
-ST Nucleo F746ZG board from ST Micro is supported.  See
-
-http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-nucleo/nucleo-f746zg.html
-
-The Nucleo F746ZG order part number is NUCLEO-F746ZG. It is one member of
-the STM32 Nucleo-144 board family.
-
-NUCLEO-F746ZG Features:
-----------------------
-
-  Microprocessor: STM32F746ZGT6 Core: ARM 32-bit Cortex®-M7 CPU with FPU,
-                  L1-cache: 4KB data cache and 4KB instruction cache, up to
-                  216 MHz, MPU, and DSP instructions.
-  Memory:         1024 KB Flash 320KB of SRAM (including 64KB of data TCM RAM)
-                  + 16KB of instruction TCM RAM + 4KB of backup SRAM
-  ADC:            3×12-bit, 2.4 MSPS ADC: up to 24 channels and 7.2 MSPS in
-                  triple interleaved mode
-  DMA:            2 X 16-stream DMA controllers with FIFOs and burst support
-  Timers:         Up to 18 timers: up to thirteen 16-bit (1x 16-bit low power),
-                  two 32-bit timers, 2x watchdogs, SysTick
-  GPIO:           114 I/O ports with interrupt capability
-  LCD:            LCD-TFT Controller with (DMA2D), Parallel interface
-  I2C:            4 × I2C interfaces (SMBus/PMBus)
-  U[S]ARTs:       4 USARTs, 4 UARTs (27 Mbit/s, ISO7816 interface, LIN, IrDA,
-                  modem control)
-  SPI/12Ss:       6/3 (simplex) (up to 50 Mbit/s), 3 with muxed simplex I2S
-                  for audio class accuracy via internal audio PLL or external
-                  clock
-  QSPI:           Dual mode Quad-SPI
-  SAIs:           2 Serial Audio Interfaces
-  CAN:            2 X CAN interface
-  SDMMC interface
-  SPDIFRX interface
-  USB:            USB 2.0 full-speed device/host/OTG controller with on-chip
-                  PHY
-  10/100 Ethernet: MAC with dedicated DMA: supports IEEE 1588v2 hardware,
-                   MII/RMII
-  Camera Interface: 8/14 Bit
-  CRC calculation unit
-  TRG:            True random number generator
-  RTC
-
-See https://developer.mbed.org/platforms/ST-Nucleo-F746ZG  for additional
-information about this board.
-
-Nucleo F767ZI
-=============
-
-ST Nucleo F7467ZI board from ST Micro is supported.  See
-
-http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-nucleo/nucleo-f767zi.html
-
-The Nucleo F767ZI order part number is NUCLEO-F767ZI. It is one member of
-the STM32 Nucleo-144 board family.
-
-NUCLEO-F767ZI Features:
-----------------------
-
-  Microprocessor: STM32F767ZIT6 Core: ARM 32-bit Cortex®-M7 CPU with DPFPU,
-                  L1-cache: 16KB data cache and 16KB instruction cache, up to
-                  216 MHz, MPU, and DSP instructions.
-  Memory:         2048 KB Flash 512KB of SRAM (including 128KB of data TCM RAM)
-                  + 16KB of instruction TCM RAM + 4KB of backup SRAM
-  ADC:            3×12-bit, 2.4 MSPS ADC: up to 24 channels and 7.2 MSPS in
-                  triple interleaved mode
-  DMA:            2 X 16-stream DMA controllers with FIFOs and burst support
-  Timers:         Up to 18 timers: up to thirteen 16-bit (1x 16-bit low power),
-                  two 32-bit timers, 2x watchdogs, SysTick
-  GPIO:           114 I/O ports with interrupt capability
-  LCD:            LCD-TFT Controller with (DMA2D), Parallel interface
-  I2C:            4 × I2C interfaces (SMBus/PMBus)
-  U[S]ARTs:       4 USARTs, 4 UARTs (27 Mbit/s, ISO7816 interface, LIN, IrDA,
-                  modem control)
-  SPI/12Ss:       6/3 (simplex) (up to 50 Mbit/s), 3 with muxed simplex I2S
-                  for audio class accuracy via internal audio PLL or external
-                  clock
-  QSPI:           Dual mode Quad-SPI
-  SAIs:           2 Serial Audio Interfaces
-  CAN:            3 X CAN interface
-  SDMMC interface
-  SPDIFRX interface
-  USB:            USB 2.0 full/High-speed device/host/OTG controller with 
on-chip
-                  PHY
-  10/100 Ethernet: MAC with dedicated DMA: supports IEEE 1588v2 hardware,
-                   MII/RMII
-  Camera Interface: 8/14 Bit
-  CRC calculation unit
-  TRG:            True random number generator
-  RTC             subsecond accuracy, hardware calendar
-
-For pinout and details Check NUCLEO-F767ZI page on developer.mbed.org:
-https://os.mbed.com/platforms/ST-Nucleo-F767ZI/
-
-Also https://developer.mbed.org/platforms/ST-Nucleo-F746ZG
-may contain some related useful information.
-
-Development Environment
-=======================
-
-  Either Linux or Cygwin on Windows can be used for the development 
environment.
-  The source has been built only using the GNU toolchain (see below).  Other
-  toolchains will likely cause problems.
-
-  All testing has been conducted using the GNU toolchain from ARM for Linux.
-  found here 
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/4.9/4.9-2015-q3-update/+download/gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
-
-  If you change the default toolchain, then you may also have to modify the
-  PATH environment variable to include the path to the toolchain binaries.
-
-IDEs
-====
-
-  NuttX is built using command-line make.  It can be used with an IDE, but some
-  effort will be required to create the project.
-
-  Makefile Build
-  --------------
-  Under Eclipse, it is pretty easy to set up an "empty makefile project" and
-  simply use the NuttX makefile to build the system.  That is almost for free
-  under Linux.  Under Windows, you will need to set up the "Cygwin GCC" empty
-  makefile project in order to work with Windows (Google for "Eclipse Cygwin" -
-  there is a lot of help on the internet).
-
-Basic configuration & build steps
-==================================
-
-  A GNU GCC-based toolchain is assumed.  The PATH environment variable should
-  be modified to point to the correct path to the Cortex-M7 GCC toolchain (if
-  different from the default in your PATH variable).
-
-   - Configures nuttx creating .config file in the nuttx directory.
-     $ tools/configure.sh nucleo-f746zg:nsh
-   - Refreshes the .config file with the latest available configurations.
-     $ make oldconfig
-   - Select the features you want in the build.
-     $ make menuconfig
-   - Builds NuttX with the features you selected.
-     $ make
-
-Hardware
-========
-
-  GPIO - there are 144 I/O lines on the STM32F7xxZxT6 with various pins pined 
out
-  on the Nucleo 144.
-
-  See https://developer.mbed.org/platforms/ST-Nucleo-F746ZG/ for slick graphic
-  pinouts.
-
-  Keep in mind that:
-   1) The I/O is 3.3 Volt not 5 Volt like on the Arduino products.
-   2) The Nucleo-144 board family has 3 pages of Solder Bridges AKA Solder
-      Blobs (SB) that can alter the factory configuration. We will note SB
-      in effect but will assume the factory default settings.
-
-  Our main concern is establishing a console and LED utilization for
-  debugging. Because so many pins can be multiplexed with so many functions,
-  the above mentioned graphic may be helpful in identifying a serial port.
-
-  There are 5 choices that can be made from the menuconfig:
-
-  CONFIG_NUCLEO_CONSOLE_ARDUINO or CONFIG_NUCLEO_CONSOLE_MORPHO or
-  CONFIG_NUCLEO_CONSOLE_MORPHO_UART4 or CONFIG_NUCLEO_CONSOLE_VIRTUAL or
-  CONFIG_NUCLEO_CONSOLE_NONE
-
-  The CONFIG_NUCLEO_CONSOLE_NONE makes no preset for the console. You should 
still
-  visit the U[S]ART selection and Device Drivers to disable any U[S]ART 
remaining.
-
-  The CONFIG_NUCLEO_CONSOLE_ARDUINO configurations assume that you are using a
-  standard Arduino RS-232 shield with the serial interface with RX on pin D0 
and
-  TX on pin D1 from USART6:
-
-            -------- ---------------
-                        STM32F7
-            ARDUIONO FUNCTION  GPIO
-            -- ----- --------- -----
-            DO RX    USART6_RX PG9
-            D1 TX    USART6_TX PG14
-            -- ----- --------- -----
-
-  The CONFIG_NUCLEO_CONSOLE_MORPHO configurations uses Serial Port 8 (USART8)
-  with TX on PE1 and RX on PE0.
-
-            Serial
-            ------
-            SERIAL_RX         PE_0
-            SERIAL_TX         PE_1
-
-  The CONFIG_NUCLEO_CONSOLE_MORPHO_UART4 configurations uses Serial Port 4 
(UART4)
-  with TX on PA1 and RX on PA0. Zero Ohm resistor / solder short at
-  SB13 must be removed/open. (Disables Ethernet MII clocking.)
-
-            Serial
-            ------
-            SERIAL_RX         PA_1  CN11 30
-            SERIAL_TX         PA_0  CN11 28
-
-  The CONFIG_NUCLEO_CONSOLE_VIRTUAL configurations uses Serial Port 3 (USART3)
-  with TX on PD8 and RX on PD9.
-
-            Serial
-            ------
-            SERIAL_RX         PD9
-            SERIAL_TX         PD8
-
-  These signals are internally connected to the on board ST-Link.
-
-  Of course if your design has used those pins you can choose a completely
-  different U[S]ART to use as the console. In that Case, you will need to edit
-  the include/board.h to select different U[S]ART and / or pin selections.
-
-  Buttons
-  -------
-  B1 USER: the user button is connected to the I/O PC13 (Tamper support, SB173
-           ON and SB180 OFF)
-
-  LEDs
-  ----
-  The Board provides a 3 user LEDs, LD1-LD3
-  LED1 (Green)      PB_0  (SB120 ON and SB119 OFF)
-  LED2 (Blue)       PB_7  (SB139 ON)
-  LED3 (Red)        PB_14 (SP118 ON)
-
-    - When the I/O is HIGH value, the LEDs are on.
-    - When the I/O is LOW, the LEDs are off.
-
-  These LEDs are not used by the board port unless CONFIG_ARCH_LEDS is
-  defined.  In that case, the usage by the board port is defined in
-  include/board.h and src/stm32_autoleds.c. The LEDs are used to encode OS
-  related events as follows when the LEDs are available:
-
-  SYMBOL                Meaning                  RED  GREEN BLUE
-  -------------------  -----------------------   ---  ----- ----
-
-  LED_STARTED          NuttX has been started    OFF  OFF   OFF
-  LED_HEAPALLOCATE     Heap has been allocated   OFF  OFF   ON
-  LED_IRQSENABLED      Interrupts enabled        OFF  ON    OFF
-  LED_STACKCREATED     Idle stack created        OFF  ON    ON
-  LED_INIRQ            In an interrupt           NC   NC    ON  (momentary)
-  LED_SIGNAL           In a signal handler       NC   ON    OFF (momentary)
-  LED_ASSERTION        An assertion failed       ON   NC    ON  (momentary)
-  LED_PANIC            The system has crashed    ON   OFF   OFF (flashing 2Hz)
-  LED_IDLE             MCU is is sleep mode      ON   OFF   OFF
-
-OFF -    means that the OS is still initializing. Initialization is very fast
-         so if you see this at all, it probably means that the system is
-         hanging up somewhere in the initialization phases.
-
-GREEN -  This means that the OS completed initialization.
-
-BLUE  -  Whenever and interrupt or signal handler is entered, the BLUE LED is
-         illuminated and extinguished when the interrupt or signal handler
-         exits.
-
-VIOLET - If a recovered assertion occurs, the RED and blue LED will be
-         illuminated briefly while the assertion is handled.  You will
-         probably never see this.
-
-Flashing RED - In the event of a fatal crash, all other LEDs will be
-          extinguished and RED LED will FLASH at a 2Hz rate.
-
-  Thus if the GREEN LED is lit, NuttX has successfully booted and is,
-  apparently, running normally.  If the RED LED is flashing at
-  approximately 2Hz, then a fatal error has been detected and the system has
-  halted.
-
-Serial Consoles
-===============
-
-  USART6 (CONFIG_NUCLEO_CONSOLE_ARDUINO)
-  ------
-                STM32F7
-    ARDUINO FUNCTION  GPIO
-    -- ----- --------- -----
-    DO RX    USART6_RX PG9
-    D1 TX    USART6_TX PG14
-    -- ----- --------- -----
-
-  You must use a 3.3 TTL to RS-232 converter or a USB to 3.3V TTL
-
-    Nucleo 144           FTDI TTL-232R-3V3
-    -------------       -------------------
-    TXD - D1-TXD   -    RXD - Pin 5 (Yellow)
-    RXD - D0-RXD   -    TXD - Pin 4 (Orange)
-    GND   GND      -    GND   Pin 1  (Black)
-    -------------       -------------------
-
-    *Note you will be reverse RX/TX
-
-  Use make menuconfig to configure USART6 as the console:
-
-    CONFIG_STM32F7_USART6=y
-    CONFIG_USARTs_SERIALDRIVER=y
-    CONFIG_USARTS_SERIAL_CONSOLE=y
-    CONFIG_USART6_RXBUFSIZE=256
-    CONFIG_USART6_TXBUFSIZE=256
-    CONFIG_USART6_BAUD=115200
-    CONFIG_USART6_BITS=8
-    CONFIG_USART6_PARITY=0
-    CONFIG_USART6_2STOP=0
-
-  USART8 (CONFIG_NUCLEO_CONSOLE_MORPHO)
-  ------
-
-  Pins and Connectors:
-    FUNC GPIO  Connector
-                   Pin NAME
-    ---- ---   ------- ----
-    TXD: PE1   CN11-61, PE1
-    RXD: PE0   CN12-64, PE0
-               CN10-33, D34
-    ---- ---   ------- ----
-
-  You must use a 3.3 TTL to RS-232 converter or a USB to 3.3V TTL
-
-    Nucleo 144           FTDI TTL-232R-3V3
-    -------------       -------------------
-    TXD - CN11-61   -   RXD - Pin 5 (Yellow)
-    RXD - CN12-64   -   TXD - Pin 4 (Orange)
-    GND   CN12-63   -   GND   Pin 1  (Black)
-    -------------       -------------------
-
-    *Note you will be reverse RX/TX
-
-  Use make menuconfig to configure USART8 as the console:
-
-    CONFIG_STM32F7_UART8=y
-    CONFIG_UART8_SERIALDRIVER=y
-    CONFIG_UART8_SERIAL_CONSOLE=y
-    CONFIG_UART8_RXBUFSIZE=256
-    CONFIG_UART8_TXBUFSIZE=256
-    CONFIG_UART8_BAUD=115200
-    CONFIG_UART8_BITS=8
-    CONFIG_UART8_PARITY=0
-    CONFIG_UART8_2STOP=0
-
-  Virtual COM Port (CONFIG_NUCLEO_CONSOLE_VIRTUAL)
-  ----------------
-  Yet another option is to use USART3 and the USB virtual COM port.  This
-  option may be more convenient for long term development, but is painful
-  to use during board bring-up.
-
-  Solder Bridges.  This configuration requires:
-
-    PD8 USART3 TX SB5 ON and SB7 OFF (Default)
-    PD9 USART3 RX SB6 ON and SB4 OFF (Default)
-
-  Configuring USART3 is the same as given above but add the S and #3.
-
-  Question:  What BAUD should be configure to interface with the Virtual
-  COM port?  115200 8N1?
-
-  Default
-  -------
-  As shipped, SB4 and SB7 are open and SB5 and SB6 closed, so the
-  virtual COM port is enabled.
-
-SPI
----
-  Since this board is so generic, having a quick way to set the SPI
-  configuration seams in order. So the board provides a quick test
-  that can be selected vi CONFIG_NUCLEO_SPI_TEST that will initialize
-  the selected buses (SPI1-SPI3) and send some text on the bus at
-  application initialization time board_app_initialize.
-
-SDIO
-----
-  To test the SD performance one can use a SparkFun microSD Sniffer
-  from https://www.sparkfun.com/products/9419 or similar board
-  and connect it as follows:
-
-          VCC    V3.3 CN11  16
-          GND    GND  CN11-8
-          CMD    PD2  CN11-4
-          CLK    PC12 CN11-3
-          DAT0 - PC8  CN12-2
-          DAT1 - PC9  CN12-1
-          DAT2   PC10 CN11-1
-          CD     PC11 CN11-2
-
-SPI Test
-========
-
-  The builtin SPI test facility can be enabled with the following settings:
-
-    +CONFIG_STM32F7_SPI=y
-    +CONFIG_STM32F7_SPI1=y
-    +CONFIG_STM32F7_SPI2=y
-    +CONFIG_STM32F7_SPI3=y
-
-    +# CONFIG_STM32F7_SPI_INTERRUPTS is not set
-    +# CONFIG_STM32F7_SPI1_DMA is not set
-    +# CONFIG_STM32F7_SPI2_DMA is not set
-    +# CONFIG_STM32F7_SPI3_DMA is not set
-     # CONFIG_STM32F7_CUSTOM_CLOCKCONFIG is not set
-
-    +CONFIG_NUCLEO_SPI_TEST=y
-    +CONFIG_NUCLEO_SPI_TEST_MESSAGE="Hello World"
-    +CONFIG_NUCLEO_SPI1_TEST=y
-    +CONFIG_NUCLEO_SPI1_TEST_FREQ=1000000
-    +CONFIG_NUCLEO_SPI1_TEST_BITS=8
-    +CONFIG_NUCLEO_SPI1_TEST_MODE3=y
-
-    +CONFIG_NUCLEO_SPI2_TEST=y
-    +CONFIG_NUCLEO_SPI2_TEST_FREQ=12000000
-    +CONFIG_NUCLEO_SPI2_TEST_BITS=8
-    +CONFIG_NUCLEO_SPI2_TEST_MODE3=y
-
-    +CONFIG_NUCLEO_SPI3_TEST=y
-    +CONFIG_NUCLEO_SPI3_TEST_FREQ=40000000
-    +CONFIG_NUCLEO_SPI3_TEST_BITS=8
-    +CONFIG_NUCLEO_SPI3_TEST_MODE3=y
-
-    +CONFIG_BOARDCTL=y
-    +CONFIG_NSH_ARCHINIT=y
-
-Configurations
-==============
-
-f7xx-nsh:
----------
-
-  Configures the NuttShell (nsh) located at apps/examples/nsh for the
-  Nucleo-144 boards.  The Configuration enables the serial interfaces
-  on USART6.  Support for builtin applications is enabled, but in the base
-  configuration no builtin applications are selected (see NOTES below).
-
-  NOTES:
-
-  1. This configuration uses the mconf-based configuration tool.  To
-     change this configuration using that tool, you should:
-
-     a. Build and install the kconfig-mconf tool.  See nuttx/README.txt
-        see additional README.txt files in the NuttX tools repository.
-
-     b. If this is the initial configuration then execute
-
-           ./tools/configure.sh nucleo-144:nsh
-
-        in nuttx/ in order to start configuration process.
-        Caution: Doing this step more than once will overwrite .config with
-        the contents of the nucleo-144/nsh/defconfig file.
-
-     c. Execute 'make oldconfig' in nuttx/ in order to refresh the
-        configuration.
-
-     d. Execute 'make menuconfig' in nuttx/ in order to start the
-        reconfiguration process.
-
-     e. Save the .config file to reuse it in the future starting at step d.
-
-  2. By default, this configuration uses the ARM GNU toolchain
-     for Linux.  That can easily be reconfigured, of course.
-
-     CONFIG_HOST_LINUX=y                     : Builds under Linux
-     CONFIG_ARM_TOOLCHAIN_GNU_EABI=y      : ARM GNU for Linux
-
-  3. The serial console may be configured to use either USART3 (which would
-     correspond to the Virtual COM port) or with the console device
-     configured for USART6 to support an Arduino serial shield (see
-     instructions above under "Serial Consoles).  You will need to check the
-     defconfig file to see how the console is set up and, perhaps, modify
-     the configuration accordingly.
-
-     To select the Virtual COM port:
-
-       -CONFIG_NUCLEO_CONSOLE_ARDUINO
-       +CONFIG_NUCLEO_CONSOLE_VIRTUAL=y
-       -CONFIG_USART6_SERIAL_CONSOLE=y
-       +CONFIG_USART3_SERIAL_CONSOLE=y
-
-     To select the Arduino serial shield:
-
-       -CONFIG_NUCLEO_CONSOLE_VIRTUAL=y
-       +CONFIG_NUCLEO_CONSOLE_ARDUINO
-       -CONFIG_USART3_SERIAL_CONSOLE=y
-       +CONFIG_USART6_SERIAL_CONSOLE=y
-
-     Default values for other settings associated with the select USART should
-     be correct.
-
-f7xx-evalos:
-------------
-
-  This configuration is designed to test the features of the board.
-    - Configures the NuttShell (nsh) located at apps/examples/nsh for the
-      Nucleo-144 boards. The console is available on serial interface USART3,
-      which is accessible over the USB ST-Link interface.
-    - Configures nsh with advanced features such as autocompletion.
-    - Configures the on-board LEDs to work with the 'leds' example app.
-    - Configures the 'helloxx' example app.
-    - Adds character device for i2c1
-    - Tries to register mpu60x0 IMU to i2c1
-
-  NOTES:
-
-  1. This configuration uses the mconf-based configuration tool.  To
-    change this configuration using that tool, you should:
-
-    a. Build and install the kconfig-mconf tool.  See nuttx/README.txt
-       see additional README.txt files in the NuttX tools repository.
-
-    b. If this is the initial configuration then execute
-
-          ./tools/configure.sh nucleo-144:evalos
-
-       in nuttx/ in order to start configuration process.
-       Caution: Doing this step more than once will overwrite .config with
-       the contents of the nucleo-144/evalos/defconfig file.
-
-    c. Execute 'make oldconfig' in nuttx/ in order to refresh the
-       configuration.
-
-    d. Execute 'make menuconfig' in nuttx/ in order to start the
-       reconfiguration process.
-
-    e. Save the .config file to reuse it in the future starting at step d.
-
-  2. By default, this configuration uses the ARM GNU toolchain
-    for Linux.  That can easily be reconfigured, of course.
-
-    CONFIG_HOST_LINUX=y                     : Builds under Linux
-    CONFIG_ARM_TOOLCHAIN_GNU_EABI=y      : ARM GNU for Linux
diff --git a/boards/arm/stm32f7/steval-eth001v1/README.txt 
b/boards/arm/stm32f7/steval-eth001v1/README.txt
deleted file mode 100644
index 01f76b40e5..0000000000
--- a/boards/arm/stm32f7/steval-eth001v1/README.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-README
-======
-
-  This README discusses issues unique to NuttX configurations for the
-  STMicro STEVAL-ETH001V1 servo drive evaluation board.
-  The STEVAL-ETH001V1 board is based on the STM32F767ZI MCU (2Mbytes FLASH
-  and 512Kbytes of SRAM).
-
-  The boards features:
-
-    - Three-phase motor driver inverter based on STDRIVE101 gate driver and
-      STH270N8F7-2 power MOSFET
-    - NETX90 network controller
-    - Operating supply voltage up to 48 V with a max. overvoltage robustness
-      of 60 V
-    - Motor brake dissipative energy circuit
-    - Digital actuation section for industrial loads
-    - RS485 interface for digital encoder and host interface
diff --git a/boards/arm/stm32f7/stm32f746g-disco/README.txt 
b/boards/arm/stm32f7/stm32f746g-disco/README.txt
deleted file mode 100644
index 91fcc2693b..0000000000
--- a/boards/arm/stm32f7/stm32f746g-disco/README.txt
+++ /dev/null
@@ -1,537 +0,0 @@
-README
-======
-
-This README discusses issues unique to NuttX configurations for the
-STMicro STM32F746G-DISCO development board featuring the STM32F746NGH6
-MCU. The STM32F746NGH6  is a 216MHz Cortex-M7 operation with 1024Kb Flash
-memory and 300Kb SRAM. The board features:
-
-  - On-board ST-LINK/V2 for programming and debugging,
-  - Mbed-enabled (mbed.org)
-  - 4.3-inch 480x272 color LCD-TFT with capacitive touch screen
-  - Camera connector
-  - SAI audio codec
-  - Audio line in and line out jack
-  - Stereo speaker outputs
-  - Two ST MEMS microphones
-  - SPDIF RCA input connector
-  - Two pushbuttons (user and reset)
-  - 128-Mbit Quad-SPI Flash memory
-  - 128-Mbit SDRAM (64 Mbits accessible)
-  - Connector for microSD card
-  - RF-EEPROM daughterboard connector
-  - USB OTG HS with Micro-AB connectors
-  - USB OTG FS with Micro-AB connectors
-  - Ethernet connector compliant with IEEE-802.3-2002
-
-Refer to the http://www.st.com website for further information about this
-board (search keyword: stm32f746g-disco)
-
-Contents
-========
-
-  - STATUS
-  - Development Environment
-  - LEDs and Buttons
-  - Serial Console
-  - Porting STM32 F4 Drivers
-  - FPU
-  - STM32F746G-DISCO-specific Configuration Options
-  - Configurations
-
-STATUS
-======
-
-  2015-07-19:  The basic NSH configuration is functional using a serial
-    console on USART1 (Virtual COM, i.e. ttyACM0). Very few other drivers
-    are in place yet.
-
-  2015-07-20:  STM32 F7 Ethernet appears to be functional, but has had
-    only light testing.
-
-Development Environment
-=======================
-
-  The Development environments for the STM32F746G-DISCO board are identical
-  to the environments for other STM32F boards.  For full details on the
-  environment options and setup, see the README.txt file in the
-  boards/arm/stm32f7/stm32f746g-disco directory.
-
-LEDs and Buttons
-================
-
-  LEDs
-  ----
-  The STM32F746G-DISCO board has numerous LEDs but only one, LD1 located
-  near the reset button, that can be controlled by software (LD2 is a power
-  indicator, LD3-6 indicate USB status, LD7 is controlled by the ST-Link).
-
-  LD1 is controlled by PI1 which is also the SPI2_SCK at the Arduino
-  interface.  One end of LD1 is grounded so a high output on PI1 will
-  illuminate the LED.
-
-  This LED is not used by the board port unless CONFIG_ARCH_LEDS is defined.
-  In that case, the usage by the board port is defined in include/board.h
-  and src/stm32_leds.c. The LEDs are used to encode OS-related events as
-  follows:
-
-    SYMBOL              Meaning                 LD1
-    ------------------- ----------------------- ------
-    LED_STARTED         NuttX has been started  OFF
-    LED_HEAPALLOCATE    Heap has been allocated OFF
-    LED_IRQSENABLED     Interrupts enabled      OFF
-    LED_STACKCREATED    Idle stack created      ON
-    LED_INIRQ           In an interrupt         N/C
-    LED_SIGNAL          In a signal handler     N/C
-    LED_ASSERTION       An assertion failed     N/C
-    LED_PANIC           The system has crashed  FLASH
-
-  Thus is LD1 is statically on, NuttX has successfully  booted and is,
-  apparently, running normally.  If LD1 is flashing at approximately
-  2Hz, then a fatal error has been detected and the system has halted.
-
-  Buttons
-  -------
-  Pushbutton B1, labelled "User", is connected to GPIO PI11.  A high
-  value will be sensed when the button is depressed.
-
-Serial Console
-==============
-
-  The STM32F469G-DISCO uses USART1 connected to "Virtual COM", so when you
-  plug it on your computer it will be detected as a USB port (i.e. ttyACM0):
-
-  -------- ---------------
-              STM32F7
-  V.COM     FUNCTION  GPIO
-  -----    --------- -----
-  RXD      USART1_RX PB7
-  TXD      USART1_TX PA9
-  ------   --------- -----
-
-  All you need to do after flashing NuttX on this board is use a serial
-  console tool (minicom, picocom, screen, hyperterminal, teraterm, putty,
-  etc ) configured to 115200 8n1.
-
-Porting STM32 F4 Drivers
-========================
-
-  The STM32F746 is very similar to the STM32 F429 and many of the drivers
-  in the stm32/ directory could be ported here:  ADC, BBSRAM, CAN, DAC,
-  DMA2D, FLASH, I2C, IWDG, LSE, LSI, LTDC, OTGFS, OTGHS, PM, Quadrature
-  Encoder, RNG, RTCC, SDMMC (was SDIO), Timer/counters, and WWDG.
-
-  Many of these drivers would be ported very simply; many ports would just
-  be a matter of copying files and some seach-and-replacement.  Like:
-
-    1. Compare the two register definitions files; make sure that the STM32
-       F4 peripheral is identical (or nearly identical) to the F7
-       peripheral.  If so then,
-    2. Copy the register definition file from the stm32/chip directory to
-       the stm32f7/chip directory, making name changes as appropriate and
-       updating the driver for any minor register differences.
-    3. Copy the corresponding C  file (and possibly a matching .h file) from
-       the stm32/ directory to the stm32f7/ directory again with naming
-       changes and changes for any register differences.
-    4. Update the Make.defs file to include the new C file in the build.
-
-  For other files, particularly those that use DMA, the port will be
-  significantly more complex.  That is because the STM32F7 has a D-Cache
-  and, as a result, we need to exercise much more care to maintain cache
-  coherency.  There is a Wiki page discussing the issues of porting
-  drivers from the stm32/ to the stm32f7/ directories here:
-  
https://cwiki.apache.org/confluence/display/NUTTX/Porting+Drivers+to+the+STM32+F7
-
-FPU
-===
-
-FPU Configuration Options
--------------------------
-
-There are two version of the FPU support built into the STM32 port.
-
-1. Non-Lazy Floating Point Register Save
-
-   In this configuration floating point register save and restore is
-   implemented on interrupt entry and return, respectively.  In this
-   case, you may use floating point operations for interrupt handling
-   logic if necessary.  This FPU behavior logic is enabled by default
-   with:
-
-     CONFIG_ARCH_FPU=y
-
-2. Lazy Floating Point Register Save.
-
-   An alternative mplementation only saves and restores FPU registers only
-   on context switches.  This means: (1) floating point registers are not
-   stored on each context switch and, hence, possibly better interrupt
-   performance.  But, (2) since floating point registers are not saved,
-   you cannot use floating point operations within interrupt handlers.
-
-   This logic can be enabled by simply adding the following to your .config
-   file:
-
-     CONFIG_ARCH_FPU=y
-
-STM32F746G-DISCO-specific Configuration Options
-===============================================
-
-    CONFIG_ARCH - Identifies the arch/ subdirectory.  This should
-       be set to:
-
-       CONFIG_ARCH=arm
-
-    CONFIG_ARCH_family - For use in C code:
-
-       CONFIG_ARCH_ARM=y
-
-    CONFIG_ARCH_architecture - For use in C code:
-
-       CONFIG_ARCH_CORTEXM7=y
-
-    CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
-
-       CONFIG_ARCH_CHIP=stm32f7
-
-    CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
-       chip:
-
-       CONFIG_ARCH_CHIP_STM32F746=y
-
-    CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG - Enables special STM32 clock
-       configuration features.
-
-       CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG=n
-
-    CONFIG_ARCH_BOARD - Identifies the boards/ subdirectory and,
-       hence, the board that supports the particular chip or SoC.
-
-       CONFIG_ARCH_BOARD=stm32f746g-disco (for the STM32F746G-DISCO 
development board)
-
-    CONFIG_ARCH_BOARD_name - For use in C code
-
-       CONFIG_ARCH_BOARD_STM32F746G_DISCO=y
-
-    CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
-       of delay loops
-
-    CONFIG_ENDIAN_BIG - should not be defined.
-
-    CONFIG_RAM_SIZE - Describes the installed DRAM (SRAM in this case):
-
-       CONFIG_RAM_SIZE=0x00010000 (64Kb)
-
-    CONFIG_RAM_START - The start address of installed SRAM (SRAM1)
-
-       CONFIG_RAM_START=0x20010000
-       CONFIG_RAM_SIZE=245760
-
-    This configurations use only SRAM1 for data storage.  The heap includes
-    the remainder of SRAM1.  If CONFIG_MM_REGIONS=2, then SRAM2 will be
-    included in the heap.
-
-    DTCM SRAM is never included in the heap because it cannot be used for
-    DMA.  A DTCM allocator is available, however, so that DTCM can be
-    managed with dtcm_malloc(), dtcm_free(), etc.
-
-    In order to use FMC SRAM, the following additional things need to be
-    present in the NuttX configuration file:
-
-    CONFIG_STM32F7_FMC_SRAM - Indicates that SRAM is available via the
-      FMC (as opposed to an LCD or FLASH).
-
-    CONFIG_HEAP2_BASE - The base address of the SRAM in the FMC address space 
(hex)
-
-    CONFIG_HEAP2_SIZE - The size of the SRAM in the FMC address space (decimal)
-
-    CONFIG_ARCH_FPU - The STM32F746G-DISCO supports a floating point unit (FPU)
-
-       CONFIG_ARCH_FPU=y
-
-    CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
-       have LEDs
-
-    CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
-       stack. If defined, this symbol is the size of the interrupt
-        stack in bytes.  If not defined, the user task stacks will be
-      used during interrupt handling.
-
-    CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
-
-    CONFIG_ARCH_LEDS -  Use LEDs to show state. Unique to board architecture.
-
-  Individual subsystems can be enabled:
-
-    APB1
-    ----
-    CONFIG_STM32F7_TIM2           TIM2
-    CONFIG_STM32F7_TIM3           TIM3
-    CONFIG_STM32F7_TIM4           TIM4
-    CONFIG_STM32F7_TIM5           TIM5
-    CONFIG_STM32F7_TIM6           TIM6
-    CONFIG_STM32F7_TIM7           TIM7
-    CONFIG_STM32F7_TIM12          TIM12
-    CONFIG_STM32F7_TIM13          TIM13
-    CONFIG_STM32F7_TIM14          TIM14
-    CONFIG_STM32F7_LPTIM1         LPTIM1
-    CONFIG_STM32F7_RTC            RTC
-    CONFIG_STM32F7_BKP            BKP Registers
-    CONFIG_STM32F7_WWDG           WWDG
-    CONFIG_STM32F7_IWDG           IWDG
-    CONFIG_STM32F7_SPI2           SPI2
-    CONFIG_STM32F7_I2S2           I2S2
-    CONFIG_STM32F7_SPI3           SPI3
-    CONFIG_STM32F7_I2S3           I2S3
-    CONFIG_STM32F7_SPDIFRX        SPDIFRX
-    CONFIG_STM32F7_USART2         USART2
-    CONFIG_STM32F7_USART3         USART3
-    CONFIG_STM32F7_UART4          UART4
-    CONFIG_STM32F7_UART5          UART5
-    CONFIG_STM32F7_I2C1           I2C1
-    CONFIG_STM32F7_I2C2           I2C2
-    CONFIG_STM32F7_I2C3           I2C3
-    CONFIG_STM32F7_I2C4           I2C4
-    CONFIG_STM32F7_CAN1           CAN1
-    CONFIG_STM32F7_CAN2           CAN2
-    CONFIG_STM32F7_HDMICEC        HDMI-CEC
-    CONFIG_STM32F7_PWR            PWR
-    CONFIG_STM32F7_DAC            DAC
-    CONFIG_STM32F7_UART7          UART7
-    CONFIG_STM32F7_UART8          UART8
-
-    APB2
-    ----
-    CONFIG_STM32F7_TIM1           TIM1
-    CONFIG_STM32F7_TIM8           TIM8
-    CONFIG_STM32F7_USART1         USART1
-    CONFIG_STM32F7_USART6         USART6
-    CONFIG_STM32F7_ADC            ADC1 - ADC2 - ADC3
-    CONFIG_STM32F7_SDMMC1         SDMMC1
-    CONFIG_STM32F7_SPI1           SPI1
-    CONFIG_STM32F7_SPI4           SPI4
-    CONFIG_STM32F7_SYSCFG         SYSCFG
-    CONFIG_STM32F7_EXTI           EXTI
-    CONFIG_STM32F7_TIM9           TIM9
-    CONFIG_STM32F7_TIM10          TIM10
-    CONFIG_STM32F7_TIM11          TIM11
-    CONFIG_STM32F7_SPI5           SPI5
-    CONFIG_STM32F7_SPI6           SPI6
-    CONFIG_STM32F7_SAI1           SAI1
-    CONFIG_STM32F7_SAI2           SAI2
-    CONFIG_STM32F7_LTDC           LCD-TFT
-
-    AHB1
-    ----
-    CONFIG_STM32F7_CRC            CRC
-    CONFIG_STM32F7_BKPSRAM        BKPSRAM
-    CONFIG_STM32F7_DMA1           DMA1
-    CONFIG_STM32F7_DMA2           DMA2
-    CONFIG_STM32F7_ETHMAC         Ethernet MAC
-    CONFIG_STM32F7_DMA2D          Chrom-ART (DMA2D)
-    CONFIG_STM32F7_OTGHS          USB OTG HS
-
-    AHB2
-    ----
-    CONFIG_STM32F7_OTGFS          USB OTG FS
-    CONFIG_STM32F7_DCMI           DCMI
-    CONFIG_STM32F7_CRYP           CRYP
-    CONFIG_STM32F7_HASH           HASH
-    CONFIG_STM32F7_RNG            RNG
-
-    AHB3
-    ----
-
-    CONFIG_STM32F7_FMC            FMC control registers
-    CONFIG_STM32F7_QUADSPI        QuadSPI Control
-
-  Timer devices may be used for different purposes.  One special purpose is
-  to generate modulated outputs for such things as motor control.  If 
CONFIG_STM32F7_TIMn
-  is defined (as above) then the following may also be defined to indicate that
-  the timer is intended to be used for pulsed output modulation, ADC 
conversion,
-  or DAC conversion. Note that ADC/DAC require two definition:  Not only do 
you have
-  to assign the timer (n) for used by the ADC or DAC, but then you also have to
-  configure which ADC or DAC (m) it is assigned to.
-
-    CONFIG_STM32F7_TIMn_PWM   Reserve timer n for use by PWM, n=1,..,14
-    CONFIG_STM32F7_TIMn_ADC   Reserve timer n for use by ADC, n=1,..,14
-    CONFIG_STM32F7_TIMn_ADCm  Reserve timer n to trigger ADCm, n=1,..,14, 
m=1,..,3
-    CONFIG_STM32F7_TIMn_DAC   Reserve timer n for use by DAC, n=1,..,14
-    CONFIG_STM32F7_TIMn_DACm  Reserve timer n to trigger DACm, n=1,..,14, 
m=1,..,2
-
-  For each timer that is enabled for PWM usage, we need the following 
additional
-  configuration settings:
-
-    CONFIG_STM32F7_TIMx_CHANNEL - Specifies the timer output channel {1,..,4}
-
-  NOTE: The STM32 timers are each capable of generating different signals on
-  each of the four channels with different duty cycles.  That capability is
-  not supported by this driver:  Only one output channel per timer.
-
-  STM32F746G-DISCO specific device driver settings
-
-    CONFIG_U[S]ARTn_SERIAL_CONSOLE - selects the USARTn (n=1,2,3) or UART
-           m (m=4,5) for the console and ttys0 (default is the USART1).
-    CONFIG_U[S]ARTn_RXBUFSIZE - Characters are buffered as received.
-       This specific the size of the receive buffer
-    CONFIG_U[S]ARTn_TXBUFSIZE - Characters are buffered before
-       being sent.  This specific the size of the transmit buffer
-    CONFIG_U[S]ARTn_BAUD - The configure BAUD of the UART.  Must be
-    CONFIG_U[S]ARTn_BITS - The number of bits.  Must be either 7 or 8.
-    CONFIG_U[S]ARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
-    CONFIG_U[S]ARTn_2STOP - Two stop bits
-
-  STM32F746G-DISCO CAN Configuration
-
-    CONFIG_CAN - Enables CAN support (one or both of CONFIG_STM32F7_CAN1 or
-      CONFIG_STM32F7_CAN2 must also be defined)
-    CONFIG_CAN_EXTID - Enables support for the 29-bit extended ID.  Default
-      Standard 11-bit IDs.
-    CONFIG_CAN_FIFOSIZE - The size of the circular buffer of CAN messages.
-      Default: 8
-    CONFIG_CAN_NPENDINGRTR - The size of the list of pending RTR requests.
-      Default: 4
-    CONFIG_CAN_LOOPBACK - A CAN driver may or may not support a loopback
-      mode for testing. The STM32 CAN driver does support loopback mode.
-    CONFIG_STM32F7_CAN1_BAUD - CAN1 BAUD rate.  Required if
-      CONFIG_STM32F7_CAN1 is defined.
-    CONFIG_STM32F7_CAN2_BAUD - CAN1 BAUD rate.  Required if
-      CONFIG_STM32F7_CAN2 is defined.
-    CONFIG_STM32_CAN_TSEG1 - The number of CAN time quanta in segment 1.
-      Default: 6
-    CONFIG_STM32_CAN_TSEG2 - the number of CAN time quanta in segment 2.
-      Default: 7
-    CONFIG_STM32_CAN_REGDEBUG - If CONFIG_DEBUG_FEATURES is set, this will 
generate an
-      dump of all CAN registers.
-
-  STM32F746G-DISCO SPI Configuration
-
-    CONFIG_STM32F7_SPI_INTERRUPTS - Select to enable interrupt driven SPI
-      support. Non-interrupt-driven, poll-waiting is recommended if the
-      interrupt rate would be to high in the interrupt driven case.
-    CONFIG_STM32F7_SPIx_DMA - Use DMA to improve SPIx transfer performance.
-      Cannot be used with CONFIG_STM32F7_SPI_INTERRUPT.
-
-  STM32F746G-DISCO DMA Configuration
-
-    CONFIG_SDIO_DMA - Support DMA data transfers.  Requires CONFIG_STM32F7_SDIO
-      and CONFIG_STM32F7_DMA2.
-    CONFIG_STM32_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
-      Default:  Medium
-    CONFIG_STM32_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode.  Default:
-      4-bit transfer mode.
-
-  STM32 USB OTG FS Host Driver Support
-
-  Pre-requisites
-
-   CONFIG_USBDEV          - Enable USB device support
-   CONFIG_USBHOST         - Enable USB host support
-   CONFIG_STM32F7_OTGFS     - Enable the STM32 USB OTG FS block
-   CONFIG_STM32F7_SYSCFG    - Needed
-   CONFIG_SCHED_WORKQUEUE - Worker thread support is required
-
-  Options:
-
-   CONFIG_STM32F7_OTGFS_RXFIFO_SIZE - Size of the RX FIFO in 32-bit words.
-     Default 128 (512 bytes)
-   CONFIG_STM32F7_OTGFS_NPTXFIFO_SIZE - Size of the non-periodic Tx FIFO
-     in 32-bit words.  Default 96 (384 bytes)
-   CONFIG_STM32F7_OTGFS_PTXFIFO_SIZE - Size of the periodic Tx FIFO in 32-bit
-     words.  Default 96 (384 bytes)
-   CONFIG_STM32F7_OTGFS_DESCSIZE - Maximum size of a descriptor.  Default: 128
-   CONFIG_STM32F7_OTGFS_SOFINTR - Enable SOF interrupts.  Why would you ever
-     want to do that?
-   CONFIG_STM32F7_USBHOST_REGDEBUG - Enable very low-level register access
-     debug.  Depends on CONFIG_DEBUG_FEATURES.
-   CONFIG_STM32F7_USBHOST_PKTDUMP - Dump all incoming and outgoing USB
-     packets. Depends on CONFIG_DEBUG_FEATURES.
-
-Configurations
-==============
-
-  Common Configuration Information
-  --------------------------------
-  Each STM32F746G-DISCO configuration is maintained in a sub-directory and
-  can be selected as follow:
-
-    tools/configure.sh stm32f746g-disco:<subdir>
-
-  Where <subdir> is one of the sub-directories listed below.
-
-  NOTES:
-
-    1. These configurations use the mconf-based configuration tool.  To
-       change this configuration using that tool, you should:
-
-       a. Build and install the kconfig-mconf tool.  See nuttx/README.txt
-          see additional README.txt files in the NuttX tools repository.
-
-       b. Execute 'make menuconfig' in nuttx/ in order to start the
-          reconfiguration process.
-
-    2. By default, these configurations use the USART1 for the serial
-       console.  Pins are configured to that RX/TX are available at
-       pins D0 and D1 of the Arduion connectors.  This should be compatible
-       with most RS-232 shields.
-
-    3. All of these configurations are set up to build under Windows using the
-       "GNU Tools for ARM Embedded Processors" that is maintained by ARM
-       (unless stated otherwise in the description of the configuration).
-
-         https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
-
-       As of this writing (2015-03-11), full support is difficult to find
-       for the Cortex-M7, but is supported by at least this release of
-       the ARM GNU tools:
-
-         https://launchpadlibrarian.net/209776344/release.txt
-
-       That toolchain selection can easily be reconfigured using
-       'make menuconfig'.  Here are the relevant current settings:
-
-       Build Setup:
-         CONFIG_HOST_WINDOWS=y               : Window environment
-         CONFIG_WINDOWS_CYGWIN=y             : Cywin under Windows
-
-       System Type -> Toolchain:
-         CONFIG_ARM_TOOLCHAIN_GNU_EABI=y  : GNU ARM EABI toolchain
-
-       NOTE: As of this writing, there are issues with using this tool at
-       the -Os level of optimization.  This has not been proven to be a
-       compiler issue (as least not one that might not be fixed with a
-       well placed volatile qualifier).  However, in any event, it is
-       recommend that you use not more that -O2 optimization.
-
-Configuration Directories
--------------------------
-
-  nsh
-  ---
-    Configures the NuttShell (NSH) located at apps/examples/nsh.  The
-    Configuration enables the serial interfaces on USART1.  Support for
-    built-in applications is enabled, but in the base configuration no
-    built-in applications are selected.
-
-  netnsh
-  ------
-    This configuration is similar to the nsh but a lot more hardware
-    peripherals are enabled, in particular Ethernet, as well as networking
-    support.  It is similar to the stm32f769i-disco/netnsh
-    configuration. This configuration uses USART1 for the serial console.
-    USART1 is connected to the ST-link virtual com inside board.h to remove
-    the need of a extra serial connection to use this board.
-
-  lgvl
-  ----
-    STM32F746G-DISCO LittlevGL demo example.
-
-    The LTDC is initialized during boot up.
-    This configuration uses USART1 for the serial console.
-    USART1 is connected to the ST-link virtual com inside board.h to remove
-    the need of a extra serial connection to use this board.
-    From the nsh command line execute the lvgldemo example:
-
-      nsh> lvgldemo
-
-    The test will execute the calibration process and then run the
-    LittlevGL demo project.
diff --git a/boards/arm/stm32f7/stm32f746g-disco/configs/fb/README.txt 
b/boards/arm/stm32f7/stm32f746g-disco/configs/fb/README.txt
deleted file mode 100644
index 9db93b170e..0000000000
--- a/boards/arm/stm32f7/stm32f746g-disco/configs/fb/README.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-README.txt
-==========
-
-STM32F746G-DISCO LTDC Framebuffer demo example
-
-Configure and build
--------------------
-
-tools/configure.sh stm32f746g-disco:fb
-make
-
-Configuration
-------------
-
-This configuration provides 1 LTDC with
-16bpp pixel format and a resolution of 480x272.
-
-Loading
--------
-
-st-flash write nuttx.bin 0x8000000
-
-Executing
----------
-
-The ltdc is initialized during boot up.  Interaction with NSH is via the serial
-console provided by ST-LINK USB at 115200 8N1 baud.
-From the nsh comandline execute the fb example:
-
-  nsh> fb
-
-The test will put a pattern of concentric squares in the framebuffer and
-terminate.
diff --git a/boards/arm/stm32f7/stm32f746g-disco/configs/nxdemo/README.txt 
b/boards/arm/stm32f7/stm32f746g-disco/configs/nxdemo/README.txt
deleted file mode 100644
index 40175c8b15..0000000000
--- a/boards/arm/stm32f7/stm32f746g-disco/configs/nxdemo/README.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-README.txt
-==========
-
-STM32F746G-DISCO NX demo example
-
-Configure and build
--------------------
-
-tools/configure.sh stm32f746g-disco:nxdemo
-make
-
-Configuration
-------------
-
-This configuration provides 1 LTDC with
-16bpp pixel format and a resolution of 480x272.
-
-Trickiest part of config is increasing max message size 
(CONFIG_MQ_MAXMSGSIZE=256).
-NX server - client communication cannot be established with default value 8 
bytes.
-
-Loading
--------
-
-st-flash write nuttx.bin 0x8000000
-
-or
-
-openocd -f interface/stlink.cfg -f target/stm32f7x.cfg
-telnet localhost 4444
-> program nuttx verify reset
-
-Executing
----------
-
-The ltdc is initialized during boot up.  Interaction with NSH is via the serial
-console provided by ST-LINK USB at 115200 8N1 baud.
-
-There are two graphics examples provided in this configuration:
-- nxdemo
-- nxhello
-
-Use help command to show list of examples available:
-
-  nsh> help
-
-From the nsh comandline execute the example:
-
-  nsh> nxdemo
-
-The test will draw animated lines, squares and circles on the device screen.
diff --git a/boards/arm/stm32f7/stm32f746g-disco/configs/nxterm/README.txt 
b/boards/arm/stm32f7/stm32f746g-disco/configs/nxterm/README.txt
deleted file mode 100644
index 3b10481a72..0000000000
--- a/boards/arm/stm32f7/stm32f746g-disco/configs/nxterm/README.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-README.txt
-==========
-
-STM32F746G-DISCO NX Terminal example
-
-Configure and build
--------------------
-
-tools/configure.sh stm32f746g-disco:nxterm
-make
-
-Configuration
-------------
-
-This configuration provides 1 LTDC with
-16bpp pixel format and a resolution of 480x272.
-
-Trickiest part of config is increasing max message size 
(CONFIG_MQ_MAXMSGSIZE=256).
-NX server - client communication cannot be established with default value 8 
bytes.
-
-Loading
--------
-
-st-flash write nuttx.bin 0x8000000
-
-or
-
-openocd -f interface/stlink.cfg -f target/stm32f7x.cfg
-telnet localhost 4444
-> program nuttx verify reset
-
-Executing
----------
-
-The ltdc is initialized during boot up.  Interaction with NSH is via the serial
-console provided by ST-LINK USB at 115200 8N1 baud.
-
-From the nsh comandline execute the example:
-
-  nsh> nxterm
-
-The test will show terminal window on the screen.

Reply via email to