From ee6b6b9c388b78fcec7ba6e239a6c76041b9bbb7 Mon Sep 17 00:00:00 2001 From: Juan I Carrano Date: Wed, 3 Jul 2019 13:19:39 +0200 Subject: [PATCH] boards/mips-malta: remove board. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The mips-malta board is a maintainance burden, has no working UART input and is unobtainable and thus must be removed. 1. Unobtainable board ===================== The mips-malta board is not an off-the-shelf part. A quick web search only show the MIPS website where one is told to "contact sales". I could find it on ebay, used, at €155 and from single seller. Not having access to the board means: a. We cannot maintain it. In fact it could be broken right now. b. Potential RIOT uses have not access to the board either. In other words, it is pointless to run on hardware nobody has. 2. No working UART input ======================== Not all applications need UART input, but that is no excuse for not supporting it: a. Makes development & debugging way harder. b. It is impossible to run interactive tests. b.1. Constrains the rest of the platforms by providing an incentive to not make tests interactive. c. The lack of UART is a witness to the poor quality of the port. I want to stress point (c). If something as basic as a serial port cannot work, how can we expect more complex fucntionality to work. The answer is impossible to know, because of point (1). 3. Maintainance burden ====================== The RIOT project has limited time and human resources which can be better spent. a. Compiling for mips-malta wastes CPU time. b. Blacklisting the board in the test wastes contributor's time. c. Adapting the board's makefile during build system rework takes time and makes the reworks harder. c.1. Add to that that the changes are most of the time not even tested on the board because of (1). Look at the github issues/PRs and you will see it. d. Developers usually stick to the lowest common denominator. Issue (2) sets this denominator unacceptably low. MIPS platform in general ======================== In commits I will address general issues in the MIPS platform and why it should all be removed. --- boards/mips-malta/Makefile | 3 -- boards/mips-malta/Makefile.features | 4 --- boards/mips-malta/Makefile.include | 10 ------ boards/mips-malta/doc.txt | 5 --- boards/mips-malta/include/board.h | 44 ------------------------- boards/mips-malta/include/periph_conf.h | 41 ----------------------- boards/mips-malta/malta.c | 28 ---------------- examples/gnrc_border_router/Makefile | 2 +- examples/lua_REPL/Makefile | 2 +- examples/lua_basic/Makefile | 2 +- tests/driver_dynamixel/Makefile | 3 -- tests/driver_feetech/Makefile | 3 -- tests/gnrc_ipv6_ext/Makefile | 4 +-- tests/gnrc_rpl_srh/Makefile | 4 +-- tests/gnrc_sock_dns/Makefile | 4 +-- tests/pkg_ubasic/Makefile | 1 - tests/slip/Makefile | 2 -- 17 files changed, 9 insertions(+), 153 deletions(-) delete mode 100644 boards/mips-malta/Makefile delete mode 100644 boards/mips-malta/Makefile.features delete mode 100644 boards/mips-malta/Makefile.include delete mode 100644 boards/mips-malta/doc.txt delete mode 100644 boards/mips-malta/include/board.h delete mode 100644 boards/mips-malta/include/periph_conf.h delete mode 100644 boards/mips-malta/malta.c diff --git a/boards/mips-malta/Makefile b/boards/mips-malta/Makefile deleted file mode 100644 index f8fcbb53a0..0000000000 --- a/boards/mips-malta/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -MODULE = board - -include $(RIOTBASE)/Makefile.base diff --git a/boards/mips-malta/Makefile.features b/boards/mips-malta/Makefile.features deleted file mode 100644 index f535987bd6..0000000000 --- a/boards/mips-malta/Makefile.features +++ /dev/null @@ -1,4 +0,0 @@ -# Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_timer - -include $(RIOTCPU)/mips32r2_generic/Makefile.features diff --git a/boards/mips-malta/Makefile.include b/boards/mips-malta/Makefile.include deleted file mode 100644 index bae404daed..0000000000 --- a/boards/mips-malta/Makefile.include +++ /dev/null @@ -1,10 +0,0 @@ -export CPU = mips32r2_generic -#export USE_HARD_FLOAT = 1 -export USE_DSP = 1 -export USE_UHI_SYSCALLS = 1 - -HEXFILE = $(BINFILE) -# Not sure if the file used for flashing is BINFILE (there is no flasher). -# I chose this one as HEXFILE was overwritten to BINFILE so it keeps the -# same behavior of generating the '.bin'. -FLASHFILE ?= $(BINFILE) diff --git a/boards/mips-malta/doc.txt b/boards/mips-malta/doc.txt deleted file mode 100644 index 493184162a..0000000000 --- a/boards/mips-malta/doc.txt +++ /dev/null @@ -1,5 +0,0 @@ -/** -@defgroup boards_mips-malta MIPS MALTA -@ingroup boards -@brief Support for the MIPS Malta FPGA system - */ diff --git a/boards/mips-malta/include/board.h b/boards/mips-malta/include/board.h deleted file mode 100644 index ec8a8e1af2..0000000000 --- a/boards/mips-malta/include/board.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2016, Imagination Technologies Limited and/or its - * affiliated group companies. - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - * - */ - -/** - * @ingroup boards_mips-malta - * @{ - * - * @file - * @brief Board specific definitions for the MIPS Malta FPGA System. - * - * @author Neil Jones - */ - -#ifndef BOARD_H -#define BOARD_H - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Set how many increments of the count register per uS - * needed by timer code - */ -#define TICKS_PER_US (15) - -/** - * @brief Board level initialization - */ -void board_init(void); - -#ifdef __cplusplus -} -#endif - -#endif /* BOARD_H */ -/** @} */ diff --git a/boards/mips-malta/include/periph_conf.h b/boards/mips-malta/include/periph_conf.h deleted file mode 100644 index 764624cbaa..0000000000 --- a/boards/mips-malta/include/periph_conf.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2016, Imagination Technologies Limited and/or its - * affiliated group companies. - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - * - */ - -/** - * @ingroup boards_mips-malta - * @{ - * - * @file - * @brief peripheral configuration for the MIPS Malta FPGA system - * - * @author Neil Jones - */ - -#ifndef PERIPH_CONF_H -#define PERIPH_CONF_H - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @name Timer definitions - * @{ - */ -#define TIMER_NUMOF (1) -#define TIMER_0_CHANNELS (3) -/** @} */ - -#ifdef __cplusplus -} -#endif - -#endif /* PERIPH_CONF_H */ -/** @} */ diff --git a/boards/mips-malta/malta.c b/boards/mips-malta/malta.c deleted file mode 100644 index a4aa3bf7cc..0000000000 --- a/boards/mips-malta/malta.c +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2016, Imagination Technologies Limited and/or its - * affiliated group companies. - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ -#include -#include "periph/uart.h" - -#define MIPS_MALTA_ADDR (0xbf000500) -#define MIPS_MALTA_VAL_RST (0x42) - -static void malta_reset(void) -{ - *(volatile long *)MIPS_MALTA_ADDR = MIPS_MALTA_VAL_RST; - __asm__ volatile ("wait"); -} - -void board_init(void) -{ - /* Board initialization is done by the bootloader (u-boot) on Malta */ -} - -void pm_reboot(void) -{ - malta_reset(); -} diff --git a/examples/gnrc_border_router/Makefile b/examples/gnrc_border_router/Makefile index 3841bcc8a6..8a91ee96a0 100644 --- a/examples/gnrc_border_router/Makefile +++ b/examples/gnrc_border_router/Makefile @@ -23,7 +23,7 @@ BOARD_INSUFFICIENT_MEMORY := airfy-beacon arduino-duemilanove arduino-leonardo \ weio wsn430-v1_3b wsn430-v1_4 yunjia-nrf51822 z1 # The following boards do not have an available UART -BOARD_BLACKLIST += mips-malta pic32-wifire pic32-clicker ruuvitag thingy52 +BOARD_BLACKLIST += pic32-wifire pic32-clicker ruuvitag thingy52 # use ethos (ethernet over serial) for network communication and stdio over # UART, but not on native, as native has a tap interface towards the host. diff --git a/examples/lua_REPL/Makefile b/examples/lua_REPL/Makefile index d6fbc4a9c1..0a80df3d90 100644 --- a/examples/lua_REPL/Makefile +++ b/examples/lua_REPL/Makefile @@ -31,7 +31,7 @@ BOARD_INSUFFICIENT_MEMORY := blackpill bluepill calliope-mini cc2650-launchpad \ BOARD_BLACKLIST := arduino-duemilanove arduino-leonardo \ arduino-mega2560 arduino-nano arduino-uno \ - chronos hifive1 jiminy-mega256rfr2 mega-xplained mips-malta \ + chronos hifive1 jiminy-mega256rfr2 mega-xplained \ msb-430 msb-430h pic32-clicker pic32-wifire telosb \ waspmote-pro wsn430-v1_3b wsn430-v1_4 z1 diff --git a/examples/lua_basic/Makefile b/examples/lua_basic/Makefile index 7bff87aae5..5e323e8b9c 100644 --- a/examples/lua_basic/Makefile +++ b/examples/lua_basic/Makefile @@ -19,7 +19,7 @@ BOARD_INSUFFICIENT_MEMORY := blackpill bluepill calliope-mini cc2650-launchpad \ BOARD_BLACKLIST := arduino-duemilanove arduino-leonardo \ arduino-mega2560 arduino-nano \ arduino-uno chronos hifive1 jiminy-mega256rfr2 \ - mega-xplained mips-malta msb-430 msb-430h pic32-clicker \ + mega-xplained msb-430 msb-430h pic32-clicker \ pic32-wifire telosb waspmote-pro wsn430-v1_3b wsn430-v1_4 z1 diff --git a/tests/driver_dynamixel/Makefile b/tests/driver_dynamixel/Makefile index 36e5390c69..05b799a11c 100644 --- a/tests/driver_dynamixel/Makefile +++ b/tests/driver_dynamixel/Makefile @@ -6,9 +6,6 @@ BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-leonardo arduino-nano \ # chronos : USART_1 undeclared BOARD_BLACKLIST += chronos -# mips-malta : undefined reference to uart_write -BOARD_BLACKLIST += mips-malta - USEMODULE += dynamixel USEMODULE += shell diff --git a/tests/driver_feetech/Makefile b/tests/driver_feetech/Makefile index b783de23bf..c4b7830c0e 100644 --- a/tests/driver_feetech/Makefile +++ b/tests/driver_feetech/Makefile @@ -6,9 +6,6 @@ BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-leonardo arduino-nano \ # chronos : USART_1 undeclared BOARD_BLACKLIST += chronos -# mips-malta : undefined reference to uart_write -BOARD_BLACKLIST += mips-malta - USEMODULE += feetech USEMODULE += shell diff --git a/tests/gnrc_ipv6_ext/Makefile b/tests/gnrc_ipv6_ext/Makefile index 8a889c178b..a2d7a78220 100644 --- a/tests/gnrc_ipv6_ext/Makefile +++ b/tests/gnrc_ipv6_ext/Makefile @@ -11,8 +11,8 @@ BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-leonardo \ nucleo-l053r8 stm32f0discovery stm32l0538-disco \ telosb thingy52 \ waspmote-pro wsn430-v1_3b wsn430-v1_4 z1 -# chronos, hamilton, mips-malta, and ruuvitag boards don't support ethos -BOARD_BLACKLIST := chronos hamilton mips-malta ruuvitag +# chronos, hamilton and ruuvitag boards don't support ethos +BOARD_BLACKLIST := chronos hamilton ruuvitag export TAP ?= tap0 diff --git a/tests/gnrc_rpl_srh/Makefile b/tests/gnrc_rpl_srh/Makefile index 32136abd55..8d3f4de5aa 100644 --- a/tests/gnrc_rpl_srh/Makefile +++ b/tests/gnrc_rpl_srh/Makefile @@ -11,8 +11,8 @@ BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-leonardo \ nucleo-l053r8 saml10-xpro saml11-xpro \ stm32f0discovery stm32l0538-disco telosb thingy52 \ waspmote-pro wsn430-v1_3b wsn430-v1_4 z1 -# chronos, hamilton mips-malta, and ruuvitag boards don't support ethos -BOARD_BLACKLIST := chronos hamilton mips-malta ruuvitag +# chronos, hamilton and ruuvitag boards don't support ethos +BOARD_BLACKLIST := chronos hamilton ruuvitag export TAP ?= tap0 diff --git a/tests/gnrc_sock_dns/Makefile b/tests/gnrc_sock_dns/Makefile index f066426a69..924d949b64 100644 --- a/tests/gnrc_sock_dns/Makefile +++ b/tests/gnrc_sock_dns/Makefile @@ -11,8 +11,8 @@ BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-leonardo \ nucleo-l031k6 stm32f0discovery stm32l0538-disco \ thingy52 telosb \ waspmote-pro wsn430-v1_3b wsn430-v1_4 z1 -# chronos, hamilton mips-malta, and ruuvitag boards don't support ethos -BOARD_BLACKLIST := chronos hamilton mips-malta ruuvitag +# chronos, hamilton and ruuvitag boards don't support ethos +BOARD_BLACKLIST := chronos hamilton ruuvitag export TAP ?= tap0 diff --git a/tests/pkg_ubasic/Makefile b/tests/pkg_ubasic/Makefile index 2f827b0857..192c67c88e 100644 --- a/tests/pkg_ubasic/Makefile +++ b/tests/pkg_ubasic/Makefile @@ -17,7 +17,6 @@ BOARD_BLACKLIST := \ hifive1 \ jiminy-mega256rfr2 \ mega-xplained \ - mips-malta \ msb-430 \ msb-430h \ pic32-clicker \ diff --git a/tests/slip/Makefile b/tests/slip/Makefile index aeab6757a7..7e28d731b0 100644 --- a/tests/slip/Makefile +++ b/tests/slip/Makefile @@ -8,8 +8,6 @@ BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-leonardo \ nucleo-f303k8 nucleo-f334r8 nucleo-l053r8 \ stm32f0discovery stm32l0538-disco waspmote-pro -BOARD_BLACKLIST += mips-malta - USEMODULE += auto_init_gnrc_netif USEMODULE += gnrc USEMODULE += gnrc_pktdump