Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PORT] Add GD32VF103 support and Sipeed Longan Nano Board support #959

Merged
merged 27 commits into from
Aug 15, 2021

Commits on Aug 3, 2021

  1. Add hacky GD32VF103 support

    KarlK90 committed Aug 3, 2021
    Configuration menu
    Copy the full SHA
    2657560 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    19b971c View commit details
    Browse the repository at this point in the history
  3. Disable -Werror for now

    Without having __riscv_flen defined we get multiple warinings. But
    defining it causes the startup code to contain floating point instructions.
    This results in a exception right after booting.
    
    See startup_gd32vf103.S lines 289-294 should open a PR at nuclei sdk
    KarlK90 committed Aug 3, 2021
    Configuration menu
    Copy the full SHA
    ddb8378 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    771bbe8 View commit details
    Browse the repository at this point in the history
  5. Minor clean ups

    KarlK90 committed Aug 3, 2021
    Configuration menu
    Copy the full SHA
    3db2089 View commit details
    Browse the repository at this point in the history
  6. Use JTAG for jlink flashing

    KarlK90 committed Aug 3, 2021
    Configuration menu
    Copy the full SHA
    23e3b16 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    790d90b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e5bd6bd View commit details
    Browse the repository at this point in the history
  9. Revert "Disable -Werror for now"

    This reverts commit 5e0c2e1.
    KarlK90 committed Aug 3, 2021
    Configuration menu
    Copy the full SHA
    ab1979e View commit details
    Browse the repository at this point in the history
  10. Add stm32 license header

    KarlK90 committed Aug 3, 2021
    Configuration menu
    Copy the full SHA
    3eb54d8 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2021

  1. Remove dependencies to external libraries for the dcd driver

    The core of tinyusb must be as independent as possible, we previously
    relied on nuclei-sdk or the GD32VF103 firmware library for the synopsys
    driver to work with the GD32VF103. Fortunatly we needed very few parts
    from them so we implement them here.
    KarlK90 committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    c6d495d View commit details
    Browse the repository at this point in the history
  2. Add correct endpoint count for GD32VF103

    This controller family only supports USB FS with four endpoints
    KarlK90 committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    7682829 View commit details
    Browse the repository at this point in the history
  3. Remove redundant linker files

    We use the linker files provided by nuclei-sdk instead
    KarlK90 committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    b473923 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6e287a7 View commit details
    Browse the repository at this point in the history
  5. Use nuclei-sdk functions for init code

    Instead of using the HAL functions we can just use the defines from the
    board support for the longan nano that comes with the nuclei-sdk. Also
    we move some includes and defines to the header file.
    KarlK90 committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    733a362 View commit details
    Browse the repository at this point in the history
  6. Remove unsuitable clock configurations from init code

    Only 48MHz, 72MHz, 96MHz and 120 MHz system clocks derived from an
    external crystal are suitable for the usb peripheral, as the internal
    oscillator is not stable enough. Also the usb-prescaler only supports
    division by 1 (48MHZ), 1.5(72MHz), 2(96MHz) and 2.5(120Mhz).
    120Mhz is also out of spec and not added here.
    KarlK90 committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    1d2a57a View commit details
    Browse the repository at this point in the history
  7. Correctly initialize and handle the system tick

    Forgot to reload the systick timer in the irq handler
    KarlK90 committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    60d0311 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    66d566f View commit details
    Browse the repository at this point in the history
  9. Code style changes

    KarlK90 committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    0399996 View commit details
    Browse the repository at this point in the history
  10. Remove unnecessary define guard

    The GD32VF103 family only has USB-OTG peripherals.
    KarlK90 committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    4cebde6 View commit details
    Browse the repository at this point in the history
  11. Use linear buffer for GD32VF103

    As the peripheral is the same as on the STM32F1 and STM32F4 lines we do the same.
    KarlK90 committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    8b78067 View commit details
    Browse the repository at this point in the history
  12. Minor style changes

    KarlK90 committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    27f147f View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2021

  1. Update systick reload value

    The systick timer is driven by the AHB bus divided by 4, set the correct
    reload value to generate a timer irq every ms.
    KarlK90 committed Aug 9, 2021
    Configuration menu
    Copy the full SHA
    1b6540a View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2021

  1. Configuration menu
    Copy the full SHA
    09e4348 View commit details
    Browse the repository at this point in the history
  2. add gd32vf103 to riscv ci

    hathach committed Aug 15, 2021
    Configuration menu
    Copy the full SHA
    37d9f94 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    73f8fae View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c4a6a5c View commit details
    Browse the repository at this point in the history