Root/atusb/fw/include/atusb/ep0.h

Source at commit 809a0935d8833dd463280293cf6075d91e7b62ab created 4 years 6 months ago.
By Stefan Schmidt, atusb/fw: Bump minor version to mark first public release.
1/*
2 * include/atusb/ep0.h - EP0 extension protocol
3 *
4 * Written 2008-2011, 2013 by Werner Almesberger
5 * Copyright 2008-2011, 2013 Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13
14#ifndef EP0_H
15#define EP0_H
16
17#include <atusb/atusb.h>
18
19
20/*
21 * EP0 protocol:
22 *
23 * 0.0 initial release
24 * 0.1 addition of ATUSB_TEST
25 * 0.2 First public release
26 */
27
28#define EP0ATUSB_MAJOR 0 /* EP0 protocol, major revision */
29#define EP0ATUSB_MINOR 2 /* EP0 protocol, minor revision */
30
31#define HW_TYPE_100813 0 /* 2010-08-13 */
32#define HW_TYPE_101216 1 /* 2010-12-16 */
33#define HW_TYPE_110131 2 /* 2011-01-31, ATmega32U2-based */
34
35
36/*
37 * bmRequestType:
38 *
39 * D7 D6..5 D4...0
40 * | | |
41 * direction (0 = host->dev)
42 * type (2 = vendor)
43 * recipient (0 = device)
44 */
45
46#ifndef USB_TYPE_VENDOR
47#define USB_TYPE_VENDOR 0x40
48#endif
49
50#ifndef USB_DIR_IN
51#define USB_DIR_IN 0x80
52#endif
53
54#ifndef USB_DIR_OUT
55#define USB_DIR_OUT 0x00
56#endif
57
58#define ATUSB_FROM_DEV(req) (ATUSB_REQ_FROM_DEV | (req) << 8)
59#define ATUSB_TO_DEV(req) (ATUSB_REQ_TO_DEV | (req) << 8)
60
61
62void ep0_init(void);
63
64#endif /* !EP0_H */
65

Archive Download this file



interactive