Skip to content

Port ft90x #1238

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

Merged
merged 18 commits into from
Jan 17, 2022
Merged

Port ft90x #1238

merged 18 commits into from
Jan 17, 2022

Conversation

brtchip-gdm
Copy link
Contributor

Describe the PR
Add support for the Bridgetek FT90x and FT93x devices.

The FT90x and FT93x series are complete System-On-Chip 32-bit RISC microcontrollers for embedded applications featuring a high level of integration and low power consumption.

Additional context
Documentation is available at https://brtchip.com/ft90x/ and https://brtchip.com/ft93x/
The port requires to be compiled by the GNU ft32-elf- Toolchain which downloaded from http://brtchip.com/ft9xx-toolchain/

Currently the DCD code is implemented although these devices have a HCD as well.
The BSP for an MM900EVxB is provided. This covers the MM900EV1B, MM900EV2B and MM900EV3B modules. Note that there are no LEDs or buttons on the modules these can be added using the CN3 connector.

brtchip-gdm and others added 17 commits October 5, 2021 13:54
Add FT90X and FT93X to the list of devices in tusb_option.h. 1700 for FT90x and 1701 for FT93x.
Set endpoint attributes for FT90x and FT93x in dcd_attr.h.
Add FT90x routines for USB device in src/portable/bridgetek/ft90x/dcd_ft90x.c
The location for hardware header files and libraries is hw/mcu/bridgetek/ft90x/hardware. There are no files in the repository, but files will be linked as a submodule in the future. The required files can be copied from or linked to the location "C:/Program Files(x86)/Bridgetek/FT9xx Toolchain/Toolchain/hardware" once the toolchain is installed.
Makefile for the MM900EV1B board for developing with an FT900 device is present. Use "BOARD=mm900ev1b".
Add in endpoint definitions for the Bridgetek devices in usb_descriptors.c and allow high speed in tusb_config.h.
…covered by the same SDK and src/portable code. Board makefile includes __FT900__ macro for FT90x and __FT930__ macro for boards with FT93x.
Add Bridgetek FT90x SDK as submodule.
Update submodule for FT90X SDK to point to the v2.5.0 release code currently in main.
Merge upstream changes and expand example support to hid examples.
…k). Default to ft90x-sdk instead of pre-built library.
@brtchip-gdm
Copy link
Contributor Author

Correct, we don't currently have linux tools available. The FT9xx Toolchain has the Windows gcc compiler (prefix ft32-elf-).

Copy link
Owner

@hathach hathach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry for late response. I don't have any ft90x board to verify the PR. We will merge this as it is and make any correct/update later on. If possible please add ft90x to ci build to prevent any future changes would break the build

@hathach hathach merged commit 61d392f into hathach:master Jan 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants