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

[incubator-nuttx] branch master updated (5f387be -> 706740b)

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

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


    from 5f387be  fs: Don't call _NX_SETERRNO in fopen and fdopen
     new d68bfe1  boards: raspberrypi-pico: Introduce rp2040_bringup() to mount procfs
     new 706740b  boards: raspberrypi-pico: Introduce rp2040_reset.c to support reboot

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../arm/rp2040/raspberrypi-pico/configs/nsh/defconfig |  2 ++
 boards/arm/rp2040/raspberrypi-pico/src/Makefile       |  5 +++++
 .../arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c  | 10 ++++++++++
 .../rp2040/raspberrypi-pico/src/rp2040_bringup.c}     | 19 +++++++------------
 .../arm/rp2040/raspberrypi-pico/src/rp2040_pico.h     | 10 +++++-----
 .../raspberrypi-pico/src/rp2040_reset.c}              |  5 ++---
 6 files changed, 31 insertions(+), 20 deletions(-)
 copy boards/{risc-v/litex/arty_a7/src/litex_bringup.c => arm/rp2040/raspberrypi-pico/src/rp2040_bringup.c} (86%)
 copy arch/risc-v/src/litex/chip.h => boards/arm/rp2040/raspberrypi-pico/src/rp2040_pico.h (80%)
 copy boards/arm/{samv7/same70-xplained/src/sam_reset.c => rp2040/raspberrypi-pico/src/rp2040_reset.c} (97%)


[incubator-nuttx] 02/02: boards: raspberrypi-pico: Introduce rp2040_reset.c to support reboot

Posted by ag...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 706740bfc3ad822177e1d175b45cd7cd611b6237
Author: Masayuki Ishikawa <ma...@gmail.com>
AuthorDate: Sun Feb 21 17:16:54 2021 +0900

    boards: raspberrypi-pico: Introduce rp2040_reset.c to support reboot
    
    Summary:
    - This commit introduces rp2040_reset.c to support reboot
    
    Impact:
    - None
    
    Testing:
    - Tested with both BOOTSEL=ON and OFF
---
 .../rp2040/raspberrypi-pico/configs/nsh/defconfig  |  1 +
 boards/arm/rp2040/raspberrypi-pico/src/Makefile    |  4 ++
 .../arm/rp2040/raspberrypi-pico/src/rp2040_reset.c | 61 ++++++++++++++++++++++
 3 files changed, 66 insertions(+)

diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig
index e2e6ad9..884aec2 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig
@@ -21,6 +21,7 @@ CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
 CONFIG_ARCH_RAMVECTORS=y
 CONFIG_ARCH_STACKDUMP=y
+CONFIG_BOARDCTL_RESET=y
 CONFIG_BOARD_LOOPSPERMSEC=2988
 CONFIG_BUILTIN=y
 CONFIG_DEBUG_FULLOPT=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/src/Makefile b/boards/arm/rp2040/raspberrypi-pico/src/Makefile
index af5f036..8791c68 100644
--- a/boards/arm/rp2040/raspberrypi-pico/src/Makefile
+++ b/boards/arm/rp2040/raspberrypi-pico/src/Makefile
@@ -24,4 +24,8 @@ CSRCS = rp2040_boardinitialize.c
 CSRCS += rp2040_appinit.c
 CSRCS += rp2040_bringup.c
 
+ifeq ($(CONFIG_BOARDCTL_RESET),y)
+CSRCS += rp2040_reset.c
+endif
+
 include $(TOPDIR)/boards/Board.mk
diff --git a/boards/arm/rp2040/raspberrypi-pico/src/rp2040_reset.c b/boards/arm/rp2040/raspberrypi-pico/src/rp2040_reset.c
new file mode 100644
index 0000000..b81ca6b
--- /dev/null
+++ b/boards/arm/rp2040/raspberrypi-pico/src/rp2040_reset.c
@@ -0,0 +1,61 @@
+/****************************************************************************
+ * boards/arm/rp2040/raspberrypi-pico/src/rp2040_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 */


[incubator-nuttx] 01/02: boards: raspberrypi-pico: Introduce rp2040_bringup() to mount procfs

Posted by ag...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit d68bfe1e1abc4147ac65c5ab47f340f9f4172123
Author: Masayuki Ishikawa <ma...@gmail.com>
AuthorDate: Sun Feb 21 17:05:28 2021 +0900

    boards: raspberrypi-pico: Introduce rp2040_bringup() to mount procfs
    
    Summary:
    - This commit introduces rp2040_bringup() to mount procfs
    
    Impact:
    - None
    
    Testing:
    - Tested with raspberrypi-pico:nsh
---
 .../rp2040/raspberrypi-pico/configs/nsh/defconfig  |  1 +
 boards/arm/rp2040/raspberrypi-pico/src/Makefile    |  1 +
 .../rp2040/raspberrypi-pico/src/rp2040_appinit.c   | 10 +++++
 .../src/{rp2040_appinit.c => rp2040_bringup.c}     | 52 +++++++++-------------
 .../arm/rp2040/raspberrypi-pico/src/rp2040_pico.h  | 32 +++++++++++++
 5 files changed, 64 insertions(+), 32 deletions(-)

diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig
index baad567..e2e6ad9 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig
@@ -47,3 +47,4 @@ CONFIG_SYSTEM_NSH=y
 CONFIG_TESTING_OSTEST=y
 CONFIG_UART0_SERIAL_CONSOLE=y
 CONFIG_USER_ENTRYPOINT="nsh_main"
+CONFIG_NSH_ARCHINIT=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/src/Makefile b/boards/arm/rp2040/raspberrypi-pico/src/Makefile
index be57df4..af5f036 100644
--- a/boards/arm/rp2040/raspberrypi-pico/src/Makefile
+++ b/boards/arm/rp2040/raspberrypi-pico/src/Makefile
@@ -22,5 +22,6 @@ include $(TOPDIR)/Make.defs
 
 CSRCS = rp2040_boardinitialize.c
 CSRCS += rp2040_appinit.c
+CSRCS += rp2040_bringup.c
 
 include $(TOPDIR)/boards/Board.mk
diff --git a/boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c b/boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c
index d36d655..2609fa1 100644
--- a/boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c
+++ b/boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c
@@ -25,6 +25,8 @@
 #include <nuttx/config.h>
 #include <nuttx/board.h>
 
+#include "rp2040_pico.h"
+
 /****************************************************************************
  * Pre-processor Definitions
  ****************************************************************************/
@@ -64,5 +66,13 @@
 
 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 rp2040_bringup();
+#endif
 }
diff --git a/boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c b/boards/arm/rp2040/raspberrypi-pico/src/rp2040_bringup.c
similarity index 51%
copy from boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c
copy to boards/arm/rp2040/raspberrypi-pico/src/rp2040_bringup.c
index d36d655..5f25f7f 100644
--- a/boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c
+++ b/boards/arm/rp2040/raspberrypi-pico/src/rp2040_bringup.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c
+ * boards/arm/rp2040/raspberrypi-pico/src/rp2040_bringup.c
  *
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -23,46 +23,34 @@
  ****************************************************************************/
 
 #include <nuttx/config.h>
-#include <nuttx/board.h>
 
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
+#include <debug.h>
+#include <stddef.h>
+#include <sys/mount.h>
 
-#ifndef OK
-#  define OK 0
-#endif
+#include "rp2040_pico.h"
 
 /****************************************************************************
  * 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.
- *
+ * Name: rp2040_bringup
  ****************************************************************************/
 
-int board_app_initialize(uintptr_t arg)
+int rp2040_bringup(void)
 {
-  return OK;
+  int ret = 0;
+
+#ifdef CONFIG_FS_PROCFS
+  /* Mount the procfs file system */
+
+  ret = mount(NULL, "/proc", "procfs", 0, NULL);
+  if (ret < 0)
+    {
+      serr("ERROR: Failed to mount procfs at %s: %d\n", "/proc", ret);
+    }
+#endif
+
+  return ret;
 }
diff --git a/boards/arm/rp2040/raspberrypi-pico/src/rp2040_pico.h b/boards/arm/rp2040/raspberrypi-pico/src/rp2040_pico.h
new file mode 100644
index 0000000..4762bd7
--- /dev/null
+++ b/boards/arm/rp2040/raspberrypi-pico/src/rp2040_pico.h
@@ -0,0 +1,32 @@
+/****************************************************************************
+ * boards/arm/rp2040/raspberrypi-pico/src/rp2040_pico.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_RP2040_RASPBERRYPI_PICO_SRC_RP2040_PICO_H
+#define __BOARDS_ARM_RP2040_RASPBERRYPI_PICO_SRC_RP2040_PICO_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+int rp2040_bringup(void);
+
+#endif /* __BOARDS_ARM_RP2040_RASPBERRYPI_PICO_SRC_RP2040_PICO_H */