From 38d6c3b8bb83a9960ef446dae03738898bed405b Mon Sep 17 00:00:00 2001 From: raiden00pl Date: Sat, 19 Sep 2026 11:04:20 +0200 Subject: [PATCH] boards/arm/stm32n6: add initial STM32N6570-DK support add initial STM32N6570-DK support Assisted-by: Codex:GPT-6 Signed-off-by: raiden00pl --- .../stm32n6/boards/stm32n6570-dk/index.rst | 108 ++++++++++++ .../stm32n6570-dk/stm32n6570-dk-back.jpg | Bin 0 -> 107955 bytes .../stm32n6570-dk/stm32n6570-dk-front.jpg | Bin 0 -> 75456 bytes Documentation/platforms/arm/stm32n6/index.rst | 4 - boards/Kconfig | 12 ++ .../arm/stm32n6/stm32n6570-dk/CMakeLists.txt | 42 +++++ boards/arm/stm32n6/stm32n6570-dk/Kconfig | 8 + .../stm32n6570-dk/configs/nsh/defconfig | 37 ++++ .../arm/stm32n6/stm32n6570-dk/include/board.h | 165 ++++++++++++++++++ .../stm32n6/stm32n6570-dk/scripts/Make.defs | 47 +++++ .../stm32n6/stm32n6570-dk/scripts/flash.cfg | 148 ++++++++++++++++ .../stm32n6/stm32n6570-dk/scripts/flash.ld | 109 ++++++++++++ .../stm32n6/stm32n6570-dk/src/CMakeLists.txt | 33 ++++ .../arm/stm32n6/stm32n6570-dk/src/Make.defs | 36 ++++ .../stm32n6570-dk/src/stm32_autoleds.c | 103 +++++++++++ .../stm32n6/stm32n6570-dk/src/stm32_boot.c | 83 +++++++++ .../stm32n6/stm32n6570-dk/src/stm32_bringup.c | 87 +++++++++ .../stm32n6570-dk/src/stm32_userleds.c | 127 ++++++++++++++ .../stm32n6/stm32n6570-dk/src/stm32n6570-dk.h | 80 +++++++++ 19 files changed, 1225 insertions(+), 4 deletions(-) create mode 100644 Documentation/platforms/arm/stm32n6/boards/stm32n6570-dk/index.rst create mode 100644 Documentation/platforms/arm/stm32n6/boards/stm32n6570-dk/stm32n6570-dk-back.jpg create mode 100644 Documentation/platforms/arm/stm32n6/boards/stm32n6570-dk/stm32n6570-dk-front.jpg create mode 100644 boards/arm/stm32n6/stm32n6570-dk/CMakeLists.txt create mode 100644 boards/arm/stm32n6/stm32n6570-dk/Kconfig create mode 100644 boards/arm/stm32n6/stm32n6570-dk/configs/nsh/defconfig create mode 100644 boards/arm/stm32n6/stm32n6570-dk/include/board.h create mode 100644 boards/arm/stm32n6/stm32n6570-dk/scripts/Make.defs create mode 100644 boards/arm/stm32n6/stm32n6570-dk/scripts/flash.cfg create mode 100644 boards/arm/stm32n6/stm32n6570-dk/scripts/flash.ld create mode 100644 boards/arm/stm32n6/stm32n6570-dk/src/CMakeLists.txt create mode 100644 boards/arm/stm32n6/stm32n6570-dk/src/Make.defs create mode 100644 boards/arm/stm32n6/stm32n6570-dk/src/stm32_autoleds.c create mode 100644 boards/arm/stm32n6/stm32n6570-dk/src/stm32_boot.c create mode 100644 boards/arm/stm32n6/stm32n6570-dk/src/stm32_bringup.c create mode 100644 boards/arm/stm32n6/stm32n6570-dk/src/stm32_userleds.c create mode 100644 boards/arm/stm32n6/stm32n6570-dk/src/stm32n6570-dk.h diff --git a/Documentation/platforms/arm/stm32n6/boards/stm32n6570-dk/index.rst b/Documentation/platforms/arm/stm32n6/boards/stm32n6570-dk/index.rst new file mode 100644 index 00000000000..6e2fdd53391 --- /dev/null +++ b/Documentation/platforms/arm/stm32n6/boards/stm32n6570-dk/index.rst @@ -0,0 +1,108 @@ +================ +ST STM32N6570-DK +================ + +.. tags:: chip:stm32, chip:stm32n6, chip:stm32n657 + +.. figure:: stm32n6570-dk-front.jpg + :align: center + :alt: STM32N6570-DK Front + + STM32N6570-DK Front + +.. figure:: stm32n6570-dk-back.jpg + :align: center + :alt: STM32N6570-DK Back + + STM32N6570-DK Back + +The STM32N6570-DK Discovery kit is based on the STM32N657X0H3Q +Arm Cortex-M55 microcontroller. + +Loading and running +=================== + +Use SRAM loading for routine debugging and external flash for persistent +boot, reset testing and standalone operation. The console is the ST-LINK +Virtual COM Port at 115200 8N1. + +Persistent flash +---------------- + +OpenOCD adds the STM32N6 ROM header to ``nuttx.bin`` and programs the +on-board NOR flash with its ``stmqspi`` driver. Use an OpenOCD version +that provides ``target/stm32n6x.cfg``. + +Build and program the persistent boot image with: + +.. code:: console + + $ make flash + +This erases the affected flash sectors, programs and verifies the image, +and resets the board. ``OPENOCD`` and ``OPENOCD_TARGET`` can override the +OpenOCD executable and target script. The board's ``scripts/flash.cfg`` +configures the NOR pins, clocks and geometry for the native flash driver. + +For a CMake build configured in ``build``: + +.. code:: console + + $ cmake --build build --target flash + +Both targets build ``nuttx.bin`` before flashing. With CMake, ``OPENOCD`` +and ``OPENOCD_TARGET`` are cache variables set with ``-D`` at configuration. + +The boot ROM loads NuttX from flash and starts it without a debugger or +separate FSBL. +The header and padding occupy the first 1 KiB at ``0x34180000``; NuttX is +linked at ``0x34180400``. The ROM download buffer limits the binary to +511 KiB. The generated image is unauthenticated and requires a device +that permits unauthenticated boot. + +SRAM debugging +-------------- + +Build with ``make`` or ``cmake --build build``. Start OpenOCD using its +standard ST-LINK and STM32N6 scripts: + +.. code:: console + + $ openocd -f interface/stlink.cfg -c 'transport select swd' \ + -f target/stm32n6x.cfg -c 'reset_config srst_only srst_nogate' + +In another terminal, open the ELF with GDB. Use ``build/nuttx`` instead of +``nuttx`` for CMake: + +.. code:: console + + $ arm-none-eabi-gdb nuttx + (gdb) target extended-remote :3333 + (gdb) monitor reset halt + (gdb) load + (gdb) set $msp = *(unsigned int *)0x34180400 + (gdb) set $pc = *(unsigned int *)0x34180404 + (gdb) hbreak nx_start + (gdb) continue + +``load`` writes the ELF sections into SRAM without programming external +flash. The next two commands initialize the stack pointer and entry point +from the vector table. Continue again after reaching ``nx_start`` to run +NSH. Reset before each reload; resetting after ``load`` boots the image +stored in flash instead. The SRAM image is lost on power-off. + +To inspect an already running image, attach with its matching ELF and omit +the reset, load and register-setting commands. + +NSH enables ``CONFIG_STM32N6_DEBUG`` to reopen debug access after ROM boot +and includes debug symbols. These debugging steps require an installed +image that enables debug access. Stop GDB and OpenOCD before running either +flash target. + +Configurations +============== + +nsh +--- + +Minimal NuttShell configuration. diff --git a/Documentation/platforms/arm/stm32n6/boards/stm32n6570-dk/stm32n6570-dk-back.jpg b/Documentation/platforms/arm/stm32n6/boards/stm32n6570-dk/stm32n6570-dk-back.jpg new file mode 100644 index 0000000000000000000000000000000000000000..de32714d373e4866d3120d9f35bbdc1f797f2d63 GIT binary patch literal 107955 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℞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 X^@xS=h;a<sG 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 literal 0 HcmV?d00001 diff --git a/Documentation/platforms/arm/stm32n6/index.rst b/Documentation/platforms/arm/stm32n6/index.rst index 241cca916c3..fdc1fd004e5 100644 --- a/Documentation/platforms/arm/stm32n6/index.rst +++ b/Documentation/platforms/arm/stm32n6/index.rst @@ -5,10 +5,6 @@ ST STM32N6 This is a port of NuttX to the STM32N6 family. The STM32N6 is a chip based on the Arm Cortex-M55. -Development is performed on the Nucleo-N657X0-Q. At this time only the -STM32N657X0 is supported. Kconfig will need updates to support other -MCUs in the family. - Supported MCUs ============== diff --git a/boards/Kconfig b/boards/Kconfig index 17f3873221b..bd03388b768 100644 --- a/boards/Kconfig +++ b/boards/Kconfig @@ -3498,6 +3498,14 @@ config ARCH_BOARD_NUCLEO_N657X0_Q code directly into SRAM via the on-board ST-Link V3EC, with the NSH console on USART1 (ST-Link Virtual COM Port). +config ARCH_BOARD_STM32N6570_DK + bool "STM32N6570-DK" + depends on ARCH_CHIP_STM32N657X0 + select ARCH_HAVE_LEDS + ---help--- + STMicro STM32N6570-DK Discovery kit based on the STM32N657X0 + MCU (Cortex-M55). + config ARCH_BOARD_STM32L562E_DK bool "STM32L562E-DK" depends on ARCH_CHIP_STM32L562QE @@ -4302,6 +4310,7 @@ config ARCH_BOARD default "nucleo-h533re" if ARCH_BOARD_NUCLEO_H533RE default "nucleo-h563zi" if ARCH_BOARD_NUCLEO_H563ZI default "nucleo-n657x0-q" if ARCH_BOARD_NUCLEO_N657X0_Q + default "stm32n6570-dk" if ARCH_BOARD_STM32N6570_DK default "nucleo-u5a5zj-q" if ARCH_BOARD_NUCLEO_U5A5ZJ_Q default "nucleo-u3c5zi-q" if ARCH_BOARD_NUCLEO_U3C5ZI_Q default "nucleo-c562re" if ARCH_BOARD_NUCLEO_C562RE @@ -5029,6 +5038,9 @@ endif if ARCH_BOARD_NUCLEO_N657X0_Q source "boards/arm/stm32n6/nucleo-n657x0-q/Kconfig" endif +if ARCH_BOARD_STM32N6570_DK +source "boards/arm/stm32n6/stm32n6570-dk/Kconfig" +endif if ARCH_BOARD_STM32L562E_DK source "boards/arm/stm32l5/stm32l562e-dk/Kconfig" endif diff --git a/boards/arm/stm32n6/stm32n6570-dk/CMakeLists.txt b/boards/arm/stm32n6/stm32n6570-dk/CMakeLists.txt new file mode 100644 index 00000000000..e2233dd6aa1 --- /dev/null +++ b/boards/arm/stm32n6/stm32n6570-dk/CMakeLists.txt @@ -0,0 +1,42 @@ +# ############################################################################## +# boards/arm/stm32n6/stm32n6570-dk/CMakeLists.txt +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +add_subdirectory(src) + +if(CONFIG_RAW_BINARY) + set(OPENOCD + openocd + CACHE STRING "OpenOCD executable") + set(OPENOCD_TARGET + target/stm32n6x.cfg + CACHE STRING "OpenOCD target script") + + add_custom_target( + flash + COMMAND + ${OPENOCD} -f interface/stlink.cfg -c "transport select swd" -f + ${OPENOCD_TARGET} -f ${CMAKE_CURRENT_LIST_DIR}/scripts/flash.cfg -c + "stm32n6_program nuttx.bin" + WORKING_DIRECTORY ${NUTTX_BINARY_DIR} + USES_TERMINAL VERBATIM) + add_dependencies(flash nuttx-bin) +endif() diff --git a/boards/arm/stm32n6/stm32n6570-dk/Kconfig b/boards/arm/stm32n6/stm32n6570-dk/Kconfig new file mode 100644 index 00000000000..dfcb5c354a4 --- /dev/null +++ b/boards/arm/stm32n6/stm32n6570-dk/Kconfig @@ -0,0 +1,8 @@ +# +# For a description of the syntax of this configuration file, +# see the file kconfig-language.txt in the NuttX tools repository. +# + +if ARCH_BOARD_STM32N6570_DK + +endif diff --git a/boards/arm/stm32n6/stm32n6570-dk/configs/nsh/defconfig b/boards/arm/stm32n6/stm32n6570-dk/configs/nsh/defconfig new file mode 100644 index 00000000000..eb07976447c --- /dev/null +++ b/boards/arm/stm32n6/stm32n6570-dk/configs/nsh/defconfig @@ -0,0 +1,37 @@ +# +# This file is autogenerated: PLEASE DO NOT EDIT IT. +# +# You can use "make menuconfig" to make any modifications to the installed .config file. +# You can then do "make savedefconfig" to generate a new defconfig file that includes your +# modifications. +# +CONFIG_ARCH="arm" +CONFIG_ARCH_BOARD="stm32n6570-dk" +CONFIG_ARCH_BOARD_STM32N6570_DK=y +CONFIG_ARCH_CHIP="stm32n6" +CONFIG_ARCH_CHIP_STM32=y +CONFIG_ARCH_CHIP_STM32N657X0=y +CONFIG_ARCH_CHIP_STM32N6=y +CONFIG_ARCH_INTERRUPTSTACK=4096 +CONFIG_ARCH_STACKDUMP=y +CONFIG_BOARD_LOOPSPERMSEC=21000 +CONFIG_BUILTIN=y +CONFIG_DEBUG_FULLOPT=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_FS_PROCFS=y +CONFIG_HAVE_CXX=y +CONFIG_HAVE_CXXINITIALIZE=y +CONFIG_IDLETHREAD_STACKSIZE=4096 +CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_NSH_BUILTIN_APPS=y +CONFIG_NSH_FILEIOSIZE=512 +CONFIG_NSH_READLINE=y +CONFIG_RAM_SIZE=2620416 +CONFIG_RAM_START=0x34180400 +CONFIG_RAW_BINARY=y +CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_WAITPID=y +CONFIG_STM32N6_DEBUG=y +CONFIG_STM32_USART1=y +CONFIG_SYSTEM_NSH=y +CONFIG_USART1_SERIAL_CONSOLE=y diff --git a/boards/arm/stm32n6/stm32n6570-dk/include/board.h b/boards/arm/stm32n6/stm32n6570-dk/include/board.h new file mode 100644 index 00000000000..bcd57f8d0ee --- /dev/null +++ b/boards/arm/stm32n6/stm32n6570-dk/include/board.h @@ -0,0 +1,165 @@ +/**************************************************************************** + * boards/arm/stm32n6/stm32n6570-dk/include/board.h + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +#ifndef __BOARDS_ARM_STM32N6_STM32N6570_DK_INCLUDE_BOARD_H +#define __BOARDS_ARM_STM32N6_STM32N6570_DK_INCLUDE_BOARD_H + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include +#ifndef __ASSEMBLY__ +# include +#endif + +/**************************************************************************** + * Pre-processor Definitions + ****************************************************************************/ + +/* Clocking *****************************************************************/ + +/* Clock tree (single PLL1 fed from the internal HSI): + * + * HSI 64 MHz / M=4 * N=50 = 800 MHz VCO + * IC1 /4 = 200 MHz -> CPU clock (CPUSW) + * IC2 /8 = 100 MHz \ + * IC6 /12 = 66.7 MHz > SYSCLK components (SYSSW IC2_IC6_IC11) + * IC11 /8 = 100 MHz / + * HPRE /2 = 50 MHz -> HCLK + * PPRE1 /1 = 50 MHz -> PCLK1 + * PPRE2 /1 = 50 MHz -> PCLK2 + * + * Works with the default VOS SCALE1, no SMPS overdrive required. Higher + * CPU frequencies (600/800 MHz) are deferred to a follow-up. + */ + +#define STM32_HSI_FREQUENCY 64000000ul + +#define STM32_PLL1_M 4 +#define STM32_PLL1_N 50 +#define STM32_PLL1_IC1_DIV 4 + +#define STM32_CPUCLK_FREQUENCY 200000000ul +#define STM32_SYSCLK_FREQUENCY (STM32_CPUCLK_FREQUENCY / 2) +#define STM32_HCLK_FREQUENCY (STM32_CPUCLK_FREQUENCY / 4) +#define STM32_PCLK1_FREQUENCY STM32_HCLK_FREQUENCY +#define STM32_PCLK2_FREQUENCY STM32_HCLK_FREQUENCY + +/* Timer input clock = SYSCLK (TIMPRE=0 default) */ + +#define STM32_APB1_TIM_FREQUENCY STM32_SYSCLK_FREQUENCY +#define STM32_APB2_TIM_FREQUENCY STM32_SYSCLK_FREQUENCY + +/* I/O voltage domains ******************************************************/ + +/* VDDIO2 and VDDIO3 are supplied at 1.8 V on the Discovery kit. + * Mark both supplies valid and select their 1.8 V range before the + * common STM32N6 startup configures I/O compensation. + */ + +#define BOARD_PWR_VDDIO (PWR_SVMCR3_VDDIO2SV | PWR_SVMCR3_VDDIO3SV | \ + PWR_SVMCR3_VDDIO2VRSEL | PWR_SVMCR3_VDDIO3VRSEL) + +/* LED definitions **********************************************************/ + +/* LD1 (green, PO1) is active high; LD2 (red, PG10) is active low. */ + +/* LED index values for use with board_userled() */ + +#define BOARD_LED1 0 +#define BOARD_LED2 1 +#define BOARD_NLEDS 2 + +#define BOARD_LED_GREEN BOARD_LED1 +#define BOARD_LED_RED BOARD_LED2 + +/* LED bits for use with board_userled_all() */ + +#define BOARD_LED1_BIT (1 << BOARD_LED1) +#define BOARD_LED2_BIT (1 << BOARD_LED2) + +/* OS event indications when CONFIG_ARCH_LEDS is enabled: + * + * SYMBOL Meaning Green Red + * --------------------- ----------------------- ----- ----- + */ + +#define LED_STARTED 0 /* NuttX has started OFF OFF */ +#define LED_HEAPALLOCATE 0 /* Heap allocated OFF OFF */ +#define LED_IRQSENABLED 0 /* Interrupts enabled OFF OFF */ +#define LED_STACKCREATED 1 /* Idle stack created ON OFF */ +#define LED_INIRQ 2 /* In an interrupt N/C N/C */ +#define LED_SIGNAL 2 /* In a signal handler N/C N/C */ +#define LED_ASSERTION 2 /* An assertion failed N/C N/C */ +#define LED_PANIC 3 /* The system crashed OFF Blink */ + +/* Alternate function pin selections ****************************************/ + +/* USART1 GPIOs *************************************************************/ + +/* USART1 (ST-LINK Virtual COM Port): PE5=TX (AF7), PE6=RX (AF7) + * Connected to the on-board ST-Link to provide a Virtual COM Port. + */ + +#define GPIO_USART1_TX GPIO_USART1_TX_1 +#define GPIO_USART1_RX GPIO_USART1_RX_1 + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +#ifndef __ASSEMBLY__ + +#undef EXTERN +#if defined(__cplusplus) +#define EXTERN extern "C" +extern "C" +{ +#else +#define EXTERN extern +#endif + +/**************************************************************************** + * Public Function Prototypes + ****************************************************************************/ + +/**************************************************************************** + * Name: stm32_board_initialize + * + * Description: + * All STM32N6 architectures must provide the following entry point. + * This entry point is called early in the initialization -- after all + * memory has been configured and mapped but before any devices + * have been initialized. + * + ****************************************************************************/ + +void stm32_board_initialize(void); + +#undef EXTERN +#if defined(__cplusplus) +} +#endif + +#endif /* __ASSEMBLY__ */ +#endif /* __BOARDS_ARM_STM32N6_STM32N6570_DK_INCLUDE_BOARD_H */ diff --git a/boards/arm/stm32n6/stm32n6570-dk/scripts/Make.defs b/boards/arm/stm32n6/stm32n6570-dk/scripts/Make.defs new file mode 100644 index 00000000000..8c64959b07a --- /dev/null +++ b/boards/arm/stm32n6/stm32n6570-dk/scripts/Make.defs @@ -0,0 +1,47 @@ +############################################################################## +# boards/arm/stm32n6/stm32n6570-dk/scripts/Make.defs +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. The +# ASF licenses this file to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance with the +# License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +############################################################################## + +include ${TOPDIR}/.config +include ${TOPDIR}/tools/Config.mk +include ${TOPDIR}/arch/arm/src/armv8-m/Toolchain.defs + +ARCHSCRIPT += $(BOARD_DIR)$(DELIM)scripts$(DELIM)flash.ld + +CFLAGS := $(ARCHCFLAGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) +CXXFLAGS := $(ARCHCXXFLAGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) +CPPFLAGS := $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) +AFLAGS := $(CFLAGS) -D__ASSEMBLY__ + +NXFLATLDFLAGS1 = -r -d -warn-common +NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)$(DELIM)binfmt$(DELIM)libnxflat$(DELIM)gnu-nxflat-pcrel.ld -no-check-sections +LDNXFLATFLAGS = -e main -s 2048 + +OPENOCD ?= openocd +OPENOCD_TARGET ?= target/stm32n6x.cfg + +ifeq ($(CONFIG_RAW_BINARY),y) +define FLASH + $(Q) $(OPENOCD) -f interface/stlink.cfg -c 'transport select swd' \ + -f $(OPENOCD_TARGET) -f $(BOARD_DIR)/scripts/flash.cfg \ + -c 'stm32n6_program nuttx.bin' +endef +endif diff --git a/boards/arm/stm32n6/stm32n6570-dk/scripts/flash.cfg b/boards/arm/stm32n6/stm32n6570-dk/scripts/flash.cfg new file mode 100644 index 00000000000..5134077c371 --- /dev/null +++ b/boards/arm/stm32n6/stm32n6570-dk/scripts/flash.cfg @@ -0,0 +1,148 @@ +############################################################################## +# boards/arm/stm32n6/stm32n6570-dk/scripts/flash.cfg +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. The +# ASF licenses this file to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance with the +# License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +############################################################################## + +# Load interface/stlink.cfg and target/stm32n6x.cfg before this file. + +reset_config srst_only srst_nogate +flash bank stm32n6570_dk.nor stmqspi 0x70000000 0 0 0 $_TARGETNAME 0x5802a000 +proc stm32n6570_dk_flash_init {} { + # Stop inherited interrupts and instruction caching while OpenOCD runs + # SRAM algorithms. The boot ROM also leaves stack limits set. + + mww 0xe000e010 0 + mww 0xe000ed04 0x0a000000 + mmw 0xe000ed14 0 0x20000 + mww 0xe000ef50 0 + reg msplim_s 0 + reg psplim_s 0 + reg primask_s 1 + + # PWR, GPION and all XSPIM clocks. Reset both XSPI controllers before + # restoring the direct XSPI2-to-port-2 mapping left changed by ROM. + + mww 0x56028a5c 0x42000 + mww 0x56028a60 0x3020 + mww 0x56028a20 0x3020 + mww 0x56029220 0x3020 + + # HCLK kernel source and conservative /8 prescaler. + + mmw 0x56028158 0 0x30 + + # The DK NOR uses the 1.8 V VDDIO3 domain. + + mmw 0x5602483c 0x04000200 0 + + # PN1 NCS, PN2 MOSI, PN3 MISO, PN6 CLK, AF9. + + mmw 0x56023400 0x20a8 0x30fc + mmw 0x56023408 0x30fc 0 + mmw 0x5602340c 0x504 0x3ffc + mmw 0x56023420 0x09009990 0x0f00fff0 + + # Map XSPI2 to port 2 and configure single-lane, 32-bit-address reads. + + mww 0x5802b400 0 + mww 0x5802a008 0x001a0700 + mww 0x5802a00c 7 + mww 0x5802a108 0 + mww 0x5802a100 0x01003101 + mww 0x5802a110 0x13 + mww 0x5802a000 0x30000001 + + # MX66UW1G45G geometry and standard 4-byte read/program/erase commands. + # This part is absent from some OpenOCD JEDEC ID tables. + + stmqspi set stm32n6570_dk.nor MX66UW1G45G 0x8000000 256 \ + 0x13 0 0x12 0x60 0x10000 0xdc +} + +# Add the unauthenticated ROM header v2.3 (UM3234) as part of programming. +# The vector table follows the header and padding at offset 0x400. + +proc stm32n6_program {image} { + set input [open $image rb] + set data [read $input] + close $input + + # Jim Tcl strings can contain UTF-8; use the binary byte count. + + set size [string bytelength $data] + if {$size < 8 || $size > 0x7fc00} { + error "NuttX binary must contain vectors and fit in 511 KiB" + } + + binary scan $data ii stack entry + if {$stack < 0x34180400 || $stack > 0x34400000 || ($stack & 3)} { + error "Initial SP must be word-aligned and inside AXISRAM" + } + if {!($entry & 1) || ($entry & ~1) < 0x34180400 || + ($entry & ~1) >= 0x34180400 + $size} { + error "Reset vector must point into the payload at 0x34180400" + } + + set checksum 0 + binary scan $data c* bytes + foreach byte $bytes { + set checksum [expr {($checksum + ($byte & 0xff)) & 0xffffffff}] + } + set padding [expr {(-$size) & 31}] + set length [expr {0x1c0 + $size + $padding}] + set header [lrepeat 256 0] + foreach {offset value} [list \ + 0x00 0x324d5453 \ + 0x64 $checksum \ + 0x68 0x00020300 \ + 0x6c $length \ + 0x70 $entry \ + 0x78 0xffffffff \ + 0x84 0x80000000 \ + 0x88 0x1a0 \ + 0x8c 0x10 \ + 0xa0 0xffff5453 \ + 0xa4 0x1a0] { + lset header [expr {$offset / 4}] $value + } + + set boot [file rootname $image]-boot.bin + set output [open $boot wb] + puts -nonewline $output [binary format i* $header] + puts -nonewline $output $data + puts -nonewline $output [binary format x$padding] + close $output + + # Reject a truncated or incorrectly encoded image before touching flash. + + if {[file size $boot] != 0x400 + $size + $padding} { + error "Boot image size does not match the ROM header" + } + + # Keep the current debug access until the replacement image is verified. + + init + halt + stm32n6570_dk_flash_init + echo [flash write_image erase $boot 0x70000000 bin] + echo [verify_image $boot 0x70000000 bin] + reset run + shutdown +} diff --git a/boards/arm/stm32n6/stm32n6570-dk/scripts/flash.ld b/boards/arm/stm32n6/stm32n6570-dk/scripts/flash.ld new file mode 100644 index 00000000000..54fb1d8846e --- /dev/null +++ b/boards/arm/stm32n6/stm32n6570-dk/scripts/flash.ld @@ -0,0 +1,109 @@ +/**************************************************************************** + * boards/arm/stm32n6/stm32n6570-dk/scripts/flash.ld + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/* The STM32N657X0 boot ROM copies the image from external flash into + * AXISRAM2. The STM32 image header occupies 0x34180000-0x341803ff; + * the vector table and payload start at 0x34180400. The ROM download + * buffer ends at 0x34200000, limiting the payload to 511 KiB. + * After boot, the remaining contiguous AXISRAM is available for data + * and the heap through 0x34400000. + */ + +MEMORY +{ + sram (rwx) : ORIGIN = 0x34180400, LENGTH = 2620416 +} + +OUTPUT_ARCH(arm) +ENTRY(_stext) +SECTIONS +{ + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > sram + + .init_section : { + _sinit = ABSOLUTE(.); + KEEP(*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) + KEEP(*(.init_array EXCLUDE_FILE(*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o) .ctors)) + _einit = ABSOLUTE(.); + } > sram + + .ARM.extab : { + *(.ARM.extab*) + } > sram + + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > sram + __exidx_end = ABSOLUTE(.); + + .data : { + _eronly = ABSOLUTE(.); + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + . = ALIGN(4); + _edata = ABSOLUTE(.); + } > sram + + ASSERT(_edata <= 0x34200000, + "STM32N6 boot ROM payload exceeds 511 KiB") + + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram + + /* Stabs debugging sections. */ + + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } +} diff --git a/boards/arm/stm32n6/stm32n6570-dk/src/CMakeLists.txt b/boards/arm/stm32n6/stm32n6570-dk/src/CMakeLists.txt new file mode 100644 index 00000000000..9304da05ae5 --- /dev/null +++ b/boards/arm/stm32n6/stm32n6570-dk/src/CMakeLists.txt @@ -0,0 +1,33 @@ +# ############################################################################## +# boards/arm/stm32n6/stm32n6570-dk/src/CMakeLists.txt +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +set(SRCS stm32_boot.c stm32_bringup.c) + +if(CONFIG_ARCH_LEDS) + list(APPEND SRCS stm32_autoleds.c) +else() + list(APPEND SRCS stm32_userleds.c) +endif() + +target_sources(board PRIVATE ${SRCS}) + +set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/flash.ld") diff --git a/boards/arm/stm32n6/stm32n6570-dk/src/Make.defs b/boards/arm/stm32n6/stm32n6570-dk/src/Make.defs new file mode 100644 index 00000000000..0714c5c2dcc --- /dev/null +++ b/boards/arm/stm32n6/stm32n6570-dk/src/Make.defs @@ -0,0 +1,36 @@ +############################################################################## +# boards/arm/stm32n6/stm32n6570-dk/src/Make.defs +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. The +# ASF licenses this file to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance with the +# License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +############################################################################## + +-include $(TOPDIR)/Make.defs + +ASRCS = +CSRCS = stm32_boot.c stm32_bringup.c + +ifeq ($(CONFIG_ARCH_LEDS),y) +CSRCS += stm32_autoleds.c +else +CSRCS += stm32_userleds.c +endif + +DEPPATH += --dep-path board +VPATH += :board +CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board diff --git a/boards/arm/stm32n6/stm32n6570-dk/src/stm32_autoleds.c b/boards/arm/stm32n6/stm32n6570-dk/src/stm32_autoleds.c new file mode 100644 index 00000000000..aa42aa4d869 --- /dev/null +++ b/boards/arm/stm32n6/stm32n6570-dk/src/stm32_autoleds.c @@ -0,0 +1,103 @@ +/**************************************************************************** + * boards/arm/stm32n6/stm32n6570-dk/src/stm32_autoleds.c + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +#include +#include + +#include "stm32_gpio.h" +#include "stm32n6570-dk.h" + +#ifdef CONFIG_ARCH_LEDS + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: board_autoled_initialize + * + * Description: + * Configure both user LEDs as outputs, initially off. + * + ****************************************************************************/ + +void board_autoled_initialize(void) +{ + stm32_configgpio(GPIO_LD1); + stm32_configgpio(GPIO_LD2); +} + +/**************************************************************************** + * Name: board_autoled_on + * + * Description: + * Indicate successful startup with the green LED and panic with red. + * Interrupt and signal events leave the LEDs unchanged. + * + ****************************************************************************/ + +void board_autoled_on(int led) +{ + switch (led) + { + case LED_STARTED: + stm32_gpiowrite(GPIO_LD1, false); + stm32_gpiowrite(GPIO_LD2, true); + break; + + case LED_STACKCREATED: + stm32_gpiowrite(GPIO_LD1, true); + break; + + case LED_PANIC: + stm32_gpiowrite(GPIO_LD1, false); + stm32_gpiowrite(GPIO_LD2, false); + break; + + default: + break; + } +} + +/**************************************************************************** + * Name: board_autoled_off + * + * Description: + * Turn off the red LED between panic indications. + * + ****************************************************************************/ + +void board_autoled_off(int led) +{ + if (led == LED_PANIC) + { + stm32_gpiowrite(GPIO_LD2, true); + } +} + +#endif /* CONFIG_ARCH_LEDS */ diff --git a/boards/arm/stm32n6/stm32n6570-dk/src/stm32_boot.c b/boards/arm/stm32n6/stm32n6570-dk/src/stm32_boot.c new file mode 100644 index 00000000000..b84940016a4 --- /dev/null +++ b/boards/arm/stm32n6/stm32n6570-dk/src/stm32_boot.c @@ -0,0 +1,83 @@ +/**************************************************************************** + * boards/arm/stm32n6/stm32n6570-dk/src/stm32_boot.c + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +#include + +#include + +#include "arm_internal.h" +#include "stm32n6570-dk.h" + +#include + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: stm32_board_initialize + * + * Description: + * All STM32 architectures must provide the following entry point. This + * entry point is called early in the initialization -- after all memory + * has been configured and mapped but before any devices have been + * initialized. + * + ****************************************************************************/ + +void stm32_board_initialize(void) +{ +#ifdef CONFIG_ARCH_LEDS + /* Configure on-board LEDs if LED support has been selected. */ + + board_autoled_initialize(); +#endif +} + +/**************************************************************************** + * Name: board_late_initialize + * + * Description: + * If CONFIG_BOARD_LATE_INITIALIZE is selected, then an additional + * initialization call will be performed in the boot-up sequence to a + * function called board_late_initialize(). board_late_initialize() will + * be called immediately after up_initialize() is called and just before + * the initial application is started. This additional initialization + * phase may be used, for example, to initialize board-specific device + * drivers. + * + ****************************************************************************/ + +#ifdef CONFIG_BOARD_LATE_INITIALIZE +void board_late_initialize(void) +{ + /* Perform board-specific initialization here if so configured */ + + stm32_bringup(); +} +#endif diff --git a/boards/arm/stm32n6/stm32n6570-dk/src/stm32_bringup.c b/boards/arm/stm32n6/stm32n6570-dk/src/stm32_bringup.c new file mode 100644 index 00000000000..82212af087b --- /dev/null +++ b/boards/arm/stm32n6/stm32n6570-dk/src/stm32_bringup.c @@ -0,0 +1,87 @@ +/**************************************************************************** + * boards/arm/stm32n6/stm32n6570-dk/src/stm32_bringup.c + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +#include +#include +#include +#include + +#include +#include + +#include "stm32n6570-dk.h" + +#include + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: stm32_bringup + * + * Description: + * Perform architecture-specific initialization + * + * CONFIG_BOARD_LATE_INITIALIZE=y : + * Called from board_late_initialize(). + * + * CONFIG_BOARD_LATE_INITIALIZE=n && CONFIG_BOARDCTL=y : + * Called from the NSH library + * + ****************************************************************************/ + +int stm32_bringup(void) +{ +#if defined(CONFIG_FS_PROCFS) || \ + (!defined(CONFIG_ARCH_LEDS) && defined(CONFIG_USERLED_LOWER)) + int ret; +#endif + +#ifdef CONFIG_FS_PROCFS + /* Mount the procfs file system. */ + + ret = nx_mount(NULL, "/proc", "procfs", 0, NULL); + if (ret < 0) + { + syslog(LOG_ERR, "ERROR: Failed to mount procfs at /proc: %d\n", ret); + } +#endif + +#if !defined(CONFIG_ARCH_LEDS) && defined(CONFIG_USERLED_LOWER) + /* Register the LED driver */ + + ret = userled_lower_initialize("/dev/userleds"); + if (ret < 0) + { + syslog(LOG_ERR, "ERROR: userled_lower_initialize() failed: %d\n", ret); + } +#endif + + return OK; +} diff --git a/boards/arm/stm32n6/stm32n6570-dk/src/stm32_userleds.c b/boards/arm/stm32n6/stm32n6570-dk/src/stm32_userleds.c new file mode 100644 index 00000000000..4c748429405 --- /dev/null +++ b/boards/arm/stm32n6/stm32n6570-dk/src/stm32_userleds.c @@ -0,0 +1,127 @@ +/**************************************************************************** + * boards/arm/stm32n6/stm32n6570-dk/src/stm32_userleds.c + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +#include +#include + +#include + +#include +#include + +#include "stm32_gpio.h" +#include "stm32n6570-dk.h" + +#ifndef CONFIG_ARCH_LEDS + +/**************************************************************************** + * Private Data + ****************************************************************************/ + +/* This array maps an LED number to GPIO pin configuration and is indexed by + * BOARD_LED_ + */ + +static const uint32_t g_ledcfg[BOARD_NLEDS] = +{ + GPIO_LD1, + GPIO_LD2, +}; + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: board_userled_initialize + * + * Description: + * If CONFIG_ARCH_LEDS is defined, then NuttX will control the on-board + * LEDs. If CONFIG_ARCH_LEDS is not defined, then the + * board_userled_initialize() is available to initialize the LEDs from user + * application logic. + * + ****************************************************************************/ + +uint32_t board_userled_initialize(void) +{ + int i; + + /* Configure LD1 and LD2 GPIOs for output */ + + for (i = 0; i < nitems(g_ledcfg); i++) + { + stm32_configgpio(g_ledcfg[i]); + } + + return BOARD_NLEDS; +} + +/**************************************************************************** + * Name: board_userled + * + * Description: + * If CONFIG_ARCH_LEDS is defined, then NuttX will control the on-board + * LEDs. If CONFIG_ARCH_LEDS is not defined, then the board_userled() is + * available to control the LEDs from user application logic. + * + ****************************************************************************/ + +void board_userled(int led, bool ledon) +{ + if ((unsigned)led < nitems(g_ledcfg)) + { + /* LD1 is active high; LD2 is active low. */ + + stm32_gpiowrite(g_ledcfg[led], led == BOARD_LED_RED ? !ledon : ledon); + } +} + +/**************************************************************************** + * Name: board_userled_all + * + * Description: + * If CONFIG_ARCH_LEDS is defined, then NuttX will control the on-board + * LEDs. If CONFIG_ARCH_LEDS is not defined, then the board_userled_all() + * is available to control the LED from user application logic. + * + ****************************************************************************/ + +void board_userled_all(uint32_t ledset) +{ + int i; + + /* Apply the polarity of each LED. */ + + for (i = 0; i < nitems(g_ledcfg); i++) + { + board_userled(i, (ledset & (1 << i)) != 0); + } +} + +#endif /* !CONFIG_ARCH_LEDS */ diff --git a/boards/arm/stm32n6/stm32n6570-dk/src/stm32n6570-dk.h b/boards/arm/stm32n6/stm32n6570-dk/src/stm32n6570-dk.h new file mode 100644 index 00000000000..586aeb3ee3f --- /dev/null +++ b/boards/arm/stm32n6/stm32n6570-dk/src/stm32n6570-dk.h @@ -0,0 +1,80 @@ +/**************************************************************************** + * boards/arm/stm32n6/stm32n6570-dk/src/stm32n6570-dk.h + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +#ifndef __BOARDS_ARM_STM32N6_STM32N6570_DK_SRC_STM32N6570_DK_H +#define __BOARDS_ARM_STM32N6_STM32N6570_DK_SRC_STM32N6570_DK_H + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include +#include +#include + +#include "stm32_gpio.h" + +/**************************************************************************** + * Pre-processor Definitions + ****************************************************************************/ + +/* LED definitions **********************************************************/ + +/* LD1 is active high; LD2 is active low. Start with both LEDs off. */ + +#define GPIO_LD1 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_2MHZ | \ + GPIO_OUTPUT_CLEAR | GPIO_PORTO | GPIO_PIN1) +#define GPIO_LD2 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_2MHZ | \ + GPIO_OUTPUT_SET | GPIO_PORTG | GPIO_PIN10) + +/**************************************************************************** + * Public Types + ****************************************************************************/ + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +#ifndef __ASSEMBLY__ + +/**************************************************************************** + * Public Function Prototypes + ****************************************************************************/ + +/**************************************************************************** + * Name: stm32_bringup + * + * Description: + * Perform architecture-specific initialization + * + * CONFIG_BOARD_LATE_INITIALIZE=y : + * Called from board_late_initialize(). + * + * CONFIG_BOARD_LATE_INITIALIZE=n && CONFIG_BOARDCTL=y : + * Called from the NSH library + * + ****************************************************************************/ + +int stm32_bringup(void); + +#endif /* __ASSEMBLY__ */ +#endif /* __BOARDS_ARM_STM32N6_STM32N6570_DK_SRC_STM32N6570_DK_H */