duos: support usb storage like USB flash disk
This commit is contained in:
@ -21,6 +21,10 @@
|
|||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&usb {
|
||||||
|
vbus-gpio = <&portb 6 0>;
|
||||||
|
};
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -30,6 +30,8 @@ CONFIG_STRICT_KERNEL_RWX=n
|
|||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_FORCE_LOAD=y
|
CONFIG_MODULE_FORCE_LOAD=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
|
CONFIG_BLOCK=y
|
||||||
|
CONFIG_BLK_SCSI_REQUEST=y
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_MQ_IOSCHED_DEADLINE is not set
|
# CONFIG_MQ_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_MQ_IOSCHED_KYBER is not set
|
# CONFIG_MQ_IOSCHED_KYBER is not set
|
||||||
@ -52,6 +54,11 @@ CONFIG_MTD_CMDLINE_PARTS=y
|
|||||||
# CONFIG_MTD_OF_PARTS is not set
|
# CONFIG_MTD_OF_PARTS is not set
|
||||||
CONFIG_MTD_BLOCK=y
|
CONFIG_MTD_BLOCK=y
|
||||||
CONFIG_MTD_RAW_NAND=y
|
CONFIG_MTD_RAW_NAND=y
|
||||||
|
CONFIG_SCSI=y
|
||||||
|
CONFIG_SCSI_DMA=y
|
||||||
|
CONFIG_SCSI_PROC_FS=y
|
||||||
|
CONFIG_BLK_DEV_SD=y
|
||||||
|
CONFIG_SCSI_LOWLEVEL=y
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
# CONFIG_NET_CORE is not set
|
# CONFIG_NET_CORE is not set
|
||||||
# CONFIG_NET_VENDOR_ALACRITECH is not set
|
# CONFIG_NET_VENDOR_ALACRITECH is not set
|
||||||
@ -369,6 +376,7 @@ CONFIG_SND_SOC_CV182XADAC=y
|
|||||||
CONFIG_SND_SOC_CV1835_USE_AUDIO_PLL=y
|
CONFIG_SND_SOC_CV1835_USE_AUDIO_PLL=y
|
||||||
CONFIG_CV1835_I2S_SUBSYS=y
|
CONFIG_CV1835_I2S_SUBSYS=y
|
||||||
CONFIG_USB=y
|
CONFIG_USB=y
|
||||||
|
CONFIG_USB_STORAGE=y
|
||||||
CONFIG_USB_DWC2=y
|
CONFIG_USB_DWC2=y
|
||||||
CONFIG_USB_GADGET=y
|
CONFIG_USB_GADGET=y
|
||||||
CONFIG_USB_LIBCOMPOSITE=y
|
CONFIG_USB_LIBCOMPOSITE=y
|
||||||
@ -388,6 +396,7 @@ CONFIG_USB_CONFIGFS=y
|
|||||||
CONFIG_USB_CONFIGFS_SERIAL=y
|
CONFIG_USB_CONFIGFS_SERIAL=y
|
||||||
CONFIG_USB_CONFIGFS_RNDIS=y
|
CONFIG_USB_CONFIGFS_RNDIS=y
|
||||||
CONFIG_USB_CONFIGFS_ACM=y
|
CONFIG_USB_CONFIGFS_ACM=y
|
||||||
|
CONFIG_USB_ROLE_SWITCH=y
|
||||||
CONFIG_MMC=y
|
CONFIG_MMC=y
|
||||||
CONFIG_MMC_SDHCI=y
|
CONFIG_MMC_SDHCI=y
|
||||||
CONFIG_MMC_SDHCI_PLTFM=y
|
CONFIG_MMC_SDHCI_PLTFM=y
|
||||||
|
|||||||
@ -12,5 +12,8 @@ int cvi_board_init(void)
|
|||||||
PINMUX_CONFIG(VIVO_D1, IIC4_SCL);
|
PINMUX_CONFIG(VIVO_D1, IIC4_SCL);
|
||||||
PINMUX_CONFIG(VIVO_D0, IIC4_SDA);
|
PINMUX_CONFIG(VIVO_D0, IIC4_SDA);
|
||||||
|
|
||||||
|
// USB
|
||||||
|
PINMUX_CONFIG(USB_VBUS_EN, XGPIOB_5);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,29 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
usb_en=453
|
||||||
|
usb_select=510
|
||||||
|
|
||||||
|
function set_gpio()
|
||||||
|
{
|
||||||
|
local gpio_num=$1
|
||||||
|
local gpio_val=$2
|
||||||
|
local gpio_path="/sys/class/gpio/gpio${gpio_num}"
|
||||||
|
|
||||||
|
if test -d ${gpio_path}; then
|
||||||
|
echo "GPIO ${gpio_num} already exported" >> /tmp/usb.log 2>&1
|
||||||
|
else
|
||||||
|
echo ${gpio_num} > /sys/class/gpio/export
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo out > ${gpio_path}/direction
|
||||||
|
sleep 0.1
|
||||||
|
echo ${gpio_val} > ${gpio_path}/value
|
||||||
|
}
|
||||||
|
|
||||||
|
set_gpio ${usb_select} 1
|
||||||
|
sleep 0.5
|
||||||
|
set_gpio ${usb_en} 1
|
||||||
|
sleep 0.5
|
||||||
|
|
||||||
echo host > /proc/cviusb/otg_role >> /tmp/usb.log 2>&1
|
echo host > /proc/cviusb/otg_role >> /tmp/usb.log 2>&1
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,30 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
usb_en=453
|
||||||
|
usb_select=510
|
||||||
|
|
||||||
|
function set_gpio()
|
||||||
|
{
|
||||||
|
local gpio_num=$1
|
||||||
|
local gpio_val=$2
|
||||||
|
local gpio_path="/sys/class/gpio/gpio${gpio_num}"
|
||||||
|
|
||||||
|
if test -d ${gpio_path}; then
|
||||||
|
echo "GPIO ${gpio_num} already exported" >> /tmp/rndis.log 2>&1
|
||||||
|
else
|
||||||
|
echo ${gpio_num} > /sys/class/gpio/export
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo out > ${gpio_path}/direction
|
||||||
|
sleep 0.1
|
||||||
|
echo ${gpio_val} > ${gpio_path}/value
|
||||||
|
}
|
||||||
|
|
||||||
|
set_gpio ${usb_en} 0
|
||||||
|
sleep 0.5
|
||||||
|
set_gpio ${usb_select} 0
|
||||||
|
sleep 0.5
|
||||||
|
|
||||||
/etc/uhubon.sh device >> /tmp/rndis.log 2>&1
|
/etc/uhubon.sh device >> /tmp/rndis.log 2>&1
|
||||||
/etc/run_usb.sh probe rndis >> /tmp/rndis.log 2>&1
|
/etc/run_usb.sh probe rndis >> /tmp/rndis.log 2>&1
|
||||||
/etc/run_usb.sh start rndis >> /tmp/rndis.log 2>&1
|
/etc/run_usb.sh start rndis >> /tmp/rndis.log 2>&1
|
||||||
|
|||||||
Reference in New Issue
Block a user