diff options
Diffstat (limited to 'tmk_core/protocol/pjrc/usb.h')
-rw-r--r-- | tmk_core/protocol/pjrc/usb.h | 144 |
1 files changed, 69 insertions, 75 deletions
diff --git a/tmk_core/protocol/pjrc/usb.h b/tmk_core/protocol/pjrc/usb.h index a195b671d0..50654dccf7 100644 --- a/tmk_core/protocol/pjrc/usb.h +++ b/tmk_core/protocol/pjrc/usb.h @@ -22,116 +22,110 @@ */ #ifndef USB_H -#define USB_H 1 +#define USB_H 1 #include <stdint.h> #include <stdbool.h> #include <avr/io.h> - extern bool remote_wakeup; extern bool suspend; -void usb_init(void); // initialize everything -uint8_t usb_configured(void); // is the USB port configured -void usb_remote_wakeup(void); - +void usb_init(void); // initialize everything +uint8_t usb_configured(void); // is the USB port configured +void usb_remote_wakeup(void); -#define EP_TYPE_CONTROL 0x00 -#define EP_TYPE_BULK_IN 0x81 -#define EP_TYPE_BULK_OUT 0x80 -#define EP_TYPE_INTERRUPT_IN 0xC1 -#define EP_TYPE_INTERRUPT_OUT 0xC0 -#define EP_TYPE_ISOCHRONOUS_IN 0x41 -#define EP_TYPE_ISOCHRONOUS_OUT 0x40 +#define EP_TYPE_CONTROL 0x00 +#define EP_TYPE_BULK_IN 0x81 +#define EP_TYPE_BULK_OUT 0x80 +#define EP_TYPE_INTERRUPT_IN 0xC1 +#define EP_TYPE_INTERRUPT_OUT 0xC0 +#define EP_TYPE_ISOCHRONOUS_IN 0x41 +#define EP_TYPE_ISOCHRONOUS_OUT 0x40 -#define EP_SINGLE_BUFFER 0x02 -#define EP_DOUBLE_BUFFER 0x06 +#define EP_SINGLE_BUFFER 0x02 +#define EP_DOUBLE_BUFFER 0x06 -#define EP_SIZE(s) ((s) == 64 ? 0x30 : \ - ((s) == 32 ? 0x20 : \ - ((s) == 16 ? 0x10 : \ - 0x00))) +#define EP_SIZE(s) ((s) == 64 ? 0x30 : ((s) == 32 ? 0x20 : ((s) == 16 ? 0x10 : 0x00))) -#if defined (__AVR_AT90USB162__) || defined (__AVR_AT90USB82__) -# define MAX_ENDPOINT 4 -# define UERST_MASK 0x1E +#if defined(__AVR_AT90USB162__) || defined(__AVR_AT90USB82__) +# define MAX_ENDPOINT 4 +# define UERST_MASK 0x1E #else -# define MAX_ENDPOINT 6 -# define UERST_MASK 0x7E +# define MAX_ENDPOINT 6 +# define UERST_MASK 0x7E #endif #define LSB(n) (n & 255) #define MSB(n) ((n >> 8) & 255) #if defined(__AVR_AT90USB162__) -#define HW_CONFIG() -#define PLL_CONFIG() (PLLCSR = ((1<<PLLE)|(1<<PLLP0))) -#define USB_CONFIG() (USBCON = (1<<USBE)) -#define USB_FREEZE() (USBCON = ((1<<USBE)|(1<<FRZCLK))) +# define HW_CONFIG() +# define PLL_CONFIG() (PLLCSR = ((1 << PLLE) | (1 << PLLP0))) +# define USB_CONFIG() (USBCON = (1 << USBE)) +# define USB_FREEZE() (USBCON = ((1 << USBE) | (1 << FRZCLK))) #elif defined(__AVR_ATmega32U4__) -#define HW_CONFIG() (UHWCON = 0x01) -#define PLL_CONFIG() (PLLCSR = 0x12) -#define USB_CONFIG() (USBCON = ((1<<USBE)|(1<<OTGPADE))) -#define USB_FREEZE() (USBCON = ((1<<USBE)|(1<<FRZCLK))) +# define HW_CONFIG() (UHWCON = 0x01) +# define PLL_CONFIG() (PLLCSR = 0x12) +# define USB_CONFIG() (USBCON = ((1 << USBE) | (1 << OTGPADE))) +# define USB_FREEZE() (USBCON = ((1 << USBE) | (1 << FRZCLK))) #elif defined(__AVR_AT90USB646__) -#define HW_CONFIG() (UHWCON = 0x81) -#define PLL_CONFIG() (PLLCSR = 0x1A) -#define USB_CONFIG() (USBCON = ((1<<USBE)|(1<<OTGPADE))) -#define USB_FREEZE() (USBCON = ((1<<USBE)|(1<<FRZCLK))) +# define HW_CONFIG() (UHWCON = 0x81) +# define PLL_CONFIG() (PLLCSR = 0x1A) +# define USB_CONFIG() (USBCON = ((1 << USBE) | (1 << OTGPADE))) +# define USB_FREEZE() (USBCON = ((1 << USBE) | (1 << FRZCLK))) #elif defined(__AVR_AT90USB1286__) -#define HW_CONFIG() (UHWCON = 0x81) -#define PLL_CONFIG() (PLLCSR = 0x16) -#define USB_CONFIG() (USBCON = ((1<<USBE)|(1<<OTGPADE))) -#define USB_FREEZE() (USBCON = ((1<<USBE)|(1<<FRZCLK))) +# define HW_CONFIG() (UHWCON = 0x81) +# define PLL_CONFIG() (PLLCSR = 0x16) +# define USB_CONFIG() (USBCON = ((1 << USBE) | (1 << OTGPADE))) +# define USB_FREEZE() (USBCON = ((1 << USBE) | (1 << FRZCLK))) #endif // standard control endpoint request types -#define GET_STATUS 0 -#define CLEAR_FEATURE 1 -#define SET_FEATURE 3 -#define SET_ADDRESS 5 -#define GET_DESCRIPTOR 6 -#define GET_CONFIGURATION 8 -#define SET_CONFIGURATION 9 -#define GET_INTERFACE 10 -#define SET_INTERFACE 11 +#define GET_STATUS 0 +#define CLEAR_FEATURE 1 +#define SET_FEATURE 3 +#define SET_ADDRESS 5 +#define GET_DESCRIPTOR 6 +#define GET_CONFIGURATION 8 +#define SET_CONFIGURATION 9 +#define GET_INTERFACE 10 +#define SET_INTERFACE 11 // HID (human interface device) -#define HID_GET_REPORT 1 -#define HID_GET_IDLE 2 -#define HID_GET_PROTOCOL 3 -#define HID_SET_REPORT 9 -#define HID_SET_IDLE 10 -#define HID_SET_PROTOCOL 11 -#define HID_REPORT_INPUT 1 -#define HID_REPORT_OUTPUT 2 -#define HID_REPORT_FEATURE 3 +#define HID_GET_REPORT 1 +#define HID_GET_IDLE 2 +#define HID_GET_PROTOCOL 3 +#define HID_SET_REPORT 9 +#define HID_SET_IDLE 10 +#define HID_SET_PROTOCOL 11 +#define HID_REPORT_INPUT 1 +#define HID_REPORT_OUTPUT 2 +#define HID_REPORT_FEATURE 3 // CDC (communication class device) -#define CDC_SET_LINE_CODING 0x20 -#define CDC_GET_LINE_CODING 0x21 -#define CDC_SET_CONTROL_LINE_STATE 0x22 +#define CDC_SET_LINE_CODING 0x20 +#define CDC_GET_LINE_CODING 0x21 +#define CDC_SET_CONTROL_LINE_STATE 0x22 // HID feature selectors -#define DEVICE_REMOTE_WAKEUP 1 -#define ENDPOINT_HALT 0 -#define TEST_MODE 2 - +#define DEVICE_REMOTE_WAKEUP 1 +#define ENDPOINT_HALT 0 +#define TEST_MODE 2 /*------------------------------------------------------------------* * Keyboard descriptor setting *------------------------------------------------------------------*/ -#define KBD_INTERFACE 0 -#define KBD_ENDPOINT 1 -#define KBD_SIZE 8 -#define KBD_BUFFER EP_SINGLE_BUFFER -#define KBD_REPORT_KEYS (KBD_SIZE - 2) +#define KBD_INTERFACE 0 +#define KBD_ENDPOINT 1 +#define KBD_SIZE 8 +#define KBD_BUFFER EP_SINGLE_BUFFER +#define KBD_REPORT_KEYS (KBD_SIZE - 2) // secondary keyboard #ifdef NKRO_ENABLE -#define KBD2_INTERFACE 4 -#define KBD2_ENDPOINT 5 -#define KBD2_SIZE 16 -#define KBD2_BUFFER EP_DOUBLE_BUFFER -#define KBD2_REPORT_KEYS (KBD2_SIZE - 1) +# define KBD2_INTERFACE 4 +# define KBD2_ENDPOINT 5 +# define KBD2_SIZE 16 +# define KBD2_BUFFER EP_DOUBLE_BUFFER +# define KBD2_REPORT_KEYS (KBD2_SIZE - 1) #endif #endif |