mirror of
https://github.com/apache/nuttx.git
synced 2025-01-13 08:38:38 +08:00
boards/xtensa/esp32s3: Add USB MSC support for esp32s3
Test # Device:/dev/ram10 <----> Host:/dev/sde # Device (NuttX) nsh> mkrd -m 10 -s 512 640 nsh> msconn nsh> ls -l /dev/ram10 brw-rw-rw- 327680 /dev/ram10 # Host (e.g /dev/sde) $ sudo mkfs.ext4 /dev/sdx $ sudo mount /dev/sdx /workspace/mnt # Part of `df -h` /dev/sdx 292K 24K 248K 9% /workspace/mnt # dmesg (/dev/sdd, /dev/sde) [1116587.199896] usb 1-10: new full-speed USB device number 122 using xhci_hcd [1116587.369226] usb 1-10: New USB device found, idVendor=584e, idProduct=5342, bcdDevice= 3.99 [1116587.369231] usb 1-10: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [1116587.369232] usb 1-10: Product: Mass Storage [1116587.369233] usb 1-10: Manufacturer: NuttX [1116587.369234] usb 1-10: SerialNumber: 0101 [1116587.385275] usb-storage 1-10:1.0: USB Mass Storage device detected [1116587.385526] scsi host5: usb-storage 1-10:1.0 [1116588.423335] scsi 5:0:0:0: Direct-Access NuttX Mass Storage 0101 PQ: 0 ANSI: 2 [1116588.423746] scsi 5:0:0:1: Direct-Access NuttX Mass Storage 0101 PQ: 0 ANSI: 2 [1116588.424001] sd 5:0:0:0: Attached scsi generic sg3 type 0 [1116588.424181] sd 5:0:0:1: Attached scsi generic sg4 type 0 [1116588.424305] sd 5:0:0:0: [sdd] Unsupported sector size 256. [1116588.425336] sd 5:0:0:1: [sde] 640 512-byte logical blocks: (328 kB/320 KiB) [1116588.638620] sd 5:0:0:1: [sde] Write Protect is off [1116588.638624] sd 5:0:0:1: [sde] Mode Sense: 0f 00 00 00 [1116588.858793] sd 5:0:0:0: [sdd] 0 512-byte logical blocks: (0 B/0 B) [1116588.858797] sd 5:0:0:0: [sdd] 256-byte physical blocks [1116589.078698] sd 5:0:0:0: [sdd] Write Protect is off [1116589.078702] sd 5:0:0:0: [sdd] Mode Sense: 0f 00 00 00 [1116589.298629] sd 5:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [1116589.298903] sd 5:0:0:0: [sdd] Attached SCSI disk [1116589.518626] sd 5:0:0:1: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [1116589.972872] sd 5:0:0:1: [sde] Attached SCSI disk [1116644.299819] EXT4-fs (sde): mounted filesystem d4e18b90-b0c3-4a0f-8969-2493a41c5e02 r/w without journal. Quota mode: none. Copy from boards/arm/rp2040/common/src/rp2040_usbmsc.c Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
This commit is contained in:
parent
37a0445ddb
commit
ffa2209b4a
2 changed files with 66 additions and 0 deletions
|
@ -86,6 +86,10 @@ ifeq ($(CONFIG_ESP32S3_SDMMC),y)
|
|||
CSRCS += esp32s3_board_sdmmc.c
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_USBMSC),y)
|
||||
CSRCS += esp32s3_usbmsc.c
|
||||
endif
|
||||
|
||||
DEPPATH += --dep-path src
|
||||
VPATH += :src
|
||||
CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)src
|
||||
|
|
62
boards/xtensa/esp32s3/common/src/esp32s3_usbmsc.c
Normal file
62
boards/xtensa/esp32s3/common/src/esp32s3_usbmsc.c
Normal file
|
@ -0,0 +1,62 @@
|
|||
/****************************************************************************
|
||||
* boards/xtensa/esp32s3/common/src/esp32s3_usbmsc.c
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* 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 <stdio.h>
|
||||
#include <syslog.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <nuttx/board.h>
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* Configuration ************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: board_usbmsc_initialize
|
||||
*
|
||||
* Description:
|
||||
* Perform architecture specific initialization as needed to establish
|
||||
* the mass storage device that will be exported by the USB MSC device.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int board_usbmsc_initialize(int port)
|
||||
{
|
||||
/* If system/usbmsc is built as an NSH command, then SD slot should
|
||||
* already have been initialized in board_app_initialize()
|
||||
* In this case, there is nothing further to be done here.
|
||||
*/
|
||||
|
||||
return OK;
|
||||
}
|
Loading…
Reference in a new issue