blob: 819dec663f4b95d09cb31acedf6de510fc907c5f [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001/*
2 * (C) Copyright 2003
3 * Gerry Hamel, geh@ti.com, Texas Instruments
4 *
5 * (C) Copyright 2006
6 * Bryan O'Donoghue, bodonoghue@codehermit.ie, CodeHermit
7 *
8 * SPDX-License-Identifier: GPL-2.0+
9 */
10
11#ifndef __USB_TTY_H__
12#define __USB_TTY_H__
13
14#include <usbdevice.h>
15#if defined(CONFIG_PPC)
16#include <usb/mpc8xx_udc.h>
17#elif defined(CONFIG_OMAP1510)
18#include <usb/omap1510_udc.h>
19#elif defined(CONFIG_CPU_PXA27X)
20#include <usb/pxa27x_udc.h>
21#elif defined(CONFIG_DW_UDC)
22#include <usb/designware_udc.h>
23#elif defined(CONFIG_MV_UDC)
24#include <usb/mv_udc.h>
25#endif
26
27#include <usb/udc.h>
28#include <version.h>
29
30/* If no VendorID/ProductID is defined in config.h, pretend to be Linux
31 * DO NOT Reuse this Vendor/Product setup with protocol incompatible devices */
32
33#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
48
49#ifndef CONFIG_USBD_CONFIGURATION_STR
50#define CONFIG_USBD_CONFIGURATION_STR "TTY via USB"
51#endif
52
53#define CONFIG_USBD_SERIAL_OUT_ENDPOINT UDC_OUT_ENDPOINT
54#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
60
61#if defined(CONFIG_USBD_HS)
62#define CONFIG_USBD_SERIAL_BULK_HS_PKTSIZE UDC_BULK_HS_PACKET_SIZE
63#endif
64
65#define USBTTY_DEVICE_CLASS COMMUNICATIONS_DEVICE_CLASS
66
67#define USBTTY_BCD_DEVICE 0x00
68#define USBTTY_MAXPOWER 0x00
69
70#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
78
79#endif