You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ac...@apache.org on 2021/10/06 13:18:22 UTC

[incubator-nuttx] branch master updated: Added reset code to allow the teensy to compile with CONFIG_BOARDCTL_RESET and be able to reset the board in code

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

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


The following commit(s) were added to refs/heads/master by this push:
     new f6fdc81  Added reset code to allow the teensy to compile with CONFIG_BOARDCTL_RESET and be able to reset the board in code
f6fdc81 is described below

commit f6fdc81c2dbae538186847f2adacd62f3678c202
Author: P.Brier <gi...@pbrier.nl>
AuthorDate: Tue Oct 5 18:41:59 2021 +0200

    Added reset code to allow the teensy to compile with CONFIG_BOARDCTL_RESET and be able to reset the board in code
---
 boards/arm/imxrt/teensy-4.x/src/Makefile      |  6 +++
 boards/arm/imxrt/teensy-4.x/src/imxrt_reset.c | 61 +++++++++++++++++++++++++++
 2 files changed, 67 insertions(+)

diff --git a/boards/arm/imxrt/teensy-4.x/src/Makefile b/boards/arm/imxrt/teensy-4.x/src/Makefile
index 9a838f9..dcbc945 100644
--- a/boards/arm/imxrt/teensy-4.x/src/Makefile
+++ b/boards/arm/imxrt/teensy-4.x/src/Makefile
@@ -28,6 +28,10 @@ else ifeq ($(CONFIG_BOARD_LATE_INITIALIZE),y)
 CSRCS += imxrt_bringup.c
 endif
 
+ifeq ($(CONFIG_BOARDCTL_RESET),y)
+CSRCS += imxrt_reset.c
+endif
+
 ifeq ($(CONFIG_ARCH_LEDS),y)
 CSRCS += imxrt_autoleds.c
 else
@@ -70,4 +74,6 @@ ifeq ($(CONFIG_IMXRT_ENC),y)
 CSRCS += imxrt_enc.c
 endif
 
+
+
 include $(TOPDIR)/boards/Board.mk
diff --git a/boards/arm/imxrt/teensy-4.x/src/imxrt_reset.c b/boards/arm/imxrt/teensy-4.x/src/imxrt_reset.c
new file mode 100644
index 0000000..f4f9c90
--- /dev/null
+++ b/boards/arm/imxrt/teensy-4.x/src/imxrt_reset.c
@@ -0,0 +1,61 @@
+/****************************************************************************
+ * boards/arm/imxrt/teensy-4.x/src/imxrt_reset.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 <nuttx/config.h>
+#include <nuttx/board.h>
+#include <nuttx/arch.h>
+
+#ifdef CONFIG_BOARDCTL_RESET
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: board_reset
+ *
+ * Description:
+ *   Reset board.  Support for this function is required by board-level
+ *   logic if CONFIG_BOARDCTL_RESET is selected.
+ *
+ * Input Parameters:
+ *   status - Status information provided with the reset event.  This
+ *            meaning of this status information is board-specific.  If not
+ *            used by a board, the value zero may be provided in calls to
+ *            board_reset().
+ *
+ * Returned Value:
+ *   If this function returns, then it was not possible to power-off the
+ *   board due to some constraints.  The return value int this case is a
+ *   board-specific reason for the failure to shutdown.
+ *
+ ****************************************************************************/
+
+int board_reset(int status)
+{
+  up_systemreset();
+  return 0;
+}
+
+#endif /* CONFIG_BOARDCTL_RESET */