Commit Graph

1168 Commits

Author SHA1 Message Date
Fabien Poussin 76ba44c4ab
Merge pull request #331 from plewka/chibios-21.11.x
Support for STM32F303xB based on STM32F303xC
2022-09-03 13:20:29 +02:00
Fabien Poussin 3872fe996c
Merge pull request #332 from WestberryTech/chibios-21.11.x-wb
[WB32 MCU] adjusts some DMA and ADC processing.
2022-09-03 13:19:53 +02:00
Joy 8cd207b805 Optimize the code. 2022-08-22 15:15:46 +08:00
plewka c334731dfe
Support for STM32F303xB based on STM32F303xC
The xB variant is different in Flash size only
2022-08-19 15:13:47 +02:00
Joy 3e96dd1083 Merge branch 'chibios-21.11.x-wb' of github.com:WestberryTech/ChibiOS-Contrib into chibios-21.11.x-wb 2022-08-19 17:24:50 +08:00
Joy 5ec8107d65 Optimize ADC DMA code. 2022-08-19 17:23:51 +08:00
Fabien Poussin d03aa9cc2f
Merge pull request #324 from WestberryTech/chibios-21.11.x-wb
Add some processing to the WB32 MCU series.
2022-07-27 10:46:15 +02:00
Fabien Poussin 966c48894b
Merge pull request #328 from KarlK90/feature/rp2040-pwm-driver
[RP2040] Add RP2040 PWM driver
2022-07-27 09:32:15 +02:00
Fabien Poussin 49da37f6a8
Merge pull request #329 from KarlK90/fix/rp2040-i2c-irq-lockup
[RP2040] Fix I2C lockups, improve error handling and performance
2022-07-27 09:31:20 +02:00
Stefan Kerkmann c7dbb1dc0c RP2040: Fix I2C lockups and improve error handling
Problem:

* in edge-case scenarios the tx empty interrupt was still enabled after a
  transmission was finished. This would lead to endless interrupt tail
  chaining that completely starved the system.

Solution:

* all irqs are now disabled at the end of a transaction by default

Error handling:

* all error condition irqs like over and underruns of tx and rx fifos
  are now enabled and handled with an wake-up of the sleeping thread
  plus disabling of all irqs

Optimizations:

* irq status register is only read once for evalutation in the irq
  handler
* better utilization of the rx fifos during reception, which are now only
  read if all data has been successfully received.
2022-07-27 00:42:18 +02:00
Stefan Kerkmann 09dc9d31ea Add RP2040 PWM driver
All individual RP2040 PWM channels are mapped onto distinct ChibiOS PWM
drivers, as this fits driver model which wants an independent timer per
driver.
2022-07-19 20:16:08 +02:00
Joy Lee ccd4fea6cb
Update hal_pal_lld.c 2022-07-13 11:34:09 +08:00
Joy 7aa5e64893 Added the implementation of embedded flash for WB32 MCU. 2022-07-07 14:43:18 +08:00
Joy Lee 022d0ecb9c
Update hal_usb_lld.h 2022-06-29 16:03:31 +08:00
Joy Lee c0510a68b0
Update hal_usb_lld.h 2022-06-29 16:01:50 +08:00
Stefan Kerkmann 31cd95c1a6 Add flash sectors for all known GD32VF103 variants 2022-06-21 18:21:17 +02:00
Stefan Kerkmann ab0bcd290b Align GD32V with ChibiOS conventions
* Add v1 suffix to all driver folders
* Add _CONTRIB suffix to platform sources and includes
2022-06-21 18:09:21 +02:00
Joy af3b93a51f Added drive current control for special pins. 2022-06-20 16:31:44 +08:00
fauxpark 3d85866587 No need for system_MK64F12.h 2022-05-15 13:38:56 +10:00
fauxpark c86935b81f Modifications to run at 120MHz 2022-05-15 13:38:56 +10:00
fauxpark 59c69afd89 Comment out switch to IRC48M for now, set USBDIV to /2 (assume 96MHz clock) 2022-05-15 13:38:56 +10:00
fauxpark 09d1e9756f [WIP] Further K64F modifications, attempting to get USB working 2022-05-15 13:38:56 +10:00
Fabien Poussin a4072ada3b
Merge pull request #323 from WestberryTech/chibios-21.11.x-wb
Added support for WB32 MCU of ADC and DMAC.
2022-05-14 12:17:13 +02:00
Joy ea52b392fc Update the DMA configuration of the ADC. 2022-05-13 18:19:53 +08:00
Joy 9da9be4514 Fix a bug. 2022-05-13 10:53:45 +08:00
Joy 136eb5b134 Fix a bug. 2022-05-13 10:32:44 +08:00
Joy f54d268bce Added support for ADC and DMAC. 2022-05-12 15:17:06 +08:00
Joy 982ddc1195 Fix code format. 2022-05-12 14:54:39 +08:00
Tim Rheinfels 08ee575273 STM32F411-DISCO board: fix pin assignments
There were two problems with the previous pin assignments:

1. Due to a copy-and-past error, the pins 13 and 14 were mapped as AF for all ports instead of GPIOA (for SWD) only.

2. All free pins were assigned as analog inputs. This limits the maximum input voltage to +4V (see STM32F411xE datasheet, Table 11), making otherwise 5V-tolerant pins prone to latch-up.
2022-05-10 12:32:37 +02:00
Joy f9ed7a6f05 Update driver.mk 2022-04-27 21:55:03 -03:00
Joy 0d462dc0c4 Update driver.mk 2022-04-27 21:55:03 -03:00
Fabien Poussin e775cbbc88
Merge pull request #317 from SonixQMK/sn32_master_2.11
Sonix SN32 series support
2022-04-18 12:52:20 +02:00
Fabien Poussin 934631adbd
Merge pull request #318 from WestberryTech/chibios-21.11.x-wb
Added New MCU Serial for WB32.
2022-04-18 02:21:07 +02:00
Joy 3691f9affd Updated for better compatibility. 2022-04-14 11:19:43 +08:00
Stefan Kerkmann e160424d0a Fix usb endpoint handling on RP2040 2022-04-09 17:55:05 +02:00
wb-joy 9905169cfe Added RT-WB32FQ95-GENERIC Example. 2022-03-22 17:14:05 +08:00
wb-joy e16ee1dab8 Added New MCU Serial for WB. 2022-03-22 13:15:39 +08:00
dexter93 dd16d2583d sn32: usb hal cleanup (#42)
* import helper header

* seperate usb buf init

* move usb init in chibios driver
handle the address set in a more elegant way

* clean up some code
move through sn32_usb
use macros for ep dir

* handle the setup interrupt

* report back the frame no
wake up directly

* further deviate from usbhw.c
call registers directly
use chibios for reset
interrupt party time

* flag update

* switch n/ack to simple macros

* even more native

* bye sonix mess

* bring functions up to the docs

* usb stop, setup error handling

* further cleanup

remove dead code
cleanup headers
add missing connect/dc functionality
bring ep0 init to platform correct

* usb restart is now working

* attempt to fix wakeup

* no more delay on init

* fix the usb wakeup

* improve the wakeup

* make sure the direction is not set before init

* only mess with one ep

* need to enable the bus override too in order to control it

* driver block checks

* allow wakeup time override

* dynamic sram allocation

* remove useless ep naming

* testing: remove packet limits

* guard all i/o ops

* better wakeup/suspend handling

* remove dead code

* code cleanup

* make sure all ep's are handled
2022-03-03 13:23:14 +02:00
dexter93 c391c7d09c
sn32: add watchdog driver (#41)
* sn32: add watchdog driver

reset mode only.

* fix build
2022-03-03 13:09:56 +02:00
Stefan Kerkmann 46e388431f RP2040: Fix data sequence errors on out endpoints
When starting a receive operation on an out endpoint it has to be
configured before the out interrupt occurs, or otherwise a sequence
error is the result.
2022-03-02 00:56:40 +01:00
Hanya a1850c6a33 Reduce intterupt frequency 2022-02-15 19:02:36 +09:00
Dimitris Mantzouranis 3821ef39ca 2xx: fix the interrupt priorities
ARM M0 supports interrupt priorities 1-3
2022-02-12 13:54:53 +02:00
Dimitris Mantzouranis 9b0191220f sn32: fix spi on 260 2022-02-12 13:54:53 +02:00
1Conan 98a487a74d sn32f2xx: spi driver (#40)
* sn32 spi driver

* use spi0

* requested changes

* don't enable on init

* fix SPIx_Disable

* fix typo

* fix spi init
2022-02-12 13:54:53 +02:00
dexter93 99bd79f7c9 Centralize clocks handling for sn32f2xx (#38)
* sn32: 2xx: centralize peripheral clock functions

* sn32: export HCLK for all boards

* sn32: support tickless mode for systick

* sn32: CT: cleanup inclusions

* Revert "sn32: export HCLK for all boards"

This reverts commit 1cae8892e3ce908ef89774a7e83bb921ecd810fc.

* sn32: export HCLK in hal level

* ST: inherit the SN32_HCLK

* 2xx lld: include ct header

* ST: fix systime type

* ST: interrupt should be disabled on init

* st: cleanup

* debug it

* Revert "debug it"

This reverts commit 1dd78e81019aa1233f3402ed251428085470ab79.

* sn32f2xx: make sure clocks match and proper timer init

* add more checks

* always read 32 bits from the counter

* read the first 16 bits directly

* systime_t is 16bits, but MR0 lives in a 32bit register

* testing: use ILRC

* testing: hack

* Revert "testing: hack"

This reverts commit 3821173dd9a6180e3f91a3e81e73e9f92385e273.

* Revert "testing: use ILRC"
we can't do this because hardware limits
This reverts commit 19d3ffefbce8cdd5cd34859cd8befccda6353e58.

* fix assert

* test: hardcode it

* Revert "test: hardcode it"

This reverts commit a75777c44d12844eb0be44c650a1de1602cadaed.
2022-02-12 13:54:53 +02:00
Dimitris Mantzouranis c704bbd34d sn32 boards: support bootloader jump 2022-02-12 13:54:53 +02:00
Dimitris Mantzouranis ead342d090 sn32 boards: add flag for bootloader magic value on devices without jumploader 2022-02-12 13:54:53 +02:00
Dimitris Mantzouranis 6d7095947d sn32: platform makefile fixes 2022-02-12 13:54:53 +02:00
Dimitris Mantzouranis 05ac8777a8 sn32: startup makefile fixes 2022-02-12 13:54:53 +02:00
IsaacDynamo 0fb99f8a4b Align ISR vector table to 512bytes 2022-02-12 13:51:12 +02:00