All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Gautam <gautamvivek1987@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 6/7] USB: SS: Add support for Super Speed USB interface
Date: Tue, 2 Apr 2013 15:22:12 +0530	[thread overview]
Message-ID: <CAFp+6iE7LPOzxUQ12i=8TxLoQX6z-K1+VrtLKJ0ROwd44oBNSw@mail.gmail.com> (raw)
In-Reply-To: <201303281535.20404.marex@denx.de>

Hi Marek,


On Thu, Mar 28, 2013 at 8:05 PM, Marek Vasut <marex@denx.de> wrote:
> Dear Vivek Gautam,
>
>> This adds usb framework support for super-speed usb, which will
>> further facilitate to add stack support for xHCI.
>>
>> Signed-off-by: Vikas C Sajjan <vikas.sajjan@samsung.com>
>> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
>
> [...]
>
>> --- a/include/usb.h
>> +++ b/include/usb.h
>> @@ -67,6 +67,16 @@ struct devrequest {
>>       unsigned short  length;
>>  } __attribute__ ((packed));
>>
>> +struct usb_ep_desc {
>> +     struct usb_endpoint_descriptor          ep_desc;
>> +     /*
>> +      * Super Speed Device will have Super Speed Endpoint
>> +      * Companion Descriptor  (section 9.6.7 of usb 3.0 spec)
>> +      * Revision 1.0 June 6th 2011
>> +      */
>> +     struct usb_ss_ep_comp_descriptor        ss_ep_comp;
>> +};
>> +
>>  /* Interface */
>>  struct usb_interface {
>>       struct usb_interface_descriptor desc;
>> @@ -75,7 +85,7 @@ struct usb_interface {
>>       unsigned char   num_altsetting;
>>       unsigned char   act_altsetting;
>>
>> -     struct usb_endpoint_descriptor ep_desc[USB_MAXENDPOINTS];
>> +     struct usb_ep_desc ep_desc[USB_MAXENDPOINTS];
>
> Do we really need this struct usb_ep_desc? Can we not just store the
> usb_ss_ep_comp_descriptor here as well?

Yea, possibly we can add "usb_ss_ep_comp_descriptor" in
'usb_interface' itself only.
Also quoting USB 3.0 specs:
"SuperSpeed devices shall return Endpoint Companion descriptors
for each of the endpoints in that interface to return additional
information about its endpoint
capabilities. The Endpoint Companion descriptor shall immediately
follow the endpoint descriptor
it is associated with in the configuration information."

Will update this accordingly.

>
>>  } __attribute__ ((packed));
>>
>>  /* Configuration information.. */
>> diff --git a/include/usb_defs.h b/include/usb_defs.h
>> index 0c78d9d..e2aaef3 100644
>> --- a/include/usb_defs.h
>> +++ b/include/usb_defs.h
>> @@ -203,6 +203,8 @@
>>  #define USB_PORT_FEAT_POWER          8
>>  #define USB_PORT_FEAT_LOWSPEED       9
>>  #define USB_PORT_FEAT_HIGHSPEED      10
>> +#define USB_PORT_FEAT_FULLSPEED      11
>> +#define USB_PORT_FEAT_SUPERSPEED     12
>>  #define USB_PORT_FEAT_C_CONNECTION   16
>>  #define USB_PORT_FEAT_C_ENABLE       17
>>  #define USB_PORT_FEAT_C_SUSPEND      18
>> @@ -218,8 +220,20 @@
>>  #define USB_PORT_STAT_POWER         0x0100
>>  #define USB_PORT_STAT_LOW_SPEED     0x0200
>>  #define USB_PORT_STAT_HIGH_SPEED    0x0400   /* support for EHCI */
>> +#define USB_PORT_STAT_FULL_SPEED    0x0800
>> +#define USB_PORT_STAT_SUPER_SPEED   0x1000   /* support for XHCI */
>>  #define USB_PORT_STAT_SPEED  \
>> -     (USB_PORT_STAT_LOW_SPEED | USB_PORT_STAT_HIGH_SPEED)
>> +     (USB_PORT_STAT_LOW_SPEED | USB_PORT_STAT_HIGH_SPEED | \
>> +     USB_PORT_STAT_FULL_SPEED | USB_PORT_STAT_SUPER_SPEED)
>> +
>> +/*
>> + * Additions to wPortStatus bit field from USB 3.0
>> + * See USB 3.0 spec Table 10-10
>> + */
>> +#define USB_PORT_STAT_LINK_STATE     0x01e0
>> +#define USB_SS_PORT_STAT_POWER               0x0200
>> +#define USB_SS_PORT_STAT_SPEED               0x1c00
>> +#define USB_PORT_STAT_SPEED_5GBPS    0x0000
>>
>>  /* wPortChange bits */
>>  #define USB_PORT_STAT_C_CONNECTION  0x0001
>> @@ -228,6 +242,14 @@
>>  #define USB_PORT_STAT_C_OVERCURRENT 0x0008
>>  #define USB_PORT_STAT_C_RESET       0x0010
>>
>> +/*
>> + * Addition to wPortChange bit fields form USB 3.0
>> + * See USB 3.0 spec Table 10-11
>> + */
>> +#define USB_PORT_STAT_C_BH_RESET     0x0020
>> +#define USB_PORT_STAT_C_LINK_STATE   0x0040
>> +#define USB_PORT_STAT_C_CONFIG_ERROR 0x0080
>> +
>>  /* wHubCharacteristics (masks) */
>>  #define HUB_CHAR_LPSM               0x0003
>>  #define HUB_CHAR_COMPOUND           0x0004


-- 
Thanks & Regards
Vivek

  reply	other threads:[~2013-04-02  9:52 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-27  9:28 [U-Boot] [PATCH 0/7] usb: ss: Some fixes and cleanup for USB super-speed support Vivek Gautam
2013-03-27  9:28 ` [U-Boot] [PATCH 1/7] USB: Some cleanup prior to USB 3.0 interface addition Vivek Gautam
2013-03-28 14:26   ` Marek Vasut
2013-04-02  5:54     ` Vivek Gautam
2013-04-02  5:56       ` Vivek Gautam
2013-04-02  6:26       ` Marek Vasut
2013-04-02  6:37         ` Vivek Gautam
2013-04-02  6:46           ` Marek Vasut
2013-04-02  6:58             ` Vivek Gautam
2013-03-27  9:28 ` [U-Boot] [PATCH 2/7] usb: hub: Conditionally power on usb's root-hub ports Vivek Gautam
2013-03-28 14:28   ` Marek Vasut
2013-04-02  9:36     ` Vivek Gautam
2013-04-02 10:09       ` Marek Vasut
2013-04-02 10:29         ` Vivek Gautam
2013-04-02 10:33           ` Marek Vasut
2013-03-27  9:28 ` [U-Boot] [PATCH 3/7] usb: Update device class in usb device's descriptor Vivek Gautam
2013-03-28 14:28   ` Marek Vasut
2013-04-02  9:32     ` Vivek Gautam
2013-04-02 10:09       ` Marek Vasut
2013-04-02 10:30         ` Vivek Gautam
2013-03-27  9:29 ` [U-Boot] [PATCH 4/7] usb: hub: Fix enumration timeout Vivek Gautam
2013-03-28  3:33   ` Vipin Kumar
2013-04-01 20:13   ` Tom Rini
2013-04-02  4:55     ` Vivek Gautam
2013-04-02  5:12       ` Marek Vasut
2013-04-02  5:34         ` Vivek Gautam
2013-04-02  5:36           ` Vivek Gautam
2013-04-02  6:43             ` Marek Vasut
2013-03-27  9:29 ` [U-Boot] [PATCH 5/7] usb: hub: Increase device enumeration timeout for broken drives Vivek Gautam
2013-03-28 14:32   ` Marek Vasut
2013-04-02  9:33     ` Vivek Gautam
2013-04-02 13:53     ` Vivek Gautam
2013-04-04  3:58       ` Marek Vasut
2013-04-04 10:57         ` Vivek Gautam
2013-04-14 17:17           ` Marek Vasut
2013-03-27  9:29 ` [U-Boot] [PATCH 6/7] USB: SS: Add support for Super Speed USB interface Vivek Gautam
2013-03-28 14:35   ` Marek Vasut
2013-04-02  9:52     ` Vivek Gautam [this message]
2013-03-27  9:29 ` [U-Boot] [PATCH 7/7] usb: eth: Fix for updated usb interface descriptor structure Vivek Gautam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAFp+6iE7LPOzxUQ12i=8TxLoQX6z-K1+VrtLKJ0ROwd44oBNSw@mail.gmail.com' \
    --to=gautamvivek1987@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.