/* SPDX-License-Identifier: GPL-2.0 */ /* * USB IrDA Bridge Device Definition */ #ifndef __LINUX_USB_IRDA_H #define __LINUX_USB_IRDA_H /* This device should use Application-specific class */ #define USB_SUBCLASS_IRDA 0x02 /*-------------------------------------------------------------------------*/ /* Class-Specific requests (bRequest field) */ #define USB_REQ_CS_IRDA_RECEIVING 1 #define USB_REQ_CS_IRDA_CHECK_MEDIA_BUSY 3 #define USB_REQ_CS_IRDA_RATE_SNIFF 4 #define USB_REQ_CS_IRDA_UNICAST_LIST 5 #define USB_REQ_CS_IRDA_GET_CLASS_DESC 6 /*-------------------------------------------------------------------------*/ /* Class-Specific descriptor */ #define USB_DT_CS_IRDA 0x21 /*-------------------------------------------------------------------------*/ /* Data sizes */ #define USB_IRDA_DS_2048 (1 << 5) #define USB_IRDA_DS_1024 (1 << 4) #define USB_IRDA_DS_512 (1 << 3) #define USB_IRDA_DS_256 (1 << 2) #define USB_IRDA_DS_128 (1 << 1) #define USB_IRDA_DS_64 (1 << 0) /* Window sizes */ #define USB_IRDA_WS_7 (1 << 6) #define USB_IRDA_WS_6 (1 << 5) #define USB_IRDA_WS_5 (1 << 4) #define USB_IRDA_WS_4 (1 << 3) #define USB_IRDA_WS_3 (1 << 2) #define USB_IRDA_WS_2 (1 << 1) #define USB_IRDA_WS_1 (1 << 0) /* Min turnaround times in usecs */ #define USB_IRDA_MTT_0 (1 << 7) #define USB_IRDA_MTT_10 (1 << 6) #define USB_IRDA_MTT_50 (1 << 5) #define USB_IRDA_MTT_100 (1 << 4) #define USB_IRDA_MTT_500 (1 << 3) #define USB_IRDA_MTT_1000 (1 << 2) #define USB_IRDA_MTT_5000 (1 << 1) #define USB_IRDA_MTT_10000 (1 << 0) /* Baud rates */ #define USB_IRDA_BR_4000000 (1 << 8) #define USB_IRDA_BR_1152000 (1 << 7) #define USB_IRDA_BR_576000 (1 << 6) #define USB_IRDA_BR_115200 (1 << 5) #define USB_IRDA_BR_57600 (1 << 4) #define USB_IRDA_BR_38400 (1 << 3) #define USB_IRDA_BR_19200 (1 << 2) #define USB_IRDA_BR_9600 (1 << 1) #define USB_IRDA_BR_2400 (1 << 0) /* Additional BOFs */ #define USB_IRDA_AB_0 (1 << 7) #define USB_IRDA_AB_1 (1 << 6) #define USB_IRDA_AB_2 (1 << 5) #define USB_IRDA_AB_3 (1 << 4) #define USB_IRDA_AB_6 (1 << 3) #define USB_IRDA_AB_12 (1 << 2) #define USB_IRDA_AB_24 (1 << 1) #define USB_IRDA_AB_48 (1 << 0) /* IRDA Rate Sniff */ #define USB_IRDA_RATE_SNIFF 1 /*-------------------------------------------------------------------------*/ struct usb_irda_cs_descriptor { __u8 bLength; __u8 bDescriptorType; __le16 bcdSpecRevision; __u8 bmDataSize; __u8 bmWindowSize; __u8 bmMinTurnaroundTime; __le16 wBaudRate; __u8 bmAdditionalBOFs; __u8 bIrdaRateSniff; __u8 bMaxUnicastList; } __attribute__ ((packed)); /*-------------------------------------------------------------------------*/ /* Data Format */ #define USB_IRDA_STATUS_MEDIA_BUSY (1 << 7) /* The following is a 4-bit value used for both * inbound and outbound headers: * * 0 - speed ignored * 1 - 2400 bps * 2 - 9600 bps * 3 - 19200 bps * 4 - 38400 bps * 5 - 57600 bps * 6 - 115200 bps * 7 - 576000 bps * 8 - 1.152 Mbps * 9 - 4 Mbps * 10..15 - Reserved */ #define USB_IRDA_STATUS_LINK_SPEED 0x0f #define USB_IRDA_LS_NO_CHANGE 0 #define USB_IRDA_LS_2400 1 #define USB_IRDA_LS_9600 2 #define USB_IRDA_LS_19200 3 #define USB_IRDA_LS_38400 4 #define USB_IRDA_LS_57600 5 #define USB_IRDA_LS_115200 6 #define USB_IRDA_LS_576000 7 #define USB_IRDA_LS_1152000 8 #define USB_IRDA_LS_4000000 9 /* The following is a 4-bit value used only for * outbound header: * * 0 - No change (BOF ignored) * 1 - 48 BOFs * 2 - 24 BOFs * 3 - 12 BOFs * 4 - 6 BOFs * 5 - 3 BOFs * 6 - 2 BOFs * 7 - 1 BOFs * 8 - 0 BOFs * 9..15 - Reserved */ #define USB_IRDA_EXTRA_BOFS 0xf0 struct usb_irda_inbound_header { __u8 bmStatus; }; struct usb_irda_outbound_header { __u8 bmChange; }; #endif /* __LINUX_USB_IRDA_H */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
association.h | File | 4.59 KB | 0644 |
|
atmel_usba_udc.h | File | 421 B | 0644 |
|
audio-v2.h | File | 13.17 KB | 0644 |
|
audio.h | File | 1.23 KB | 0644 |
|
c67x00.h | File | 1.82 KB | 0644 |
|
cdc-wdm.h | File | 651 B | 0644 |
|
cdc.h | File | 1.48 KB | 0644 |
|
cdc_ncm.h | File | 5.56 KB | 0644 |
|
ch9.h | File | 2.5 KB | 0644 |
|
chipidea.h | File | 2.77 KB | 0644 |
|
composite.h | File | 25.17 KB | 0644 |
|
ehci-dbgp.h | File | 2.05 KB | 0644 |
|
ehci_def.h | File | 7.89 KB | 0644 |
|
ehci_pdriver.h | File | 2.31 KB | 0644 |
|
ezusb.h | File | 286 B | 0644 |
|
functionfs.h | File | 151 B | 0644 |
|
g_hid.h | File | 1.13 KB | 0644 |
|
gadget.h | File | 32.65 KB | 0644 |
|
gadget_configfs.h | File | 2.94 KB | 0644 |
|
gpio_vbus.h | File | 1.13 KB | 0644 |
|
hcd.h | File | 25.93 KB | 0644 |
|
input.h | File | 716 B | 0644 |
|
iowarrior.h | File | 1.34 KB | 0644 |
|
irda.h | File | 3.76 KB | 0644 |
|
isp116x.h | File | 1.13 KB | 0644 |
|
isp1301.h | File | 2.38 KB | 0644 |
|
isp1362.h | File | 1.59 KB | 0644 |
|
isp1760.h | File | 633 B | 0644 |
|
m66592.h | File | 1.41 KB | 0644 |
|
musb-ux500.h | File | 899 B | 0644 |
|
musb.h | File | 4.59 KB | 0644 |
|
net2280.h | File | 23.55 KB | 0644 |
|
of.h | File | 1.46 KB | 0644 |
|
ohci_pdriver.h | File | 1.71 KB | 0644 |
|
otg-fsm.h | File | 8.61 KB | 0644 |
|
otg.h | File | 3.01 KB | 0644 |
|
pd.h | File | 8.98 KB | 0644 |
|
pd_bdo.h | File | 1011 B | 0644 |
|
pd_vdo.h | File | 7.58 KB | 0644 |
|
phy.h | File | 9.25 KB | 0644 |
|
phy_companion.h | File | 1.17 KB | 0644 |
|
quirks.h | File | 2.34 KB | 0644 |
|
r8a66597.h | File | 17.65 KB | 0644 |
|
renesas_usbhs.h | File | 4.76 KB | 0644 |
|
rndis_host.h | File | 5.94 KB | 0644 |
|
samsung_usb_phy.h | File | 530 B | 0644 |
|
serial.h | File | 17.12 KB | 0644 |
|
sl811.h | File | 838 B | 0644 |
|
storage.h | File | 2.58 KB | 0644 |
|
tcpm.h | File | 6.46 KB | 0644 |
|
tegra_usb_phy.h | File | 2.38 KB | 0644 |
|
tilegx.h | File | 983 B | 0644 |
|
typec.h | File | 7.04 KB | 0644 |
|
uas.h | File | 2.07 KB | 0644 |
|
ulpi.h | File | 1.99 KB | 0644 |
|
usb338x.h | File | 7.63 KB | 0644 |
|
usb_phy_generic.h | File | 892 B | 0644 |
|
usbnet.h | File | 10.01 KB | 0644 |
|
wusb-wa.h | File | 7.5 KB | 0644 |
|
wusb.h | File | 9.92 KB | 0644 |
|
xhci-dbgp.h | File | 825 B | 0644 |
|