This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux的/ DM365DVR-UD1: DM365 does not support high-speed ISO mode?

Part Number: DM365DVR-UD1


Tool/software: Linux

1:Kernel configuration has support uvc(Linux2.6.37),It’s sure that my USB-camera support USB2.0;support YUYV and MJPEG;720P。

2:I tried switching in high speed and full speed mode via  hide this micro definition. (When it is hidden, the kernel runs at full speed, otherwise it runs at high speed.)

linux-2.6.37/drivers/usb/musb/musb_core.c

void musb_start(struct musb *musb)
{
     .....

/* put into basic highspeed mode and start session */
musb_writeb(regs, MUSB_POWER, MUSB_POWER_ISOUPDATE
| MUSB_POWER_SOFTCONN
// | MUSB_POWER_HSENAB
/* ENSUSPEND wedges tusb */
/* | MUSB_POWER_ENSUSPEND */
);

3:At the default high speed,the test application execution shows that the camera supports MJPEG and YUYV two formats, modify the test program capture-format (MJPEG, YUYV) and capture-resolution (640 * 480 and 720p), can be successful. But in the capture image-data will be wrong, in any case can not take pictures, save pictures.

Modify the kernel, the USB transfer rate to full speed, test application execution shows that the camera only supports MJPEG. Modify the application's capture-format and resolution, the results only support MJPEG format and 640 * 480 resolution, otherwise set up unsuccessful. But the application can take pictures, the smooth implementation. That is currently only 640 * 480 MJPEG pictures can be photographed.

4:I also try to modified the fifo_mode,but it does not work,Even in the /dev directory does not generate /dev/video* files

linux-2.6.37/drivers/usb/musb/musb_core.c

#if 1
/* mode 2 - fits in 4KB */
static struct fifo_cfg __initdata mode_2_cfg[] = {
{ .hw_ep_num = 1, .style = FIFO_TX, .maxpacket = 512, }, 
{ .hw_ep_num = 1, .style = FIFO_RX, .maxpacket = 512, }, 
{ .hw_ep_num = 2, .style = FIFO_TX, .maxpacket = 512, },
{ .hw_ep_num = 2, .style = FIFO_RX, .maxpacket = 1024, }, 
{ .hw_ep_num = 3, .style = FIFO_TX, .maxpacket = 512, }, 
{ .hw_ep_num = 3, .style = FIFO_RX, .maxpacket = 512, }, 
{ .hw_ep_num = 4, .style = FIFO_TX, .maxpacket = 256, }, 
{ .hw_ep_num = 4, .style = FIFO_RX, .maxpacket = 128, }, 
};
#endif

5:I doubt that DM365 does not support high-speed ISO model. Online did not see anyone with DM365 drive USB high-definition camera or shoot YUV picture precedent, is that so?Or where do I have problems with the operation?

thanks

  • Hi Steve,

    As per the following links DM36x has ISO, but not in High Bandwidth(meaning buffer size not more than 1024 bytes). It supports a speed of 8MBps, which means ISO available in not only full speed, but high speed, since full speed maximum transfer by specification is 1.5MBps(12Mbps).
    1. e2e.ti.com/.../146847
    2. e2e.ti.com/.../57283

    So it is not possible to stream high resolution with high bitrate in compressed case or RAW data through ISO transfer using DM36x USB. But if stream meets the bandwidth limitation of 8MBps(64Mbps)

    Can you share the kernel error logs for the failure ?