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

soc: silabs: Facilitate non-Gecko SoC support #71938

Conversation

rettichschnidi
Copy link
Contributor

This is the result of rebasing #64209 on the most recent main.

Putting those commits in a separate PR because I think it is the right thing to do, regardless of the SiM3U support.

@rettichschnidi rettichschnidi force-pushed the gardena/rs/sim3u-preparations branch from a411959 to 9bc9da8 Compare April 25, 2024 11:43
@rettichschnidi rettichschnidi marked this pull request as ready for review April 25, 2024 14:07
@zephyrbot zephyrbot added area: HWINFO Hardware Information Driver platform: Silabs Silicon Labs labels Apr 25, 2024
@jerome-pouiller
Copy link
Contributor

Hello @rettichschnidi,

I understand your point however, I have some concern with "gecko" naming. Currently, "gecko" include series 0, 1 and 2. However, future series 3 won't use "gecko" branding. In addition, series 0 and 1 are going to be deprecated by upstream. So, my initial goal was to get rid of "gecko" name because it is going to become confusing.

One idea would be use efr32 instead of gecko. Unfortunately, this code also supports efm32 (same features than efr32, but without Radio).

Otherwise, since SOC_VENDOR_SILABS does not appear to frequently in the code, maybe we could just replace it by SOC_FAMILY_SILABS_S0 || SOC_FAMILY_SILABS_S1 || SOC_FAMILY_SILABS_S2. This is not super fancy, but I believe it reflects the truth.

For common/, I feel we could resolve the dependencies directly from common/CMakelists.txt (soc_power.c and soc_power_pmgr.c, soc.c has so many #ifdef I wonder if it make sense to share it, SOC_LINKER_SCRIPT can be shared with sim3u).

What is your thoughts?

@rettichschnidi
Copy link
Contributor Author

rettichschnidi commented May 5, 2024

I understand your point however, I have some concern with "gecko" naming. Currently, "gecko" include series 0, 1 and 2. However, future series 3 won't use "gecko" branding. In addition, series 0 and 1 are going to be deprecated by upstream.

Out of curiosity: What does deprecated buy upstream mean? Is there an issue for this?

Otherwise, since SOC_VENDOR_SILABS does not appear to frequently in the code, maybe we could just replace it by SOC_FAMILY_SILABS_S0 || SOC_FAMILY_SILABS_S1 || SOC_FAMILY_SILABS_S2. This is not super fancy, but I believe it reflects the truth.

👍

For common/, I feel we could resolve the dependencies directly from common/CMakelists.txt (soc_power.c and soc_power_pmgr.c, soc.c has so many #ifdef I wonder if it make sense to share it, SOC_LINKER_SCRIPT can be shared with sim3u).

👍

What is your thoughts?

Will give it a try, and update this PR then.

@jerome-pouiller
Copy link
Contributor

I understand your point however, I have some concern with "gecko" naming. Currently, "gecko" include series 0, 1 and 2. However, future series 3 won't use "gecko" branding. In addition, series 0 and 1 are going to be deprecated by upstream.

Out of curiosity: What does deprecated buy upstream mean? Is there an issue for this?

Maybe deprecated is not the right word. If I understand right, series 0/1 will not new features. Thus, code for series 0/1 may diverge from the code for series 2+. However, Zephyr mostly imports low level driver that doesn't change so much. So, the impact for Zephyr is still a bit unclear. Let's just be prepared to support series 0/1 and series 2+ separately.

@alexanderwachter alexanderwachter removed their assignment May 6, 2024
@alexanderwachter alexanderwachter removed the area: HWINFO Hardware Information Driver label May 6, 2024
This allows to remove SOC_VENDOR_SILABS in a later commit.

Signed-off-by: Reto Schneider <[email protected]>
This allows to remove SOC_VENDOR_SILABS in a later commit.

Signed-off-by: Reto Schneider <[email protected]>
@rettichschnidi rettichschnidi force-pushed the gardena/rs/sim3u-preparations branch from 9bc9da8 to 4177cf2 Compare May 19, 2024 01:58
@zephyrbot zephyrbot added the area: HWINFO Hardware Information Driver label May 19, 2024
@rettichschnidi rettichschnidi changed the title soc: silabs: Fix naming soc: silabs: Facilitate non-Gecko SoC support May 19, 2024
@rettichschnidi rettichschnidi force-pushed the gardena/rs/sim3u-preparations branch from 4177cf2 to 81623ec Compare May 19, 2024 02:01
@alexanderwachter alexanderwachter removed the area: HWINFO Hardware Information Driver label May 19, 2024
@alexanderwachter alexanderwachter removed their assignment May 19, 2024
@alexanderwachter
Copy link
Member

Dismissed my assignment. I'm absolutely not familiar with silabs.

Until now, the support for Silicon Labs SoCs is limited to the Gecko
families.

This commit allows upstreaming support for non-Gecko based SoCs produced
by Silicon Labs (i.e. SiM3U1xx).

Signed-off-by: Reto Schneider <[email protected]>
@rettichschnidi rettichschnidi force-pushed the gardena/rs/sim3u-preparations branch from 81623ec to 64743ef Compare May 19, 2024 22:52
@zephyrbot zephyrbot added the area: HWINFO Hardware Information Driver label May 19, 2024
@rettichschnidi
Copy link
Contributor Author

rettichschnidi commented May 20, 2024

@jerome-pouiller I updated the PR. What do you think?

Copy link
Contributor

@jerome-pouiller jerome-pouiller left a comment

Choose a reason for hiding this comment

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

Fine for me.

@jhedberg jhedberg self-assigned this Jun 7, 2024
@MaureenHelm MaureenHelm merged commit e90c89d into zephyrproject-rtos:main Jun 10, 2024
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: HWINFO Hardware Information Driver platform: Silabs Silicon Labs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants