Merge branch 'master' of git://git.denx.de/u-boot-usb

This commit is contained in:
Wolfgang Denk 2008-12-09 22:30:11 +01:00
commit 695a5f339a
5 changed files with 30 additions and 19 deletions

View file

@ -22,16 +22,14 @@
*/ */
#include <common.h> #include <common.h>
#include <config.h>
#include <circbuf.h> #include <circbuf.h>
#include <devices.h> #include <devices.h>
#include "usbtty.h" #include "usbtty.h"
#include "usb_cdc_acm.h" #include "usb_cdc_acm.h"
#include "usbdescriptors.h" #include "usbdescriptors.h"
#include <config.h> /* If defined, override Linux identifiers with
* vendor specific ones */
#if 0 #ifdef DEBUG
#define TTYDBG(fmt,args...)\ #define TTYDBG(fmt,args...)\
serial_printf("[%s] %s %d: "fmt, __FILE__,__FUNCTION__,__LINE__,##args) serial_printf("[%s] %s %d: "fmt, __FILE__,__FUNCTION__,__LINE__,##args)
#else #else

View file

@ -24,11 +24,11 @@
#ifndef __USB_TTY_H__ #ifndef __USB_TTY_H__
#define __USB_TTY_H__ #define __USB_TTY_H__
#include "usbdcore.h" #include <usbdcore.h>
#if defined(CONFIG_PPC) #if defined(CONFIG_PPC)
#include "usbdcore_mpc8xx.h" #include <usbdcore_mpc8xx.h>
#elif defined(CONFIG_ARM) #elif defined(CONFIG_ARM)
#include "usbdcore_omap1510.h" #include <usbdcore_omap1510.h>
#endif #endif
#include <version_autogenerated.h> #include <version_autogenerated.h>
@ -36,14 +36,25 @@
/* If no VendorID/ProductID is defined in config.h, pretend to be Linux /* If no VendorID/ProductID is defined in config.h, pretend to be Linux
* DO NOT Reuse this Vendor/Product setup with protocol incompatible devices */ * DO NOT Reuse this Vendor/Product setup with protocol incompatible devices */
#define CONFIG_USBD_VENDORID 0x0525 /* Linux/NetChip */ #ifndef CONFIG_USBD_VENDORID
#define CONFIG_USBD_PRODUCTID_GSERIAL 0xa4a6 /* gserial */ #define CONFIG_USBD_VENDORID 0x0525 /* Linux/NetChip */
#define CONFIG_USBD_PRODUCTID_CDCACM 0xa4a7 /* CDC ACM */ #endif
#define CONFIG_USBD_MANUFACTURER "Das U-Boot" #ifndef CONFIG_USBD_PRODUCTID_GSERIAL
#define CONFIG_USBD_PRODUCT_NAME U_BOOT_VERSION #define CONFIG_USBD_PRODUCTID_GSERIAL 0xa4a6 /* gserial */
#endif
#ifndef CONFIG_USBD_PRODUCTID_CDCACM
#define CONFIG_USBD_PRODUCTID_CDCACM 0xa4a7 /* CDC ACM */
#endif
#ifndef CONFIG_USBD_MANUFACTURER
#define CONFIG_USBD_MANUFACTURER "Das U-Boot"
#endif
#ifndef CONFIG_USBD_PRODUCT_NAME
#define CONFIG_USBD_PRODUCT_NAME U_BOOT_VERSION
#endif
#ifndef CONFIG_USBD_CONFIGURATION_STR
#define CONFIG_USBD_CONFIGURATION_STR "TTY via USB" #define CONFIG_USBD_CONFIGURATION_STR "TTY via USB"
#endif
#define CONFIG_USBD_SERIAL_OUT_ENDPOINT UDC_OUT_ENDPOINT #define CONFIG_USBD_SERIAL_OUT_ENDPOINT UDC_OUT_ENDPOINT
#define CONFIG_USBD_SERIAL_OUT_PKTSIZE UDC_OUT_PACKET_SIZE #define CONFIG_USBD_SERIAL_OUT_PKTSIZE UDC_OUT_PACKET_SIZE

View file

@ -1061,7 +1061,7 @@ void omap1510_udc_noniso_irq (void)
*/ */
/* Called to start packet transmission. */ /* Called to start packet transmission. */
void udc_endpoint_write (struct usb_endpoint_instance *endpoint) int udc_endpoint_write (struct usb_endpoint_instance *endpoint)
{ {
unsigned short epnum = unsigned short epnum =
endpoint->endpoint_address & USB_ENDPOINT_NUMBER_MASK; endpoint->endpoint_address & USB_ENDPOINT_NUMBER_MASK;
@ -1078,6 +1078,8 @@ void udc_endpoint_write (struct usb_endpoint_instance *endpoint)
/* deselect the endpoint FIFO */ /* deselect the endpoint FIFO */
outw (UDC_EP_Dir | epnum, UDC_EP_NUM); outw (UDC_EP_Dir | epnum, UDC_EP_NUM);
} }
return 0;
} }
/* Start to initialize h/w stuff */ /* Start to initialize h/w stuff */

View file

@ -91,7 +91,7 @@ struct usb_endpoint_descriptor {
unsigned char bInterval; unsigned char bInterval;
unsigned char bRefresh; unsigned char bRefresh;
unsigned char bSynchAddress; unsigned char bSynchAddress;
} __attribute__ ((packed)); } __attribute__ ((packed)) __attribute__ ((aligned(2)));
/* Interface descriptor */ /* Interface descriptor */
struct usb_interface_descriptor { struct usb_interface_descriptor {

View file

@ -168,8 +168,8 @@
#define UDC_IN_ENDPOINT 1 #define UDC_IN_ENDPOINT 1
#define UDC_IN_PACKET_SIZE 64 #define UDC_IN_PACKET_SIZE 64
#define UDC_INT_ENDPOINT 5 #define UDC_INT_ENDPOINT 5
#define UDC_INT_PKTSIZE 16 #define UDC_INT_PACKET_SIZE 16
#define UDC_BULK_PKTSIZE 16 #define UDC_BULK_PACKET_SIZE 16
void udc_irq (void); void udc_irq (void);
/* Flow control */ /* Flow control */
@ -177,7 +177,7 @@ void udc_set_nak(int epid);
void udc_unset_nak (int epid); void udc_unset_nak (int epid);
/* Higher level functions for abstracting away from specific device */ /* Higher level functions for abstracting away from specific device */
void udc_endpoint_write(struct usb_endpoint_instance *endpoint); int udc_endpoint_write(struct usb_endpoint_instance *endpoint);
int udc_init (void); int udc_init (void);