nuttx/arch/arm/include
Nathan Hartman 9b9d1fc7ca arch/stm32h7: Extend support to all STM32H7x3xx
All parts in the STM32H7x3xx family have the same pinmap, etc.,
so extending support to all members of the family required only
minimal changes: Adding them to Kconfig, extending some
preprocessor logic, and minor code changes.

arch/arm/src/stm32h7/Kconfig:

    * Add explicit support for all microcontrollers in the
      STM32H7x3xx family by adding support for:
        - STM32H743AG
        - STM32H743AI
        - STM32H743BG
        - STM32H743BI
        - STM32H743IG
        - STM32H743II
        - STM32H743VG
        - STM32H743VI
        - STM32H743XG
        - STM32H743XI
        - STM32H743ZG
        - STM32H753AI
        - STM32H753BI
        - STM32H753VI
        - STM32H753XI
        - STM32H753ZI

    * Fix TODO items for IO_CONFIG (all STM32H7X3XX).

    * Because 100-pin parts lack GPIO ports F and G, but have
      port H, create the new hidden configs STM32H7_HAVE_GPIOF
      and STM32H7_HAVE_GPIOG.

    * STM32H7_STM32H7X3XX:
      - Select STM32H7_HAVE_GPIOF and STM32H7_HAVE_GPIOG only
        when not STM32H7_IO_CONFIG_V (100-pin part).
      - STM32H7_STM32H7X3XX: select STM32H7_HAVE_SPI5 for all
        IO configs except V (100-pin part), which doesn't expose
        SPI5 due to pin count.

    * STM32H7_STM32H7X7XX: Always select STM32H7_HAVE_GPIOF and
      STM32H7_HAVE_GPIOG because we aren't adding more part
      numbers in this family.

    * Remove extraneous (duplicate) "bool" and "default n"
      lines.

    * config STM32H7_FMC: Fix indent (contents were indented
      with spaces while rest of file uses tabs).

arch/arm/include/stm32h7/chip.h:

    * Extend preprocessor logic to add support for the new
      MCU part numbers.

    * Expand table of differences between family members.

    * Define STM32H7_NGPIO based on IO_CONFIGs decided in Kconfig.

    * If IO config is not known, issue compile-time #error
      with grep-friendly "CONFIG_STM32H7_IO_CONFIG_x Not Set."
      Suggested by davids5.

arch/arm/src/stm32h7/hardware/stm32h7x3xx_gpio.h:
arch/arm/src/stm32h7/stm32h7x3xx_rcc.c:
arch/arm/src/stm32h7/stm32h7x7xx_rcc.c:

    * When checking STM32H7_NGPIO > 5 or 6, check also
      CONFIG_STM32H7_HAVE_GPIOF or CONFIG_STM32H7_HAVE_GPIOG.

arch/arm/src/stm32h7/stm32_gpio.c:

    * stm32_configgpio(): When applicable, make sure we're not
      trying to configure one of the missing ports.

    * Fix nxstyle complains (wrong end of line comment position
      and several long lines). No functional changes.

    * g_gpiobase[]: Init base address for ports F and G according to
      CONFIG_STM32H7_HAVE_GPIOF and CONFIG_STM32H7_HAVE_GPIOG.

    * stm32_configgpio(): Replace complicated check with g_gpiobase[]
      null check. Suggested by davids5.

    * stm32_gpiowrite() and stm32_gpioread(): Add previously missing
      null check of g_gpiobase[].

arch/arm/src/stm32h7/stm32_gpio.h:

    * Wrap the defines GPIO_PORTA, GPIO_PORTB, GPIO_PORTC, GPIO_PORTD,
      GPIO_PORTE, GPIO_PORTF, GPIO_PORTG, GPIO_PORTH, GPIO_PORTI,
      GPIO_PORTJ, and GPIO_PORTK in conditional logic so that the
      compiler will prevent use of ports that do not exist on the
      target MCU.

    * Fix nxstyle complaints.

Documentation/NuttX.html:

    * Remove copy-and-pasted anchor for stm32f76xx77xx.

    * Correct link to README.txt for Nucleo-H743ZI board,
      formerly on BitBucket, now on GitHub.

    * Add list item for STMicro STM32H747I-DISCO board.

Co-Authored-By: David Sidrane <David.Sidrane@Nscdg.com>
2020-04-16 13:23:12 -06:00
..
a1x arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
am335x arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
arm arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
armv6-m arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
armv7-a arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
armv7-m arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
armv7-r arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
c5471 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
cxd56xx arch: arm: cxd56xx: nxstyle fixes 2020-04-14 13:20:21 +01:00
dm320 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
efm32 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
imx1 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
imx6 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
imxrt arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
kinetis arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
kl arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
lc823450 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
lpc17xx_40xx arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
lpc31xx arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
lpc43xx arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
lpc54xx arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
lpc214x arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
lpc2378 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
max326xx arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
moxart arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
nrf52 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
nuc1xx arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
s32k1xx arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
sam34 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
sama5 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
samd2l2 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
samd5e5 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
samv7 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
stm32 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
stm32f0l0g0 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
stm32f7 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
stm32h7 arch/stm32h7: Extend support to all STM32H7x3xx 2020-04-16 13:23:12 -06:00
stm32l4 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
str71x arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
tiva Run codespell -w against all files 2020-02-22 14:45:07 -06:00
tms570 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
xmc4 arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
.gitignore Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
arch.h arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
elf.h arch/arm/include/syscall.h: Add missing inclusion of arch/armv7-r/syscall.h for CortexR. 2019-01-26 07:43:31 -06:00
inttypes.h Add architecture-specific inttypes.h 2016-10-27 16:01:38 -04:00
irq.h arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
limits.h
setjmp.h Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
spinlock.h Fix typos and some incorrect comments 2020-01-20 09:32:36 -03:00
stdarg.h
syscall.h arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00
tls.h Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
types.h arch: Fix included directed -> included directly 2020-04-05 22:31:15 +01:00