Commit Graph

807 Commits

Author SHA1 Message Date
Diego Ismirlian 77021bb646 USBH: add helper macros to MSD, FTDI, AOA 2019-10-02 17:03:43 -03:00
Diego Ismirlian 938daa12d6 USBH: MSD: revert report OK on CSW status failure 2019-10-02 16:57:31 -03:00
Diego Ismirlian 7c57d8a924 USBH: UVC: improve debug message 2019-10-02 16:57:31 -03:00
Diego Ismirlian 7a57cfe93d USBH: Fix compilation with HAL_USBH_USE_HUB = false 2019-10-02 16:57:31 -03:00
Diego Ismirlian 392d6af300 USBH: rework debug framework 2019-10-02 16:57:30 -03:00
Diego Ismirlian fa3880546c USBH: check remaining bytes before dereferencing buffer
To avoid accessing unimplemented memory. We rely on the lazy evaluation
of the C language.
2019-10-02 16:57:30 -03:00
Diego Ismirlian d77e8fbd52 Merge branch 'master' into segger_systemview 2019-10-02 15:31:37 -03:00
Diego Ismirlian 1ca49e0b90 Fault handlers: v7m: simplify 2019-10-02 15:18:08 -03:00
Diego Ismirlian 41f2f8462a Add fault handlers to ease ARM-v7m (Cortex M3/M4(F)/M7 debugging 2019-10-02 15:14:28 -03:00
Diego Ismirlian 6f817a0298 Merge branch 'master' of https://github.com/ChibiOS/ChibiOS-Contrib 2019-10-02 11:38:05 -03:00
Fabien Poussin 8282de4134 NRF SPI driver fix 2019-10-02 15:57:56 +02:00
Fabien Poussin de7bb19599 NRF51 ADC fix 2019-10-02 15:19:07 +02:00
Fabien Poussin bc65ee4513 Kinetis SPI driver 2019-10-02 13:54:24 +02:00
Fabien Poussin 2e17d54017 Kinetis ADC 2019-10-02 13:09:49 +02:00
Fabien Poussin f1dce4dc14 Kinetis makefiles fixes 2019-10-02 10:47:02 +02:00
Fabien Poussin a0bd333cd2 Jenkins to use 19.1.x 2019-10-02 10:47:02 +02:00
Fabien Poussin 8a0095ecd9 Updated testhal for 19.1.x 2019-10-02 10:47:02 +02:00
Fabien Poussin f9f0c2d10c Fixed DMA for 19.1.x 2019-10-01 19:50:42 +02:00
Diego Ismirlian 8fab074cde Use I-class functions for registry 2019-09-30 16:39:41 -03:00
Diego Ismirlian 162a61257e Merge branch 'master' into segger_systemview 2019-09-29 19:35:17 -03:00
Diego Ismirlian eb10a7d52f Update copyright 2019-09-29 19:31:05 -03:00
Diego Ismirlian 741626dc8f Add SEGGER RTT and SystemView bindings for ChibiOS 2019-09-29 12:37:06 -03:00
Diego Ismirlian 8db69eb38c Merge branch 'master' of https://github.com/ChibiOS/ChibiOS-Contrib 2019-09-29 10:25:16 -03:00
Fabien Poussin 6736a9099b Fixes for STM32L4, Comp and eeprom. 2019-09-18 11:49:12 +02:00
Fabien Poussin a8bd0ca9da Fixed COMP1 peripheral name 2019-09-17 14:57:16 +02:00
Fabien Poussin 9483bacf88 Adding devices for STM32L4 2019-09-17 13:51:40 +02:00
Diego Ismirlian 7b2c61a676 Merge branch 'master' of https://github.com/ChibiOS/ChibiOS-Contrib 2019-08-24 17:45:41 -03:00
Fabien Poussin e346e77933
Merge pull request #194 from markuspetermann/patch-1
Added hal lld's to platform.mk of STM32F7xx
2019-08-07 12:54:43 +02:00
markuspetermann 5ea770676f
Added hal lld's to platform.mk of STM32F7xx 2019-08-07 00:36:02 +02:00
Fabio D'Urso 9b5eba54fb NRF: Make the SPI driver compile on NRF52 too 2019-08-06 00:48:31 +02:00
Fabio D'Urso b5332141f0 NRF5: Added support for internal I2C pull-ups 2019-07-22 12:35:38 +02:00
Konstantin K. Oblaukhov 6fab9821eb Merge ICU (in GPIOTE mode) and PAL interrupts. 2019-04-09 16:25:54 +07:00
Konstantin K. Oblaukhov 6dc1071c9f EXT test rewritten.
Add default value for NRF5_PAL_PAD_TO_EVENT macro.
2019-04-09 15:16:36 +07:00
Konstantin Oblaukhov a9b84aa036 NRF5: Add support for PAL events, EXT driver removed. 2019-04-09 12:33:36 +07:00
José Simões a3e3114580
Fix F7 cache invalidation on write operation 2019-03-10 11:33:40 +00:00
José Simões ab0b1c80d2
Add call to cache flush on disk write
- This is required for F7 targets (and others that feature memory cache).
- The call is provided empty for all the other series, so it's OK to use it as it is.
2019-03-07 16:30:13 +00:00
José Simões f014b8da68 Fixes for USB MSD
- Fix return value on succesfull scsi_requestsense.
- Fix calls to LL SMT32 API for OTG2.
- Port changes from ChibiOS fatfs_diskio.
- Rework checks to allow simultaneous use of SD Card and USB MSD.

Signed-off-by: José Simões <jose.simoes@eclo.solutions>
2019-02-27 15:00:50 +00:00
Fabien Poussin 6076bdf27d Updating OpAmp code with calibration functions, cleaning. 2019-01-31 17:52:13 +01:00
Fabien Poussin bdcee91586 Missing op amp file for non smart build 2019-01-25 13:29:47 +01:00
Fabien Poussin 49a3d9b0f7 Adding median library 2019-01-10 11:17:36 +01:00
Fabien Poussin e19ff53f02
Merge pull request #178 from AndruPol/master
added NRF52 pwm, icu, i2c, radio esb drivers
2019-01-09 02:51:33 +01:00
Fabien Poussin 91e635b08a Adding rudimentary OPAMP Driver 2019-01-08 20:02:45 +01:00
andru 2168085ac7 added NRF52 pwm, icu, i2c, radio esb drivers 2019-01-08 11:22:01 +03:00
Konstantin Oblaukhov 33375fb281 Fix USB HID driver. 2018-11-20 09:53:46 +07:00
Konstantin Oblaukhov a6bb21d05b KINETIS tests and demos updated to ChibiOS 18.2.x. 2018-11-20 09:53:38 +07:00
Konstantin Oblaukhov d921781a45 KINETIS platform update for ChibiOS 18.2.x. 2018-11-20 09:53:30 +07:00
Konstantin Oblaukhov d200007a29 Reorganize KINETIS driver files 2018-11-20 09:53:22 +07:00
Konstantin Oblaukhov 0e6f501f80 Update all NRF5x makefiles and chconf.h.
Add missing halconf_community.h
2018-11-20 09:52:42 +07:00
Konstantin Oblaukhov f4d6d90989 NRF5x platform - new Makefiles. 2018-11-20 09:52:26 +07:00
Konstantin K. Oblaukhov ca35947f81 Reorganize NRF5x driver files. 2018-11-20 09:52:01 +07:00
Fabien Poussin 1391af251d
Merge pull request #170 from kajusK/qei
Added setting qei to value for stm32
2018-11-01 14:37:02 +01:00
Dave Flogeras 28a4beafd1 Fix for rccEnableCRC macro parameter.
This was removed in commit
ae7a4d40b84d8afc999691577210696f16e682f6#diff-7ddaa5ecc31109f41b7801dea2660b47

But I think is still necessary as the underlying rccEnableAHB macros
take parameter 'lp'.  It seems to work for the F0xx series, because its
rccEnableAHB ignores the 'lp'.  It is required when I tried to use the
CRC driver on a family that does require the 'lp' parameter in the lower
level macros.
2018-11-01 09:34:19 -03:00
Jakub Kaderka c4519da48a Added setting qei to value for stm32 2018-10-16 20:25:29 +02:00
Austin Morton 40769f9bd3 avoid using list_for_each_entry_safe when closing endpoints to prevent potential infinite loop
list_for_each_entry_safe is only safe when the current entry is being removed.
If other entries in the list could potentially be removed it can result in an infinite loop.

Because usbh_lld_ep_close blocks on each urb during iteration, it may give up its lock on
the system and allow an interrupt to remove a different urb from the list,
resulting in an infinite loop when the thread resumes.
2018-10-01 17:57:11 -04:00
Austin Morton ca79ff2e87 fix some compiler warnings around USBH_DEBUG_ENABLE conditions 2018-10-01 17:55:08 -04:00
Austin Morton 36ccd9f43a implement _ptxfe_int to support ISO and INT out transfers 2018-10-01 17:53:07 -04:00
Konstantin Oblaukhov 2db0e3fd78 New style makefiles for demos and tests. 2018-09-24 20:31:28 +07:00
Konstantin Oblaukhov 7ab18994e7 Adopt sources to new HAL. 2018-09-24 20:29:02 +07:00
Konstantin Oblaukhov ccfc910829 Update STM32 platform makefiles, add per-driver makefiles. 2018-09-24 20:25:22 +07:00
Konstantin Oblaukhov 2c72509900 Smart build for HAL. 2018-09-24 20:22:33 +07:00
Diego Ismirlian 2366ead14e FATFS: update diskio to match FATFS version 2018-08-20 21:29:16 -03:00
Diego Ismirlian dd1799beda Merge branch 'master' of https://github.com/MegabytePhreak/ChibiOS-Contrib 2018-08-20 21:16:55 -03:00
Diego Ismirlian 0936be2541 Merge branch 'master' of https://github.com/ChibiOS/ChibiOS-Contrib 2018-08-20 20:50:22 -03:00
Paul Roukema 2a9d939d72 Fix incompatible USBH VMTs 2018-08-05 23:59:06 -04:00
Unknown 6ac9e40dfa Fix STM32 LLD CRCv1 large data bug in DMA mode
* STM32 DMA can only handle 65535 bytes per transfer so larger data sets
   have to split up to be correctly handled when using DMA
2018-07-12 15:01:44 +02:00
Vitaly Repetenko 5a19c14600 Issue #162: QEI driver macros not defined error fixed 2018-06-19 23:43:34 +03:00
Michael Walker 8f974a83a5 Adding missing interrupt vector for SDHC on MK66F18 MCU 2018-05-08 07:39:53 -07:00
Fabien Poussin 6cc0927c06
Merge pull request #158 from walkerstop/mike
Kinetis MK66F18 and PJRC Teensy 3.6 support
2018-05-07 16:58:30 +02:00
Michael Walker 619d45c0ff Fix MK66F18 compilation for the following HALs: Serial, I2C, EXT, ADC, GPT, PWM, SPI 2018-05-07 07:45:08 -07:00
Fabien Poussin 43fb76203d
Merge pull request #157 from walkerstop/master
Kinetis compilation errors with latest code from ChibiOS master branch
2018-05-05 19:24:18 +02:00
Fabien Poussin dfd4708dbc
Merge pull request #156 from wiml/k64_support
Kinetis K64 and PJRC Teensy3.5 support
2018-05-05 19:23:19 +02:00
Michael Walker f4b640014d Correct register definitions for MK66F18 for LPTMR and FlexRAM 2018-05-03 15:17:52 -07:00
Michael Walker 8f7e1d18b9 Always use IRC48M clock for USB on MK66F18 2018-05-02 07:53:01 -07:00
Michael Walker 5bec0d7abc Always use IRC48M clock for USB on MK66F18 2018-05-02 06:49:29 -07:00
Michael Walker 0f3af19758 Disable MPU by default 2018-05-02 05:15:22 -07:00
Michael Walker 72b22c7f67 Merge branch 'master' into mike 2018-05-02 03:48:09 -07:00
Michael Walker 1fefdf78fe Remove duplicate code already in upstream master and add include dir 2018-05-02 03:47:26 -07:00
Michael Walker cd7559268d Merge branch 'master' into mike 2018-05-02 03:37:31 -07:00
Michael Walker 457afa6202 Remove duplication 2018-05-02 03:36:12 -07:00
Michael Walker 6d879f58f5 Merge remote-tracking branch 'upstream/master' 2018-05-02 03:33:23 -07:00
Michael Walker 4d7ccdd1fc More corrections 2018-05-01 14:46:56 -07:00
Michael Walker 0fbddccd80 disable voltage inrush regulator 2018-05-01 03:26:28 -07:00
Michael Walker 46233064c5 iasdfa 2018-05-01 01:07:46 -07:00
Michael Walker 7506c2a2c1 support Teensy 3.6 2018-05-01 00:46:42 -07:00
Michael Walker 547c570af0 Update 2018-05-01 00:42:01 -07:00
Michael Walker c7e0258666 Merge branch 'master' into mike 2018-05-01 00:37:57 -07:00
Michael Walker 4e9f077fb1 Enable Kinesis on newer ChibiOS 2018-05-01 00:26:06 -07:00
Michael Walker b0a7581067 Attempt at Teensy 3.6 support 2018-04-30 16:34:26 -07:00
Fabien Poussin 71fe8e7ced Renaming PID struct typedef to avoid conflicts 2018-03-25 04:21:11 +02:00
Fabien Poussin 9e5aba8bd9 Adding basic PID demo. 2018-03-22 18:16:20 +01:00
Fabien Poussin 12552897f3 Cleaning PID lib. 2018-03-22 16:58:48 +01:00
Fabien Poussin d66ce4b75b Adding PID library 2018-03-22 16:30:35 +01:00
Fabien Poussin d4d384557d Fixes for #138 2018-03-20 16:04:08 +01:00
marcoveeneman 708bb829ea Fixed some more warnings 2018-03-16 22:16:57 +01:00
Fabien Poussin 3add406135
Merge branch 'master' into update_tests 2018-03-15 12:51:14 +01:00
Fabien Poussin dabdfca04e
Merge pull request #148 from romainreignier/add_stm32L4
platform: add support for STM32L4 family
2018-03-15 12:07:33 +01:00
Fabien Poussin f8fbfbd248
Merge pull request #149 from marcoveeneman/improve_tiva_makefiles
Improve tiva makefiles
2018-03-15 12:06:59 +01:00
Fabien Poussin 424c7a2717 Fixed most testhal examples for STM32, updated configs using script. Fixed deprecated MS2ST calls. 2018-03-14 20:15:13 +01:00
Romain Reignier 6513490986 platform: add support for STM32L4 family 2018-03-12 21:33:11 +01:00
Romain Reignier 345e218afd lib_sci: FIX 'for' loop initial declarations are only allowed in C99 or C11 mode 2018-03-12 21:27:50 +01:00
Romain Reignier 6ca20973e2 boards: Update board BARTHESS to newer API 2018-03-12 21:20:46 +01:00
Romain Reignier 3a9593e6d8 fatfs: update to latest ChibiOS changes 2018-03-12 21:20:32 +01:00
Romain Reignier e1e6f87481 hal_usbh: update to new Time macros 2018-03-12 21:20:32 +01:00
Romain Reignier 26a11251bf hal_fsmc: update to new RCC API 2018-03-12 21:20:32 +01:00
Romain Reignier 918149d48d hal: stm32: Keep track of latest STM32 RCC API
RCC API changed in 01/2018 so apply the changes.

Note that ae7a4d40b8 partially fixed the changes in QEI module but some were missing.
So update the other modules too.
2018-03-12 21:20:07 +01:00
marcoveeneman 32cdf41174 Fixed warnings triggered by -Wundef compile option 2018-03-12 19:04:54 +01:00
Romain Reignier b143e38a66 Keep track of STM32 RCC API
RCC API changed in 01/2018 so apply the changes.

Note that ae7a4d40b8 partially fixed the changes in QEI module but some were missing.
So update the other modules too.
2018-03-11 22:13:06 +01:00
marcoveeneman 5e65e52f28 Fixed wrong variable name for ASM files 2018-03-10 15:32:24 +01:00
marcoveeneman 4aa00494c2 Added shared variables to startup, board and platform makefiles 2018-03-10 14:58:45 +01:00
Fabien Poussin aa8c6cc4af
Merge pull request #145 from marcoveeneman/tiva_improvements
Various Tiva improvements
2018-03-08 21:42:35 +01:00
Fabien Poussin ae7a4d40b8 Fixes for STM32F0 testhal 2018-03-08 20:14:13 +01:00
Fabien Poussin 32f792087a
Merge pull request #139 from wiml/kinetis_sdhc
Add support for the Kinetis SDHC peripheral
2018-03-08 17:13:30 +01:00
Fabien Poussin 6927538038
Merge pull request #136 from wiml/k64_uarts
Added support for additional UARTs (up to six on the K64F).
2018-03-08 17:11:14 +01:00
Fabien Poussin 11066ebbd3
Merge pull request #143 from qmk/fix_kinesis_usb_data_sync
Fix Kinetis usb databank synchronization problems
2018-03-08 17:09:26 +01:00
marcoveeneman 9ef6a86060 Renamed GPIO IRQ priority definitions for the PAL driver 2018-03-07 20:38:10 +01:00
marcoveeneman 9a21d8e143 Removed EXT driver files 2018-03-02 18:55:22 +01:00
marcoveeneman 2977a2bc87 Implemented events to PAL driver for Tiva devices.
Most code from the EXT driver could be reused.
2018-03-02 00:09:45 +01:00
marcoveeneman f8b91dc682 Added number of GPIO pins to TM4C129x registry. 2018-03-02 00:07:02 +01:00
marcoveeneman 7057148a43 Fixed hal_st_lld still using old register access.
Registers are now accessed using the HWREG() macro.
2018-03-02 00:05:39 +01:00
marcoveeneman ff7d474ecd Updated platform.mk files to handle halconf.h files located in CONFDIR 2018-03-02 00:02:48 +01:00
marcoveeneman 927b3cf1b4 Fixed bug in pal_lld_writepad implementation 2018-03-01 23:13:01 +01:00
marcoveeneman cae865f0b9 Changed PAL driver so that TM4C123x devices GPIO blocks always use AHB. 2018-02-28 18:28:02 +01:00
marcoveeneman 6b277eb3db Fixed startup makefiles
vectors.c was replaced by vectors.S
2018-02-27 20:59:58 +01:00
Fred Sundvik b7f761313c Fix data usb data toggle sync problem
USB control transfers are structured as the following.
For incoming transfers
Setup (Data0 out)
Data (Data1/Data0 in) - starting with data 1
Status (Data1 out)

For outgoing transfers
Setup (Data0 out)
Data (Data1/Data0 out) - starting with data 1
Status (Data1 in)

The in buffers (device to host) are always correctly synchronized, since
they can always be reset to Data1 each setup packet without any
synchronization problems.

The problem occured for outgoing transfers (host to device). For
incoming transfers the data banks always alternates, and will
automatically stay in sync. Outgoing transfers also stays in sync when
there's an odd number of data packets. However when the number is even,
including zero, then the last packet received by the device will be
data0 and the next setup packet also has to be data0, so there's a
synchronization problem.

This itself is not a problem since data toggle synchronization(DTS) is
ignored for setup packets, however if the follwoing packet after that
is also an out packet, then the data bank will be wrong and the packet
dropped. In this case the USB spec don't allow sending a nack, so it
will only recover after a timeout, when the host tries to send a new
setup packet.

The old code tried to take care of this situation by reinitializing
both data banks when a setup packet is received. The problem is that the
next packet might already have been received or is in progress of being
received at this point, so the fixup comes to late. The new code does
the fixup when a status packet is about to be sent from the device to
avoid this problem.
2018-02-08 08:34:51 +02:00
Fred Sundvik 1178cf761c Fix typo in k20xx.h 2018-02-08 08:34:14 +02:00
Fred Sundvik 432bc1762f Add usb_lld_wakeup_host for Kinetis 2018-02-03 17:25:31 +02:00
Adrian 90b7d6bbd0 Added support for STM32F7
Tested only for STM32F746, other chipsets have to be checked.
2018-01-31 09:55:38 +01:00
Wim Lewis 7e51a3bcfa Use an interrupt instead of polling for simple commands.
Updated some comments and some trace statements.
2018-01-18 18:23:07 -08:00
Wim Lewis 48d924c24b Improved error handling: check the card's state before trying to abort
a failed data transfer; translate card status bits into HLD error
bits. Set BLKATTR_BLKCNT even when it's not being used, which seems to
avoid errors when alternating between multi-block and single-block
transfers. Some comments.
2018-01-18 01:33:04 -08:00
Wim Lewis ee3f7f1b85 Low-level driver for the Kinetis SDHC peripheral as found on the MK64FX512
and other members of the Kinetis family.
2018-01-06 03:17:53 -08:00
Wim Lewis 527ddd6e45 Board definitions for the PJRC Teensy 3.5, based on the Kinetis K64. 2018-01-06 03:14:43 -08:00
Wim Lewis 0df335ce45 Basic support for the (Motorola/Freescale/NXP) Kinetis MK64FX512 chip,
partially copied from the existing K20 support.
2018-01-06 03:09:58 -08:00
Dave Flogeras 5cc37ffd32 Add STM32F769 to FSMCv1 sdram driver 2017-12-14 16:25:15 -04:00
Wim Lewis c4eb6b4901 Added support for additional UARTs (up to six on the K64F).
Also moved some code that is duplicated per-UART into
local functions to reduce the amount of duplication.
2017-12-08 19:42:13 -08:00
Diego Ismirlian 03615f40dc USBH: debug improvements 2017-12-04 13:11:16 -03:00
marcoveeneman 19efef2f4a Fixed hal_i2c_lld.c 2017-11-24 22:25:12 +01:00
marcoveeneman 77bf52e042 Updated startup makefiles with new path to CMSIS Core headers 2017-11-23 21:47:09 +01:00
marcoveeneman ec4b244c51
Merge pull request #125 from marcoveeneman/tiva_add_uart
Add Tiva UART driver.
2017-11-23 21:37:24 +01:00
Diego Ismirlian dbaa1b8700 USBH: AOA: Various improvements 2017-11-19 21:20:57 -03:00
Diego Ismirlian 61dfc26804 USBH: improve disconnection detection; added a necessary reschedule. 2017-11-19 21:17:56 -03:00
Fabio Utzig ab3f7c22cc
Merge pull request #133 from belak/k20x-mcg-c2
Fix for K20x startup
2017-11-04 17:32:26 -02:00
Kaleb Elwert 96413f3767 Fix for K20x startup 2017-11-04 10:41:06 -07:00
Diego Ismirlian f4cf7e5591 Merge branch 'master' of https://github.com/ChibiOS/ChibiOS-Contrib 2017-10-29 17:52:54 -03:00
Diego Ismirlian decde2ca4c USBH: silence compiler warning 2017-10-29 17:43:27 -03:00
Diego Ismirlian 06af5833ed USBH: main driver: implement usbhBulkTransfer as inline function 2017-10-29 17:41:30 -03:00
Diego Ismirlian bfc5805886 Merge branch 'master' of https://github.com/dismirlian/ChibiOS-Contrib 2017-10-29 17:22:24 -03:00
Kimmo Lindholm 9f2ee0a227 SCSI: Respond to TEST UNIT READY command, Fix REQUEST SENSE replying
When host sends TEST UNIT READY command, set sense 'all ok' if block device reports
that medium is inserted, or set sense 'medium not present' if medium is not inserted.

Do not override sense by default with 'all ok', allow REQUEST SENSE command
to be responded with correct sense data which was set on last failure.

Check just DESC bit when responding to REQUEST SENSE command.
2017-10-21 13:36:49 +03:00
Kimmo Lindholm 39487df4de SCSI: Respond to unit serial number inquiry 2017-10-12 00:06:50 +03:00
Mark Harris 741459ac27 usbh:correct spelling of usbhSynchronousTransfer 2017-09-14 17:36:21 +02:00
Mark Harris f5f3c8ffdb usbh:_ptxfe_int, use HPTXSTS, introduce usbhSyncrhonousTransfer 2017-09-14 14:41:28 +02:00