You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2021/12/31 08:45:44 UTC

[incubator-nuttx] branch master updated: boards/arm/samv7: reorganize code to common folder

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

xiaoxiang 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 f32ce9d  boards/arm/samv7: reorganize code to common folder
f32ce9d is described below

commit f32ce9d930b12efabd635cf951d516e637e19216
Author: Petro Karashchenko <pe...@gmail.com>
AuthorDate: Fri Dec 31 02:39:28 2021 +0200

    boards/arm/samv7: reorganize code to common folder
    
    Signed-off-by: Petro Karashchenko <pe...@gmail.com>
---
 boards/arm/samv7/common/Kconfig                    |  29 ++
 boards/arm/samv7/common/include/sam_automount.h    | 123 ++++++++
 boards/arm/samv7/common/src/Make.defs              |  13 +-
 .../{samv71-xult => common}/src/sam_automount.c    |  32 +-
 boards/arm/samv7/common/src/sam_boot_image.c       |   4 +
 .../samv7/{samv71-xult => common}/src/sam_reset.c  |   2 +-
 boards/arm/samv7/same70-qmtech/Kconfig             |  29 --
 boards/arm/samv7/same70-qmtech/README.txt          |  12 +-
 boards/arm/samv7/same70-qmtech/src/Make.defs       |   7 -
 boards/arm/samv7/same70-qmtech/src/sam_automount.c | 341 ---------------------
 boards/arm/samv7/same70-qmtech/src/sam_bringup.c   |  10 +-
 boards/arm/samv7/same70-qmtech/src/sam_hsmci.c     |   6 +-
 boards/arm/samv7/same70-qmtech/src/sam_reset.c     |  62 ----
 boards/arm/samv7/same70-qmtech/src/same70-qmtech.h |  76 +----
 boards/arm/samv7/same70-xplained/Kconfig           |  29 --
 boards/arm/samv7/same70-xplained/README.txt        |  12 +-
 boards/arm/samv7/same70-xplained/src/Make.defs     |   7 -
 .../arm/samv7/same70-xplained/src/sam_automount.c  | 341 ---------------------
 boards/arm/samv7/same70-xplained/src/sam_bringup.c |  10 +-
 boards/arm/samv7/same70-xplained/src/sam_hsmci.c   |   6 +-
 boards/arm/samv7/same70-xplained/src/sam_reset.c   |  62 ----
 .../samv7/same70-xplained/src/same70-xplained.h    |  76 +----
 boards/arm/samv7/samv71-xult/Kconfig               |  29 --
 boards/arm/samv7/samv71-xult/README.txt            |  12 +-
 boards/arm/samv7/samv71-xult/src/Make.defs         |   7 -
 boards/arm/samv7/samv71-xult/src/sam_bringup.c     |  12 +-
 boards/arm/samv7/samv71-xult/src/sam_hsmci.c       |   6 +-
 boards/arm/samv7/samv71-xult/src/samv71-xult.h     |  77 +----
 28 files changed, 239 insertions(+), 1193 deletions(-)

diff --git a/boards/arm/samv7/common/Kconfig b/boards/arm/samv7/common/Kconfig
index fd23631..b8ca4c3 100644
--- a/boards/arm/samv7/common/Kconfig
+++ b/boards/arm/samv7/common/Kconfig
@@ -11,6 +11,35 @@ config BOARD_SAMV7_COMMON
 
 if BOARD_SAMV7_COMMON
 
+config SAMV7_HSMCI0_AUTOMOUNT
+	bool "HSMCI0 automounter"
+	default n
+	depends on FS_AUTOMOUNTER && SAMV7_HSMCI0
+
+if SAMV7_HSMCI0_AUTOMOUNT
+
+config SAMV7_HSMCI0_AUTOMOUNT_FSTYPE
+	string "HSMCI0 file system type"
+	default "vfat"
+
+config SAMV7_HSMCI0_AUTOMOUNT_BLKDEV
+	string "HSMCI0 block device"
+	default "/dev/mmcsd0"
+
+config SAMV7_HSMCI0_AUTOMOUNT_MOUNTPOINT
+	string "HSMCI0 mount point"
+	default "/mnt/sdcard0"
+
+config SAMV7_HSMCI0_AUTOMOUNT_DDELAY
+	int "HSMCI0 debounce delay (milliseconds)"
+	default 1000
+
+config SAMV7_HSMCI0_AUTOMOUNT_UDELAY
+	int "HSMCI0 unmount retry delay (milliseconds)"
+	default 2000
+
+endif # SAMV7_HSMCI0_AUTOMOUNT
+
 config SAMV7_PROGMEM_OTA_PARTITION
 	bool
 	default n
diff --git a/boards/arm/samv7/common/include/sam_automount.h b/boards/arm/samv7/common/include/sam_automount.h
new file mode 100644
index 0000000..8e783a7
--- /dev/null
+++ b/boards/arm/samv7/common/include/sam_automount.h
@@ -0,0 +1,123 @@
+/****************************************************************************
+ * boards/arm/samv7/common/include/sam_automount.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_SAMV7_COMMON_INCLUDE_SAM_AUTOMOUNT_H
+#define __BOARDS_ARM_SAMV7_COMMON_INCLUDE_SAM_AUTOMOUNT_H
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#ifdef CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT
+/* HSMCI0 Automounter defaults */
+
+#  ifndef CONFIG_SAMV7_HSMCI0_AUTOMOUNT_FSTYPE
+#    define CONFIG_SAMV7_HSMCI0_AUTOMOUNT_FSTYPE "vfat"
+#  endif
+
+#  ifndef CONFIG_SAMV7_HSMCI0_AUTOMOUNT_BLKDEV
+#    define CONFIG_SAMV7_HSMCI0_AUTOMOUNT_BLKDEV "/dev/mmcds0"
+#  endif
+
+#  ifndef CONFIG_SAMV7_HSMCI0_AUTOMOUNT_MOUNTPOINT
+#    define CONFIG_SAMV7_HSMCI0_AUTOMOUNT_MOUNTPOINT "/mnt/sdcard0"
+#  endif
+
+#  ifndef CONFIG_SAMV7_HSMCI0_AUTOMOUNT_DDELAY
+#    define CONFIG_SAMV7_HSMCI0_AUTOMOUNT_DDELAY 1000
+#  endif
+
+#  ifndef CONFIG_SAMV7_HSMCI0_AUTOMOUNT_UDELAY
+#    define CONFIG_SAMV7_HSMCI0_AUTOMOUNT_UDELAY 2000
+#  endif
+#endif
+
+/****************************************************************************
+ * Public Types
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Data
+ ****************************************************************************/
+
+#ifndef __ASSEMBLY__
+
+#undef EXTERN
+#if defined(__cplusplus)
+#define EXTERN extern "C"
+extern "C"
+{
+#else
+#define EXTERN extern
+#endif
+
+/****************************************************************************
+ * Public Functions Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name:  sam_automount_initialize
+ *
+ * Description:
+ *   Configure auto-mounters for each enable and so configured HSMCI
+ *
+ * Input Parameters:
+ *   None
+ *
+ *  Returned Value:
+ *    None
+ *
+ ****************************************************************************/
+
+void sam_automount_initialize(void);
+
+/****************************************************************************
+ * Name:  sam_automount_event
+ *
+ * Description:
+ *   The HSMCI card detection logic has detected an insertion or removal
+ *   event.  It has already scheduled the MMC/SD block driver operations.
+ *   Now we need to schedule the auto-mount event which will occur with a
+ *   substantial delay to make sure that everything has settle down.
+ *
+ * Input Parameters:
+ *   slotno - Identifies the HSMCI0 slot: HSMCI0 or HSMCI1_SLOTNO.
+ *       There is a terminology problem here:  Each HSMCI supports two slots,
+ *      slot A and slot B. Only slot A is used.  So this is not a really a
+ *      slot, but an HSCMI peripheral number.
+ *   inserted - True if the card is inserted in the slot.  False otherwise.
+ *
+ *  Returned Value:
+ *    None
+ *
+ *  Assumptions:
+ *    Interrupts are disabled.
+ *
+ ****************************************************************************/
+
+void sam_automount_event(int slotno, bool inserted);
+
+#undef EXTERN
+#if defined(__cplusplus)
+}
+#endif
+
+#endif /* __ASSEMBLY__ */
+#endif /* __BOARDS_ARM_SAMV7_COMMON_INCLUDE_SAM_AUTOMOUNT_H */
diff --git a/boards/arm/samv7/common/src/Make.defs b/boards/arm/samv7/common/src/Make.defs
index 5910b42..de72e9f 100644
--- a/boards/arm/samv7/common/src/Make.defs
+++ b/boards/arm/samv7/common/src/Make.defs
@@ -18,16 +18,25 @@
 #
 #############################################################################
 
+ifeq ($(CONFIG_BOARDCTL),y)
+CSRCS += sam_progmem.c
+
+ifeq ($(CONFIG_BOARDCTL_RESET),y)
+CSRCS += sam_reset.c
+endif
+
 ifeq ($(CONFIG_BOARDCTL_BOOT_IMAGE),y)
 CSRCS += sam_boot_image.c
 endif
 
-ifeq ($(CONFIG_BOARDCTL),y)
-CSRCS += sam_progmem.c
 else ifeq ($(CONFIG_BOARD_LATE_INITIALIZE),y)
 CSRCS += sam_progmem.c
 endif
 
+ifeq ($(CONFIG_FS_AUTOMOUNTER),y)
+CSRCS += sam_automount.c
+endif
+
 DEPPATH += --dep-path src
 VPATH += :src
 CFLAGS += $(shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)src)
diff --git a/boards/arm/samv7/samv71-xult/src/sam_automount.c b/boards/arm/samv7/common/src/sam_automount.c
similarity index 93%
rename from boards/arm/samv7/samv71-xult/src/sam_automount.c
rename to boards/arm/samv7/common/src/sam_automount.c
index c6893cb..1c6dff6 100644
--- a/boards/arm/samv7/samv71-xult/src/sam_automount.c
+++ b/boards/arm/samv7/common/src/sam_automount.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/samv7/samv71-xult/src/sam_automount.c
+ * boards/arm/samv7/common/src/sam_automount.c
  *
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -35,22 +35,12 @@
 #include <nuttx/clock.h>
 #include <nuttx/fs/automount.h>
 
-#include "samv71-xult.h"
-
-#ifdef HAVE_AUTOMOUNTER
+#include "sam_automount.h"
 
 /****************************************************************************
  * Pre-processor Definitions
  ****************************************************************************/
 
-#ifndef NULL
-#  define NULL (FAR void *)0
-#endif
-
-#ifndef OK
-#  define OK 0
-#endif
-
 /****************************************************************************
  * Private Types
  ****************************************************************************/
@@ -92,17 +82,17 @@ static bool sam_inserted(FAR const struct automount_lower_s *lower);
  * Private Data
  ****************************************************************************/
 
-#ifdef CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT
+#ifdef CONFIG_SAMV7_HSMCI0_AUTOMOUNT
 static struct sam_automount_state_s g_hsmci0state;
 static const struct sam_automount_config_s g_hsmci0config =
 {
   .lower        =
   {
-    .fstype     = CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_FSTYPE,
-    .blockdev   = CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_BLKDEV,
-    .mountpoint = CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_MOUNTPOINT,
-    .ddelay     = MSEC2TICK(CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_DDELAY),
-    .udelay     = MSEC2TICK(CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_UDELAY),
+    .fstype     = CONFIG_SAMV7_HSMCI0_AUTOMOUNT_FSTYPE,
+    .blockdev   = CONFIG_SAMV7_HSMCI0_AUTOMOUNT_BLKDEV,
+    .mountpoint = CONFIG_SAMV7_HSMCI0_AUTOMOUNT_MOUNTPOINT,
+    .ddelay     = MSEC2TICK(CONFIG_SAMV7_HSMCI0_AUTOMOUNT_DDELAY),
+    .udelay     = MSEC2TICK(CONFIG_SAMV7_HSMCI0_AUTOMOUNT_UDELAY),
     .attach     = sam_attach,
     .enable     = sam_enable,
     .inserted   = sam_inserted
@@ -256,7 +246,7 @@ void sam_automount_initialize(void)
 
   finfo("Initializing automounter(s)\n");
 
-#ifdef CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT
+#ifdef CONFIG_SAMV7_HSMCI0_AUTOMOUNT
   /* Initialize the HSMCI0 auto-mounter */
 
   handle = automount_initialize(&g_hsmci0config.lower);
@@ -298,7 +288,7 @@ void sam_automount_event(int slotno, bool inserted)
   FAR const struct sam_automount_config_s *config;
   FAR struct sam_automount_state_s *state;
 
-#ifdef CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT
+#ifdef CONFIG_SAMV7_HSMCI0_AUTOMOUNT
   /* Is this a change in the HSMCI0 insertion state? */
 
   if (slotno == HSMCI0_SLOTNO)
@@ -337,5 +327,3 @@ void sam_automount_event(int slotno, bool inserted)
         }
     }
 }
-
-#endif /* HAVE_AUTOMOUNTER */
diff --git a/boards/arm/samv7/common/src/sam_boot_image.c b/boards/arm/samv7/common/src/sam_boot_image.c
index cb94ac0..dd56cb7 100644
--- a/boards/arm/samv7/common/src/sam_boot_image.c
+++ b/boards/arm/samv7/common/src/sam_boot_image.c
@@ -36,6 +36,8 @@
 #include "arm_arch.h"
 #include "barriers.h"
 
+#ifdef CONFIG_BOARDCTL_BOOT_IMAGE
+
 /****************************************************************************
  * Pre-processor Definitions
  ****************************************************************************/
@@ -184,3 +186,5 @@ int board_boot_image(FAR const char *path, uint32_t hdr_size)
 
   return 0;
 }
+
+#endif /* CONFIG_BOARDCTL_BOOT_IMAGE */
diff --git a/boards/arm/samv7/samv71-xult/src/sam_reset.c b/boards/arm/samv7/common/src/sam_reset.c
similarity index 97%
rename from boards/arm/samv7/samv71-xult/src/sam_reset.c
rename to boards/arm/samv7/common/src/sam_reset.c
index 1b734aa..67ffb70 100644
--- a/boards/arm/samv7/samv71-xult/src/sam_reset.c
+++ b/boards/arm/samv7/common/src/sam_reset.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/samv7/samv71-xult/src/sam_reset.c
+ * boards/arm/samv7/common/src/sam_reset.c
  *
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
diff --git a/boards/arm/samv7/same70-qmtech/Kconfig b/boards/arm/samv7/same70-qmtech/Kconfig
index 039ea47..1e8f116 100644
--- a/boards/arm/samv7/same70-qmtech/Kconfig
+++ b/boards/arm/samv7/same70-qmtech/Kconfig
@@ -5,33 +5,4 @@
 
 if ARCH_BOARD_SAME70_QMTECH
 
-config SAME70QMTECH_HSMCI0_AUTOMOUNT
-	bool "HSMCI0 automounter"
-	default n
-	depends on FS_AUTOMOUNTER && SAMV7_HSMCI0
-
-if SAME70QMTECH_HSMCI0_AUTOMOUNT
-
-config SAME70QMTECH_HSMCI0_AUTOMOUNT_FSTYPE
-	string "HSMCI0 file system type"
-	default "vfat"
-
-config SAME70QMTECH_HSMCI0_AUTOMOUNT_BLKDEV
-	string "HSMCI0 block device"
-	default "/dev/mmcsd0"
-
-config SAME70QMTECH_HSMCI0_AUTOMOUNT_MOUNTPOINT
-	string "HSMCI0 mount point"
-	default "/mnt/sdcard0"
-
-config SAME70QMTECH_HSMCI0_AUTOMOUNT_DDELAY
-	int "HSMCI0 debounce delay (milliseconds)"
-	default 1000
-
-config SAME70QMTECH_HSMCI0_AUTOMOUNT_UDELAY
-	int "HSMCI0 unmount retry delay (milliseconds)"
-	default 2000
-
-endif # SAME70QMTECH_HSMCI0_AUTOMOUNT
-
 endif # ARCH_BOARD_SAME70_QMTECH
diff --git a/boards/arm/samv7/same70-qmtech/README.txt b/boards/arm/samv7/same70-qmtech/README.txt
index a278765..72d73a7 100644
--- a/boards/arm/samv7/same70-qmtech/README.txt
+++ b/boards/arm/samv7/same70-qmtech/README.txt
@@ -173,12 +173,12 @@ Auto-Mounter
       CONFIG_FS_AUTOMOUNTER=y
 
     Board-Specific Options
-      CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT=y
-      CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_FSTYPE="vfat"
-      CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_BLKDEV="/dev/mmcsd0"
-      CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_MOUNTPOINT="/mnt/sdcard"
-      CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_DDELAY=1000
-      CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_UDELAY=2000
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT=y
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_FSTYPE="vfat"
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_BLKDEV="/dev/mmcsd0"
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_MOUNTPOINT="/mnt/sdcard"
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_DDELAY=1000
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_UDELAY=2000
 
   WARNING:  SD cards should never be removed without first unmounting
   them.  This is to avoid data and possible corruption of the file
diff --git a/boards/arm/samv7/same70-qmtech/src/Make.defs b/boards/arm/samv7/same70-qmtech/src/Make.defs
index ffdc077..0f0dae0 100644
--- a/boards/arm/samv7/same70-qmtech/src/Make.defs
+++ b/boards/arm/samv7/same70-qmtech/src/Make.defs
@@ -24,9 +24,6 @@ CSRCS = sam_boot.c
 
 ifeq ($(CONFIG_BOARDCTL),y)
 CSRCS += sam_appinit.c sam_bringup.c
-ifeq ($(CONFIG_BOARDCTL_RESET),y)
-CSRCS += sam_reset.c
-endif
 else ifeq ($(CONFIG_BOARD_LATE_INITIALIZE),y)
 CSRCS += sam_bringup.c
 endif
@@ -45,10 +42,6 @@ ifeq ($(CONFIG_SAMV7_HSMCI0),y)
 CSRCS += sam_hsmci.c
 endif
 
-ifeq ($(CONFIG_FS_AUTOMOUNTER),y)
-CSRCS += sam_automount.c
-endif
-
 ifeq ($(CONFIG_SAMV7_SPI),y)
 CSRCS += sam_spi.c
 endif
