Commit Graph

444 Commits

Author SHA1 Message Date
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 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 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
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 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 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
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 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 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
marcoveeneman 19efef2f4a Fixed hal_i2c_lld.c 2017-11-24 22:25:12 +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
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
marcoveeneman 1cc2988040 Aligned the Tiva port to the SPI driver improvements. 2017-09-10 21:16:14 +02:00
marcoveeneman 5d77abe7f2 Initial version of the Tiva UART driver. 2017-09-10 19:43:04 +02:00
Fabien Poussin bec3eada37 Merge branch 'master' into usbh_devel 2017-08-08 17:29:28 +02:00
marcoveeneman e04751c836 Merge pull request #120 from marcoveeneman/tiva_add_adc
Tiva add ADC driver
2017-08-08 16:23:00 +02:00
Diego Ismirlian 6a9d91cb1a USBH: STM32 LLD: break LS activity detect loop if port is disabled 2017-08-07 17:47:52 -03:00
Diego Ismirlian 02585210d1 USBH: STM32 LLD: various improvements
- general cleanup
- implemented workaround to undocumented erratum (the OTG core may
report successful enabling of port when connecting a low-speed device,
but really it generates no traffic and remains in a "dumb" state)
- improved handling of disconnection of devices (avoid submitting URBs
if the port is disabled)
2017-07-31 18:48:23 -03:00
Diego Ismirlian dee22cee18 USBH: remove unnecessary reschedules and add necessary ones 2017-07-16 20:01:50 -03:00
Diego Ismirlian 4026bc900d USBH: Correct bug in LLD 2017-07-16 18:19:06 -03:00
Diego Ismirlian c938866844 USBH: moved definition of driver to LLD 2017-07-09 18:29:44 -03:00
marcoveeneman 801b264b75 Fixed ADC driver.mk 2017-07-03 23:03:37 +02:00
marcoveeneman f8b656a810 Added missing driver.mk file for the ADC driver. 2017-07-03 22:30:46 +02:00
marcoveeneman 884dbaeabc Improved ADC driver and ADC testhal application. 2017-07-03 22:24:07 +02:00
marcoveeneman ffd9d3fd90 Initial ADC driver and testhal application for TM4C123x. 2017-07-03 22:23:55 +02:00
Diego Ismirlian d2c155b4cf USBH: moved declaration of driver to LLD 2017-06-09 11:07:20 -03:00
Diego Ismirlian 78da479955 USBH: STM32 lld, activate correction of unexpected length 2017-06-08 12:37:24 -03:00
Diego Ismirlian 61c3a28398 Mass license dates update 2017-06-05 11:04:30 -03:00
Diego Ismirlian a77ab485fb Remove redundant hal_stm32_otg.h file
The correct version is already present in ChibiOS
2017-06-05 10:27:20 -03:00
Diego Ismirlian 5ecaf7722b USB Host fixes
- Cleaned up alignment macros for GCC & IAR
- Corrected EP halt and Clear halt behaviours
- Initialization of class drivers by USB Host main driver
- Minor cosmetic fixes
- Updated USB_HOST testhal app
2017-06-05 10:18:45 -03:00
Andres Vahter c5be9cd85b Add checks to QEI if STM32 TIM is already used 2017-06-05 09:25:37 +03:00
marcoveeneman 2841fd88cd Updated license headers 2017-04-20 19:47:50 +02:00
marcoveeneman cfbd190b1e Fixed Tiva low level driver @file documentation. 2017-04-18 23:17:00 +02:00
marcoveeneman 3e3db4cf24 Improved documentation of the Tiva serial driver. 2017-04-18 23:06:30 +02:00
marcoveeneman e712f914ba Implemented advanced buffering support for the Tiva serial driver. 2017-04-18 22:55:01 +02:00
marcoveeneman 01423b08c2 Changed the flag set when a serial buffer is full. 2017-04-18 22:41:25 +02:00
marcoveeneman 9617145f21 Added driver.mk file for each low level peripheral driver. 2017-04-18 22:20:21 +02:00
Romain Reignier 15517ffbd0 [DMA2D, LTDC] Removing ch.h dependencies. Fix #111. 2017-02-28 22:59:28 +01:00
Fabien Poussin 4ffde4b17e [Comp] Adding interrupt functions, updating example. 2017-02-09 12:30:21 +01:00
Fabien Poussin fd89254b0d [Comp] Adding support for STM32F0. 2017-02-07 16:08:08 +01:00
Fabien Poussin 8b7e318d78 [Comp] Adding more defines 2017-02-07 15:46:43 +01:00
Fabien Poussin 1d10f06ab4 [Comp] Adding init, helper defines. 2017-02-07 15:37:20 +01:00
Fabien Poussin f4687bd298 [Comp] Cleaning example, removing dependencies and adding checks. 2017-02-07 15:20:28 +01:00
Fabien Poussin 7059c87ab4 [COMP] Fixing headers, missing includes. 2017-02-07 10:58:11 +01:00
Fabien Poussin 86428716d5 Adding COMP Driver. 2017-02-06 20:09:28 +01:00
Fabien Poussin 11e949d81b [Timcap/Eeprom] Removing ch.h dependencies. 2017-02-06 13:32:36 +01:00
barthess c09968f967 [STM32, NAND] Fixed #elif without expression 2017-01-24 12:15:04 +03:00
barthess 88c55f1aaa FSMC NAND improvements.
1) Implemented 16 bit bus width support
2) Added workaround errata in STM32
2017-01-17 21:10:54 +03:00
barthess 3e8fdd762a Merge branch 'master' of github.com:ChibiOS/ChibiOS-Contrib 2017-01-06 11:06:52 +03:00
barthess 779ea88be7 NAND. Added reset function. 2017-01-06 11:06:40 +03:00
Fabien Poussin 0135ff7dd3 Merge pull request #107 from pl4nkton/stm32_fixes
Stm32 fixes
2017-01-04 10:47:39 +01:00
barthess 2b9cfccc76 Merge branch 'master' of github.com:ChibiOS/ChibiOS-Contrib 2016-12-09 18:04:38 +03:00
barthess 53d3fd07f3 FSMC. Sync mode improvements.
1) Control registers writes reordered in init sequence to eliminate
incorrect output clock frequnency in short period after CCLKEN bit
set and B(W)TR registers set.
2) Added reset of CCLEN bit in stop procedure.
2016-12-09 18:00:28 +03:00
Nicolas Reinecke 546ac1d584 STM32: fix USB HOST HS when cpu is in sleep mode 2016-12-05 11:47:32 +01:00
Peter c7d33767e0 change qei types to int16_t 2016-12-05 11:37:44 +01:00
Nicolas Reinecke 580af16b82 usbh: add otg stepping 2 code 2016-12-05 11:37:44 +01:00
Nicolas Reinecke de0c3e70c6 usbh: cleanup 2016-12-05 11:37:44 +01:00
Fabio Utzig bc6033e829 Merge pull request #104 from sdalu/pwmfix
Use active wait and perform extra toggle if needed.
2016-11-24 20:23:05 -02:00
Stephane D'Alu d2b5649b0f fixed bad commit 2016-11-24 21:50:14 +01:00
Stephane D'Alu f2ff03a634 Merge branch 'pwmfix' of https://github.com/sdalu/ChibiOS-Contrib into pwmfix
Conflicts:
	os/hal/ports/NRF5/NRF51822/hal_pwm_lld.c
2016-11-24 21:48:41 +01:00
Stephane D'Alu 13bb299950 fixed style 2016-11-24 21:47:31 +01:00
Stéphane D'Alu 0c9313ee3d Wrong roundup for prescaler 7 2016-11-24 12:07:58 +01:00
Stephane D'Alu 5c85f5a7ce reducing to one magical value, putting reference to nrf51-pwm-library 2016-11-24 12:00:11 +01:00
marcoveeneman 7f7fe88e14 Merge pull request #100 from marcoveeneman/tiva-improvements
Tiva improvements
2016-11-21 22:26:49 +01:00
Stephane D'Alu 7ea44ed39c Use active wait and perform extra toggle if needed. (same as the nrf_pwm) 2016-11-20 13:25:25 +01:00
marcoveeneman 3ad1b1b07c Deleted custom Tiva CMSIS headers. 2016-11-11 23:01:39 +01:00