X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fkernel%2Fao_usb.h;h=6c74a04265e3ecf282093c33e981de4ad79f2fce;hb=015d3055a52532070e96469907683c3aa3eda44e;hp=1ce4f82f2a1066d24f6276c0149501a47e569a3a;hpb=24167015705ae831692b95735968b04a876f935e;p=fw%2Faltos diff --git a/src/kernel/ao_usb.h b/src/kernel/ao_usb.h index 1ce4f82f..6c74a042 100644 --- a/src/kernel/ao_usb.h +++ b/src/kernel/ao_usb.h @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -40,7 +41,23 @@ ao_usb_pollchar(void); void ao_usb_flush(void); +#if AO_USB_HAS_IN2 +void +ao_usb_flush2(void); + +void +ao_usb_putchar2(char c); +#endif + +#if AO_USB_HAS_IN3 +void +ao_usb_flush3(void); + +void +ao_usb_putchar3(char c); +#endif /* Enable the USB controller */ + void ao_usb_enable(void); @@ -52,7 +69,7 @@ ao_usb_disable(void); void ao_usb_init(void); -extern __code __at (0x00aa) uint8_t ao_usb_descriptors []; +extern const uint8_t ao_usb_descriptors []; #define AO_USB_SETUP_DIR_MASK (0x01 << 7) #define AO_USB_SETUP_TYPE_MASK (0x03 << 5) @@ -105,6 +122,28 @@ extern __code __at (0x00aa) uint8_t ao_usb_descriptors []; #ifndef AO_USB_OUT_EP #define AO_USB_OUT_EP 4 #define AO_USB_IN_EP 5 +#define AO_USB_IN2_EP 6 +#define AO_USB_IN3_EP 7 +#endif + +#ifndef AO_USB_HAS_OUT +#define AO_USB_HAS_OUT 1 +#endif + +#ifndef AO_USB_HAS_IN +#define AO_USB_HAS_IN 1 +#endif + +#ifndef AO_USB_HAS_INT +#define AO_USB_HAS_INT 1 +#endif + +#ifndef AO_USB_HAS_IN2 +#define AO_USB_HAS_IN2 0 +#endif + +#ifndef AO_USB_HAS_IN3 +#define AO_USB_HAS_IN3 0 #endif /* @@ -137,6 +176,8 @@ struct ao_usb_line_coding { uint8_t data_bits; } ; -extern __pdata uint8_t ao_usb_running; +extern struct ao_usb_line_coding ao_usb_line_coding; + +extern uint8_t ao_usb_running; #endif /* _AO_USB_H_ */