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

HAL module request: hal_bouffalolab #84174

Open
nandojve opened this issue Jan 17, 2025 · 4 comments
Open

HAL module request: hal_bouffalolab #84174

nandojve opened this issue Jan 17, 2025 · 4 comments
Labels
area: Modules TSC Topics that need TSC discussion

Comments

@nandojve
Copy link
Member

nandojve commented Jan 17, 2025

Origin

BouffaloSDK is the IOT and MCU software development kit provided by the Bouffalo Lab Team, supports all the series of Bouffalo chips. Also it is the combination of bl_mcu_sdk and bl_iot_sdk. The original content came from https://github.com/bouffalolab/bouffalo_sdk/tree/release_v1.4.5
and the content to initialize the repo is here https://github.com/nandojve/hal_bouffalolab/tree/sdk-v1.4.5

Purpose

Reuse an existing hardware abstraction layer from BouffaloSDK to enable BL SoCs series in the Bouffalolab family. Zephyr shim drivers for all the usual device driver APIs (UART, I2C, SPI, etc.) will be built on top of headers and bare metal drivers and components provided by the HAL.

Mode of integration

The module should be integrated as an external HAL module. The proposed name is hal_bouffalolab.

Maintainership

@nandojve and @VynDragon

Pull Request

RFC #83663
#84173

Description

The BouffaloSDK contains the necessary software and tools to develop firmware for the Bouffalolab BLxxx series. This includes register files, peripheral drivers, system startup files, documentation, various utilities, IDE support files, and scripts.

The Bouffalolab HAL is a pared-down version of the BouffaloSDK that contains components needed for Zephyr; namely, register files and bare metal peripheral drivers.

Dependencies

node

Revision

Initial version: sdk-v1.4.5 branch

License

  • apache-2.0
  • additional:
    • bsd-new
    • bsd-x11

All the files were scanned using license_check.yml,v4

@nashif
Copy link
Member

nashif commented Feb 5, 2025

@nandojve will you be able to join the TSC and talk to this request (today)?

@nashif
Copy link
Member

nashif commented Feb 5, 2025

@nandojve the linked HAL has more than what a HAL should have and includes library code (mbedtls?) and other things. HALs should be focused on hardware support. Is this going to be reduce to what is needed in Zephyr?

@VynDragon
Copy link
Contributor

VynDragon commented Feb 5, 2025

Hello @nashif , I will be joining the TSC meeting today about this.

There is 2 parts: first, the 'main' branch which will be the final form it will take, it is only apache 2 headers and assorted original code.
Secondly, to match early versions of the code that rely on the SDK and maintain attribution to third party entities (original ATL Electronics code), the version with more than that on the 1.4.5 branch is necessary. It is possible to reduce it and we can start removing bits that are not OK with zephyr. All details on how it is used are available on the current and previous PRs.

@nandojve
Copy link
Member Author

nandojve commented Feb 5, 2025

Hi @nashif ,

@nandojve the linked HAL has more than what a HAL should have and includes library code (mbedtls?) and other things. HALs should be focused on hardware support. Is this going to be reduce to what is needed in Zephyr?

At moment the branch is a copy of https://github.com/bouffalolab/bouffalo_sdk/tree/release_v1.4.5 to make easy to develop.
Yes, we can reduce the content as needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Modules TSC Topics that need TSC discussion
Projects
Status: Todo
Development

No branches or pull requests

4 participants