blob: 21a3ef4d97ea94d2a167490d9389bfb7f8dd0f8c [file] [log] [blame]
wdenk29e7f5a2004-03-12 00:14:09 +00001/*
2 * (C) Copyright 2003
3 * Gerry Hamel, geh@ti.com, Texas Instruments
4 *
Wolfgang Denk3f0137b2006-06-14 17:45:53 +02005 * (C) Copyright 2006
6 * Bryan O'Donoghue, bodonoghue@codehermit.ie, CodeHermit
7 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02008 * SPDX-License-Identifier: GPL-2.0+
wdenk29e7f5a2004-03-12 00:14:09 +00009 */
10
11#ifndef __USB_TTY_H__
12#define __USB_TTY_H__
13
Jean-Christophe PLAGNIOL-VILLARD8f6bcf42009-04-03 12:46:58 +020014#include <usbdevice.h>
Wolfgang Denk3f0137b2006-06-14 17:45:53 +020015#if defined(CONFIG_PPC)
Jean-Christophe PLAGNIOL-VILLARD8f6bcf42009-04-03 12:46:58 +020016#include <usb/mpc8xx_udc.h>
Remy Bohmera954f1a2009-04-05 11:43:28 +020017#elif defined(CONFIG_OMAP1510)
Jean-Christophe PLAGNIOL-VILLARD8f6bcf42009-04-03 12:46:58 +020018#include <usb/omap1510_udc.h>
Marek Vasut85cc88a2011-11-26 07:20:07 +010019#elif defined(CONFIG_CPU_PXA27X)
Remy Bohmera954f1a2009-04-05 11:43:28 +020020#include <usb/pxa27x_udc.h>
Vipin KUMAR33cf5bd2012-03-06 23:39:37 +000021#elif defined(CONFIG_DW_UDC)
22#include <usb/designware_udc.h>
Marek Vasut9ba89972014-02-06 02:43:45 +010023#elif defined(CONFIG_CI_UDC)
24#include <usb/ci_udc.h>
Wolfgang Denk3f0137b2006-06-14 17:45:53 +020025#endif
wdenk29e7f5a2004-03-12 00:14:09 +000026
Troy Kiskydf446f52013-10-10 15:28:04 -070027#include <usb/udc.h>
Simon Glass50402412011-10-10 08:55:19 +000028#include <version.h>
wdenk29e7f5a2004-03-12 00:14:09 +000029
Wolfgang Denke2601822006-06-14 18:14:56 +020030/* If no VendorID/ProductID is defined in config.h, pretend to be Linux
Wolfgang Denk3f0137b2006-06-14 17:45:53 +020031 * DO NOT Reuse this Vendor/Product setup with protocol incompatible devices */
wdenk29e7f5a2004-03-12 00:14:09 +000032
Jean-Christophe PLAGNIOL-VILLARD6dfaee72008-12-07 09:45:35 +010033#ifndef CONFIG_USBD_VENDORID
34#define CONFIG_USBD_VENDORID 0x0525 /* Linux/NetChip */
35#endif
36#ifndef CONFIG_USBD_PRODUCTID_GSERIAL
37#define CONFIG_USBD_PRODUCTID_GSERIAL 0xa4a6 /* gserial */
38#endif
39#ifndef CONFIG_USBD_PRODUCTID_CDCACM
40#define CONFIG_USBD_PRODUCTID_CDCACM 0xa4a7 /* CDC ACM */
41#endif
42#ifndef CONFIG_USBD_MANUFACTURER
43#define CONFIG_USBD_MANUFACTURER "Das U-Boot"
44#endif
45#ifndef CONFIG_USBD_PRODUCT_NAME
46#define CONFIG_USBD_PRODUCT_NAME U_BOOT_VERSION
47#endif
wdenk29e7f5a2004-03-12 00:14:09 +000048
Jean-Christophe PLAGNIOL-VILLARD6dfaee72008-12-07 09:45:35 +010049#ifndef CONFIG_USBD_CONFIGURATION_STR
50#define CONFIG_USBD_CONFIGURATION_STR "TTY via USB"
51#endif
wdenk29e7f5a2004-03-12 00:14:09 +000052
Wolfgang Denke2601822006-06-14 18:14:56 +020053#define CONFIG_USBD_SERIAL_OUT_ENDPOINT UDC_OUT_ENDPOINT
Wolfgang Denk3f0137b2006-06-14 17:45:53 +020054#define CONFIG_USBD_SERIAL_OUT_PKTSIZE UDC_OUT_PACKET_SIZE
55#define CONFIG_USBD_SERIAL_IN_ENDPOINT UDC_IN_ENDPOINT
56#define CONFIG_USBD_SERIAL_IN_PKTSIZE UDC_IN_PACKET_SIZE
57#define CONFIG_USBD_SERIAL_INT_ENDPOINT UDC_INT_ENDPOINT
58#define CONFIG_USBD_SERIAL_INT_PKTSIZE UDC_INT_PACKET_SIZE
59#define CONFIG_USBD_SERIAL_BULK_PKTSIZE UDC_BULK_PACKET_SIZE
wdenk29e7f5a2004-03-12 00:14:09 +000060
Vipin KUMARbdb17702012-03-26 15:38:06 +053061#if defined(CONFIG_USBD_HS)
62#define CONFIG_USBD_SERIAL_BULK_HS_PKTSIZE UDC_BULK_HS_PACKET_SIZE
63#endif
64
wdenk29e7f5a2004-03-12 00:14:09 +000065#define USBTTY_DEVICE_CLASS COMMUNICATIONS_DEVICE_CLASS
wdenk29e7f5a2004-03-12 00:14:09 +000066
Wolfgang Denka1be4762008-05-20 16:00:29 +020067#define USBTTY_BCD_DEVICE 0x00
68#define USBTTY_MAXPOWER 0x00
wdenk29e7f5a2004-03-12 00:14:09 +000069
Wolfgang Denk3f0137b2006-06-14 17:45:53 +020070#define STR_LANG 0x00
71#define STR_MANUFACTURER 0x01
72#define STR_PRODUCT 0x02
73#define STR_SERIAL 0x03
74#define STR_CONFIG 0x04
75#define STR_DATA_INTERFACE 0x05
76#define STR_CTRL_INTERFACE 0x06
77#define STR_COUNT 0x07
wdenk29e7f5a2004-03-12 00:14:09 +000078
79#endif