-
Notifications
You must be signed in to change notification settings - Fork 7.4k
drivers: syscon: bflb efuses #89108
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
base: main
Are you sure you want to change the base?
drivers: syscon: bflb efuses #89108
Conversation
The following west manifest projects have changed revision in this Pull Request:
✅ All manifest checks OK Note: This message is automatically posted and updated by the Manifest GitHub Action. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the EEPROM API really the correct one to use here?
That is one of the main questions yea, what alternatives is there? |
If you are just reading the eFUSE settings, perhaps the syscon API is better suited? |
It looks like it would fit yea... Is there any example driver for it that doesnt just read memory actually? Or would that be a first driver for a syscon interface? |
needs rebase |
6515391
to
f9d7b8c
Compare
Rebased and made to use syscon. |
4705786
to
b92a322
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for Bouffalolab efuse access via the syscon API.
- Updates the West manifest to use a pull request revision for hal_bouffalolab.
- Adds new Kconfig and DTS nodes for the efuse driver and corresponding binding definitions.
- Introduces the syscon_bflb_efuse.c driver file with the necessary functions for efuse access.
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
west.yml | Updates the hal_bouffalolab revision to a pull request branch revision. |
soc/bflb/bl60x/Kconfig | Adds required select statements and enables SYSCON for Bouffalolab SOC. |
dts/riscv/bflb/bl60x.dtsi | Introduces the efuse node with reg, status, and size properties. |
dts/bindings/syscon/bflb,efuse.yaml | Provides the binding specification for the efuse driver. |
drivers/syscon/syscon_bflb_efuse.c | Implements the efuse driver with functions for clock configuration and efuse read/cache. |
drivers/syscon/Kconfig.bflb_efuse | Defines the new Kconfig entry for the Bouffalolab efuse driver. |
drivers/syscon/Kconfig | Includes the new efuse Kconfig file. |
drivers/syscon/CMakeLists.txt | Adds the efuse driver source file based on configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry just noticed one more thing :| looks good to me otherwise!
dts/bindings/syscon/bflb,efuse.yaml
Outdated
# Copyright (c) 2024-2025 MASSDRIVER EI (massdriver.space) | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
description: BouffaloLab Efuse Driver |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry just spotted this. Bindings shouldn't be talking about "drivers"
https://docs.kernel.org/devicetree/bindings/writing-bindings.html#overall-design
description: BouffaloLab Efuse Driver | |
description: BouffaloLab Efuse |
Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
re-assigning to BFLB maintainers |
This sets revision to the one with vendor headers from final hal version Signed-off-by: Camille BAUD <[email protected]>
This introduces a driver used to access bouffalolab efuses via syscon API Signed-off-by: Camille BAUD <[email protected]>
ca83c05
to
bd2febe
Compare
This enables the driver by default, it will be needed at init in the future Signed-off-by: Camille BAUD <[email protected]>
|
This introduces bflb efuse access via syscon api.
This is not used at the moment but will be in the next steps of integration (for clock_control and things like DAC and ADC).