[U-Boot-Users] [PATCH 6/14] Add USB console support as default on Adder87x board
yuli at arabellasw.com
Sun May 28 19:53:58 CEST 2006
>>>>> Bryan O'Donoghue writes:
Bryan> On Sun, 28 May 2006 18:41:14 +0300 Yuli Barcohen
Bryan> <yuli at arabellasw.com> wrote:
Bryan> +#define CONFIG_USB_DEVICE /* Include UDC driver */
Bryan> +#define CONFIG_USB_TTY /* Bind the TTY driver to UDC */
Bryan> +#define CONFIG_USBD_MANUFACTURER "CodeHermit.ie"
Bryan> +#define CONFIG_USBD_PRODUCT_NAME "Das U-Boot"
Yuli> The values above are not Adder-specific. Do they need to be
Yuli> copied to configuration files of every board which uses USB
Bryan> Yes they do. CONFIG_USB_DEVICE controls usbdcore_mpc8xx and
Bryan> CONFIG_USB_TTY binds usbtty to usbdcore_mpc8xx, the idea
Bryan> being that somebody might want to support a different sort of
Bryan> high level USB device instead of a console, perhaps,
Bryan> cdc_ethernet or rndis. In such a case CONFIG_USB_DEVICE would
Bryan> be defined but, something like CONFIG_USB_ETHERNET or
Bryan> CONFIG_USB_RNDIS might be defined, instead of CONFIG_USB_TTY.
Bryan> CONFIG_USBD_MANUFACTURER would be something like
Bryan> "CodeHermit", "Arabella Software" or "Acme" and then
Bryan> CONFIG_USBD_PRODUCT_NAME would be a product name "Acme
Bryan> Product X", so this would usually be very product specific
Bryan> and vendor specific. Since all board-specific configurations
Bryan> are kept in the BoardName.h file, my thought was that this
Bryan> was the appropiate place to define these values.
I'm afraid in most cases they just will be cloned from board to board so
I thought it's better to have them in a separate USB-specific file. The
defaults always can be overwritten by board-specific values from
Yuli> I think that default values (manufacturer, name, IDs mentioned
Yuli> below) should be defined in a common driver-specific file.
Bryan> If we had use of a Vendor id and two product ids, then would
Bryan> could have a default set of values here, as Linux does.
Bryan> However in the absence of a generous company giving U-Boot a
Bryan> VendorID for use with 'n' product id's it wouldn't really be
Bryan> possible for the above values be a default as such.
Not sure I understood why can't we use default IDs from the Linux USB
gadget driver generously donated by NetChip? I suspect that in most
cases in which U-Boot USB console is used, Linux USB serial device will
be used too so it would make sense to have the same IDs.
Bryan> However I can see some logic to the argument that someone
Bryan> like Arabella might want to have a usbd_vendor.h file, so
Bryan> that multiple vendors could be supported by a board port.
Bryan> +/* Never use the next two defines in any production system
Yuli> So why do you use them as default configuration for any Adder
Bryan> Indeed. Really one should have a Vendor ID, from the USB
Bryan> Implementors Forum, 0xFFFF and 0xFFFF are unassigned and are
Bryan> defined as place holders, which is why the patch to README
Bryan> states that these values need to be defined on a per-vendor
Bryan> basis. For example were my day-job company to use U-Boot with
Bryan> a USB console in a product, we'd define Vendor to 0x1865 and
Bryan> Product to 0xANumber.
Yuli> With such defaults, the sources always must be changed before
Yuli> build. I'd suggest adding another configuration target to the
Yuli> main Makefile for building Adder U-Boot with USB console.
Bryan> OK. How about if we say that
Bryan> 1) An AdderUSBCons defconfig will be made and
Bryan> 2) A usbd_vendor.h file shall be created, where the _Vendor_
Bryan> specific defines to the USB console will be defined, thus
Bryan> decoupling the board port from being tied to any specific
Bryan> CONFIG_USBD_MANUFACTURER and so on ?
Sounds OK to me.
Bryan> If this is acceptable to you and everybody else, I'll do that
Bryan> straight away.
Yuli Barcohen | Phone +972-9-765-1788 | Software Project Leader
yuli at arabellasw.com | Fax +972-9-765-7494 | Arabella Software, Israel
More information about the U-Boot