[U-Boot-Users] [PATCH 1/1] Supplemental USB patch to previous 14 patches.
Bryan O'Donoghue
bodonoghue at codehermit.ie
Tue May 30 23:50:53 CEST 2006
On Tue, 30 May 2006 21:09:11 +0300
Yuli Barcohen <yuli at arabellasw.com> wrote:
> Bryan> -CROSS_COMPILE = powerpc-linux-
> Bryan> +CROSS_COMPILE = ppc_8xx-
>
Blink. How the hell did that get in there ?
> I didn't mean to add entirely new board target. I think a new target
> should be added to the existing Adder targets which would add a #define
> for USB console just like "#define CONFIG_MPC852T" is added for
> AdderII.
Actually I think that makes more sense then adding AdderUSB as the supplemental
patch does. I concur, this is definitely the more generic/portable way
to do this. I'll generate another supplemental patch in lieu of the previous
patch, which implements the above.
> Conditional on this #define, BoardName.h can include
> usbd_vendor.h which we decided to create. In the current version of your
> patch, it's exactly opposite: usbd_vendor.h (AdderUSB.h in our case)
> includes BoardName.h (Adder.h). This means that for every board wishing
> to support USB console you have to create another BoardNameUSB.h (which
> is a clone of AdderUSB.h). What's about creating CodeHermit.h containing
> something like this:
>
> #define CONFIG_USB_DEVICE /* Include UDC driver */
> #define CFG_USB_EXTC_CLK 0x02 /* Oscillator on EXTC_CLK 2 */
> #define CFG_USB_BRG_CLK 0x04
> #define CFG_CONSOLE_IS_IN_ENV
> #define CONFIG_USBD_MANUFACTURER "CodeHermit.ie"
> #define CONFIG_USBD_PRODUCT_NAME "Das U-Boot"
> #define CONFIG_USBD_VENDORID 0xFFFF
> #define CONFIG_USBD_PRODUCTID_GSERIAL 0xFFFF
> #define CONFIG_USBD_PRODUCTID_CDCACM 0xFFFE
> adding to Adder.h
>
> #ifdef CONFIG_USB_TTY
> #include <CodeHermit.h>
> #endif
>
> "#define CONFIG_USB_TTY" would be added by the configuration target in
> the Makefile. Any other board can then include CodeHermit.h
> unchanged. To allow IDs overwriting, you can even use the following in
> CodeHermit.h:
>
> #ifndef CONFIG_USBD_VENDORID
> #define CONFIG_USBD_VENDORID 0xFFFF
> #endif
Right. I have a suggestion, which if it is agreeable to you and everybody else
I will generate a new full supplemental patchset based upon.
1: For Adder ports, the Makefile shall be amended to optionally add
CONFIG_USB_TTY to config.h as CONFIG_MPC852T is added by make AdderII_config.
This will provisionally imply an appendation of USB to the config name. Hence
three new values should be added to Makefile AdderUSB_config,
Adder87xUSB_config and AdderIIUSB_config. - Do all these boards have USB
facility ?
2: include/usbd_vendor.h shall be created. This will look almost exactly like
the following.
#define CONFIG_USB_DEVICE /* Include UDC driver */
#define CFG_CONSOLE_IS_IN_ENV
/*
* Include your own Vendor specific defines here if you have been allocated a
* Vendor ID from the USB Implementors Forum. www.usb.org else DO NOT POLLUTE
* THE USB NAMESPACE !
*
* #define CONFIG_USBD_MANUFACTURER "CodeHermit.ie"
* #define CONFIG_USBD_PRODUCT_NAME "Das U-Boot"
* #define CONFIG_USBD_VENDORID 0xFFFF
* #define CONFIG_USBD_PRODUCTID_GSERIAL 0xFFFF
* #define CONFIG_USBD_PRODUCTID_CDCACM 0xFFFE
*/
If at a later date for argument sake, we were to implement RNDIS then the
appropiate thing to do would be to add an optional
CONFIG_USBD_PRODUCTID_RNDIS entry to usbd_vendor.h, with defaults for RNDIS
values residing in usbrndis.h, thus maintaining the structure established
with usbtty, thus far.
3: Adder.h shall be ammended with the following text in
a rational place.
#ifdef CONFIG_USB_TTY
#include <usbd_vendor.h>
#define CFG_USB_EXTC_CLK 0x02 /* Oscillator on EXTC_CLK 2 */
#define CFG_USB_BRG_CLK 0x04 /* Or optionally on brgc4 */
#endif
I think CFG_USB_*BLAH* above shoudln't be in usbd_vendor.h for the case
where the USB console is being compiled for a non 8xx port, say the omap1510/SX1
port, hence the two CFG options above should probably be board specific.
4:
usbtty.c shall stay pretty much the same.
usbtty.h - Shall be included in usbtty.c. CONFIG_USBD_VENDORID,
CONFIG_USBD_PRODUCTID_GSERIAL will default to Linux values
config.h - Shall be included subsequent to usbtty.h, thus facilitating
over-riding of default VENDORID/PRODUCTID values from Linux specific values to
Vendor specific values.
I think that with this in place we pretty much do all that needs to be done.
If everybody else is in agreement, I can have these changes made in <= 10
minutes.
Let me know what you think.
Best Regards,
Bryan
More information about the U-Boot
mailing list