diff --git a/boards/arm/samv7/same70-qmtech/src/sam_automount.c b/boards/arm/samv7/same70-qmtech/src/sam_automount.c
deleted file mode 100644
index 1abbd6e..0000000
--- a/boards/arm/samv7/same70-qmtech/src/sam_automount.c
+++ /dev/null
@@ -1,341 +0,0 @@
-/****************************************************************************
- * boards/arm/samv7/same70-qmtech/src/sam_automount.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>
-
-#if defined(CONFIG_FS_AUTOMOUNTER_DEBUG) && !defined(CONFIG_DEBUG_FS)
-#  define CONFIG_DEBUG_FS 1
-#endif
-
-#include <assert.h>
-#include <debug.h>
-
-#include <nuttx/irq.h>
-#include <nuttx/clock.h>
-#include <nuttx/fs/automount.h>
-
-#include "same70-qmtech.h"
-
-#ifdef HAVE_AUTOMOUNTER
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-#ifndef NULL
-#  define NULL (FAR void *)0
-#endif
-
-#ifndef OK
-#  define OK 0
-#endif
-
-/****************************************************************************
- * Private Types
- ****************************************************************************/
-
-/* This structure represents the changeable state of the automounter */
-
-struct sam_automount_state_s
-{
-  volatile automount_handler_t handler;    /* Upper half handler */
-  FAR void *arg;                           /* Handler argument */
-  bool enable;                             /* Fake interrupt enable */
-  bool pending;                            /* Set if there an event while disabled */
-};
-
-/* This structure represents the static configuration of an automounter */
-
-struct sam_automount_config_s
-{
-  /* This must be first thing in structure so that we can simply cast from
-   * struct automount_lower_s to struct sam_automount_config_s
-   */
-
-  struct automount_lower_s lower;          /* Publicly visible part */
-  uint8_t hsmci;                           /* HSMCI0_SLOTNO or HSMCI1_SLOTNO */
-  FAR struct sam_automount_state_s *state; /* Changeable state */
-};
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-static int  sam_attach(FAR const struct automount_lower_s *lower,
-                       automount_handler_t isr, FAR void *arg);
-static void sam_enable(FAR const struct automount_lower_s *lower,
-                       bool enable);
-static bool sam_inserted(FAR const struct automount_lower_s *lower);
-
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
-#ifdef CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT
-static struct sam_automount_state_s g_hsmci0state;
-static const struct sam_automount_config_s g_hsmci0config =
-{
-  .lower        =
-  {
-    .fstype     = CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_FSTYPE,
-    .blockdev   = CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_BLKDEV,
-    .mountpoint = CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_MOUNTPOINT,
-    .ddelay     = MSEC2TICK(CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_DDELAY),
-    .udelay     = MSEC2TICK(CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_UDELAY),
-    .attach     = sam_attach,
-    .enable     = sam_enable,
-    .inserted   = sam_inserted
-  },
-  .hsmci        = HSMCI0_SLOTNO,
-  .state        = &g_hsmci0state
-};
-#endif
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name:  sam_attach
- *
- * Description:
- *   Attach a new HSMCI event handler
- *
- * Input Parameters:
- *   lower - An instance of the auto-mounter lower half state structure
- *   isr   - The new event handler to be attach
- *   arg   - Client data to be provided when the event handler is invoked.
- *
- *  Returned Value:
- *    Always returns OK
- *
- ****************************************************************************/
-
-static int sam_attach(FAR const struct automount_lower_s *lower,
-                      automount_handler_t isr, FAR void *arg)
-{
-  FAR const struct sam_automount_config_s *config;
-  FAR struct sam_automount_state_s *state;
-
-  /* Recover references to our structure */
-
-  config = (FAR struct sam_automount_config_s *)lower;
-  DEBUGASSERT(config && config->state);
-
-  state = config->state;
-
-  /* Save the new handler info (clearing the handler first to eliminate race
-   * conditions).
-   */
-
-  state->handler = NULL;
-  state->pending = false;
-  state->arg     = arg;
-  state->handler = isr;
-  return OK;
-}
-
-/****************************************************************************
- * Name:  sam_enable
- *
- * Description:
- *   Enable card insertion/removal event detection
- *
- * Input Parameters:
- *   lower - An instance of the auto-mounter lower half state structure
- *   enable - True: enable event detection; False: disable
- *
- *  Returned Value:
- *    None
- *
- ****************************************************************************/
-
-static void sam_enable(FAR const struct automount_lower_s *lower,
-                       bool enable)
-{
-  FAR const struct sam_automount_config_s *config;
-  FAR struct sam_automount_state_s *state;
-  irqstate_t flags;
-
-  /* Recover references to our structure */
-
-  config = (FAR struct sam_automount_config_s *)lower;
-  DEBUGASSERT(config && config->state);
-
-  state = config->state;
-
-  /* Save the fake enable setting */
-
-  flags = enter_critical_section();
-  state->enable = enable;
-
-  /* Did an interrupt occur while interrupts were disabled? */
-
-  if (enable && state->pending)
-    {
-      /* Yes.. perform the fake interrupt if the interrutp is attached */
-
-      if (state->handler)
-        {
-          bool inserted = sam_cardinserted(config->hsmci);
-          (void)state->handler(&config->lower, state->arg, inserted);
-        }
-
-      state->pending = false;
-    }
-
-  leave_critical_section(flags);
-}
-
-/****************************************************************************
- * Name: sam_inserted
- *
- * Description:
- *   Check if a card is inserted into the slot.
- *
- * Input Parameters:
- *   lower - An instance of the auto-mounter lower half state structure
- *
- *  Returned Value:
- *    True if the card is inserted; False otherwise
- *
- ****************************************************************************/
-
-static bool sam_inserted(FAR const struct automount_lower_s *lower)
-{
-  FAR const struct sam_automount_config_s *config;
-
-  config = (FAR struct sam_automount_config_s *)lower;
-  DEBUGASSERT(config && config->state);
-
-  return sam_cardinserted(config->hsmci);
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name:  sam_automount_initialize
- *
- * Description:
- *   Configure auto-mounters for each enable and so configured HSMCI
- *
- * Input Parameters:
- *   None
- *
- *  Returned Value:
- *    None
- *
- ****************************************************************************/
-
-void sam_automount_initialize(void)
-{
-  FAR void *handle;
-
-  finfo("Initializing automounter(s)\n");
-
-#ifdef CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT
-  /* Initialize the HSMCI0 auto-mounter */
-
-  handle = automount_initialize(&g_hsmci0config.lower);
-  if (!handle)
-    {
-      ferr("ERROR: Failed to initialize auto-mounter for HSMCI0\n");
-    }
-#endif
-}
-
-/****************************************************************************
- * Name:  sam_automount_event
- *
- * Description:
- *   The HSMCI card detection logic has detected an insertion or removal
- *   event.
- *   It has already scheduled the MMC/SD block driver operations.
- *   Now we need to schedule the auto-mount event which will occur with a
- *   substantial delay to make sure that everything has settle down.
- *
- * Input Parameters:
- *   slotno - Identifies the HSMCI0 slot: HSMCI0_SLOTNO or HSMCI1_SLOTNO.
- *      There is a terminology problem here:  Each HSMCI supports two slots,
- *      slot A and slot B.
- *      Only slot A is used.  So this is not a really a slot, but an HSCMI
- *      peripheral number.
- *   inserted - True if the card is inserted in the slot.  False otherwise.
- *
- *  Returned Value:
- *    None
- *
- *  Assumptions:
- *    Interrupts are disabled.
- *
- ****************************************************************************/
-
-void sam_automount_event(int slotno, bool inserted)
-{
-  FAR const struct sam_automount_config_s *config;
-  FAR struct sam_automount_state_s *state;
-
-#ifdef CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT
-  /* Is this a change in the HSMCI0 insertion state? */
-
-  if (slotno == HSMCI0_SLOTNO)
-    {
-      /* Yes.. Select the HSMCI0 automounter */
-
-      config = &g_hsmci0config;
-      state  = &g_hsmci0state;
-    }
-  else
-#endif
-    {
-      ferr("ERROR: Unsupported HSCMI%d\n", slotno);
-      return;
-    }
-
-  /* Is the auto-mounter interrupt attached? */
-
-  if (state->handler)
-    {
-      /* Yes.. Have we been asked to hold off interrupts? */
-
-      if (!state->enable)
-        {
-          /* Yes.. just remember that there is a pending interrupt. We will
-           * deliver the interrupt when interrupts are "re-enabled."
-           */
-
-          state->pending = true;
-        }
-      else
-        {
-          /* No.. forward the event to the handler */
-
-          (void)state->handler(&config->lower, state->arg, inserted);
-        }
-    }
-}
-
-#endif /* HAVE_AUTOMOUNTER */
diff --git a/boards/arm/samv7/same70-qmtech/src/sam_bringup.c b/boards/arm/samv7/same70-qmtech/src/sam_bringup.c
index 3e5c367..e310d04 100644
--- a/boards/arm/samv7/same70-qmtech/src/sam_bringup.c
+++ b/boards/arm/samv7/same70-qmtech/src/sam_bringup.c
@@ -39,14 +39,18 @@
 
 #include "same70-qmtech.h"
 
-#ifdef HAVE_PROGMEM_CHARDEV
-#  include "board_progmem.h"
-#endif
+#ifdef HAVE_AUTOMOUNTER
+#  include "sam_automount.h"
+#endif /* HAVE_AUTOMOUNTER */
 
 #ifdef HAVE_ROMFS
 #  include <arch/board/boot_romfsimg.h>
 #endif
 
+#ifdef HAVE_PROGMEM_CHARDEV
+#  include "board_progmem.h"
+#endif
+
 /****************************************************************************
  * Pre-processor Definitions
  ****************************************************************************/
diff --git a/boards/arm/samv7/same70-qmtech/src/sam_hsmci.c b/boards/arm/samv7/same70-qmtech/src/sam_hsmci.c
index c218380..c45ab50 100644
--- a/boards/arm/samv7/same70-qmtech/src/sam_hsmci.c
+++ b/boards/arm/samv7/same70-qmtech/src/sam_hsmci.c
@@ -55,6 +55,10 @@
 
 #include "same70-qmtech.h"
 
+#ifdef HAVE_AUTOMOUNTER
+#  include "sam_automount.h"
+#endif /* HAVE_AUTOMOUNTER */
+
 #ifdef HAVE_HSMCI
 
 /****************************************************************************
@@ -161,7 +165,7 @@ static int sam_hsmci0_cardetect(int irq, void *regs, FAR void *arg)
 
   ret = sam_hsmci_cardetect(&g_hsmci0);
 
-#ifdef CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT
+#if defined(CONFIG_SAMV7_HSMCI0_AUTOMOUNT)
   /* Let the automounter know about the insertion event */
 
   sam_automount_event(HSMCI0_SLOTNO, sam_cardinserted(HSMCI0_SLOTNO));
diff --git a/boards/arm/samv7/same70-qmtech/src/sam_reset.c b/boards/arm/samv7/same70-qmtech/src/sam_reset.c
deleted file mode 100644
index 0c7668d..0000000
--- a/boards/arm/samv7/same70-qmtech/src/sam_reset.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
- * boards/arm/samv7/same70-qmtech/src/sam_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/arch.h>
-#include <nuttx/board.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 */
diff --git a/boards/arm/samv7/same70-qmtech/src/same70-qmtech.h b/boards/arm/samv7/same70-qmtech/src/same70-qmtech.h
index f34eec6..e936317 100644
--- a/boards/arm/samv7/same70-qmtech/src/same70-qmtech.h
+++ b/boards/arm/samv7/same70-qmtech/src/same70-qmtech.h
@@ -88,39 +88,13 @@
 
 #if !defined(CONFIG_FS_AUTOMOUNTER) || !defined(HAVE_HSMCI)
 #  undef HAVE_AUTOMOUNTER
-#  undef CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT
+#  undef CONFIG_SAMV7_HSMCI0_AUTOMOUNT
 #endif
 
-#ifndef CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT
+#ifndef CONFIG_SAMV7_HSMCI0_AUTOMOUNT
 #  undef HAVE_AUTOMOUNTER
 #endif
 
-#ifdef HAVE_AUTOMOUNTER
-#  ifdef CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT
-  /* HSMCI0 Automounter defaults */
-
-#    ifndef CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_FSTYPE
-#      define CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_FSTYPE "vfat"
-#    endif
-
-#    ifndef CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_BLKDEV
-#      define CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_BLKDEV "/dev/mmcds0"
-#    endif
-
-#    ifndef CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_MOUNTPOINT
-#      define CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_MOUNTPOINT "/mnt/sdcard0"
-#    endif
-
-#    ifndef CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_DDELAY
-#      define CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_DDELAY 1000
-#    endif
-
-#    ifndef CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_UDELAY
-#      define CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT_UDELAY 2000
-#    endif
-#  endif /* CONFIG_SAME70QMTECH_HSMCI0_AUTOMOUNT */
-#endif /* HAVE_AUTOMOUNTER */
-
 /* On-chip Programming Memory */
 
 #if !defined(CONFIG_SAMV7_PROGMEM) || !defined(CONFIG_MTD_PROGMEM)
@@ -307,52 +281,6 @@ bool sam_writeprotected(int slotno);
 #endif
 
 /****************************************************************************
- * Name:  sam_automount_initialize
- *
- * Description:
- *   Configure auto-mounters for each enable and so configured HSMCI
- *
- * Input Parameters:
- *   None
- *
- *  Returned Value:
- *    None
- *
- ****************************************************************************/
-
-#ifdef HAVE_AUTOMOUNTER
-void sam_automount_initialize(void);
-#endif
-
-/****************************************************************************
- * Name:  sam_automount_event
- *
- * Description:
- *   The HSMCI card detection logic has detected an insertion or removal
- *   event.  It has already scheduled the MMC/SD block driver operations.
- *   Now we need to schedule the auto-mount event which will occur with a
- *   substantial delay to make sure that everything has settle down.
- *
- * Input Parameters:
- *   slotno - Identifies the HSMCI0 slot: HSMCI0 or HSMCI1_SLOTNO.
- *       There is a terminology problem here:  Each HSMCI supports two slots,
- *      slot A and slot B. Only slot A is used.  So this is not a really a
- *      slot, but an HSCMI peripheral number.
- *   inserted - True if the card is inserted in the slot.  False otherwise.
- *
- *  Returned Value:
- *    None
- *
- *  Assumptions:
- *    Interrupts are disabled.
- *
- ****************************************************************************/
-
-#ifdef HAVE_AUTOMOUNTER
-void sam_automount_event(int slotno, bool inserted);
-#endif
-
-/****************************************************************************
  * Name: sam_writeprotected
  *
  * Description:
diff --git a/boards/arm/samv7/same70-xplained/Kconfig b/boards/arm/samv7/same70-xplained/Kconfig
index dd3d2f0b..6382ee2 100644
--- a/boards/arm/samv7/same70-xplained/Kconfig
+++ b/boards/arm/samv7/same70-xplained/Kconfig
@@ -61,33 +61,4 @@ config SAME70XPLAINED_MB2_XBEE
 
 endchoice # mikroBUS2 Click
 
-config SAME70XPLAINED_HSMCI0_AUTOMOUNT
-	bool "HSMCI0 automounter"
-	default n
-	depends on FS_AUTOMOUNTER && SAMV7_HSMCI0
-
-if SAME70XPLAINED_HSMCI0_AUTOMOUNT
-
-config SAME70XPLAINED_HSMCI0_AUTOMOUNT_FSTYPE
-	string "HSMCI0 file system type"
-	default "vfat"
-
-config SAME70XPLAINED_HSMCI0_AUTOMOUNT_BLKDEV
-	string "HSMCI0 block device"
-	default "/dev/mmcsd0"
-
-config SAME70XPLAINED_HSMCI0_AUTOMOUNT_MOUNTPOINT
-	string "HSMCI0 mount point"
-	default "/mnt/sdcard0"
-
-config SAME70XPLAINED_HSMCI0_AUTOMOUNT_DDELAY
-	int "HSMCI0 debounce delay (milliseconds)"
-	default 1000
-
-config SAME70XPLAINED_HSMCI0_AUTOMOUNT_UDELAY
-	int "HSMCI0 unmount retry delay (milliseconds)"
-	default 2000
-
-endif # SAME70XPLAINED_HSMCI0_AUTOMOUNT
-
 endif # ARCH_BOARD_SAME70_XPLAINED
diff --git a/boards/arm/samv7/same70-xplained/README.txt b/boards/arm/samv7/same70-xplained/README.txt
index cc4df62..effa470 100644
--- a/boards/arm/samv7/same70-xplained/README.txt
+++ b/boards/arm/samv7/same70-xplained/README.txt
@@ -236,12 +236,12 @@ Auto-Mounter
       CONFIG_FS_AUTOMOUNTER=y
 
     Board-Specific Options
-      CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT=y
-      CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_FSTYPE="vfat"
-      CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_BLKDEV="/dev/mmcsd0"
-      CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_MOUNTPOINT="/mnt/sdcard"
-      CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_DDELAY=1000
-      CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_UDELAY=2000
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT=y
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_FSTYPE="vfat"
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_BLKDEV="/dev/mmcsd0"
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_MOUNTPOINT="/mnt/sdcard"
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_DDELAY=1000
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_UDELAY=2000
 
   WARNING:  SD cards should never be removed without first unmounting
   them.  This is to avoid data and possible corruption of the file
diff --git a/boards/arm/samv7/same70-xplained/src/Make.defs b/boards/arm/samv7/same70-xplained/src/Make.defs
index 87a4526..0af797d 100644
--- a/boards/arm/samv7/same70-xplained/src/Make.defs
+++ b/boards/arm/samv7/same70-xplained/src/Make.defs
@@ -28,9 +28,6 @@ endif
 
 ifeq ($(CONFIG_BOARDCTL),y)
 CSRCS += sam_appinit.c sam_bringup.c
-ifeq ($(CONFIG_BOARDCTL_RESET),y)
-CSRCS += sam_reset.c
-endif
 else ifeq ($(CONFIG_BOARD_LATE_INITIALIZE),y)
 CSRCS += sam_bringup.c
 endif
@@ -49,10 +46,6 @@ ifeq ($(CONFIG_SAMV7_HSMCI0),y)
 CSRCS += sam_hsmci.c
 endif
 
-ifeq ($(CONFIG_FS_AUTOMOUNTER),y)
-CSRCS += sam_automount.c
-endif
-
 ifeq ($(CONFIG_SAMV7_EMAC),y)
 CSRCS += sam_ethernet.c
 endif
diff --git a/boards/arm/samv7/same70-xplained/src/sam_automount.c b/boards/arm/samv7/same70-xplained/src/sam_automount.c
deleted file mode 100644
index ff65f13..0000000
--- a/boards/arm/samv7/same70-xplained/src/sam_automount.c
+++ /dev/null
@@ -1,341 +0,0 @@
-/****************************************************************************
- * boards/arm/samv7/same70-xplained/src/sam_automount.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>
-
-#if defined(CONFIG_FS_AUTOMOUNTER_DEBUG) && !defined(CONFIG_DEBUG_FS)
-#  define CONFIG_DEBUG_FS 1
-#endif
-
-#include <assert.h>
-#include <debug.h>
-
-#include <nuttx/irq.h>
-#include <nuttx/clock.h>
-#include <nuttx/fs/automount.h>
-
-#include "same70-xplained.h"
-
-#ifdef HAVE_AUTOMOUNTER
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-#ifndef NULL
-#  define NULL (FAR void *)0
-#endif
-
-#ifndef OK
-#  define OK 0
-#endif
-
-/****************************************************************************
- * Private Types
- ****************************************************************************/
-
-/* This structure represents the changeable state of the automounter */
-
-struct sam_automount_state_s
-{
-  volatile automount_handler_t handler;    /* Upper half handler */
-  FAR void *arg;                           /* Handler argument */
-  bool enable;                             /* Fake interrupt enable */
-  bool pending;                            /* Set if there an event while disabled */
-};
-
-/* This structure represents the static configuration of an automounter */
-
-struct sam_automount_config_s
-{
-  /* This must be first thing in structure so that we can simply cast from
-   * struct automount_lower_s to struct sam_automount_config_s
-   */
-
-  struct automount_lower_s lower;          /* Publicly visible part */
-  uint8_t hsmci;                           /* HSMCI0_SLOTNO or HSMCI1_SLOTNO */
-  FAR struct sam_automount_state_s *state; /* Changeable state */
-};
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-static int  sam_attach(FAR const struct automount_lower_s *lower,
-                       automount_handler_t isr, FAR void *arg);
-static void sam_enable(FAR const struct automount_lower_s *lower,
-                       bool enable);
-static bool sam_inserted(FAR const struct automount_lower_s *lower);
-
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
-#ifdef CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT
-static struct sam_automount_state_s g_hsmci0state;
-static const struct sam_automount_config_s g_hsmci0config =
-{
-  .lower        =
-  {
-    .fstype     = CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_FSTYPE,
-    .blockdev   = CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_BLKDEV,
-    .mountpoint = CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_MOUNTPOINT,
-    .ddelay     = MSEC2TICK(CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_DDELAY),
-    .udelay     = MSEC2TICK(CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_UDELAY),
-    .attach     = sam_attach,
-    .enable     = sam_enable,
-    .inserted   = sam_inserted
-  },
-  .hsmci        = HSMCI0_SLOTNO,
-  .state        = &g_hsmci0state
-};
-#endif
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name:  sam_attach
- *
- * Description:
- *   Attach a new HSMCI event handler
- *
- * Input Parameters:
- *   lower - An instance of the auto-mounter lower half state structure
- *   isr   - The new event handler to be attach
- *   arg   - Client data to be provided when the event handler is invoked.
- *
- *  Returned Value:
- *    Always returns OK
- *
- ****************************************************************************/
-
-static int sam_attach(FAR const struct automount_lower_s *lower,
-                      automount_handler_t isr, FAR void *arg)
-{
-  FAR const struct sam_automount_config_s *config;
-  FAR struct sam_automount_state_s *state;
-
-  /* Recover references to our structure */
-
-  config = (FAR struct sam_automount_config_s *)lower;
-  DEBUGASSERT(config && config->state);
-
-  state = config->state;
-
-  /* Save the new handler info (clearing the handler first to eliminate race
-   * conditions).
-   */
-
-  state->handler = NULL;
-  state->pending = false;
-  state->arg     = arg;
-  state->handler = isr;
-  return OK;
-}
-
-/****************************************************************************
- * Name:  sam_enable
- *
- * Description:
- *   Enable card insertion/removal event detection
- *
- * Input Parameters:
- *   lower - An instance of the auto-mounter lower half state structure
- *   enable - True: enable event detection; False: disable
- *
- *  Returned Value:
- *    None
- *
- ****************************************************************************/
-
-static void sam_enable(FAR const struct automount_lower_s *lower,
-                       bool enable)
-{
-  FAR const struct sam_automount_config_s *config;
-  FAR struct sam_automount_state_s *state;
-  irqstate_t flags;
-
-  /* Recover references to our structure */
-
-  config = (FAR struct sam_automount_config_s *)lower;
-  DEBUGASSERT(config && config->state);
-
-  state = config->state;
-
-  /* Save the fake enable setting */
-
-  flags = enter_critical_section();
-  state->enable = enable;
-
-  /* Did an interrupt occur while interrupts were disabled? */
-
-  if (enable && state->pending)
-    {
-      /* Yes.. perform the fake interrupt if the interrutp is attached */
-
-      if (state->handler)
-        {
-          bool inserted = sam_cardinserted(config->hsmci);
-          (void)state->handler(&config->lower, state->arg, inserted);
-        }
-
-      state->pending = false;
-    }
-
-  leave_critical_section(flags);
-}
-
-/****************************************************************************
- * Name: sam_inserted
- *
- * Description:
- *   Check if a card is inserted into the slot.
- *
- * Input Parameters:
- *   lower - An instance of the auto-mounter lower half state structure
- *
- *  Returned Value:
- *    True if the card is inserted; False otherwise
- *
- ****************************************************************************/
-
-static bool sam_inserted(FAR const struct automount_lower_s *lower)
-{
-  FAR const struct sam_automount_config_s *config;
-
-  config = (FAR struct sam_automount_config_s *)lower;
-  DEBUGASSERT(config && config->state);
-
-  return sam_cardinserted(config->hsmci);
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name:  sam_automount_initialize
- *
- * Description:
- *   Configure auto-mounters for each enable and so configured HSMCI
- *
- * Input Parameters:
- *   None
- *
- *  Returned Value:
- *    None
- *
- ****************************************************************************/
-
-void sam_automount_initialize(void)
-{
-  FAR void *handle;
-
-  finfo("Initializing automounter(s)\n");
-
-#ifdef CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT
-  /* Initialize the HSMCI0 auto-mounter */
-
-  handle = automount_initialize(&g_hsmci0config.lower);
-  if (!handle)
-    {
-      ferr("ERROR: Failed to initialize auto-mounter for HSMCI0\n");
-    }
-#endif
-}
-
-/****************************************************************************
- * Name:  sam_automount_event
- *
- * Description:
- *   The HSMCI card detection logic has detected an insertion or removal
- *   event.
- *   It has already scheduled the MMC/SD block driver operations.
- *   Now we need to schedule the auto-mount event which will occur with a
- *   substantial delay to make sure that everything has settle down.
- *
- * Input Parameters:
- *   slotno - Identifies the HSMCI0 slot: HSMCI0_SLOTNO or HSMCI1_SLOTNO.
- *      There is a terminology problem here:  Each HSMCI supports two slots,
- *      slot A and slot B.
- *      Only slot A is used.  So this is not a really a slot, but an HSCMI
- *      peripheral number.
- *   inserted - True if the card is inserted in the slot.  False otherwise.
- *
- *  Returned Value:
- *    None
- *
- *  Assumptions:
- *    Interrupts are disabled.
- *
- ****************************************************************************/
-
-void sam_automount_event(int slotno, bool inserted)
-{
-  FAR const struct sam_automount_config_s *config;
-  FAR struct sam_automount_state_s *state;
-
-#ifdef CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT
-  /* Is this a change in the HSMCI0 insertion state? */
-
-  if (slotno == HSMCI0_SLOTNO)
-    {
-      /* Yes.. Select the HSMCI0 automounter */
-
-      config = &g_hsmci0config;
-      state  = &g_hsmci0state;
-    }
-  else
-#endif
-    {
-      ferr("ERROR: Unsupported HSCMI%d\n", slotno);
-      return;
-    }
-
-  /* Is the auto-mounter interrupt attached? */
-
-  if (state->handler)
-    {
-      /* Yes.. Have we been asked to hold off interrupts? */
-
-      if (!state->enable)
-        {
-          /* Yes.. just remember that there is a pending interrupt. We will
-           * deliver the interrupt when interrupts are "re-enabled."
-           */
-
-          state->pending = true;
-        }
-      else
-        {
-          /* No.. forward the event to the handler */
-
-          (void)state->handler(&config->lower, state->arg, inserted);
-        }
-    }
-}
-
-#endif /* HAVE_AUTOMOUNTER */
diff --git a/boards/arm/samv7/same70-xplained/src/sam_bringup.c b/boards/arm/samv7/same70-xplained/src/sam_bringup.c
index a1e393a..21efecd 100644
--- a/boards/arm/samv7/same70-xplained/src/sam_bringup.c
+++ b/boards/arm/samv7/same70-xplained/src/sam_bringup.c
@@ -45,14 +45,18 @@
 #include "sam_twihs.h"
 #include "same70-xplained.h"
 
-#ifdef HAVE_PROGMEM_CHARDEV
-#  include "board_progmem.h"
-#endif
+#ifdef HAVE_AUTOMOUNTER
+#  include "sam_automount.h"
+#endif /* HAVE_AUTOMOUNTER */
 
 #ifdef HAVE_ROMFS
 #  include <arch/board/boot_romfsimg.h>
 #endif
 
+#ifdef HAVE_PROGMEM_CHARDEV
+#  include "board_progmem.h"
+#endif
+
 /****************************************************************************
  * Pre-processor Definitions
  ****************************************************************************/
diff --git a/boards/arm/samv7/same70-xplained/src/sam_hsmci.c b/boards/arm/samv7/same70-xplained/src/sam_hsmci.c
index 528c351..d28c07b 100644
--- a/boards/arm/samv7/same70-xplained/src/sam_hsmci.c
+++ b/boards/arm/samv7/same70-xplained/src/sam_hsmci.c
@@ -55,6 +55,10 @@
 
 #include "same70-xplained.h"
 
+#ifdef HAVE_AUTOMOUNTER
+#  include "sam_automount.h"
+#endif /* HAVE_AUTOMOUNTER */
+
 #ifdef HAVE_HSMCI
 
 /****************************************************************************
@@ -161,7 +165,7 @@ static int sam_hsmci0_cardetect(int irq, void *regs, FAR void *arg)
 
   ret = sam_hsmci_cardetect(&g_hsmci0);
 
-#ifdef CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT
+#if defined(CONFIG_SAMV7_HSMCI0_AUTOMOUNT)
   /* Let the automounter know about the insertion event */
 
   sam_automount_event(HSMCI0_SLOTNO, sam_cardinserted(HSMCI0_SLOTNO));
diff --git a/boards/arm/samv7/same70-xplained/src/sam_reset.c b/boards/arm/samv7/same70-xplained/src/sam_reset.c
deleted file mode 100644
index bba3dc1..0000000
--- a/boards/arm/samv7/same70-xplained/src/sam_reset.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
- * boards/arm/samv7/same70-xplained/src/sam_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/arch.h>
-#include <nuttx/board.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 */
diff --git a/boards/arm/samv7/same70-xplained/src/same70-xplained.h b/boards/arm/samv7/same70-xplained/src/same70-xplained.h
index ea7229e..8fa189c 100644
--- a/boards/arm/samv7/same70-xplained/src/same70-xplained.h
+++ b/boards/arm/samv7/same70-xplained/src/same70-xplained.h
@@ -97,39 +97,13 @@
 
 #if !defined(CONFIG_FS_AUTOMOUNTER) || !defined(HAVE_HSMCI)
 #  undef HAVE_AUTOMOUNTER
-#  undef CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT
+#  undef CONFIG_SAMV7_HSMCI0_AUTOMOUNT
 #endif
 
-#ifndef CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT
+#ifndef CONFIG_SAMV7_HSMCI0_AUTOMOUNT
 #  undef HAVE_AUTOMOUNTER
 #endif
 
-#ifdef HAVE_AUTOMOUNTER
-#  ifdef CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT
-  /* HSMCI0 Automounter defaults */
-
-#    ifndef CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_FSTYPE
-#      define CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_FSTYPE "vfat"
-#    endif
-
-#    ifndef CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_BLKDEV
-#      define CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_BLKDEV "/dev/mmcds0"
-#    endif
-
-#    ifndef CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_MOUNTPOINT
-#      define CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_MOUNTPOINT "/mnt/sdcard0"
-#    endif
-
-#    ifndef CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_DDELAY
-#      define CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_DDELAY 1000
-#    endif
-
-#    ifndef CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_UDELAY
-#      define CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT_UDELAY 2000
-#    endif
-#  endif /* CONFIG_SAME70XPLAINED_HSMCI0_AUTOMOUNT */
-#endif /* HAVE_AUTOMOUNTER */
-
 /* USB Device */
 
 /* CONFIG_SAMV7_UDP and CONFIG_USBDEV must be defined, or there is no USB
@@ -577,52 +551,6 @@ bool sam_writeprotected(int slotno);
 #endif
 
 /****************************************************************************
- * Name:  sam_automount_initialize
- *
- * Description:
- *   Configure auto-mounters for each enable and so configured HSMCI
- *
- * Input Parameters:
- *   None
- *
- *  Returned Value:
- *    None
- *
- ****************************************************************************/
-
-#ifdef HAVE_AUTOMOUNTER
-void sam_automount_initialize(void);
-#endif
-
-/****************************************************************************
- * Name:  sam_automount_event
- *
- * Description:
- *   The HSMCI card detection logic has detected an insertion or removal
- *   event.  It has already scheduled the MMC/SD block driver operations.
- *   Now we need to schedule the auto-mount event which will occur with a
- *   substantial delay to make sure that everything has settle down.
- *
- * Input Parameters:
- *   slotno - Identifies the HSMCI0 slot: HSMCI0 or HSMCI1_SLOTNO.
- *       There is a terminology problem here:  Each HSMCI supports two slots,
- *      slot A and slot B. Only slot A is used.  So this is not a really a
- *      slot, but an HSCMI peripheral number.
- *   inserted - True if the card is inserted in the slot.  False otherwise.
- *
- *  Returned Value:
- *    None
- *
- *  Assumptions:
- *    Interrupts are disabled.
- *
- ****************************************************************************/
-
-#ifdef HAVE_AUTOMOUNTER
-void sam_automount_event(int slotno, bool inserted);
-#endif
-
-/****************************************************************************
  * Name: sam_writeprotected
  *
  * Description:
diff --git a/boards/arm/samv7/samv71-xult/Kconfig b/boards/arm/samv7/samv71-xult/Kconfig
index 0a07328..f9213b7 100644
--- a/boards/arm/samv7/samv71-xult/Kconfig
+++ b/boards/arm/samv7/samv71-xult/Kconfig
@@ -89,35 +89,6 @@ endif # LCD
 
 endif # SAMV71XULT_MXTXPLND
 
-config SAMV71XULT_HSMCI0_AUTOMOUNT
-	bool "HSMCI0 automounter"
-	default n
-	depends on FS_AUTOMOUNTER && SAMV7_HSMCI0
-
-if SAMV71XULT_HSMCI0_AUTOMOUNT
-
-config SAMV71XULT_HSMCI0_AUTOMOUNT_FSTYPE
-	string "HSMCI0 file system type"
-	default "vfat"
-
-config SAMV71XULT_HSMCI0_AUTOMOUNT_BLKDEV
-	string "HSMCI0 block device"
-	default "/dev/mmcsd0"
-
-config SAMV71XULT_HSMCI0_AUTOMOUNT_MOUNTPOINT
-	string "HSMCI0 mount point"
-	default "/mnt/sdcard0"
-
-config SAMV71XULT_HSMCI0_AUTOMOUNT_DDELAY
-	int "HSMCI0 debounce delay (milliseconds)"
-	default 1000
-
-config SAMV71XULT_HSMCI0_AUTOMOUNT_UDELAY
-	int "HSMCI0 unmount retry delay (milliseconds)"
-	default 2000
-
-endif # SAMV71XULT_HSMCI0_AUTOMOUNT
-
 if AUDIO_WM8904
 
 config SAMV71XULT_WM8904_I2CFREQUENCY
diff --git a/boards/arm/samv7/samv71-xult/README.txt b/boards/arm/samv7/samv71-xult/README.txt
index 7fd9ce8..9dff9b7 100644
--- a/boards/arm/samv7/samv71-xult/README.txt
+++ b/boards/arm/samv7/samv71-xult/README.txt
@@ -349,12 +349,12 @@ Auto-Mounter
       CONFIG_FS_AUTOMOUNTER=y
 
     Board-Specific Options
-      CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT=y
-      CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_FSTYPE="vfat"
-      CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_BLKDEV="/dev/mmcsd0"
-      CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_MOUNTPOINT="/mnt/sdcard"
-      CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_DDELAY=1000
-      CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_UDELAY=2000
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT=y
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_FSTYPE="vfat"
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_BLKDEV="/dev/mmcsd0"
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_MOUNTPOINT="/mnt/sdcard"
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_DDELAY=1000
+      CONFIG_SAMV7_HSMCI0_AUTOMOUNT_UDELAY=2000
 
   WARNING:  SD cards should never be removed without first unmounting
   them.  This is to avoid data and possible corruption of the file
diff --git a/boards/arm/samv7/samv71-xult/src/Make.defs b/boards/arm/samv7/samv71-xult/src/Make.defs
index d273b77..5ae2161 100644
--- a/boards/arm/samv7/samv71-xult/src/Make.defs
+++ b/boards/arm/samv7/samv71-xult/src/Make.defs
@@ -28,9 +28,6 @@ endif
 
 ifeq ($(CONFIG_BOARDCTL),y)
 CSRCS += sam_appinit.c sam_bringup.c
-ifeq ($(CONFIG_BOARDCTL_RESET),y)
-CSRCS += sam_reset.c
-endif
 else ifeq ($(CONFIG_BOARD_LATE_INITIALIZE),y)
 CSRCS += sam_bringup.c
 endif
@@ -49,10 +46,6 @@ ifeq ($(CONFIG_SAMV7_HSMCI0),y)
 CSRCS += sam_hsmci.c
 endif
 
-ifeq ($(CONFIG_FS_AUTOMOUNTER),y)
-CSRCS += sam_automount.c
-endif
-
 ifeq ($(CONFIG_SAMV7_EMAC),y)
 CSRCS += sam_ethernet.c
 endif
diff --git a/boards/arm/samv7/samv71-xult/src/sam_bringup.c b/boards/arm/samv7/samv71-xult/src/sam_bringup.c
index fb94939..9415ee3 100644
--- a/boards/arm/samv7/samv71-xult/src/sam_bringup.c
+++ b/boards/arm/samv7/samv71-xult/src/sam_bringup.c
@@ -60,10 +60,6 @@
 #  include <nuttx/leds/userled.h>
 #endif
 
-#ifdef HAVE_PROGMEM_CHARDEV
-#  include "board_progmem.h"
-#endif
-
 #if defined(HAVE_RTC_DSXXXX) || defined(HAVE_RTC_PCF85263)
 #  include <nuttx/clock.h>
 #  include <nuttx/i2c/i2c_master.h>
@@ -75,10 +71,18 @@
 #  include "sam_twihs.h"
 #endif
 
+#ifdef HAVE_AUTOMOUNTER
+#  include "sam_automount.h"
+#endif /* HAVE_AUTOMOUNTER */
+
 #ifdef HAVE_ROMFS
 #  include <arch/board/boot_romfsimg.h>
 #endif
 
+#ifdef HAVE_PROGMEM_CHARDEV
+#  include "board_progmem.h"
+#endif
+
 /****************************************************************************
  * Pre-processor Definitions
  ****************************************************************************/
diff --git a/boards/arm/samv7/samv71-xult/src/sam_hsmci.c b/boards/arm/samv7/samv71-xult/src/sam_hsmci.c
index 1575447..edc189b 100644
--- a/boards/arm/samv7/samv71-xult/src/sam_hsmci.c
+++ b/boards/arm/samv7/samv71-xult/src/sam_hsmci.c
@@ -55,6 +55,10 @@
 
 #include "samv71-xult.h"
 
+#ifdef HAVE_AUTOMOUNTER
+#  include "sam_automount.h"
+#endif /* HAVE_AUTOMOUNTER */
+
 #ifdef HAVE_HSMCI
 
 /****************************************************************************
@@ -161,7 +165,7 @@ static int sam_hsmci0_cardetect(int irq, void *regs, FAR void *arg)
 
   ret = sam_hsmci_cardetect(&g_hsmci0);
 
-#ifdef CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT
+#if defined(CONFIG_SAMV7_HSMCI0_AUTOMOUNT)
   /* Let the automounter know about the insertion event */
 
   sam_automount_event(HSMCI0_SLOTNO, sam_cardinserted(HSMCI0_SLOTNO));
diff --git a/boards/arm/samv7/samv71-xult/src/samv71-xult.h b/boards/arm/samv7/samv71-xult/src/samv71-xult.h
index f00c4db..3572819 100644
--- a/boards/arm/samv7/samv71-xult/src/samv71-xult.h
+++ b/boards/arm/samv7/samv71-xult/src/samv71-xult.h
@@ -105,39 +105,13 @@
 
 #if !defined(CONFIG_FS_AUTOMOUNTER) || !defined(HAVE_HSMCI)
 #  undef HAVE_AUTOMOUNTER
-#  undef CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT
+#  undef CONFIG_SAMV7_HSMCI0_AUTOMOUNT
 #endif
 
-#ifndef CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT
+#ifndef CONFIG_SAMV7_HSMCI0_AUTOMOUNT
 #  undef HAVE_AUTOMOUNTER
 #endif
 
-#ifdef HAVE_AUTOMOUNTER
-#  ifdef CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT
-  /* HSMCI0 Automounter defaults */
-
-#    ifndef CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_FSTYPE
-#      define CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_FSTYPE "vfat"
-#    endif
-
-#    ifndef CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_BLKDEV
-#      define CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_BLKDEV "/dev/mmcds0"
-#    endif
-
-#    ifndef CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_MOUNTPOINT
-#      define CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_MOUNTPOINT "/mnt/sdcard0"
-#    endif
-
-#    ifndef CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_DDELAY
-#      define CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_DDELAY 1000
-#    endif
-
-#    ifndef CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_UDELAY
-#      define CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT_UDELAY 2000
-#    endif
-#  endif /* CONFIG_SAMV71XULT_HSMCI0_AUTOMOUNT */
-#endif /* HAVE_AUTOMOUNTER */
-
 /* USB Device */
 
 /* CONFIG_SAMV7_UDP and CONFIG_USBDEV must be defined, or there is no USB
@@ -785,53 +759,6 @@ bool sam_writeprotected(int slotno);
 #endif
 
 /****************************************************************************
- * Name:  sam_automount_initialize
- *
- * Description:
- *   Configure auto-mounters for each enable and so configured HSMCI
- *
- * Input Parameters:
- *   None
- *
- *  Returned Value:
- *    None
- *
- ****************************************************************************/
-
-#ifdef HAVE_AUTOMOUNTER
-void sam_automount_initialize(void);
-#endif
-
-/****************************************************************************
- * Name:  sam_automount_event
- *
- * Description:
- *   The HSMCI card detection logic has detected an insertion or removal
- *   event.  It has already scheduled the MMC/SD block driver operations.
- *   Now we need to schedule the auto-mount event which will occur with a
- *   substantial delay to make sure that everything has settle down.
- *
- * Input Parameters:
- *   slotno - Identifies the HSMCI0 slot: HSMCI0 or HSMCI1_SLOTNO.  There
- *      is a terminology problem here:
- *      Each HSMCI supports two slots, slot A and slot B.
- *      Only slot A is used.  So this is not a really a slot,
- *      but an HSCMI peripheral number.
- *   inserted - True if the card is inserted in the slot.  False otherwise.
- *
- *  Returned Value:
- *    None
- *
- *  Assumptions:
- *    Interrupts are disabled.
- *
- ****************************************************************************/
-
-#ifdef HAVE_AUTOMOUNTER
-void sam_automount_event(int slotno, bool inserted);
-#endif
-
-/****************************************************************************
  * Name: sam_writeprotected
  *
  * Description: