summaryrefslogtreecommitdiffstats
path: root/tmk_core/protocol/vusb
diff options
context:
space:
mode:
authorJames Young <18669334+noroadsleft@users.noreply.github.com>2020-05-30 13:14:59 -0700
committerGitHub <noreply@github.com>2020-05-30 13:14:59 -0700
commitfced377ac007d27f2650ccffbe0b18abcdcfe23d (patch)
treebd5b141987394a5a16cfc416bfe2b9efdb14d067 /tmk_core/protocol/vusb
parent7b8a013826ad90714a05ea522de53adf964ab3b9 (diff)
2020 May 30 Breaking Changes Update (#9215)
* Branch point for 2020 May 30 Breaking Change * Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954) * Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957) * Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958) * Migrate `ACTION_LAYER_MODS` to `LM()` (#8959) * Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968) * Convert V-USB usbdrv to a submodule (#8321) * Unify Tap Hold functions and documentation (#8348) * Changing board names to prevent confusion (#8412) * Move the Keyboardio Model01 to a keyboardio/ subdir (#8499) * Move spaceman keyboards (#8830) * Migrate miscellaneous `fn_actions` entries (#8977) * Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979) * Organizing my keyboards (plaid, tartan, ergoinu) (#8537) * Refactor Lily58 to use split_common (#6260) * Refactor zinc to use split_common (#7114) * Add a message if bin/qmk doesn't work (#9000) * Fix conflicting types for 'tfp_printf' (#8269) * Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480) * Refactor and updates to TKC1800 code (#8472) * Switch to qmk forks for everything (#9019) * audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484) * Audio enable corrections (2/3) (#8903) * Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582) * Audio enable corrections (Part 4) (#8974) * Fix typo from PR7114 (#9171) * Augment future branch Changelogs (#8978) * Revert "Branch point for 2020 May 30 Breaking Change"
Diffstat (limited to 'tmk_core/protocol/vusb')
-rw-r--r--tmk_core/protocol/vusb/main.c4
-rw-r--r--tmk_core/protocol/vusb/sendchar_usart.c2
-rw-r--r--tmk_core/protocol/vusb/usbdrv/Changelog.txt308
-rw-r--r--tmk_core/protocol/vusb/usbdrv/CommercialLicense.txt166
-rw-r--r--tmk_core/protocol/vusb/usbdrv/License.txt361
-rw-r--r--tmk_core/protocol/vusb/usbdrv/Readme.txt172
-rw-r--r--tmk_core/protocol/vusb/usbdrv/USB-ID-FAQ.txt149
-rw-r--r--tmk_core/protocol/vusb/usbdrv/USB-IDs-for-free.txt148
-rw-r--r--tmk_core/protocol/vusb/usbdrv/asmcommon.inc188
-rw-r--r--tmk_core/protocol/vusb/usbdrv/oddebug.c46
-rw-r--r--tmk_core/protocol/vusb/usbdrv/oddebug.h121
-rw-r--r--tmk_core/protocol/vusb/usbdrv/usbconfig-prototype.h376
-rw-r--r--tmk_core/protocol/vusb/usbdrv/usbdrv.c622
-rw-r--r--tmk_core/protocol/vusb/usbdrv/usbdrv.h730
-rw-r--r--tmk_core/protocol/vusb/usbdrv/usbdrvasm.S393
-rw-r--r--tmk_core/protocol/vusb/usbdrv/usbdrvasm.asm21
-rw-r--r--tmk_core/protocol/vusb/usbdrv/usbdrvasm12.inc393
-rw-r--r--tmk_core/protocol/vusb/usbdrv/usbdrvasm128.inc750
-rw-r--r--tmk_core/protocol/vusb/usbdrv/usbdrvasm15.inc423
-rw-r--r--tmk_core/protocol/vusb/usbdrv/usbdrvasm16.inc346
-rw-r--r--tmk_core/protocol/vusb/usbdrv/usbdrvasm165.inc453
-rw-r--r--tmk_core/protocol/vusb/usbdrv/usbdrvasm18-crc.inc707
-rw-r--r--tmk_core/protocol/vusb/usbdrv/usbdrvasm20.inc360
-rw-r--r--tmk_core/protocol/vusb/usbdrv/usbportability.h146
-rw-r--r--tmk_core/protocol/vusb/vusb.c34
25 files changed, 20 insertions, 7399 deletions
diff --git a/tmk_core/protocol/vusb/main.c b/tmk_core/protocol/vusb/main.c
index 7dc16926d2..b4063273da 100644
--- a/tmk_core/protocol/vusb/main.c
+++ b/tmk_core/protocol/vusb/main.c
@@ -12,8 +12,8 @@
#include <avr/wdt.h>
#include <avr/sleep.h>
#include <util/delay.h>
-#include "usbdrv.h"
-#include "oddebug.h"
+#include <usbdrv/usbdrv.h>
+#include <usbdrv/oddebug.h>
#include "vusb.h"
#include "keyboard.h"
#include "host.h"
diff --git a/tmk_core/protocol/vusb/sendchar_usart.c b/tmk_core/protocol/vusb/sendchar_usart.c
index 42bd9ee363..a920a9a536 100644
--- a/tmk_core/protocol/vusb/sendchar_usart.c
+++ b/tmk_core/protocol/vusb/sendchar_usart.c
@@ -3,7 +3,7 @@
* License: GNU GPL v2 (see License.txt), GNU GPL v3 or proprietary (CommercialLicense.txt)
*/
#include <stdint.h>
-#include "oddebug.h"
+#include <usbdrv/oddebug.h>
#include "sendchar.h"
#if DEBUG_LEVEL > 0
diff --git a/tmk_core/protocol/vusb/usbdrv/Changelog.txt b/tmk_core/protocol/vusb/usbdrv/Changelog.txt
deleted file mode 100644
index 1e74180a9e..0000000000
--- a/tmk_core/protocol/vusb/usbdrv/Changelog.txt
+++ /dev/null
@@ -1,308 +0,0 @@
-This file documents changes in the firmware-only USB driver for atmel's AVR
-microcontrollers. New entries are always appended to the end of the file.
-Scroll down to the bottom to see the most recent changes.
-
-2005-04-01:
- - Implemented endpoint 1 as interrupt-in endpoint.
- - Moved all configuration options to usbconfig.h which is not part of the
- driver.
- - Changed interface for usbVendorSetup().
- - Fixed compatibility with ATMega8 device.
- - Various minor optimizations.
-
-2005-04-11:
- - Changed interface to application: Use usbFunctionSetup(), usbFunctionRead()
- and usbFunctionWrite() now. Added configuration options to choose which
- of these functions to compile in.
- - Assembler module delivers receive data non-inverted now.
- - Made register and bit names compatible with more AVR devices.
-
-2005-05-03:
- - Allow address of usbRxBuf on any memory page as long as the buffer does
- not cross 256 byte page boundaries.
- - Better device compatibility: works with Mega88 now.
- - Code optimization in debugging module.
- - Documentation updates.
-
-2006-01-02:
- - Added (free) default Vendor- and Product-IDs bought from voti.nl.
- - Added USBID-License.txt file which defines the rules for using the free
- shared VID/PID pair.
- - Added readme.txt to the usbdrv directory which clarifies administrative
- issues.
-
-2006-01-25:
- - Added "configured state" to become more standards compliant.
- - Added "HALT" state for interrupt endpoint.
- - Driver passes the "USB Command Verifier" test from usb.org now.
- - Made "serial number" a configuration option.
- - Minor optimizations, we now recommend compiler option "-Os" for best
- results.
- - Added a version number to usbdrv.h
-
-2006-02-03:
- - New configuration variable USB_BUFFER_SECTION for the memory section where
- the USB rx buffer will go. This defaults to ".bss" if not defined. Since
- this buffer MUST NOT cross 256 byte pages (not even touch a page at the
- end), the user may want to pass a linker option similar to
- "-Wl,--section-start=.mybuffer=0x800060".
- - Provide structure for usbRequest_t.
- - New defines for USB constants.
- - Prepared for HID implementations.
- - Increased data size limit for interrupt transfers to 8 bytes.
- - New macro usbInterruptIsReady() to query interrupt buffer state.
-
-2006-02-18:
- - Ensure that the data token which is sent as an ack to an OUT transfer is
- always zero sized. This fixes a bug where the host reports an error after
- sending an out transfer to the device, although all data arrived at the
- device.
- - Updated docs in usbdrv.h to reflect changed API in usbFunctionWrite().
-
-* Release 2006-02-20
-
- - Give a compiler warning when compiling with debugging turned on.
- - Added Oleg Semyonov's changes for IAR-cc compatibility.
- - Added new (optional) functions usbDeviceConnect() and usbDeviceDisconnect()
- (also thanks to Oleg!).
- - Rearranged tests in usbPoll() to save a couple of instructions in the most
- likely case that no actions are pending.
- - We need a delay between the SET ADDRESS request until the new address
- becomes active. This delay was handled in usbPoll() until now. Since the
- spec says that the delay must not exceed 2ms, previous versions required
- aggressive polling during the enumeration phase. We have now moved the
- handling of the delay into the interrupt routine.
- - We must not reply with NAK to a SETUP transaction. We can only achieve this
- by making sure that the rx buffer is empty when SETUP tokens are expected.
- We therefore don't pass zero sized data packets from the status phase of
- a transfer to usbPoll(). This change MAY cause troubles if you rely on
- receiving a less than 8 bytes long packet in usbFunctionWrite() to
- identify the end of a transfer. usbFunctionWrite() will NEVER be called
- with a zero length.
-
-* Release 2006-03-14
-
- - Improved IAR C support: tiny memory model, more devices
- - Added template usbconfig.h file under the name usbconfig-prototype.h
-
-* Release 2006-03-26
-
- - Added provision for one more interrupt-in endpoint (endpoint 3).
- - Added provision for one interrupt-out endpoint (endpoint 1).
- - Added flowcontrol macros for USB.
- - Added provision for custom configuration descriptor.
- - Allow ANY two port bits for D+ and D-.
- - Merged (optional) receive endpoint number into global usbRxToken variable.
- - Use USB_CFG_IOPORTNAME instead of USB_CFG_IOPORT. We now construct the
- variable name from the single port letter instead of computing the address
- of related ports from the output-port address.
-
-* Release 2006-06-26
-
- - Updated documentation in usbdrv.h and usbconfig-prototype.h to reflect the
- new features.
- - Removed "#warning" directives because IAR does not understand them. Use
- unused static variables instead to generate a warning.
- - Do not include <avr/io.h> when compiling with IAR.
- - Introduced USB_CFG_DESCR_PROPS_* in usbconfig.h to configure how each
- USB descriptor should be handled. It is now possible to provide descriptor
- data in Flash, RAM or dynamically at runtime.
- - STALL is now a status in usbTxLen* instead of a message. We can now conform
- to the spec and leave the stall status pending until it is cleared.
- - Made usbTxPacketCnt1 and usbTxPacketCnt3 public. This allows the
- application code to reset data toggling on interrupt pipes.
-
-* Release 2006-07-18
-
- - Added an #if !defined __ASSEMBLER__ to the warning in usbdrv.h. This fixes
- an assembler error.
- - usbDeviceDisconnect() takes pull-up resistor to high impedance now.
-
-* Release 2007-02-01
-
- - Merged in some code size improvements from usbtiny (thanks to Dick
- Streefland for these optimizations!)
- - Special alignment requirement for usbRxBuf not required any more. Thanks
- again to Dick Streefland for this hint!
- - Reverted to "#warning" instead of unused static variables -- new versions
- of IAR CC should handle this directive.
- - Changed Open Source license to GNU GPL v2 in order to make linking against
- other free libraries easier. We no longer require publication of the
- circuit diagrams, but we STRONGLY encourage it. If you improve the driver
- itself, PLEASE grant us a royalty free license to your changes for our
- commercial license.
-
-* Release 2007-03-29
-
- - New configuration option "USB_PUBLIC" in usbconfig.h.
- - Set USB version number to 1.10 instead of 1.01.
- - Code used USB_CFG_DESCR_PROPS_STRING_DEVICE and
- USB_CFG_DESCR_PROPS_STRING_PRODUCT inconsistently. Changed all occurrences
- to USB_CFG_DESCR_PROPS_STRING_PRODUCT.
- - New assembler module for 16.5 MHz RC oscillator clock with PLL in receiver
- code.
- - New assembler module for 16 MHz crystal.
- - usbdrvasm.S contains common code only, clock-specific parts have been moved
- to usbdrvasm12.S, usbdrvasm16.S and usbdrvasm165.S respectively.
-
-* Release 2007-06-25
-
- - 16 MHz module: Do SE0 check in stuffed bits as well.
-
-* Release 2007-07-07
-
- - Define hi8(x) for IAR compiler to limit result to 8 bits. This is necessary
- for negative values.
- - Added 15 MHz module contributed by V. Bosch.
- - Interrupt vector name can now be configured. This is useful if somebody
- wants to use a different hardware interrupt than INT0.
-
-* Release 2007-08-07
-
- - Moved handleIn3 routine in usbdrvasm16.S so that relative jump range is
- not exceeded.
- - More config options: USB_RX_USER_HOOK(), USB_INITIAL_DATATOKEN,
- USB_COUNT_SOF
- - USB_INTR_PENDING can now be a memory address, not just I/O
-
-* Release 2007-09-19
-
- - Split out common parts of assembler modules into separate include file
- - Made endpoint numbers configurable so that given interface definitions
- can be matched. See USB_CFG_EP3_NUMBER in usbconfig-prototype.h.
- - Store endpoint number for interrupt/bulk-out so that usbFunctionWriteOut()
- can handle any number of endpoints.
- - Define usbDeviceConnect() and usbDeviceDisconnect() even if no
- USB_CFG_PULLUP_IOPORTNAME is defined. Directly set D+ and D- to 0 in this
- case.
-
-* Release 2007-12-01
-
- - Optimize usbDeviceConnect() and usbDeviceDisconnect() for less code size
- when USB_CFG_PULLUP_IOPORTNAME is not defined.
-
-* Release 2007-12-13
-
- - Renamed all include-only assembler modules from *.S to *.inc so that
- people don't add them to their project sources.
- - Distribute leap bits in tx loop more evenly for 16 MHz module.
- - Use "macro" and "endm" instead of ".macro" and ".endm" for IAR
- - Avoid compiler warnings for constant expr range by casting some values in
- USB descriptors.
-
-* Release 2008-01-21
-
- - Fixed bug in 15 and 16 MHz module where the new address set with
- SET_ADDRESS was already accepted at the next NAK or ACK we send, not at
- the next data packet we send. This caused problems when the host polled
- too fast. Thanks to Alexander Neumann for his help and patience debugging
- this issue!
-
-* Release 2008-02-05
-
- - Fixed bug in 16.5 MHz module where a register was used in the interrupt
- handler before it was pushed. This bug was introduced with version
- 2007-09-19 when common parts were moved to a separate file.
- - Optimized CRC routine (thanks to Reimar Doeffinger).
-
-* Release 2008-02-16
-
- - Removed outdated IAR compatibility stuff (code sections).
- - Added hook macros for USB_RESET_HOOK() and USB_SET_ADDRESS_HOOK().
- - Added optional routine usbMeasureFrameLength() for calibration of the
- internal RC oscillator.
-
-* Release 2008-02-28
-
- - USB_INITIAL_DATATOKEN defaults to USBPID_DATA1 now, which means that we
- start with sending USBPID_DATA0.
- - Changed defaults in usbconfig-prototype.h
- - Added free USB VID/PID pair for MIDI class devices
- - Restructured AVR-USB as separate package, not part of PowerSwitch any more.
-
-* Release 2008-04-18
-
- - Restructured usbdrv.c so that it is easier to read and understand.
- - Better code optimization with gcc 4.
- - If a second interrupt in endpoint is enabled, also add it to config
- descriptor.
- - Added config option for long transfers (above 254 bytes), see
- USB_CFG_LONG_TRANSFERS in usbconfig.h.
- - Added 20 MHz module contributed by Jeroen Benschop.
-
-* Release 2008-05-13
-
- - Fixed bug in libs-host/hiddata.c function usbhidGetReport(): length
- was not incremented, pointer to length was incremented instead.
- - Added code to command line tool(s) which claims an interface. This code
- is disabled by default, but may be necessary on newer Linux kernels.
- - Added usbconfig.h option "USB_CFG_CHECK_DATA_TOGGLING".
- - New header "usbportability.h" prepares ports to other development
- environments.
- - Long transfers (above 254 bytes) did not work when usbFunctionRead() was
- used to supply the data. Fixed this bug. [Thanks to Alexander Neumann!]
- - In hiddata.c (example code for sending/receiving data over HID), use
- USB_RECIP_DEVICE instead of USB_RECIP_INTERFACE for control transfers so
- that we need not claim the interface.
- - in usbPoll() loop 20 times polling for RESET state instead of 10 times.
- This accounts for the higher clock rates we now support.
- - Added a module for 12.8 MHz RC oscillator with PLL in receiver loop.
- - Added hook to SOF code so that oscillator can be tuned to USB frame clock.
- - Added timeout to waitForJ loop. Helps preventing unexpected hangs.
- - Added example code for oscillator tuning to libs-device (thanks to
- Henrik Haftmann for the idea to this routine).
- - Implemented option USB_CFG_SUPPRESS_INTR_CODE.
-
-* Release 2008-10-22
-
- - Fixed libs-device/osctune.h: OSCCAL is memory address on ATMega88 and
- similar, not offset of 0x20 needs to be added.
- - Allow distribution under GPLv3 for those who have to link against other
- code distributed under GPLv3.
-
-* Release 2008-11-26
-
- - Removed libusb-win32 dependency for hid-data example in Makefile.windows.
- It was never required and confused many people.
- - Added extern uchar usbRxToken to usbdrv.h.
- - Integrated a module with CRC checks at 18 MHz by Lukas Schrittwieser.
-
-* Release 2009-03-23
-
- - Hid-mouse example used settings from hid-data example, fixed that.
- - Renamed project to V-USB due to a trademark issue with Atmel(r).
- - Changed CommercialLicense.txt and USBID-License.txt to make the
- background of USB ID registration clearer.
-
-* Release 2009-04-15
-
- - Changed CommercialLicense.txt to reflect the new range of PIDs from
- Jason Kotzin.
- - Removed USBID-License.txt in favor of USB-IDs-for-free.txt and
- USB-ID-FAQ.txt
- - Fixed a bug in the 12.8 MHz module: End Of Packet decection was made in
- the center between bit 0 and 1 of each byte. This is where the data lines
- are expected to change and the sampled data may therefore be nonsense.
- We therefore check EOP ONLY if bits 0 AND 1 have both been read as 0 on D-.
- - Fixed a bitstuffing problem in the 16 MHz module: If bit 6 was stuffed,
- the unstuffing code in the receiver routine was 1 cycle too long. If
- multiple bytes had the unstuffing in bit 6, the error summed up until the
- receiver was out of sync.
- - Included option for faster CRC routine.
- Thanks to Slawomir Fras (BoskiDialer) for this code!
- - Updated bits in Configuration Descriptor's bmAttributes according to
- USB 1.1 (in particular bit 7, it is a must-be-set bit now).
-
-* Release 2009-08-22
-
- - Moved first DBG1() after odDebugInit() in all examples.
- - Use vector INT0_vect instead of SIG_INTERRUPT0 if defined. This makes
- V-USB compatible with the new "p" suffix devices (e.g. ATMega328p).
- - USB_CFG_CLOCK_KHZ setting is now required in usbconfig.h (no default any
- more).
- - New option USB_CFG_DRIVER_FLASH_PAGE allows boot loaders on devices with
- more than 64 kB flash.
- - Built-in configuration descriptor allows custom definition for second
- endpoint now.
-
-* Release 2010-07-15
diff --git a/tmk_core/protocol/vusb/usbdrv/CommercialLicense.txt b/tmk_core/protocol/vusb/usbdrv/CommercialLicense.txt
deleted file mode 100644
index 11d07d9df0..0000000000
--- a/tmk_core/protocol/vusb/usbdrv/CommercialLicense.txt
+++ /dev/null
@@ -1,166 +0,0 @@
-V-USB Driver Software License Agreement
-Version 2009-08-03
-
-THIS LICENSE AGREEMENT GRANTS YOU CERTAIN RIGHTS IN A SOFTWARE. YOU CAN
-ENTER INTO THIS AGREEMENT AND ACQUIRE THE RIGHTS OUTLINED BELOW BY PAYING
-THE AMOUNT ACCORDING TO SECTION 4 ("PAYMENT") TO OBJECTIVE DEVELOPMENT.
-
-
-1 DEFINITIONS
-
-1.1 "OBJECTIVE DEVELOPMENT" shall mean OBJECTIVE DEVELOPMENT Software GmbH,
-Grosse Schiffgasse 1A/7, 1020 Wien, AUSTRIA.
-
-1.2 "You" shall mean the Licensee.
-
-1.3 "V-USB" shall mean all files included in the package distributed under
-the name "vusb" by OBJECTIVE DEVELOPMENT (http://www.obdev.at/vusb/)
-unless otherwise noted. This includes the firmware-only USB device
-implementation for Atmel AVR microcontrollers, some simple device examples
-and host side software examples and libraries.
-
-
-2 LICENSE GRANTS
-
-2.1 Source Code. OBJECTIVE DEVELOPMENT shall furnish you with the source
-code of V-USB.
-
-2.2 Distribution and Use. OBJECTIVE DEVELOPMENT grants you the
-non-exclusive right to use, copy and distribute V-USB with your hardware
-product(s), restricted by the limitations in section 3 below.
-
-2.3 Modifications. OBJECTIVE DEVELOPMENT grants you the right to modify
-the source code and your copy of V-USB according to your needs.
-
-2.4 USB IDs. OBJECTIVE DEVELOPMENT furnishes you with one or two USB
-Product ID(s), sent to you in e-mail. These Product IDs are reserved
-exclusively for you. OBJECTIVE DEVELOPMENT has obtained USB Product ID
-ranges under the Vendor ID 5824 from Wouter van Ooijen (Van Ooijen
-Technische Informatica, www.voti.nl) and under the Vendor ID 8352 from
-Jason Kotzin (Clay Logic, www.claylogic.com). Both owners of the Vendor IDs
-have obtained these IDs from the USB Implementers Forum, Inc.
-(www.usb.org). OBJECTIVE DEVELOPMENT disclaims all liability which might
-arise from the assignment of USB IDs.
-
-2.5 USB Certification. Although not part of this agreement, we want to make
-it clear that you cannot become USB certified when you use V-USB or a USB
-Product ID assigned by OBJECTIVE DEVELOPMENT. AVR microcontrollers don't
-meet the electrical specifications required by the USB specification and
-the USB Implementers Forum certifies only members who bought a Vendor ID of
-their own.
-
-
-3 LICENSE RESTRICTIONS
-
-3.1 Number of Units. Only one of the following three definitions is
-applicable. Which one is determined by the amount you pay to OBJECTIVE
-DEVELOPMENT, see section 4 ("Payment") below.
-
-Hobby License: You may use V-USB according to section 2 above in no more
-than 5 hardware units. These units must not be sold for profit.
-
-Entry Level License: You may use V-USB according to section 2 above in no
-more than 150 hardware units.
-
-Professional License: You may use V-USB according to section 2 above in
-any number of hardware units, except for large scale production ("unlimited
-fair use"). Quantities below 10,000 units are not considered large scale
-production. If your reach quantities which are obviously large scale
-production, you must pay a license fee of 0.10 EUR per unit for all units
-above 10,000.
-
-3.2 Rental. You may not rent, lease, or lend V-USB or otherwise encumber
-any copy of V-USB, or any of the rights granted herein.
-
-3.3 Transfer. You may not transfer your rights under this Agreement to
-another party without OBJECTIVE DEVELOPMENT's prior written consent. If
-such consent is obtained, you may permanently transfer this License to
-another party. The recipient of such transfer must agree to all terms and
-conditions of this Agreement.
-
-3.4 Reservation of Rights. OBJECTIVE DEVELOPMENT retains all rights not
-expressly granted.
-
-3.5 Non-Exclusive Rights. Your license rights under this Agreement are
-non-exclusive.
-
-3.6 Third Party Rights. This Agreement cannot grant you rights controlled
-by third parties. In particular, you are not allowed to use the USB logo or
-other trademarks owned by the USB Implementers Forum, Inc. without their
-consent. Since such consent depends on USB certification, it should be
-noted that V-USB will not pass certification because it does not
-implement checksum verification and the microcontroller ports do not meet
-the electrical specifications.
-
-
-4 PAYMENT
-
-The payment amount depends on the variation of this agreement (according to
-section 3.1) into which you want to enter. Concrete prices are listed on
-OBJECTIVE DEVELOPMENT's web site, usually at
-http://www.obdev.at/vusb/license.html. You agree to pay the amount listed
-there to OBJECTIVE DEVELOPMENT or OBJECTIVE DEVELOPMENT's payment processor
-or reseller.
-
-
-5 COPYRIGHT AND OWNERSHIP
-
-V-USB is protected by copyright laws and international copyright
-treaties, as well as other intellectual property laws and treaties. V-USB
-is licensed, not sold.
-
-
-6 TERM AND TERMINATION
-
-6.1 Term. This Agreement shall continue indefinitely. However, OBJECTIVE
-DEVELOPMENT may terminate this Agreement and revoke the granted license and
-USB-IDs if you fail to comply with any of its terms and conditions.
-
-6.2 Survival of Terms. All provisions regarding secrecy, confidentiality
-and limitation of liability shall survive termination of this agreement.
-
-
-7 DISCLAIMER OF WARRANTY AND LIABILITY
-
-LIMITED WARRANTY. V-USB IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
-KIND. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, OBJECTIVE
-DEVELOPMENT AND ITS SUPPLIERS HEREBY DISCLAIM ALL WARRANTIES, EITHER
-EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND
-NON-INFRINGEMENT, WITH REGARD TO V-USB, AND THE PROVISION OF OR FAILURE
-TO PROVIDE SUPPORT SERVICES. THIS LIMITED WARRANTY GIVES YOU SPECIFIC LEGAL
-RIGHTS. YOU MAY HAVE OTHERS, WHICH VARY FROM STATE/JURISDICTION TO
-STATE/JURISDICTION.
-
-LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW,
-IN NO EVENT SHALL OBJECTIVE DEVELOPMENT OR ITS SUPPLIERS BE LIABLE FOR ANY
-SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER
-(INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
-BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY
-LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE V-USB OR THE
-PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES, EVEN IF OBJECTIVE
-DEVELOPMENT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN ANY
-CASE, OBJECTIVE DEVELOPMENT'S ENTIRE LIABILITY UNDER ANY PROVISION OF THIS
-AGREEMENT SHALL BE LIMITED TO THE AMOUNT ACTUALLY PAID BY YOU FOR V-USB.
-
-
-8 MISCELLANEOUS TERMS
-
-8.1 Marketing. OBJECTIVE DEVELOPMENT has the right to mention for marketing
-purposes that you entered into this agreement.
-
-8.2 Entire Agreement. This document represents the entire agreement between
-OBJECTIVE DEVELOPMENT and you. It may only be modified in writing signed by
-an authorized representative of both, OBJECTIVE DEVELOPMENT and you.
-
-8.3 Severability. In case a provision of these terms and conditions should
-be or become partly or entirely invalid, ineffective, or not executable,
-the validity of all other provisions shall not be affected.
-
-8.4 Applicable Law. This agreement is governed by the laws of the Republic
-of Austria.
-
-8.5 Responsible Courts. The responsible courts in Vienna/Austria will have
-exclusive jurisdiction regarding all disputes in connection with this
-agreement.
-
diff --git a/tmk_core/protocol/vusb/usbdrv/License.txt b/tmk_core/protocol/vusb/usbdrv/License.txt
deleted file mode 100644
index ce4c3aed45..0000000000
--- a/tmk_core/protocol/vusb/usbdrv/License.txt
+++ /dev/null
@@ -1,361 +0,0 @@
-OBJECTIVE DEVELOPMENT GmbH's V-USB driver software is distributed under the
-terms and conditions of the GNU GPL version 2 or the GNU GPL version 3. It is
-your choice whether you apply the terms of version 2 or version 3. The full
-text of GPLv2 is included below. In addition to the requirements in the GPL,
-we STRONGLY ENCOURAGE you to do the following:
-
-(1) Publish your entire project on a web site and drop us a note with the URL.
-Use the form at http://www.obdev.at/vusb/feedback.html for your submission.
-
-(2) Adhere to minimum publication standards. Please include AT LEAST:
- - a circuit diagram in PDF, PNG or GIF format
- - full source code for the host software
- - a readme.txt file in ASCII format which describes the purpose of the
- project and what can be found in which directories and which files
- - a reference to http://www.obdev.at/vusb/
-
-(3) If you improve the driver firmware itself, please give us a free license
-to your modifications for our commercial license offerings.
-
-
-
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the inten