[U-Boot-Users] [PATCH 1/1] Supplemental USB patch to previous 14 patches.

Greetings list. This is a supplemental patch to the 14 patches sent on the 26/05/06. It implements the various changes to the patch set that I had with Yuli Barcohen yesterday.
Let me know if further changes are required.
Best Regards, Bryan
Signed-off-by: Bryan O'Donoghue
This patchset is a supplemental to the previous submitted USB patches. The notable change here is that as a default VendorID/ProductID topology U-Boot is pretending to be Linux, which should be fine, since in U-Boot gserial and cdc_acm are protocol compatible with Linux and ostensibly we should be booting to Linux anyway, as was discussed on the mailing list recently.
modified: CHANGELOG Update to the CHANGELOG.
modified: Makefile Add AdderUSB to the top-level Makefile
modified: README Ammend README to fix a typo and to give updated description of the functioning of the USB console as it is implemented currently in U-Boot
modified: drivers/usbdcore_mpc8xx.c Fix a funny in this file that I noticed after submission to the list 0xFF000000 should say CFG_IMMR.
modified: drivers/usbtty.c Slight change to the preceeding patch to switch to the new way to define Vendor/Product ids from either BoardName.h or to hook the default Linux ids.
modified: drivers/usbtty.h Defines for the standard Linux Vendor/Product ids have been added to this header. gserial and cdc_acm are protocol compatible with the Linux version of the same, so this change should be fine.
modified: include/configs/Adder.h Rolls back patch 06/14 from May 26th submission, in favour of include/configs/AdderUSB.h
new file: include/configs/AdderUSB.h Simple wrapper header to facilitate a super-set of the Adder87x port, switching on the USB console.
---
CHANGELOG | 5 +++- Makefile | 5 +++- README | 41 ++++++++++++++++++++++------------- drivers/usbdcore_mpc8xx.c | 8 +++---- drivers/usbtty.c | 14 +++++++++--- drivers/usbtty.h | 14 ++++++++++++ include/configs/Adder.h | 17 --------------- include/configs/AdderUSB.h | 51 ++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 112 insertions(+), 43 deletions(-) create mode 100644 include/configs/AdderUSB.h
41469d4a6ea4030c262f5d0f363d9515543c415e diff --git a/CHANGELOG b/CHANGELOG --- a/CHANGELOG +++ b/CHANGELOG @@ -10,8 +10,9 @@ Changes since U-Boot 1.1.4: - Minor changes to usbdcore_omap1510.c usbdcore_omap1510.h - Update usbcore slightly to ease host enumeration. - Fix non-portable endian problems in usbdcore and usbdcore_ep0. - - Switch on USB device as default in Adder_config - Patch by Bryan O'Donoghue bodonoghue@codehermit.ie, 26 May 2006 + - Add AdderUSB_config as a defconfig to enable usage of the USB console + by default with the Adder87x U-Boot port. + Patch by Bryan O'Donoghue bodonoghue@codehermit.ie, 29 May 2006
* Update Intel IXP4xx support - Add IXP4xx NPE ethernet MAC support diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -58,7 +58,7 @@ ifeq ($(HOSTARCH),ppc) CROSS_COMPILE = else ifeq ($(ARCH),ppc) -CROSS_COMPILE = powerpc-linux- +CROSS_COMPILE = ppc_8xx- endif ifeq ($(ARCH),arm) CROSS_COMPILE = arm-linux- @@ -437,6 +437,9 @@ AdderII_config \ @echo "#define CONFIG_MPC852T" > include/config.h) @./mkconfig -a Adder ppc mpc8xx adder
+AdderUSB_config: unconfig + @./mkconfig -a AdderUSB ppc mpc8xx adder + ADS860_config \ FADS823_config \ FADS850SAR_config \ diff --git a/README b/README --- a/README +++ b/README @@ -873,9 +873,10 @@ The following options need to be configu Common Device Class Abstract Control Model serial device. If you select usbtty = gserial you should be able to enumerate a Linux host by - # modprobe gserial vendor=0xVendorID product=0xProductID - else if using cdc_acm you simply setting the environment - variable usbtty to be cdc_acm should suffice. + # modprobe usbserial vendor=0xVendorID product=0xProductID + else if using cdc_acm, simply setting the environment + variable usbtty to be cdc_acm should suffice. The following + might be defined in YourBoardName.h CONFIG_USB_DEVICE Define this to build a UDC device @@ -883,6 +884,26 @@ The following options need to be configu CONFIG_USB_TTY Define this to have a tty type of device available to talk to the UDC device + + CFG_CONSOLE_IS_IN_ENV + Define this if you want stdin, stdout &/or stderr to + be set to usbtty. + + mpc8xx: + CFG_USB_EXTC_CLK 0xBLAH + Derive USB clock from external clock "blah" + - CFG_USB_EXTC_CLK 0x02 + + CFG_USB_BRG_CLK 0xBLAH + Derive USB clock from brgclk + - CFG_USB_BRG_CLK 0x04 + + If you have a USB-IF assigned VendorID then you may wish to + define your own vendor specific values either in BoardName.h + or directly in usbd_vendor_info.h. If you don't define + CONFIG_USBD_MANUFACTURER, CONFIG_USBD_PRODUCT_NAME, + CONFIG_USBD_VENDORID and CONFIG_USBD_PRODUCTID, then U-Boot + should pretend to be a Linux device to it's target host.
CONFIG_USBD_MANUFACTURER Define this string as the name of your company for @@ -903,19 +924,7 @@ The following options need to be configu for your device - CONFIG_USBD_PRODUCTID 0xFFFF - CFG_CONSOLE_IS_IN_ENV - Define this if you want stdin, stdout &/or stderr to - be set to usbtty automatically. - - mpc8xx: - CFG_USB_EXTC_CLK 0xBLAH - Derive USB clock from external clock "blah" - - CFG_USB_EXTC_CLK 0x02 - - CFG_USB_BRG_CLK 0xBLAH - Derive USB clock from brgclk - - CFG_USB_BRG_CLK 0x04 - + - MMC Support: The MMC controller on the Intel PXA is supported. To enable this define CONFIG_MMC. The MMC can be diff --git a/drivers/usbdcore_mpc8xx.c b/drivers/usbdcore_mpc8xx.c --- a/drivers/usbdcore_mpc8xx.c +++ b/drivers/usbdcore_mpc8xx.c @@ -754,7 +754,7 @@ static void mpc8xx_udc_advance_rx(volati { if((*rx_cbdp)->cbd_sc & RX_BD_W){ *rx_cbdp = (volatile cbd_t*) - (endpoints[epid]->rbase + 0xFF000000); + (endpoints[epid]->rbase + CFG_IMMR); }else{ (*rx_cbdp)++; @@ -782,7 +782,7 @@ static void mpc8xx_udc_flush_tx_fifo(int usbp->uscom = 0x40 | 0; /* reset ring */ - tx_cbdp = (cbd_t*)(endpoints[epid]->tbptr + 0xFF000000); + tx_cbdp = (cbd_t*)(endpoints[epid]->tbptr + CFG_IMMR); tx_cbdp->cbd_sc = (TX_BD_I | TX_BD_W);
@@ -887,7 +887,7 @@ static int mpc8xx_udc_ep_tx (struct usb_ }
ep = epi->endpoint_address & 0x03; - tx_cbdp = (cbd_t*)(endpoints[ep]->tbptr + 0xFF000000); + tx_cbdp = (cbd_t*)(endpoints[ep]->tbptr + CFG_IMMR); if(tx_cbdp->cbd_sc&TX_BD_R || usbp->usber&USB_E_TXB){ mpc8xx_udc_flush_tx_fifo(ep); @@ -904,7 +904,7 @@ static int mpc8xx_udc_ep_tx (struct usb_ return -1; }
- tx_cbdp = (cbd_t*)(endpoints[ep]->tbptr + 0xFF000000); + tx_cbdp = (cbd_t*)(endpoints[ep]->tbptr + CFG_IMMR); while(tx_cbdp->cbd_sc&TX_BD_R){}; tx_cbdp->cbd_sc = (tx_cbdp->cbd_sc&TX_BD_W); diff --git a/drivers/usbtty.c b/drivers/usbtty.c --- a/drivers/usbtty.c +++ b/drivers/usbtty.c @@ -30,15 +30,20 @@ #include "usbtty.h" #include "usb_cdc_acm.h" #include "usbdescriptors.h" +#include <config.h> /* If defined, override Linux identifiers with + * vendor specific ones */
#if 0 -#define TTYDBG(fmt,args...) serial_printf("[%s] %s %d: "fmt, __FILE__,__FUNCTION__,__LINE__,##args) +#define TTYDBG(fmt,args...)\ + serial_printf("[%s] %s %d: "fmt, __FILE__,__FUNCTION__,__LINE__,##args) #else #define TTYDBG(fmt,args...) do{}while(0) #endif
#if 1 -#define TTYERR(fmt,args...) serial_printf("ERROR![%s] %s %d: "fmt, __FILE__,__FUNCTION__,__LINE__,##args) +#define TTYERR(fmt,args...)\ + serial_printf("ERROR![%s] %s %d: "fmt, __FILE__,__FUNCTION__,\ + __LINE__,##args) #else #define TTYERR(fmt,args...) do{}while(0) #endif @@ -123,7 +128,6 @@ static struct usb_device_descriptor devi .bDeviceProtocol = 0x00, .bMaxPacketSize0 = EP0_MAX_PACKET_SIZE, .idVendor = cpu_to_le16(CONFIG_USBD_VENDORID), - .idProduct = cpu_to_le16(CONFIG_USBD_PRODUCTID), .bcdDevice = cpu_to_le16(USBTTY_BCD_DEVICE), .iManufacturer = STR_MANUFACTURER, .iProduct = STR_PRODUCT, @@ -742,6 +746,8 @@ static void usbtty_init_terminal_type(sh /* Enumerate Device Descriptor */ device_descriptor.bDeviceClass = COMMUNICATIONS_DEVICE_CLASS; + device_descriptor.idProduct = + cpu_to_le16(CONFIG_USBD_PRODUCTID_CDCACM);
/* Assign endpoint indices */ tx_endpoint = ACM_TX_ENDPOINT; @@ -769,6 +775,8 @@ static void usbtty_init_terminal_type(sh
/* Enumerate Device Descriptor */ device_descriptor.bDeviceClass = 0xFF; + device_descriptor.idProduct = + cpu_to_le16(CONFIG_USBD_PRODUCTID_GSERIAL);
/* Assign endpoint indices */ tx_endpoint = GSERIAL_TX_ENDPOINT; diff --git a/drivers/usbtty.h b/drivers/usbtty.h --- a/drivers/usbtty.h +++ b/drivers/usbtty.h @@ -2,6 +2,9 @@ * (C) Copyright 2003 * Gerry Hamel, geh@ti.com, Texas Instruments * + * (C) Copyright 2006 + * Bryan O'Donoghue, bodonoghue@codehermit.ie, CodeHermit + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -28,6 +31,17 @@ #include "usbdcore_omap1510.h" #endif
+#include <version_autogenerated.h> + +/* If no VendorID/ProductID is defined in config.h, pretend to be Linux + * DO NOT Reuse this Vendor/Product setup with protocol incompatible devices */ + +#define CONFIG_USBD_VENDORID 0x0525 /* Linux/NetChip */ +#define CONFIG_USBD_PRODUCTID_GSERIAL 0xa4a6 /* gserial */ +#define CONFIG_USBD_PRODUCTID_CDCACM 0xa4a7 /* CDC ACM */ +#define CONFIG_USBD_MANUFACTURER "Das U-Boot" +#define CONFIG_USBD_PRODUCT_NAME U_BOOT_VERSION +
#define CONFIG_USBD_CONFIGURATION_STR "TTY via USB"
diff --git a/include/configs/Adder.h b/include/configs/Adder.h --- a/include/configs/Adder.h +++ b/include/configs/Adder.h @@ -5,9 +5,6 @@ * Support for Analogue&Micro Adder boards family. * Tested on AdderII and Adder87x. * - * Add USB console as default option. - * Bryan O'Donoghue bodonoghue@codehermit.ie - * * See file CREDITS for list of people who contributed to this * project. * @@ -41,20 +38,6 @@ #define CONFIG_ETHER_ON_FEC1 #define CONFIG_ETHER_ON_FEC2
-#if 1 -#define CONFIG_USB_DEVICE /* Include UDC driver */ -#define CONFIG_USB_TTY /* Bind the TTY driver to UDC */ -#define CONFIG_USBD_MANUFACTURER "CodeHermit.ie" -#define CONFIG_USBD_PRODUCT_NAME "Das U-Boot" -/* Never use the next two defines in any production system */ -#define CONFIG_USBD_VENDORID 0xFFFF /* Some mythical vendor */ -#define CONFIG_USBD_PRODUCTID 0xFFFF /* Some mythical device */ - -#define CFG_USB_EXTC_CLK 0x02 /* Oscillator on EXTC_CLK 2 */ -#define CFG_USB_BRG_CLK 0x04 /* or use Baud rate generator 0x04 */ -#define CFG_CONSOLE_IS_IN_ENV -#endif - #if defined(CONFIG_ETHER_ON_FEC1) || defined(CONFIG_ETHER_ON_FEC2) #define CFG_DISCOVER_PHY #define FEC_ENET diff --git a/include/configs/AdderUSB.h b/include/configs/AdderUSB.h new file mode 100644 --- /dev/null +++ b/include/configs/AdderUSB.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2006 CodeHermit. + * Bryan O'Donoghue bodonoghue@codehermit.ie + * + * Provides support for USB console on the Analogue & Micro Adder87x + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#ifndef __ADDERUSB__ +#define __ADDERUSB__ + +/* Include the board port */ +#include "Adder.h" + +#define CONFIG_USB_DEVICE /* Include UDC driver */ +#define CONFIG_USB_TTY /* Bind the TTY driver to UDC */ +#define CFG_USB_EXTC_CLK 0x02 /* Oscillator on EXTC_CLK 2 */ +#define CFG_USB_BRG_CLK 0x04 /* or use Baud rate generator 0x04 */ +#define CFG_CONSOLE_IS_IN_ENV /* Console is in env */ + +/* If you have a USB-IF assigned VendorID then you may wish to define + * your own vendor specific values either in BoardName.h or directly in + * usbd_vendor_info.h + */ + +/* +#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 +*/ + +#endif /* __ADDERUSB_H__ */

Bryan O'Donoghue writes:
Bryan> Greetings list. This is a supplemental patch to the 14 Bryan> patches sent on the 26/05/06. It implements the various Bryan> changes to the patch set that I had with Yuli Barcohen Bryan> yesterday.
I'm afraid it's not exactly what we discussed. Please see below.
Bryan> Let me know if further changes are required.
Bryan> diff --git a/Makefile b/Makefile Bryan> --- a/Makefile Bryan> +++ b/Makefile Bryan> @@ -58,7 +58,7 @@ ifeq ($(HOSTARCH),ppc) Bryan> CROSS_COMPILE = else ifeq ($(ARCH),ppc) Bryan> -CROSS_COMPILE = powerpc-linux- Bryan> +CROSS_COMPILE = ppc_8xx-
I don't think changing default compiler for ALL PowerPC targets was your intention.
Bryan> endif ifeq ($(ARCH),arm) CROSS_COMPILE = arm-linux- Bryan> @@ -437,6 +437,9 @@ AdderII_config \ Bryan> @echo "#define CONFIG_MPC852T" > include/config.h) Bryan> @./mkconfig -a Adder ppc mpc8xx adder
Bryan> +AdderUSB_config: unconfig Bryan> + @./mkconfig -a AdderUSB ppc mpc8xx adder Bryan> +
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. 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
and 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
and so on. Hopefully we can use Linux IDs (NetChip) instead of 0xFFFF as the defaults.

On Tue, 30 May 2006 21:09:11 +0300 Yuli Barcohen yuli@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

In message 20060530225053.7575ab34@localhost.localdomain you wrote:
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 ?
Please hold on for a minute. The Makefile's purpose is to define dependencies. It is actually not the place to put code and configuration trickery there. Yes, I know, this is already in use with other boards, but I would like to ask you to use such features only when absolutely necessary.
If you just define a new make target name this is simple and readable (just a single word in the Makefile), and can be evaluated in the board config file instead.
Best regards,
Wolfgang Denk

On Wed, 31 May 2006 01:59:51 +0200 Wolfgang Denk wd@denx.de wrote:
Hello Wolfgang.
Please hold on for a minute. The Makefile's purpose is to define dependencies. It is actually not the place to put code and configuration trickery there. Yes, I know, this is already in use with other boards, but I would like to ask you to use such features only when absolutely necessary.
OK I'll implement this whichever way is your preference.
I had made this addition to the Makefile as at last night's conversation
Adder_config \ Adder87x_config \ AdderII_config \ +AdderUSB_config \ +Adder87xUSB_config \ +AdderIIUSB_config \ : unconfig $(if $(findstring AdderII,$@), \ @echo "#define CONFIG_MPC852T" > include/config.h) + $(if $(findstring USB,$@),\ + @echo "#define CONFIG_USB_TTY" >> include/config.h) @./mkconfig -a Adder ppc mpc8xx adder
with the following in Adder.h
/* USB TTY */ #ifdef CONFIG_USB_TTY
#include <usbd_vendor.h> /* Include optional Vendor info */ #define CFG_USB_EXTC_CLK 0x02 /* Oscillator on EXTC_CLK 2 */ #define CFG_USB_BRG_CLK 0x04 /* or use Baud rate generator 0x04 */ #define CFG_CONSOLE_IS_IN_ENV /* Console is in env */
#endif
If you just define a new make target name this is simple and readable (just a single word in the Makefile), and can be evaluated in the board config file instead.
Hmm, I don't really understand how this would work, i.e. if the conditional include CONFIG_USB_TTY or other *doesn't* go into config.h then how does Adder.h know whether or not to include the console code?
Bryan
participants (3)
-
Bryan O'Donoghue
-
Wolfgang Denk
-
Yuli Barcohen