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
next prev parent 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.