On Mon, 5 May 2014, Amit Virdi wrote:
> Interrupt endpoints behave quite similar to the bulk endpoints with the
> difference that the endpoints expect data sending/reception request at
> particular intervals till the whole data has not been transmitted.
>
> The interrupt EP support is added to gadget zero. A new alternate setting (=2)
> has been added. It has 2 interrupt endpoints. The default parameters are set
> as:
> bInterval: 4
> wMaxPacketSize: 1024
The default size should be the maximum allowed for the current speed.
> The code is tested for HS and SS on a platform having DWC3 controller.
> +static struct usb_endpoint_descriptor fs_int_source_desc = {
> + .bLength = USB_DT_ENDPOINT_SIZE,
> + .bDescriptorType = USB_DT_ENDPOINT,
> +
> + .bEndpointAddress = USB_DIR_IN,
> + .bmAttributes = USB_ENDPOINT_XFER_INT,
> + .wMaxPacketSize = cpu_to_le16(1023),
> + .bInterval = 4,
> +};
> +
> +static struct usb_endpoint_descriptor fs_int_sink_desc = {
> + .bLength = USB_DT_ENDPOINT_SIZE,
> + .bDescriptorType = USB_DT_ENDPOINT,
> +
> + .bEndpointAddress = USB_DIR_OUT,
> + .bmAttributes = USB_ENDPOINT_XFER_INT,
> + .wMaxPacketSize = cpu_to_le16(1023),
> + .bInterval = 4,
> +};
The maximum interrupt packet size for full speed is 64, not 1023.
> + /* sanity check the interrupt module parameters */
> + if (int_interval < 1)
> + int_interval = 1;
> + if (int_interval > 16)
> + int_interval = 16;
Interrupt intervals for full-speed are specified in frames, not in
exponential form. The maximum allowed value is 255.
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html