This directory contains external library code.

The cmsis directory contains code from:
  https://github.com/ARM-software/CMSIS_5
version 5.7.0 (a65b7c9a3e6502127fdb80eb288d8cbdf251a6f4). Contents
taken from the CMSIS/Core/Include/ directory.

The sam3x directory contains code from the
Atmel.SAM3X_DFP.1.0.50.atpack zip file found at:
  http://packs.download.atmel.com/
version 1.0.50 (extracted on 20180725).

The sam4e directory contains code from the
Atmel.SAM4E_DFP.1.1.57.atpack zip file found at:
  http://packs.download.atmel.com/
version 1.1.57 (extracted on 20180806). It has been modified to fix
some AFEC register RW accesses. See sam4e.patch for the modifications.

The sam4s directory contains code from the
Atmel.SAM4S_DFP.1.0.56.atpack zip file found at:
  http://packs.download.atmel.com/
version 1.0.56 (extracted on 20181220).

The samd21 directory contains code from the
Atmel.SAMD21_DFP.1.3.304.atpack zip file found at:
  http://packs.download.atmel.com/
version 1.3.304 (extracted on 20180725).

The samd51 directory contains code from the
Atmel.SAMD51_DFP.1.1.96.atpack zip file found at:
  http://packs.download.atmel.com/
version 1.1.96 (extracted on 20190110).

The lpc176x directory contains code from the mbed project:
  https://github.com/ARMmbed/mbed-os
version mbed-os-5.8.3 (c05d72c3c005fbb7e92c3994c32bda45218ae7fe).
Contents taken from the targets/TARGET_NXP/TARGET_LPC176X/ directory.
It has been modified to set the appropriate clock speeds on the
LPC1768 and LPC1769. See lpc176x.patch for the modifications.

The stm32f0 directory contains code from:
  https://github.com/STMicroelectronics/STM32CubeF0
version v1.10.1 (d0c380d668c67dcdd4e44f656be27045ce4006a6). Contents
taken from the Drivers/CMSIS/Device/ST/STM32F0xx/ directory.

The stm32f1 directory contains code from:
  https://github.com/STMicroelectronics/STM32CubeF1
version v1.8.0 (441b2cbdc25aa50437a59c4bffe22b88e78942c9). Contents
taken from the Drivers/CMSIS/Device/ST/STM32F1xx/ directory.

The stm32f2 directory contains code from:
  https://github.com/STMicroelectronics/STM32CubeF2
version v1.9.0 (42fc8bf966c04ef814bb0620dcd3e036e038b4a2). Contents
taken from the Drivers/CMSIS/Device/ST/STM32F2xx/ directory.

The stm32f4 directory contains code from:
  https://github.com/STMicroelectronics/STM32CubeF4
version v1.24.1 (b5abca20c9676b04f8d2885a668a9b653ee65705). Contents
taken from the Drivers/CMSIS/Device/ST/STM32F4xx/ directory.

The stm32g0 directory contains code from:
  https://github.com/STMicroelectronics/STM32CubeG0
version v1.4.1 (5cb06333a6a43cefbe145f10a5aa98d3cc4cffee). Contents
taken from the Drivers/CMSIS/Device/ST/STM32G0xx/ directory.

The stm32h7 directory contains code from:
  https://github.com/STMicroelectronics/STM32CubeH7
version v1.7.0 (79196b09acfb720589f58e93ccf956401b18a191). Contents
taken from the Drivers/CMSIS/Device/ST/STM32H7xx/ directory.

The rp2040 directory contains code from the pico sdk:
  https://github.com/raspberrypi/pico-sdk.git
version 1.2.0 (bfcbefafc5d2a210551a4d9d80b4303d4ae0adf7). It has been
modified so that it can build outside of the pico sdk. See
rp2040.patch for the modifications.

The rp2040_flash directory contains a light-weight bootsel flash tool.
It uses C part of the the `picoboot_connection` directory found in:
  https://github.com/raspberrypi/picotool.git
version v1.1.0 (55fd880c3dc029b961fc1a0967a6cfdc0af02721).

The hub-ctrl directory contains code from:
  https://github.com/codazoda/hub-ctrl.c/
revision 42095e522859059e8a5f4ec05c1e3def01a870a9.

The bossac directory contains code from:
  https://github.com/shumatech/BOSSA
version 1.9 (b176eeef918fc810045c832348590595120187b4).

The hidflash directory contains code from:
  https://github.com/Serasidis/STM32_HID_Bootloader
version 2.2.2 (2ab7927a27b7b78ef730782ea5f9b5d2c8f34671). It has been
modified to work with Klipper - see hidflash/README for the
details. See changes.diff for the modifications.

The pru_rpmsg directory contains code from:
  https://github.com/dinuxbg/pru-gcc-examples
revision 425a42d82006cf0aa24be27b483d2f6a41607489. The code is taken
from the repo's hc-sr04-range-sensor directory. It has been modified
so that the IEP definitions compile correctly. See pru_rpmsg.patch for
the modifications.

The fast-hash directory contains code from:
  https://github.com/ztanml/fast-hash
revision ae3bb53c199fe75619e940b5b6a3584ede99c5fc

The kconfiglib directory contains code from:
  https://github.com/ulfalizer/Kconfiglib.git
version v14.1.0 (061e71f7d78cb057762d88de088055361863deff). It has
been modified to always emit symbols and to simplify the "menuconfig"
screens. See kconfiglib.patch for the modifications.

The fatfs directory contains code from:
  http://elm-chan.org/fsw/ff/00index_e.html
version R0.14a (extracted 20210116).  The configuration (ffconf.h)
has been modfied to enable the US code page (437) and enable label
support.  The file "diskio.c" in the original archive is not included
as it is only serves as an example for how to implement the media api
callbacks.
