Commit Graph

1584 Commits

Author SHA1 Message Date
a_p_u_r_o ae3542876c
Merge pull request #290 from elfmimi/numicro-usb-fix 2021-08-04 23:46:35 +09:00
Alex Lewontin 2935adef79
Create usb_memcpy.S 2021-08-04 00:52:06 -04:00
Ein Terakawa 7bc8efaee4 NUMICRO: Fix trivial but hard to find errors in USB LLD 2021-08-02 21:58:26 +09:00
Stefan Kerkmann e4790d23ae Fix ADC0 DMA stream mapping 2021-07-23 14:05:15 +02:00
Fabien Poussin 1310a8ce93
Merge pull request #287 from snazarkin/crc-patch-1
Don't include SW CRC if not requested
2021-07-21 21:00:09 +02:00
Fabien Poussin aa89629d2f
Merge pull request #285 from AndruPol/chibios-20.3.x
fixed erase in hal_efl_lld
2021-07-21 14:00:35 +02:00
snazarkin 3404e4d270
Don't include SW CRC if not requested
I've got build failure when enable CRC module on STM32. The reason is SW CRC header is included by default  but not by compiler if ChibiOS-Contrib/os/various/ is not included into search path.
The fix includes only requested LL header.
2021-07-19 16:56:32 +03:00
José Simões e93de09f00 Replace packed struct definition with CMSIS one 2021-07-12 18:18:43 +01:00
andru 4ace726d62 fixed erase in hal_efl_lld 2021-07-10 20:58:37 +03:00
Fabien Poussin 34591368db
Merge pull request #284 from dron0gus/crc-fix
STM32: crc lld: in reversal mode should be changed for tailing half-word and byte
2021-07-10 17:08:30 +02:00
Fabien Poussin c9ea245068
Merge pull request #282 from AndruPol/chibios-20.3.x
nrf52 drivers
2021-07-10 16:57:09 +02:00
Fabien Poussin 827620f896
Merge pull request #283 from KarlK90/gd32vf103-afio-registers
[GD32VF103] Rename missed AFIO registers and free B4 pin on Longan Nano
2021-07-10 16:55:39 +02:00
Andrey Gusakov d4a0d9f0a9 STM32: crc lld: in reversal mode should be changed for tail 2021-07-05 23:25:28 +03:00
Stefan Kerkmann 24ec55baa7 Free B4 pin on Longan Nano Board
By default B4 has the JTAG NJRST signal with a pull up enabled. On the longan Nano
this PIN is broken out as a regular pin. So we just disable NJRST by default
and make it available as a regular GPIO.
2021-07-03 13:50:03 +02:00
Stefan Kerkmann 1021a7771f Rename missed AFIO register names 2021-07-03 13:45:27 +02:00
andru 2fab47aa3b fixed get_descriptor 2021-07-03 07:34:59 +03:00
andru 9fd3837bbf changed gpt, added efl driver 2021-07-03 06:26:36 +03:00
Fabien Poussin 3fc7254ad3
Merge pull request #280 from fauxpark/kinetis-ldscripts
Add flash4-7 to MK64FX512 and MK66FX1M0 ldscripts
2021-06-30 10:06:06 +02:00
Fabien Poussin f54249ae9a
Merge pull request #281 from AndruPol/chibios-20.3.x
added nrf52 uart driver, changed icu, radio drivers
2021-06-30 00:59:10 +02:00
Fabien Poussin 3a4304f705
Merge pull request #278 from stapelberg/serial-delay
Teensy 4.1 demo: start USB serial shell after control line state
2021-06-30 00:57:43 +02:00
Fabien Poussin 172b9c344f
Merge pull request #279 from KarlK90/risc-v-irq-preemption-rv32e-support
[RISC-V ECLIC] Add RV32E support and fix context switching in case of pre-empted interrupts
2021-06-30 00:56:55 +02:00
Fabien Poussin 7ea6f3e8e4
Merge branch 'chibios-20.3.x' into kinetis-ldscripts 2021-06-30 00:54:54 +02:00
a_p_u_r_o 38df272d21
Merge pull request #259 from elfmimi/numicro-gross-fix
NUMICRO: bunch of small fixes
2021-06-29 22:35:16 +09:00
a_p_u_r_o d2ecd3c530
Merge branch 'chibios-20.3.x' into numicro-gross-fix 2021-06-28 22:00:36 +09:00
andru 3dfa6a5905 added nrf52 uart driver, changed icu, radio drivers 2021-05-14 22:04:00 +03:00
fauxpark c9d507e687 Add flash4-7 to MK64FX512 and MK66FX1M0 ldscripts 2021-05-14 21:58:12 +10:00
Stefan Kerkmann b5d78c64c4 Add RV32E support
* Make SP 16 byte aligned as the risc-v abi wants it.
* Correct IRQ context check.
2021-05-10 10:16:54 +02:00
Stefan Kerkmann 5e096e01c9 Context switch only on irq tail 2021-05-09 11:16:09 +02:00
Michael Stapelberg dcf1cdd589 Teensy 4.1 demo: start USB serial shell after control line state
Without this change, the ChibiOS shell prompt does not show up reliably on
Linux, and possibly other operating systems.

