Skip to content

Conversation

@nandojve
Copy link
Member

Introduces Bouffalo Lab BL-602 SoC.

This requires an external vendor hal. WIP at hal_bouffalolab.

@github-actions
Copy link

github-actions bot commented Aug 14, 2021

The following west manifest projects have been modified in this Pull Request:

Name Old Revision New Revision Diff
bl_mcu_sdk N/A nandojve/bouffalo_sdk@f33ca05 (zephyr) N/A

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@nandojve
Copy link
Member Author

Hi @gmarull ,

I would like know your thoughts in the pinctrl implementation.

@nandojve nandojve force-pushed the bouffalo_zephyr branch 2 times, most recently from 3096c35 to 23f0f3a Compare October 27, 2021 01:28
Copy link
Member

@gmarull gmarull left a comment

Choose a reason for hiding this comment

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

The pinctrl implementation LGTM, good job. I have a few comments/suggestions.

Add Bouffalo Lab pinctrl driver.

Signed-off-by: Gerson Fernando Budke <[email protected]>
Add Bouffalo Lab serial driver. The driver uses pinctrl to configure
pins and have power management capabilities.

Signed-off-by: Gerson Fernando Budke <[email protected]>
Add Bouffalo Lab ISP console flash runner.  This tool enable bootloader
to flash devices using serial port.

The blflash Rust tool can be found at
  https://github.com/spacemeowx2/blflash

Signed-off-by: Gerson Fernando Budke <[email protected]>
Add initial version.

Signed-off-by: Gerson Fernando Budke <[email protected]>
Add myself as codeowners for Bouffalo Lab related files.

Signed-off-by: Gerson Fernando Budke <[email protected]>
help='path to blflash, default is blflash')
parser.add_argument('--port', default=DEFAULT_BLFLASH_PORT,
help='serial port to use, default is ' +
str(DEFAULT_BLFLASH_PORT))
Copy link
Contributor

Choose a reason for hiding this comment

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

No need to call str. This is already a string.

Comment on lines +20 to +21
"#gpio-cells":
const: 0
Copy link
Contributor

Choose a reason for hiding this comment

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

Are you sure? How can you implement the GPIO API without pin and flags cells here?

Please add some more detailed comments explaining this, at least to the commit log, when taking this out of draft.

Comment on lines +38 to +39
// Dummy entry
spi-max-frequency = <0>;
Copy link
Contributor

Choose a reason for hiding this comment

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

What's going on here? This does not look correct. Is it just for draft?

Copy link
Member Author

Choose a reason for hiding this comment

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

Hi @mbolivar-nordic , all this PR still marked as draft. I only asked to @gmarull some tips about pinctrl because it is a new API and this SoC have some odd parts.

@gmarull gmarull mentioned this pull request Nov 30, 2021
29 tasks
@WilliamGFish
Copy link
Contributor

Hi, how are things going with this addition? I am interested in seeing the potential of this MPU.

Billy..

@ExplodingWaffle
Copy link

Hi, how are things going with this addition? I am interested in seeing the potential of this MPU.

Billy..

was literally JUST going to write the same thing. weird
+1 anyway. think these are becoming more available (bl702 too) which is nice

@nandojve
Copy link
Member Author

Hi @WilliamGFish , @ExplodingWaffle ,

I hope I can resume late January with this MCU. BL-702 is similar and should work with minimal additions.

@WilliamGFish
Copy link
Contributor

Interesting, I stumbled upon the BL702 via an odd tech article and was amazed that we've already got traction in the zephyr community. It would good to see Mesh and SPI working, the biggest problem will making it anything more than a PoC item without FCC type certification.

If you'd like I'll try to be some help where I can.

Billy..
PS I don't have any (yet)

@WilliamGFish
Copy link
Contributor

Hi @WilliamGFish , @ExplodingWaffle ,

I hope I can resume late January with this MCU. BL-702 is similar and should work with minimal additions.

I have just been looking at this again and it appears that with minimal effort I could get the ESP-AT Wi-Fi modem driver to work with this SoC. That way it would be an easy install peripheral.

Billy..

@github-actions
Copy link

This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time.

@github-actions github-actions bot added the Stale label Mar 17, 2022
@nandojve nandojve removed the Stale label Mar 17, 2022
@github-actions
Copy link

This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time.

@github-actions github-actions bot added the Stale label May 17, 2022
@github-actions github-actions bot closed this May 31, 2022
@russkel
Copy link
Contributor

russkel commented Jan 28, 2023

I think this will be relevant with the Ox64 boards powered by BL808.

@nandojve
Copy link
Member Author

I think this will be relevant with the Ox64 boards powered by BL808.

This code is made with https://github.com/bouffalolab/bl_mcu_sdk v1.4.5. It must be upgraded to use latest SDK from BL which support all CPU cores (BL808 inclusive). The other thing is that I didn't have enough time to proper make interrupt work and may require investigation. It is not clear to me why I got issues in this part. This means that you can't write code that depends on interrupts now.

Once above is updated/fixed code can go to upstream because drivers are well shaped. The other stuff related to mainstream is maintainability. It requires community effort to keep evolving and upgrading code. I don't mind coordinate but I can't assume another manufacturer BSP alone.

BR,
Gerson

@russkel
Copy link
Contributor

russkel commented Jan 28, 2023

It looks like BL moved to what they call lhal in v2.0 which is their API to peripherals across all their chips, but should make supporting future chips from BL pretty easy.

I am willing to spend some time on this but I am very green to all this.

@nandojve
Copy link
Member Author

It looks like BL moved to what they call lhal in v2.0 which is their API to peripherals across all their chips, but should make supporting future chips from BL pretty easy.

I am willing to spend some time on this but I am very green to all this.

ping me PVT on Zephyr discord.

@WallaceIT
Copy link

Another interesting platform I'm starting to investigate is Sipeed M0S, based on BL616. I too can have some (limited, unfortunately) time to work on this!

@WilliamGFish
Copy link
Contributor

I am not sure it would be of any help but it was suggested that the SiFive’s HiFive1 Board is based on the same RISC-V core. Not sure if that work aids in any porting efforts?

@nandojve
Copy link
Member Author

Hi @WilliamGFish ,

In the case of BouffaloLab I think it is not possible. At least BL 60x/70x uses E24 SiFive's core but the newer SoC's switched to XuanTie-902/6/7 (LP/M/D) from T-Head.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants