Commit Graph

1741 Commits

Author SHA1 Message Date
Joy fcfbc03008 revert main.c 2022-05-12 15:32:34 +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
Joy cd65f73725 Merge remote-tracking branch 'upstream/chibios-21.11.x' into chibios-21.11.x-wb 2022-05-05 10:18:12 +08: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
Joy 01fc225fa0 Update driver.mk 2022-04-25 15:29:45 +08:00
Joy 1f38b8574d Update driver.mk 2022-04-25 15:27:52 +08:00
Fabien Poussin 2a6b73ff51
Merge pull request #320 from WestberryTech/chibios-21.11.x-wb
Added CI test
2022-04-18 12:52:47 +02: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
Joy 1f669724c6 Added CI test 2022-04-18 10:16:45 +08: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
Fabien Poussin ca9b7f202d
Merge pull request #319 from KarlK90/fix/rp2040_usb_fixes_round_2
[RP2040] Fix usb endpoint handling on RP2040
2022-04-18 02:18: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 74fce1d693 Fixed a minor bug. 2022-03-22 17:19:31 +08: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
Fabien Poussin e41721b202
Merge pull request #316 from KarlK90/fix/rp2040_out_endpoint_errors
[RP2040] Init USB out endpoints on transfer start
2022-03-10 13:47:30 +01:00
dexter93 e201116e61
fix accidental line deletion in build.yml 2022-03-03 13:44:52 +02: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
Fabien Poussin ff1c6ec90c
Merge pull request #315 from hanya/rpi2cirq
[RP2040] i2c: Reduce intterupt frequency
2022-02-16 17:01:17 +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
Dimitris Mantzouranis 644c80e9fd Revert "remove github workflow to be able to push to github"
This reverts commit aec1a6c2362338cd55bf2905051be535c192469f.
2022-02-12 13:54:43 +02:00
IsaacDynamo 0fb99f8a4b Align ISR vector table to 512bytes 2022-02-12 13:51:12 +02:00
Dimitris Mantzouranis c34385de6b sn32: allow mcuconf to override system 2022-02-12 13:51:12 +02:00
Dimitris Mantzouranis f4f08b1b9b SN32 port updates
* add preliminary support for the whole SN32F2XX series
* unify CMSIS support, no more ugly hacks
* rename the unified hal to SN32F2XX
* common header amongst the hal, points to device
* add board files for the series
* 240 gets to keep it's own hal for now
2022-02-12 13:51:12 +02:00
Dimitris Mantzouranis 42b1ebd07f 240b: make sure we are full speed 2022-02-12 13:51:12 +02:00
IsaacDynamo df8d9a59b1 Add SN32F260_defines.h (#37) 2022-02-12 13:51:12 +02:00
Dimitris Mantzouranis 7c62da9728 sn32 pwm: introduce non stop mode 2022-02-12 13:51:12 +02:00
IsaacDynamo 97c5ea166a Fix misconfiguration (#36)
* Fix misconfiguration, and cleanup board.h

* Update 240B as well
2022-02-12 13:51:12 +02:00
IsaacDynamo 45c32fcb56 Remove flag (#32)
* Remove flag. The flag is not used/checked when the 260 used with a jump-loader

* Futher clean-up. Removed commented-out code
2022-02-12 13:51:12 +02:00
dexter93 19faddfeb8 [sn32] ct16: further chibios integration (#30)
* [sn32] ct16: further chibios integration

general purpose and pwm driver
also introduce a reset function

* build ct16 driver

* [sn32] have some isr handling

* 240: config the board for pwm

* Revert "240: config the board for pwm"
probably best to do in pwm driver
This reverts commit c09059a8ba60ea1832ea14f4d557bd8e22df3fd7.

* ct: logic fix. remove unecessary include

* ct: typos + use notifications

* ct: the periodic notification should not stop the timer

* ct: pfpa assignment

* ct: pwm:  enable channel only if configured as active

* ct: pwm: periodic tic should track the timer

* derp

* ct: our chip supports IRQ priority level [0-3]

* isr: use the appropriate priority for each device

* ct: pwm: actually handle the channels

* ct: we define the # of channels already so..

* isr: we handle this on the specific drivers
disable for now

* ct: pwm: don't override TC. Call a counter reset

* ct: pwm: Set the prescaler properly

PRE is the max value of PC. PC increments on every tick.
When PC reaches PRE, TC increments and the timer overflows
Periodic timer is software controlled

* ct: gpt: PRE is the interval. Call a counter reset

* ct: Rename reset funtion to be more precise

* ct: pwm: Invert the channel disable logic

* ct: pwm: autoreload on period match

* ct: pwm: we only care for the last 25bits of IC

* ct: gpt: we only care for the last 25bits of IC

* ct: pwm: init config as hw defaults

* ct: pwm: mr24 is the driver callback

* Revert "isr: we handle this on the specific drivers"

This reverts commit 9ca061f170d9523d0e4e42011881f3d0b8dd1599.

* Revert "[sn32] have some isr handling"

This reverts commit cf45020072ea828522f2de2f6d5d2521398a61cd.

* ct: pwm: update the periodic notification

* ct: gpt: use MR0

* ct: priority bump

* Revert "ct: priority bump"
3 is probably fine
This reverts commit d2a861097a43f367ffbd15f6fc5d6747d9f14426.

* sn32: pwm: introduce oneshot mode

enable it with by defining SN32_PWM_USE_ONESHOT TRUE

* pwm: reset: we have a function for that

* explicitly enable pwm channels

* bugfix for bad PWM_OUTPUT_MASK

if it is DISABLED, bad things occur
Only ever identify and use PWM_OUTPUT_ACTIVE_HIGH and PWM_OUTPUT_ACTIVE_LOW

* periodic notification: clear and disable it

* we definitely need this to only run at first init

* ct: pwm: support 23 channel chips

* ct: support 240b and 260 chips

* make the macro check build

* pwm: correctly set the logic level

* pwm: speed improvements
in our shared matrix driver, we only care about the last callback.
having a shortcut to that if no other flag is raised will improve speed

+ident and comment

* Revert "pwm: speed improvements"

This reverts commit e143544b807dd860d26548c803503521450822b8.
2022-02-12 13:51:12 +02:00
dexter93 68a138c41d sn32: platform definition updates (#35)
* sn32: fix platform names

* sn32: Introduce board specific name definition

* sn32: update mcu family naming
2022-02-12 13:51:12 +02:00
Jack cda95f33c7 Fix compilation error 2022-02-12 13:51:12 +02:00
IsaacDynamo 36a295e0d1 Replaced symlink with regular file. Documented the workaround (#27) 2022-02-12 13:51:12 +02:00
IsaacDynamo e72cf89dfa Fixed bug in sys clock init, also reported by glory (#22)
* Fixed bug in sys clock init, also reported by glory

* Removed modification of SN_FLASH->LPCTRL from SystemCoreClockUpdate(). SystemCoreClockUpdate() should only update the SystemCoreClock variable.
2022-02-12 13:51:12 +02:00
Dimitris Mantzouranis 82b25f3972 sn32: slight flash cleanup
guard the jumploader on any flash operation
thanks to @gloryhzw
2022-02-12 13:51:12 +02:00
Dimitris Mantzouranis 77e28ce0f0 [sn32] 240b: decouple Core clock and Flash clock update
introduce a controller for Slow mode
2022-02-12 13:51:12 +02:00
Dimitris Mantzouranis 9dad1e98ed [sn32] 240b: usb hal: use the ISR 2022-02-12 13:51:12 +02:00