diff --git a/boards/Kconfig b/boards/Kconfig index d2c35c71b0e..d04a65b0fa5 100644 --- a/boards/Kconfig +++ b/boards/Kconfig @@ -1455,16 +1455,6 @@ config ARCH_BOARD_S32K144EVB This options selects support for NuttX on the NXP S32K144EVB board featuring the S32K144 Cortex-M4F. -config ARCH_BOARD_RDDRONE_UAVCAN144 - bool "NXP RDDRONE-UAVCAN144" - depends on ARCH_CHIP_S32K144 - select ARCH_HAVE_LEDS - select ARCH_HAVE_BUTTONS - select ARCH_HAVE_IRQBUTTONS - ---help--- - This options selects support for NuttX on the NXP RDDRONE-UAVCAN board - featuring the S32K144 Cortex-M4F. - config ARCH_BOARD_UCANS32K146 bool "NXP UCANS32K146" depends on ARCH_CHIP_S32K146 @@ -2474,7 +2464,6 @@ config ARCH_BOARD default "rx65n-grrose" if ARCH_BOARD_RX65N_GRROSE default "s32k118evb" if ARCH_BOARD_S32K118EVB default "s32k144evb" if ARCH_BOARD_S32K144EVB - default "rddrone-uavcan144" if ARCH_BOARD_RDDRONE_UAVCAN144 default "ucans32k146" if ARCH_BOARD_UCANS32K146 default "rv32m1-vega" if ARCH_BOARD_RV32M1_VEGA default "s32k146evb" if ARCH_BOARD_S32K146EVB @@ -2634,9 +2623,6 @@ endif if ARCH_BOARD_S32K144EVB source "boards/arm/s32k1xx/s32k144evb/Kconfig" endif -if ARCH_BOARD_RDDRONE_UAVCAN144 -source "boards/arm/s32k1xx/rddrone-uavcan144/Kconfig" -endif if ARCH_BOARD_UCANS32K146 source "boards/arm/s32k1xx/ucans32k146/Kconfig" endif diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/Kconfig b/boards/arm/s32k1xx/rddrone-uavcan144/Kconfig deleted file mode 100644 index c61362c0a40..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/Kconfig +++ /dev/null @@ -1,8 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see the file kconfig-language.txt in the NuttX tools repository. -# - -if ARCH_BOARD_RDDRONE_UAVCAN144 - -endif # ARCH_BOARD_RDDRONE_UAVCAN144 diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/README.txt b/boards/arm/s32k1xx/rddrone-uavcan144/README.txt deleted file mode 100644 index be520051b88..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/README.txt +++ /dev/null @@ -1,15 +0,0 @@ -README -====== - -This directory holds the port to the NXP RDDRONE-UAVCAN board with S32K144 MCU. - -Contents -======== - - o Status - -Status -====== - - 2020-01-23: Configuration created (copy-paste from S32K146EVB). - Tested: Serial console, I2C, SPI diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/configs/nsh/defconfig b/boards/arm/s32k1xx/rddrone-uavcan144/configs/nsh/defconfig deleted file mode 100644 index d42c12f3d83..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/configs/nsh/defconfig +++ /dev/null @@ -1,63 +0,0 @@ -# -# 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_FPU is not set -# CONFIG_NSH_ARGCAT is not set -# CONFIG_NSH_CMDOPT_HEXDUMP is not set -# CONFIG_NSH_CMDPARMS is not set -CONFIG_ARCH="arm" -CONFIG_ARCH_BOARD="rddrone-uavcan144" -CONFIG_ARCH_BOARD_RDDRONE_UAVCAN144=y -CONFIG_ARCH_CHIP="s32k1xx" -CONFIG_ARCH_CHIP_S32K144=y -CONFIG_ARCH_CHIP_S32K14X=y -CONFIG_ARCH_CHIP_S32K1XX=y -CONFIG_ARCH_STACKDUMP=y -CONFIG_BOARD_LOOPSPERMSEC=3997 -CONFIG_BUILTIN=y -CONFIG_EXAMPLES_HELLO=y -CONFIG_FS_PROCFS=y -CONFIG_HAVE_CXX=y -CONFIG_HAVE_CXXINITIALIZE=y -CONFIG_I2C=y -CONFIG_I2CTOOL_DEFFREQ=100000 -CONFIG_I2CTOOL_MAXADDR=0x7f -CONFIG_I2CTOOL_MAXBUS=0 -CONFIG_I2CTOOL_MINADDR=0x00 -CONFIG_INTELHEX_BINARY=y -CONFIG_LPUART0_RXBUFSIZE=64 -CONFIG_LPUART0_TXBUFSIZE=64 -CONFIG_LPUART1_RXBUFSIZE=64 -CONFIG_LPUART1_SERIAL_CONSOLE=y -CONFIG_LPUART1_TXBUFSIZE=64 -CONFIG_MOTOROLA_SREC=y -CONFIG_NSH_ARCHINIT=y -CONFIG_NSH_BUILTIN_APPS=y -CONFIG_NSH_FILEIOSIZE=512 -CONFIG_NSH_READLINE=y -CONFIG_PREALLOC_TIMERS=4 -CONFIG_RAM_SIZE=61440 -CONFIG_RAM_START=0x1fff8000 -CONFIG_RAW_BINARY=y -CONFIG_RR_INTERVAL=200 -CONFIG_S32K1XX_LPI2C0=y -CONFIG_S32K1XX_LPSPI0=y -CONFIG_S32K1XX_LPUART0=y -CONFIG_S32K1XX_LPUART1=y -CONFIG_SCHED_WAITPID=y -CONFIG_SDCLONE_DISABLE=y -CONFIG_SPITOOL_DEFFREQ=400000 -CONFIG_SPITOOL_MAXBUS=0 -CONFIG_START_DAY=18 -CONFIG_START_MONTH=8 -CONFIG_START_YEAR=2019 -CONFIG_STDIO_DISABLE_BUFFERING=y -CONFIG_SYMTAB_ORDEREDBYNAME=y -CONFIG_SYSTEM_I2CTOOL=y -CONFIG_SYSTEM_NSH=y -CONFIG_SYSTEM_SPITOOL=y -CONFIG_USER_ENTRYPOINT="nsh_main" diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/configs/nshdebug/defconfig b/boards/arm/s32k1xx/rddrone-uavcan144/configs/nshdebug/defconfig deleted file mode 100644 index 1b573c90adb..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/configs/nshdebug/defconfig +++ /dev/null @@ -1,65 +0,0 @@ -# -# 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_FPU is not set -# CONFIG_NSH_ARGCAT is not set -# CONFIG_NSH_CMDOPT_HEXDUMP is not set -# CONFIG_NSH_CMDPARMS is not set -CONFIG_ARCH="arm" -CONFIG_ARCH_BOARD="rddrone-uavcan144" -CONFIG_ARCH_BOARD_RDDRONE_UAVCAN144=y -CONFIG_ARCH_CHIP="s32k1xx" -CONFIG_ARCH_CHIP_S32K144=y -CONFIG_ARCH_CHIP_S32K14X=y -CONFIG_ARCH_CHIP_S32K1XX=y -CONFIG_ARCH_STACKDUMP=y -CONFIG_BOARD_LOOPSPERMSEC=3997 -CONFIG_BUILTIN=y -CONFIG_DEBUG_FEATURES=y -CONFIG_DEBUG_SYMBOLS=y -CONFIG_EXAMPLES_HELLO=y -CONFIG_FS_PROCFS=y -CONFIG_HAVE_CXX=y -CONFIG_HAVE_CXXINITIALIZE=y -CONFIG_I2C=y -CONFIG_I2CTOOL_DEFFREQ=100000 -CONFIG_I2CTOOL_MAXADDR=0x7f -CONFIG_I2CTOOL_MAXBUS=0 -CONFIG_I2CTOOL_MINADDR=0x00 -CONFIG_INTELHEX_BINARY=y -CONFIG_LPUART0_RXBUFSIZE=64 -CONFIG_LPUART0_TXBUFSIZE=64 -CONFIG_LPUART1_RXBUFSIZE=64 -CONFIG_LPUART1_SERIAL_CONSOLE=y -CONFIG_LPUART1_TXBUFSIZE=64 -CONFIG_MOTOROLA_SREC=y -CONFIG_NSH_ARCHINIT=y -CONFIG_NSH_BUILTIN_APPS=y -CONFIG_NSH_FILEIOSIZE=512 -CONFIG_NSH_READLINE=y -CONFIG_PREALLOC_TIMERS=4 -CONFIG_RAM_SIZE=61440 -CONFIG_RAM_START=0x1fff8000 -CONFIG_RAW_BINARY=y -CONFIG_RR_INTERVAL=200 -CONFIG_S32K1XX_LPI2C0=y -CONFIG_S32K1XX_LPSPI0=y -CONFIG_S32K1XX_LPUART0=y -CONFIG_S32K1XX_LPUART1=y -CONFIG_SCHED_WAITPID=y -CONFIG_SDCLONE_DISABLE=y -CONFIG_SPITOOL_DEFFREQ=400000 -CONFIG_SPITOOL_MAXBUS=0 -CONFIG_START_DAY=18 -CONFIG_START_MONTH=8 -CONFIG_START_YEAR=2019 -CONFIG_STDIO_DISABLE_BUFFERING=y -CONFIG_SYMTAB_ORDEREDBYNAME=y -CONFIG_SYSTEM_I2CTOOL=y -CONFIG_SYSTEM_NSH=y -CONFIG_SYSTEM_SPITOOL=y -CONFIG_USER_ENTRYPOINT="nsh_main" diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/include/board.h b/boards/arm/s32k1xx/rddrone-uavcan144/include/board.h deleted file mode 100644 index 655ba39654d..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/include/board.h +++ /dev/null @@ -1,138 +0,0 @@ -/**************************************************************************** - * boards/arm/s32k1xx/rddrone-uavcan144/include/board.h - * - * 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_RDDRONE_UAVCAN144_INCLUDE_BOARD_H -#define __BOARDS_ARM_RDDRONE_UAVCAN144_INCLUDE_BOARD_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#ifndef __ASSEMBLY__ -# include -# include -#endif - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/* Clocking *****************************************************************/ - -/* The RDDRONE-UAVCAN144 is fitted with a 8MHz Crystal */ - -#define BOARD_XTAL_FREQUENCY 8000000 - -/* The S32K144 will run at 112MHz */ - -/* LED definitions **********************************************************/ - -/* The RDDRONE-UAVCAN144 has one RGB LED: - * - * RedLED PTD15 (FTM0 CH0) - * GreenLED PTD16 (FTM0 CH1) - * BlueLED PTD0 (FTM0 CH2) - * - * If CONFIG_ARCH_LEDS is not defined, then the user can control the LEDs in - * any way. The following definitions are used to access individual RGB - * components. - * - * The RGB components could, alternatively be controlled through PWM using - * the common RGB LED driver. - */ - -/* LED index values for use with board_userled() */ - -#define BOARD_LED_R 0 -#define BOARD_LED_G 1 -#define BOARD_LED_B 2 -#define BOARD_NLEDS 3 - -/* LED bits for use with board_userled_all() */ - -#define BOARD_LED_R_BIT (1 << BOARD_LED_R) -#define BOARD_LED_G_BIT (1 << BOARD_LED_G) -#define BOARD_LED_B_BIT (1 << BOARD_LED_B) - -/* If CONFIG_ARCH_LEDs is defined, then NuttX will control the LEDs on board - * the RDDRONE-UAVCAN144. The following definitions describe how NuttX - * controls the LEDs: - * - * SYMBOL Meaning LED state - * RED GREEN BLUE - * ------------------- ---------------------------- ----------------- - */ - -#define LED_STARTED 1 /* NuttX has been started OFF OFF OFF */ -#define LED_HEAPALLOCATE 2 /* Heap has been allocated OFF OFF ON */ -#define LED_IRQSENABLED 0 /* Interrupts enabled OFF OFF ON */ -#define LED_STACKCREATED 3 /* Idle stack created OFF ON OFF */ -#define LED_INIRQ 0 /* In an interrupt (no change) */ -#define LED_SIGNAL 0 /* In a signal handler (no change) */ -#define LED_ASSERTION 0 /* An assertion failed (no change) */ -#define LED_PANIC 4 /* The system has crashed FLASH OFF OFF */ -#undef LED_IDLE /* RDDRONE-UAVCAN144 in sleep mode (Not used) */ - -/* Button definitions *******************************************************/ - -/* The RDDRONE-UAVCAN144 supports two buttons: - * - * SW2 PTC12 - * SW3 PTC13 - */ - -#define BUTTON_SW2 0 -#define BUTTON_SW3 1 -#define NUM_BUTTONS 2 - -#define BUTTON_SW2_BIT (1 << BUTTON_SW2) -#define BUTTON_SW3_BIT (1 << BUTTON_SW3) - -/* Alternate function pin selections ****************************************/ - -/* By default, the serial console will be provided on the OpenSDA VCOM port: - * - * OpenSDA UART TX PTC7 (LPUART1_TX) - * OpenSDA UART RX PTC6 (LPUART1_RX) - */ - -#define PIN_LPUART0_CTS PIN_LPUART0_CTS_2 /* PTC8 */ -#define PIN_LPUART0_RTS PIN_LPUART0_RTS_2 /* PTC9 */ -#define PIN_LPUART0_RX PIN_LPUART0_RX_1 /* PTB0 */ -#define PIN_LPUART0_TX PIN_LPUART0_TX_1 /* PTB1 */ - -#define PIN_LPUART1_RX PIN_LPUART1_RX_1 /* PTC6 */ -#define PIN_LPUART1_TX PIN_LPUART1_TX_1 /* PTC7 */ - -/* SPI selections ***********************************************************/ - -#define PIN_LPSPI0_SCK PIN_LPSPI0_SCK_2 /* PTB2 */ -#define PIN_LPSPI0_MISO PIN_LPSPI0_SIN_2 /* PTB3 */ -#define PIN_LPSPI0_MOSI PIN_LPSPI0_SOUT_3 /* PTB4 */ -#define PIN_LPSPI0_PCS PIN_LPSPI0_PCS0_2 /* PTB5 */ - -/* I2C selections ***********************************************************/ - -#define PIN_LPI2C0_SCL PIN_LPI2C0_SCL_2 /* PTA3 */ -#define PIN_LPI2C0_SDA PIN_LPI2C0_SDA_2 /* PTA2 */ - -#endif /* __BOARDS_ARM_RDDRONE_UAVCAN144_INCLUDE_BOARD_H */ diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/scripts/Make.defs b/boards/arm/s32k1xx/rddrone-uavcan144/scripts/Make.defs deleted file mode 100644 index 096532d7d7a..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/scripts/Make.defs +++ /dev/null @@ -1,67 +0,0 @@ -############################################################################ -# boards/arm/s32k1xx/rddrone-uavcan144/scripts/Make.defs -# -# 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/armv7-m/Toolchain.defs - -ifeq ($(CONFIG_BOOT_RUNFROMFLASH),y) - LDSCRIPT = flash.ld -else ifeq ($(CONFIG_BOOT_RUNFROMISRAM),y) - LDSCRIPT = sram.ld -endif - -$(warning, LDSCRIPT is $(LDSCRIPT)) -ifeq ($(CONFIG_CYGWIN_WINTOOL),y) - ARCHSCRIPT = -T "${shell cygpath -w $(BOARD_DIR)$(DELIM)scripts$(DELIM)$(LDSCRIPT)}" -else - ARCHSCRIPT = -T$(BOARD_DIR)$(DELIM)scripts$(DELIM)$(LDSCRIPT) -endif -$(warning, LDSCRIPT is $(LDSCRIPT)) -$(warning, ARCHSCRIPT is $(ARCHSCRIPT)) - -ifeq ($(CONFIG_DEBUG_SYMBOLS),y) - ARCHOPTIMIZATION = -g -endif - -ifneq ($(CONFIG_DEBUG_NOOPT),y) - ARCHOPTIMIZATION += $(MAXOPTIMIZATION) -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer -endif - -ARCHCFLAGS = -fno-builtin -ARCHCXXFLAGS = -fno-builtin -fno-exceptions -fcheck-new -fno-rtti -ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow -Wundef -ARCHWARNINGSXX = -Wall -Wshadow -Wundef -ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10 - -CFLAGS := $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe -CPICFLAGS = $(ARCHPICFLAGS) $(CFLAGS) -CXXFLAGS := $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe -CXXPICFLAGS = $(ARCHPICFLAGS) $(CXXFLAGS) -CPPFLAGS := $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -AFLAGS := $(CFLAGS) -D__ASSEMBLY__ - -NXFLATLDFLAGS1 = -r -d -warn-common -NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat-pcrel.ld -no-check-sections -LDNXFLATFLAGS = -e main -s 2048 - -ifeq ($(CONFIG_DEBUG_SYMBOLS),y) - LDFLAGS += -g -endif diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/scripts/flash.ld b/boards/arm/s32k1xx/rddrone-uavcan144/scripts/flash.ld deleted file mode 100644 index 2c7ff297d2d..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/scripts/flash.ld +++ /dev/null @@ -1,137 +0,0 @@ -/**************************************************************************** - * boards/arm/s32k1xx/rddrone-uavcan144/scripts/flash.ld - * - * 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 S32K144 has 512Kb of FLASH beginning at address 0x0000:0000 and - * 60Kb of SRAM beginning at address 0x1fff:8000 (plus 4Kb of FlexRAM) - * - * The on-chip RAM is split in two regions: SRAM_L and SRAM_U. The RAM is - * implemented such that the SRAM_L and SRAM_U ranges form a contiguous - * block in the memory map - * - * SRAM_L 1fff8000 - 1fffffff 32Kb - * SRAM_U 20000000 - 20006fff 28Kb - */ - -MEMORY -{ - vflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K - pflash (rx) : ORIGIN = 0x00000400, LENGTH = 16 - dflash (rx) : ORIGIN = 0x00000410, LENGTH = 511K-16 - sram (rwx) : ORIGIN = 0x1fff8000, LENGTH = 60K -} - -OUTPUT_ARCH(arm) -EXTERN(_vectors) -EXTERN(g_flashcfg) -ENTRY(_stext) - -SECTIONS -{ - .vectors : - { - _stext = ABSOLUTE(.); - *(.vectors) - } > vflash - - .flashcfg : - { - *(.flashcfg) - } > pflash - - .text : - { - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > dflash - - .init_section : - { - _sinit = ABSOLUTE(.); - KEEP(*(.init_array .init_array.*)) - _einit = ABSOLUTE(.); - } > dflash - - .ARM.extab : - { - *(.ARM.extab*) - } >dflash - - .ARM.exidx : - { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } >dflash - - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - . = ALIGN(4); - _edata = ABSOLUTE(.); - } > sram AT > dflash - - _eronly = LOADADDR(.data); - - .ramfunc ALIGN(4): - { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > sram AT > dflash - - _framfuncs = LOADADDR(.ramfunc); - - .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/s32k1xx/rddrone-uavcan144/scripts/s32k144.cfg b/boards/arm/s32k1xx/rddrone-uavcan144/scripts/s32k144.cfg deleted file mode 100644 index 7d30a9f05f0..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/scripts/s32k144.cfg +++ /dev/null @@ -1,58 +0,0 @@ -# -# NXP S32K144 - 1x ARM Cortex-M4 @ up to 112 MHz -# - -adapter_khz 4000 -transport select swd - -if { [info exists CHIPNAME] } { - set _CHIPNAME $CHIPNAME -} else { - set _CHIPNAME s32k144 -} - -# -# M4 JTAG mode TAP -# -if { [info exists M4_JTAG_TAPID] } { - set _M4_JTAG_TAPID $M4_JTAG_TAPID -} else { - set _M4_JTAG_TAPID 0x4ba00477 -} - -# -# M4 SWD mode TAP -# -if { [info exists M4_SWD_TAPID] } { - set _M4_SWD_TAPID $M4_SWD_TAPID -} else { - set _M4_SWD_TAPID 0x2ba01477 -} - -source [find target/swj-dp.tcl] - -if { [using_jtag] } { - set _M4_TAPID $_M4_JTAG_TAPID -} else { - set _M4_TAPID $_M4_SWD_TAPID -} - -swj_newdap $_CHIPNAME m4 -irlen 4 -ircapture 0x1 -irmask 0xf \ - -expected-id $_M4_TAPID - -target create $_CHIPNAME.m4 cortex_m -chain-position $_CHIPNAME.m4 - -# S32K144 has 32+28 KB contiguous SRAM -if { [info exists WORKAREASIZE] } { - set _WORKAREASIZE $WORKAREASIZE -} else { - set _WORKAREASIZE 0xF000 -} -$_CHIPNAME.m4 configure -work-area-phys 0x1FFF8000 \ - -work-area-size $_WORKAREASIZE -work-area-backup 0 - -$_CHIPNAME.m4 configure -rtos nuttx - -if { ![using_hla] } { - cortex_m reset_config vectreset -} diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/scripts/sram.ld b/boards/arm/s32k1xx/rddrone-uavcan144/scripts/sram.ld deleted file mode 100644 index aaf324a5309..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/scripts/sram.ld +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** - * boards/arm/s32k1xx/rddrone-uavcan144/scripts/sram.ld - * - * 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 S32K144 has 512Kb of FLASH beginning at address 0x0000:0000 and - * 60Kb of SRAM beginning at address 0x1fff:8000 (plus 4Kb of FlexRAM) - * - * The on-chip RAM is split in two regions: SRAM_L and SRAM_U. The RAM is - * implemented such that the SRAM_L and SRAM_U ranges form a contiguous - * block in the memory map - * - * SRAM_L 1fff8000 - 1fffffff 32Kb - * SRAM_U 20000000 - 20006fff 28Kb - */ - -MEMORY -{ - flash (rx) : ORIGIN = 0x00000000, LENGTH = 512K - sram (rwx) : ORIGIN = 0x1fff8000, LENGTH = 60K -} - -OUTPUT_ARCH(arm) -EXTERN(_vectors) -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(*(.init_array .init_array.*)) - _einit = ABSOLUTE(.); - } > sram - - .ARM.extab : - { - *(.ARM.extab*) - } >sram - - .ARM.exidx : - { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } >sram - - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - . = ALIGN(4); - _edata = ABSOLUTE(.); - } > sram - - .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/s32k1xx/rddrone-uavcan144/src/Makefile b/boards/arm/s32k1xx/rddrone-uavcan144/src/Makefile deleted file mode 100644 index dc5369e9a0c..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/src/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################ -# boards/arm/s32k1xx/rddrone-uavcan144/src/Makefile -# -# 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 - -CSRCS = s32k1xx_boot.c s32k1xx_bringup.c s32k1xx_clockconfig.c -CSRCS += s32k1xx_periphclocks.c - -ifeq ($(CONFIG_ARCH_LEDS),y) -CSRCS += s32k1xx_autoleds.c -else -CSRCS += s32k1xx_userleds.c -endif - -ifeq ($(CONFIG_ARCH_BUTTONS),y) -CSRCS += s32k1xx_buttons.c -endif - -ifeq ($(CONFIG_BOARDCTL),y) -CSRCS += s32k1xx_appinit.c -endif - -ifeq ($(CONFIG_S32K1XX_LPSPI),y) -CSRCS += s32k1xx_spi.c -endif - -include $(TOPDIR)/boards/Board.mk diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/src/rddrone-uavcan144.h b/boards/arm/s32k1xx/rddrone-uavcan144/src/rddrone-uavcan144.h deleted file mode 100644 index 89a2d757917..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/src/rddrone-uavcan144.h +++ /dev/null @@ -1,124 +0,0 @@ -/**************************************************************************** - * boards/arm/s32k1xx/rddrone-uavcan144/src/rddrone-uavcan144.h - * - * 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_S32K1XX_RDDRONE_UAVCAN144_SRC_RDDRONE_UAVCAN144_H -#define __BOARDS_ARM_S32K1XX_RDDRONE_UAVCAN144_SRC_RDDRONE_UAVCAN144_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include -#include - -#include - -#include "hardware/s32k1xx_pinmux.h" -#include "s32k1xx_periphclocks.h" - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/* Configuration ************************************************************/ - -/* RDDRONE-UAVCAN144 GPIOs **************************************************/ - -/* LEDs. The RDDRONE-UAVCAN144 has one RGB LED: - * - * RedLED PTD15 (FTM0 CH0) - * GreenLED PTD16 (FTM0 CH1) - * BlueLED PTD0 (FTM0 CH2) - * - * An output of '1' illuminates the LED. - */ - -#define GPIO_LED_R (PIN_PTD15 | GPIO_LOWDRIVE | GPIO_OUTPUT_ZERO) -#define GPIO_LED_G (PIN_PTD16 | GPIO_LOWDRIVE | GPIO_OUTPUT_ZERO) -#define GPIO_LED_B (PIN_PTD0 | GPIO_LOWDRIVE | GPIO_OUTPUT_ZERO) - -/* Buttons. The RDDRONE-UAVCAN144 supports two buttons: - * - * SW2 PTC12 - * SW3 PTC13 - */ - -#define GPIO_SW2 (PIN_PTC12 | PIN_INT_BOTH) -#define GPIO_SW3 (PIN_PTC13 | PIN_INT_BOTH) - -/* SPI chip selects */ - -/* A71CH Reset */ - -#define GPIO_A71CH_RST (PIN_PTA6 | GPIO_LOWDRIVE) - -/* Count of peripheral clock user configurations */ - -#define NUM_OF_PERIPHERAL_CLOCKS_0 11 - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#ifndef __ASSEMBLY__ - -/* User peripheral configuration structure 0 */ - -extern const struct peripheral_clock_config_s g_peripheral_clockconfig0[]; - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Name: s32k1xx_bringup - * - * Description: - * Perform architecture-specific initialization - * - * CONFIG_BOARD_LATE_INITIALIZE=y : - * Called from board_late_initialize(). - * - * CONFIG_BOARD_LATE_INITIALIZE=y && CONFIG_BOARDCTL=y : - * Called from the NSH library - * - ****************************************************************************/ - -int s32k1xx_bringup(void); - -/**************************************************************************** - * Name: s32k1xx_spidev_initialize - * - * Description: - * Called to configure SPI chip select GPIO pins for the RDDRONE-UAVCAN144 - * board. - * - ****************************************************************************/ - -#ifdef CONFIG_S32K1XX_LPSPI -void s32k1xx_spidev_initialize(void); -#endif - -#endif /* __ASSEMBLY__ */ -#endif /* __BOARDS_ARM_S32K1XX_RDDRONE_UAVCAN144_SRC_RDDRONE_UAVCAN144_H */ diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_appinit.c b/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_appinit.c deleted file mode 100644 index 4775005db86..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_appinit.c +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** - * boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_appinit.c - * - * 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 "rddrone-uavcan144.h" - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -#ifndef OK -# define OK 0 -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: board_app_initialize - * - * Description: - * Perform application specific initialization. This function is never - * called directly from application code, but only indirectly via the - * (non-standard) boardctl() interface using the command BOARDIOC_INIT. - * - * Input Parameters: - * arg - The boardctl() argument is passed to the board_app_initialize() - * implementation without modification. The argument has no - * meaning to NuttX; the meaning of the argument is a contract - * between the board-specific initialization logic and the - * matching application logic. The value could be such things as a - * mode enumeration value, a set of DIP switch switch settings, a - * pointer to configuration data read from a file or serial FLASH, - * or whatever you would like to do with it. Every implementation - * should accept zero/NULL as a default configuration. - * - * Returned Value: - * Zero (OK) is returned on success; a negated errno value is returned on - * any failure to indicate the nature of the failure. - * - ****************************************************************************/ - -int board_app_initialize(uintptr_t arg) -{ -#ifdef CONFIG_BOARD_LATE_INITIALIZE - /* Board initialization already performed by board_late_initialize() */ - - return OK; -#else - /* Perform board-specific initialization */ - - return s32k1xx_bringup(); -#endif -} diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_autoleds.c b/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_autoleds.c deleted file mode 100644 index 378657404e6..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_autoleds.c +++ /dev/null @@ -1,150 +0,0 @@ -/**************************************************************************** - * boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_autoleds.c - * - * 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 RDDRONE-UAVCAN144 has one RGB LED: - * - * RedLED PTD15 (FTM0 CH0) - * GreenLED PTD16 (FTM0 CH1) - * BlueLED PTD0 (FTM0 CH2) - * - * An output of '1' illuminates the LED. - * - * If CONFIG_ARCH_LEDs is defined, then NuttX will control the LED on board - * the Freedom K66F. The following definitions describe how NuttX controls - * the LEDs: - * - * SYMBOL Meaning LED state - * 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 OFF ON - * LED_STACKCREATED Idle stack created OFF ON OFF - * LED_INIRQ In an interrupt (no change) - * LED_SIGNAL In a signal handler (no change) - * LED_ASSERTION An assertion failed (no change) - * LED_PANIC The system has crashed FLASH OFF OFF - * LED_IDLE K66 is in sleep mode (Optional, not used) - */ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include -#include -#include - -#include -#include - -#include "arm_arch.h" -#include "arm_internal.h" - -#include "s32k1xx_pin.h" -#include "rddrone-uavcan144.h" - -#include - -#ifdef CONFIG_ARCH_LEDS - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/* Summary of all possible settings */ - -#define LED_NOCHANGE 0 /* LED_IRQSENABLED, LED_INIRQ, LED_SIGNAL, LED_ASSERTION */ -#define LED_OFF_OFF_OFF 1 /* LED_STARTED */ -#define LED_OFF_OFF_ON 2 /* LED_HEAPALLOCATE */ -#define LED_OFF_ON_OFF 3 /* LED_STACKCREATED */ -#define LED_ON_OFF_OFF 4 /* LED_PANIC */ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: board_autoled_initialize - ****************************************************************************/ - -void board_autoled_initialize(void) -{ - /* Configure LED GPIOs for output */ - - s32k1xx_pinconfig(GPIO_LED_R); - s32k1xx_pinconfig(GPIO_LED_G); - s32k1xx_pinconfig(GPIO_LED_B); -} - -/**************************************************************************** - * Name: board_autoled_on - ****************************************************************************/ - -void board_autoled_on(int led) -{ - if (led != LED_NOCHANGE) - { - bool redon = false; - bool greenon = false; - bool blueon = false; - - switch (led) - { - default: - case LED_OFF_OFF_OFF: - break; - - case LED_OFF_OFF_ON: - blueon = true; - break; - - case LED_OFF_ON_OFF: - greenon = true; - break; - - case LED_ON_OFF_OFF: - redon = true; - break; - } - - s32k1xx_gpiowrite(GPIO_LED_R, redon); - s32k1xx_gpiowrite(GPIO_LED_G, greenon); - s32k1xx_gpiowrite(GPIO_LED_B, blueon); - } -} - -/**************************************************************************** - * Name: board_autoled_off - ****************************************************************************/ - -void board_autoled_off(int led) -{ - if (led == LED_ON_OFF_OFF) - { - s32k1xx_gpiowrite(GPIO_LED_R, true); - s32k1xx_gpiowrite(GPIO_LED_G, false); - s32k1xx_gpiowrite(GPIO_LED_B, false); - } -} - -#endif /* CONFIG_ARCH_LEDS */ diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_boot.c b/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_boot.c deleted file mode 100644 index 762f3a15029..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_boot.c +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** - * boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_boot.c - * - * 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 "rddrone-uavcan144.h" - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: s32k1xx_board_initialize - * - * Description: - * All S32K1XX 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 s32k1xx_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 */ - - s32k1xx_bringup(); -} -#endif diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_bringup.c b/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_bringup.c deleted file mode 100644 index a4455bfff39..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_bringup.c +++ /dev/null @@ -1,154 +0,0 @@ -/**************************************************************************** - * boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_bringup.c - * - * 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 - -#ifdef CONFIG_INPUT_BUTTONS -# include -#endif - -#ifdef CONFIG_USERLED -# include -#endif - -#ifdef CONFIG_I2C_DRIVER -# include "s32k1xx_pin.h" -# include -# include "s32k1xx_lpi2c.h" -#endif - -#ifdef CONFIG_S32K1XX_EEEPROM -# include "s32k1xx_eeeprom.h" -#endif - -#include "rddrone-uavcan144.h" - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: s32k1xx_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 s32k1xx_bringup(void) -{ - int ret = OK; - -#ifdef CONFIG_INPUT_BUTTONS - /* Register the BUTTON driver */ - - ret = btn_lower_initialize("/dev/buttons"); - if (ret < 0) - { - syslog(LOG_ERR, "ERROR: btn_lower_initialize() failed: %d\n", ret); - } -#endif - -#ifdef CONFIG_USERLED - /* 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 - -#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 - -#ifdef CONFIG_S32K1XX_LPSPI - /* Configure SPI chip selects if 1) SPI is not disabled, and 2) the weak - * function s32k1xx_spidev_initialize() has been brought into the link. - */ - - s32k1xx_spidev_initialize(); -#endif - -#if defined(CONFIG_S32K1XX_LPI2C0) - s32k1xx_pinconfig(GPIO_HIGHDRIVE | GPIO_OUTPUT_ONE | PIN_PORTA | PIN10); /* Set A71CH IF0 HIGH */ - s32k1xx_pinconfig(GPIO_HIGHDRIVE | GPIO_OUTPUT_ZERO | PIN_PORTA | PIN7); /* Set A71CH IF1 LOW */ - -#if defined(CONFIG_I2C_DRIVER) - FAR struct i2c_master_s *i2c; - i2c = s32k1xx_i2cbus_initialize(0); - - if (i2c == NULL) - { - serr("ERROR: Failed to get I2C interface\n"); - } - else - { - ret = i2c_register(i2c, 0); - if (ret < 0) - { - serr("ERROR: Failed to register I2C driver: %d\n", ret); - s32k1xx_i2cbus_uninitialize(i2c); - } - } -#endif -#endif - -#ifdef CONFIG_S32K1XX_PROGMEM - FAR struct mtd_dev_s *mtd; - int minor = 0; - - mtd = progmem_initialize(); - if (!mtd) - { - syslog(LOG_ERR, "ERROR: progmem_initialize failed\n"); - } -#endif - -#ifdef CONFIG_S32K1XX_EEEPROM - /* Register EEEPROM block device */ - - s32k1xx_eeeprom_register(0, 4096); -#endif - - return ret; -} diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_buttons.c b/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_buttons.c deleted file mode 100644 index 7403f286f3c..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_buttons.c +++ /dev/null @@ -1,151 +0,0 @@ -/**************************************************************************** - * boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_buttons.c - * - * 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 RDDRONE-UAVCAN144 supports two buttons: - * - * SW2 PTC12 - * SW3 PTC13 - */ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include -#include - -#include -#include - -#include "s32k1xx_pin.h" -#include "rddrone-uavcan144.h" - -#include - -#ifdef CONFIG_ARCH_BUTTONS - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: board_button_initialize - * - * Description: - * board_button_initialize() must be called to initialize button resources. - * After that, board_buttons() may be called to collect the current state - * of all buttons or board_button_irq() may be called to register button - * interrupt handlers. - * - ****************************************************************************/ - -uint32_t board_button_initialize(void) -{ - /* Configure the GPIO pins as interrupting inputs. */ - - s32k1xx_pinconfig(GPIO_SW2); - s32k1xx_pinconfig(GPIO_SW3); - return NUM_BUTTONS; -} - -/**************************************************************************** - * Name: board_buttons - ****************************************************************************/ - -uint32_t board_buttons(void) -{ - uint32_t ret = 0; - - if (s32k1xx_gpioread(GPIO_SW2)) - { - ret |= BUTTON_SW2_BIT; - } - - if (s32k1xx_gpioread(GPIO_SW3)) - { - ret |= BUTTON_SW3_BIT; - } - - return ret; -} - -/**************************************************************************** - * Button support. - * - * Description: - * board_button_initialize() must be called to initialize button resources. - * After that, board_buttons() may be called to collect the current state - * of all buttons or board_button_irq() may be called to register button - * interrupt handlers. - * - * After board_button_initialize() has been called, board_buttons() may be - * called to collect the state of all buttons. board_buttons() returns a - * 32-bit bit set with each bit associated with a button. See the - * BUTTON_*_BIT definitions in board.h for the meaning of each bit. - * - * board_button_irq() may be called to register an interrupt handler that - * will be called when a button is depressed or released. The ID value is - * a button enumeration value that uniquely identifies a button resource. - * See the BUTTON_* definitions in board.h for the meaning of enumeration - * value. - * - ****************************************************************************/ - -#ifdef CONFIG_ARCH_IRQBUTTONS -int board_button_irq(int id, xcpt_t irqhandler, FAR void *arg) -{ - uint32_t pinset; - int ret; - - /* Map the button id to the GPIO bit set. */ - - if (id == BUTTON_SW2) - { - pinset = GPIO_SW2; - } - else if (id == BUTTON_SW3) - { - pinset = GPIO_SW3; - } - else - { - return -EINVAL; - } - - /* The button has already been configured as an interrupting input (by - * board_button_initialize() above). - * - * Attach the new button handler. - */ - - ret = s32k1xx_pinirqattach(pinset, irqhandler, NULL); - if (ret >= 0) - { - /* Then make sure that interrupts are enabled on the pin */ - - s32k1xx_pinirqenable(pinset); - } - - return ret; -} -#endif -#endif /* CONFIG_ARCH_BUTTONS */ diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_clockconfig.c b/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_clockconfig.c deleted file mode 100644 index 126904f4795..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_clockconfig.c +++ /dev/null @@ -1,217 +0,0 @@ -/**************************************************************************** - * boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_clockconfig.c - * - * Copyright (C) 2019 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * Most of the settings within this file derives from NXP sample code for - * the S32K1XX MCUs. That sample code has this licensing information: - * - * Copyright (c) 2013 - 2015, Freescale Semiconductor, Inc. - * Copyright 2016-2018 NXP - * All rights reserved. - * - * THIS SOFTWARE IS PROVIDED BY NXP "AS IS" AND ANY EXPRESSED OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL NXP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include -#include - -#include "s32k1xx_clockconfig.h" -#include "s32k1xx_start.h" -#include "rddrone-uavcan144.h" - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/* Each S32K1XX board must provide the following initialized structure. - * This is needed to establish the initial board clocking. - */ - -const struct clock_configuration_s g_initial_clkconfig = -{ - .scg = - { - .sirc = - { - .range = SCG_SIRC_RANGE_HIGH, /* RANGE - High range (8 MHz) */ - .div1 = SCG_ASYNC_CLOCK_DIV_BY_1, /* SIRCDIV1 */ - .div2 = SCG_ASYNC_CLOCK_DIV_BY_1, /* SIRCDIV2 */ - .initialize = true, /* Initialize */ - .stopmode = false, /* SIRCSTEN */ - .lowpower = true, /* SIRCLPEN */ - .locked = false, /* LK */ - }, - .firc = - { - .range = SCG_FIRC_RANGE_48M, /* RANGE */ - .div1 = SCG_ASYNC_CLOCK_DIV_BY_1, /* FIRCDIV1 */ - .div2 = SCG_ASYNC_CLOCK_DIV_BY_1, /* FIRCDIV2 */ - .initialize = true, /* Initialize */ - .regulator = true, /* FIRCREGOFF */ - .locked = false, /* LK */ - }, - .sosc = - { - .mode = SCG_SOSC_MONITOR_DISABLE, /* SOSCCM */ - .gain = SCG_SOSC_GAIN_LOW, /* HGO */ - .range = SCG_SOSC_RANGE_HIGH, /* RANGE */ - .extref = SCG_SOSC_REF_OSC, /* EREFS */ - .div1 = SCG_ASYNC_CLOCK_DIV_BY_1, /* SOSCDIV1 */ - .div2 = SCG_ASYNC_CLOCK_DIV_BY_1, /* SOSCDIV2 */ - .initialize = true, /* Initialize */ - .locked = false, /* LK */ - }, - .spll = - { - .mode = SCG_SPLL_MONITOR_DISABLE, /* SPLLCM */ - .div1 = SCG_ASYNC_CLOCK_DIV_BY_1, /* SPLLDIV1 */ - .div2 = SCG_ASYNC_CLOCK_DIV_BY_1, /* SPLLDIV2 */ - .prediv = 1, /* PREDIV */ - .mult = 40, /* MULT */ - .src = 0, /* SOURCE */ - .initialize = true, /* Initialize */ - .locked = false, /* LK */ - }, - .rtc = - { - .initialize = true, /* Initialize */ - .clkin = 0, /* RTC_CLKIN */ - }, - .clockout = - { - .source = SCG_CLOCKOUT_SRC_FIRC, /* SCG CLKOUTSEL */ - .initialize = true, /* Initialize */ - }, - .clockmode = - { - .rccr = /* RCCR - Run Clock Control Register */ - { - .src = SCG_SYSTEM_CLOCK_SRC_SYS_PLL, /* SCS */ - .divslow = 3, /* DIVSLOW, range 1..16 */ - .divbus = 2, /* DIVBUS, range 1..16 */ - .divcore = 2, /* DIVCORE, range 1..16 */ - }, - .vccr = /* VCCR - VLPR Clock Control Register */ - { - .src = SCG_SYSTEM_CLOCK_SRC_SIRC, /* SCS */ - .divslow = 4, /* DIVSLOW, range 1..16 */ - .divbus = 1, /* DIVBUS, range 1..16 */ - .divcore = 2, /* DIVCORE, range 1..16 */ - }, - .hccr = - { - .src = SCG_SYSTEM_CLOCK_SRC_SYS_PLL, /* SCS */ - .divslow = 3, /* DIVSLOW, range 1..16 */ - .divbus = 2, /* DIVBUS, range 1..16 */ - .divcore = 2, /* DIVCORE, range 1..16 */ - }, - .initialize = true, /* Initialize */ - }, - }, - .sim = - { - .clockout = /* Clock Out configuration. */ - { - .source = SIM_CLKOUT_SEL_SYSTEM_SCG_CLKOUT, /* CLKOUTSEL */ - .divider = 1, /* CLKOUTDIV, range 1..8 */ - .initialize = true, /* Initialize */ - .enable = false, /* CLKOUTEN */ - }, - .lpoclk = /* Low Power Clock configuration. */ - { - .rtc_source = SIM_RTCCLK_SEL_LPO_32K, /* RTCCLKSEL */ - .lpo_source = SIM_LPO_CLK_SEL_LPO_128K, /* LPOCLKSEL */ - .initialize = true, /* Initialize */ - .lpo32k = true, /* LPO32KCLKEN */ - .lpo1k = true, /* LPO1KCLKEN */ - }, - .tclk = /* TCLK CLOCK configuration. */ - { - .tclkfreq[0] = 0, /* TCLK0 */ - .tclkfreq[1] = 0, /* TCLK1 */ - .tclkfreq[2] = 0, /* TCLK2 */ - .initialize = true, /* Initialize */ - }, - .platgate = /* Platform Gate Clock configuration. */ - { - .initialize = true, /* Initialize */ - .mscm = true, /* CGCMSCM */ - .mpu = true, /* CGCMPU */ - .dma = true, /* CGCDMA */ - .erm = true, /* CGCERM */ - .eim = true, /* CGCEIM */ - }, - .traceclk = /* Debug trace Clock Configuration. */ - { - .source = CLOCK_TRACE_SRC_CORE_CLK, /* TRACECLK_SEL */ - .divider = 1, /* TRACEDIV, range 1..8 */ - .initialize = true, /* Initialize */ - .enable = true, /* TRACEDIVEN */ - .fraction = false, /* TRACEFRAC */ - }, - }, - .pcc = - { - .count = NUM_OF_PERIPHERAL_CLOCKS_0, /* Number peripheral clock configurations */ - .pclks = g_peripheral_clockconfig0, /* Peripheral clock configurations */ - }, - .pmc = - { - .lpoclk = /* Low Power Clock configuration. */ - { - .trim = 0, /* Trimming value for LPO */ - .initialize = true, /* Initialize */ - .enable = true, /* Enable/disable LPO */ - }, - }, -}; - -/**************************************************************************** - * Public Functions - ****************************************************************************/ diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_periphclocks.c b/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_periphclocks.c deleted file mode 100644 index 373d405b8f6..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_periphclocks.c +++ /dev/null @@ -1,150 +0,0 @@ -/**************************************************************************** - * boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_periphclocks.c - * - * Copyright (C) 2019 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * Most of the settings within this file derives from NXP sample code for - * the S32K1XX MCUs. That sample code has this licensing information: - * - * Copyright (c) 2013 - 2015, Freescale Semiconductor, Inc. - * Copyright 2016-2018 NXP - * All rights reserved. - * - * THIS SOFTWARE IS PROVIDED BY NXP "AS IS" AND ANY EXPRESSED OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL NXP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include "s32k1xx_periphclocks.h" -#include "rddrone-uavcan144.h" - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/* Each S32K1XX board must provide the following initialized structure. - * This is needed to establish the initial peripheral clocking. - */ - -const struct peripheral_clock_config_s g_peripheral_clockconfig0[] = -{ - { - .clkname = FLEXCAN0_CLK, -#ifdef CONFIG_S32K1XX_FLEXCAN - .clkgate = true, -#else - .clkgate = false, -#endif - }, - { - .clkname = FLEXCAN1_CLK, -#ifdef CONFIG_S32K1XX_FLEXCAN - .clkgate = true, -#else - .clkgate = false, -#endif - }, - { - .clkname = LPI2C0_CLK, -#ifdef CONFIG_S32K1XX_LPI2C0 - .clkgate = true, -#else - .clkgate = false, -#endif - .clksrc = CLK_SRC_SIRC_DIV2, - }, - { - .clkname = LPSPI0_CLK, -#ifdef CONFIG_S32K1XX_LPSPI0 - .clkgate = true, -#else - .clkgate = false, -#endif - .clksrc = CLK_SRC_SIRC_DIV2, - }, - { - .clkname = LPUART0_CLK, -#ifdef CONFIG_S32K1XX_LPUART0 - .clkgate = true, -#else - .clkgate = false, -#endif - .clksrc = CLK_SRC_SIRC_DIV2, - }, - { - .clkname = LPUART1_CLK, -#ifdef CONFIG_S32K1XX_LPUART1 - .clkgate = true, -#else - .clkgate = false, -#endif - .clksrc = CLK_SRC_SIRC_DIV2, - }, - { - .clkname = PORTA_CLK, - .clkgate = true, - }, - { - .clkname = PORTB_CLK, - .clkgate = true, - }, - { - .clkname = PORTC_CLK, - .clkgate = true, - }, - { - .clkname = PORTD_CLK, - .clkgate = true, - }, - { - .clkname = PORTE_CLK, - .clkgate = true, - }, -}; - -/**************************************************************************** - * Public Functions - ****************************************************************************/ diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_spi.c b/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_spi.c deleted file mode 100644 index 888e5c19f23..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_spi.c +++ /dev/null @@ -1,184 +0,0 @@ -/**************************************************************************** - * boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_spi.c - * - * 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 - -#include "arm_arch.h" - -#include "s32k1xx_config.h" -#include "s32k1xx_lpspi.h" -#include "s32k1xx_pin.h" -#include "rddrone-uavcan144.h" - -#if defined(CONFIG_S32K1XX_LPSPI0) || defined(CONFIG_S32K1XX_LPSPI1) || \ - defined(CONFIG_S32K1XX_LPSPI2) - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: s32k1xx_spidev_initialize - * - * Description: - * Called to configure SPI chip select GPIO pins for the RDDRONE-UAVCAN144 - * board. - * - ****************************************************************************/ - -void weak_function s32k1xx_spidev_initialize(void) -{ -#ifdef CONFIG_S32K1XX_LPSPI0 - s32k1xx_pinconfig(PIN_LPSPI0_PCS); - -#ifdef CONFIG_SPI_DRIVER - struct spi_dev_s *g_lpspi0; - g_lpspi0 = s32k1xx_lpspibus_initialize(0); - - if (!g_lpspi0) - { - spierr("ERROR: [boot] FAILED to initialize LPSPI0\n"); - } - - spi_register(g_lpspi0, 0); -#endif -#endif - -#ifdef CONFIG_S32K1XX_LPSPI1 - s32k1xx_pinconfig(PIN_LPSPI1_PCS); - -#ifdef CONFIG_SPI_DRIVER - struct spi_dev_s *g_lpspi1; - g_lpspi1 = s32k1xx_lpspibus_initialize(1); - - if (!g_lpspi1) - { - spierr("ERROR: [boot] FAILED to initialize LPSPI1\n"); - } - - spi_register(g_lpspi1, 1); -#endif -#endif - -#ifdef CONFIG_S32K1XX_LPSPI2 - s32k1xx_pinconfig(PIN_LPSPI2_PCS); - -#ifdef CONFIG_SPI_DRIVER - struct spi_dev_s *g_lpspi2; - g_lpspi2 = s32k1xx_lpspibus_initialize(2); - - if (!g_lpspi2) - { - spierr("ERROR: [boot] FAILED to initialize LPSPI2\n"); - } - - spi_register(g_lpspi2, 2); -#endif -#endif -} - -/**************************************************************************** - * Name: s32k1xx_lpspi0/1/2select and s32k1xx_lpspi0/1/2status - * - * Description: - * The external functions, s32k1xx_lpspi0/1/2select and - * s32k1xx_lpspi0/1/2status must be provided by board-specific logic. - * They are implementations of the select and status methods of the SPI - * interface defined by struct spi_ops_s (see include/nuttx/spi/spi.h). - * All other methods (including s32k1xx_lpspibus_initialize()) are provided - * by common logic. To use this common SPI logic on your board: - * - * 1. Provide logic in s32k1xx_boardinitialize() to configure SPI chip - * select pins. - * 2. Provide s32k1xx_lpspi0/1/2select() and s32k1xx_lpspi0/1/2status() - * functions in your board-specific logic. These functions will perform - * chip selection and status operations using GPIOs in the way your - * board is configured. - * 3. Add a calls to s32k1xx_lpspibus_initialize() in your low level - * application initialization logic - * 4. The handle returned by s32k1xx_lpspibus_initialize() may then be used - * to bind the SPI driver to higher level logic (e.g., calling - * mmcsd_spislotinitialize(), for example, will bind the SPI driver to - * the SPI MMC/SD driver). - * - ****************************************************************************/ - -#ifdef CONFIG_S32K1XX_LPSPI0 -void s32k1xx_lpspi0select(FAR struct spi_dev_s *dev, uint32_t devid, - bool selected) -{ - spiinfo("devid: %d CS: %s\n", (int)devid, - selected ? "assert" : "de-assert"); - - s32k1xx_gpiowrite(PIN_LPSPI0_PCS, !selected); -} - -uint8_t s32k1xx_lpspi0status(FAR struct spi_dev_s *dev, uint32_t devid) -{ - return 0; -} -#endif - -#ifdef CONFIG_S32K1XX_LPSPI1 -void s32k1xx_lpspi1select(FAR struct spi_dev_s *dev, - uint32_t devid, bool selected) -{ - spiinfo("devid: %d CS: %s\n", (int)devid, - selected ? "assert" : "de-assert"); - - s32k1xx_gpiowrite(PIN_LPSPI1_PCS, !selected); -} - -uint8_t s32k1xx_lpspi1status(FAR struct spi_dev_s *dev, uint32_t devid) -{ - return 0; -} -#endif - -#ifdef CONFIG_S32K1XX_LPSPI2 -void s32k1xx_lpspi2select(FAR struct spi_dev_s *dev, - uint32_t devid, bool selected) -{ - spiinfo("devid: %d CS: %s\n", (int)devid, - selected ? "assert" : "de-assert"); - - s32k1xx_gpiowrite(PIN_LPSPI2_PCS, !selected); -} - -uint8_t s32k1xx_lpspi2status(FAR struct spi_dev_s *dev, uint32_t devid) -{ - return 0; -} -#endif - -#endif /* CONFIG_S32K1XX_LPSPI0 || CONFIG_S32K1XX_LPSPI01 || CONFIG_S32K1XX_LPSPI2 */ diff --git a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_userleds.c b/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_userleds.c deleted file mode 100644 index 028b96b5cef..00000000000 --- a/boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_userleds.c +++ /dev/null @@ -1,102 +0,0 @@ -/**************************************************************************** - * boards/arm/s32k1xx/rddrone-uavcan144/src/s32k1xx_userleds.c - * - * 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 "arm_arch.h" -#include "arm_internal.h" - -#include "s32k1xx_pin.h" -#include "rddrone-uavcan144.h" - -#include - -#ifndef CONFIG_ARCH_LEDS - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: board_userled_initialize - ****************************************************************************/ - -uint32_t board_userled_initialize(void) -{ - /* Configure LED GPIOs for output */ - - s32k1xx_pinconfig(GPIO_LED_R); - s32k1xx_pinconfig(GPIO_LED_G); - s32k1xx_pinconfig(GPIO_LED_B); - return BOARD_NLEDS; -} - -/**************************************************************************** - * Name: board_userled - ****************************************************************************/ - -void board_userled(int led, bool ledon) -{ - uint32_t ledcfg; - - if (led == BOARD_LED_R) - { - ledcfg = GPIO_LED_R; - } - else if (led == BOARD_LED_G) - { - ledcfg = GPIO_LED_G; - } - else if (led == BOARD_LED_B) - { - ledcfg = GPIO_LED_B; - } - else - { - return; - } - - s32k1xx_gpiowrite(ledcfg, ledon); /* High illuminates */ -} - -/**************************************************************************** - * Name: board_userled_all - ****************************************************************************/ - -void board_userled_all(uint32_t ledset) -{ - /* Low illuminates */ - - s32k1xx_gpiowrite(GPIO_LED_R, (ledset & BOARD_LED_R_BIT) != 0); - s32k1xx_gpiowrite(GPIO_LED_G, (ledset & BOARD_LED_G_BIT) != 0); - s32k1xx_gpiowrite(GPIO_LED_B, (ledset & BOARD_LED_B_BIT) != 0); -} - -#endif /* !CONFIG_ARCH_LEDS */