For a detailed walk-through covering the individual problems and causes, see:
https://michael.stapelberg.ch/posts/2021-04-27-linux-usb-virtual-serial-cdc-acm/

I verified that this approach works with:

1. Linux 5.10
2. Windows 10
3. macOS Big Sur on a MacBook Air M1
2021-04-27 08:31:54 +02:00
Fabien Poussin 9c2bfa6aeb
Merge pull request #277 from KarlK90/risc-v-eclic-t0-restore-fix
[RISC-V ECLIC] Fix t0 restore when exiting interrupt
2021-04-26 16:59:35 +02:00
Stefan Kerkmann 0a66a0660b Fix t0 restore when exiting interrupt
An oversight when arrangeing the code according to the nucleisys docs,
t0 was overriden with the value of msubm and never actually restored. To
fix the issue we restore the csrs after the general purpose registers.
The offical docs want it the other way around but this should be fine as
well, as the interrupts are still globaly disabled at this point.
2021-04-25 13:23:47 +02:00
Fabien Poussin d53c82a884
Merge pull request #276 from KarlK90/gd32vf103-add-crc
[GD32VF103] Add CRC driver
2021-04-21 22:28:35 +02:00
Stefan Kerkmann e64aa96319 Fix Longan Nano Red LED define 2021-04-20 22:04:07 +02:00
Stefan Kerkmann 0daa76501f Add crc driver for gd32vf103 2021-04-20 15:09:07 +02:00
Fabien Poussin 13d28c1e13
Merge pull request #275 from KarlK90/risc-v-eclic-illegal-instruction-fix
[RISC-V ECLIC] Illegal instruction exception on MSTATUS access
2021-04-17 21:13:10 +02:00
Stefan Kerkmann 9a64f5c17c Force machine mode on interrupt exit for context switches
The first attempt to solve illegal instruction expections was made in commit
b875108cd0
 It seemed as this "fixed" the issue, but merely added delays in the code
 which prevented the error to appear in lucky circumstances. Interesting that this code worked in the first place.

Root cause for the expections where write attempts to mstatus in
user privilege mode which raised the illegal instruction exception which
is in spec with the risc-v privileged isa and documented in the
bumbleebee core architecture manual by nucleisys. The solution is
to never enter user mode by forceing mcause.mpp to 0x3
before calling mret when exiting the interrupt handler
for context switching.
2021-04-17 19:36:44 +02:00
Stefan Kerkmann c1dfb65aa0 Revert "Add R/W memory and instruction barrier after mstatus access"
This reverts commit b875108cd0.
2021-04-16 21:52:41 +02:00
Fabien Poussin 9dbe061083
Merge pull request #273 from KarlK90/gd32vf103-i2c-fix
[GD32] Fix I2C Hangups
2021-04-16 17:23:13 +02:00
Fabien Poussin e9657f6468
Merge branch 'chibios-20.3.x' into gd32vf103-i2c-fix 2021-04-16 16:32:30 +02:00
Fabien Poussin f8bb6d9332
Merge pull request #274 from KarlK90/risc-v-eclic-fence-fix
[RISC-V ECLIC] Add R/W memory and instruction barrier after mstatus access
2021-04-16 16:31:18 +02:00
Stefan Kerkmann b875108cd0 Add R/W memory and instruction barrier after mstatus access
Fast subsequent reads and writes to the mstatus csr lead to
illegal instruction exceptions on the nucleisys bumblee core
of the gd32vf103. This behavior only occurred in high load
situations e.g. interrupt frequency of 5khz but reliably let
to these errors.  Adding the instruction and memory barriers solved
the problem. There is some negligible performance impact.
2021-04-16 16:10:08 +02:00
Stefan Kerkmann 863082ac44 Remove unnecessary if clause 2021-04-15 14:49:43 +02:00
Stefan Kerkmann 764203444a Move DMA enable to init code, re-add spurious bus error clearance 2021-04-14 22:16:40 +02:00
a_p_u_r_o fe3cdf8314
Merge pull request #270 from elfmimi/nuc123-efl-fix
Follow-up fix to alexclewontin's nuc123-kvs-example
2021-04-08 20:35:08 +09:00
a_p_u_r_o 6747713b04
Merge branch 'chibios-20.3.x' into nuc123-efl-fix 2021-04-08 20:17:24 +09:00
Fabien Poussin b387cc84d7
Merge pull request #272 from stapelberg/usbendpoints
Fix MIMXRT1062/LLD/USBHSv1: increase USB_DEVICE_CONFIG_ENDPOINTS from 4 to 7 (== USB_MAX_ENDPOINTS)
2021-04-06 22:34:06 +02:00
Fabien Poussin 92eaded978
Merge branch 'chibios-20.3.x' into usbendpoints 2021-04-06 22:09:08 +02:00
Fabien Poussin 13f99fdf34
Merge pull request #266 from KarlK90/gd32vf103-riscv-eclic
[RISC-V] ECLIC Port and GD32VF103 HAL Support
2021-04-06 22:08:20 +02:00
Stefan Kerkmann 31f37e99b0 Fix VBUSSENS for Longan Nano 2021-04-06 14:23:27 +02:00
Stefan Kerkmann 35a04fc72c Add myself to copyright notes :-) 2021-04-06 13:38:23 +02:00