Skip to content

Conversation

@piotrrak
Copy link

Hello
There is still many thing, but since other board renesas ra support was merged, I though to share to get a feedback sooner than later.

Still lot to be done, not full list of major items:

  • Boards documentation
  • Discuss how to handle odd-ball flash memory in DTS (similar to amtel,sam in some respects)
  • Clocks (CGC driver needs extending for RA6/RA8 series support)
  • pinctrl pins names for functions we probably generate those by some kind of script, writing those by hand is pretty tedious and err-prone - RA8M1/RA8M1 have 224 pins with lot more functions.

@github-actions
Copy link

Hello @piotrrak, and thank you very much for your first pull request to the Zephyr project!
Our Continuous Integration pipeline will execute a series of checks on your Pull Request commit messages and code, and you are expected to address any failures by updating the PR. Please take a look at our commit message guidelines to find out how to format your commit messages, and at our contribution workflow to understand how to update your Pull Request. If you haven't already, please make sure to review the project's Contributor Expectations and update (by amending and force-pushing the commits) your pull request if necessary.
If you are stuck or need help please join us on Discord and ask your question there. Additionally, you can escalate the review when applicable. 😊

@piotrrak
Copy link
Author

@soburi Hello, could you please take a look in free time especially at 0dbcab2 ?
It is most likely bug fix for arduino_uno_r4_minima pin values. It's not used in code base, but it is user facing API.

Copy link
Contributor

@nordicjm nordicjm left a comment

Choose a reason for hiding this comment

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

Very quick skim, soc files look fine, changes to board files are needed

Copy link
Contributor

Choose a reason for hiding this comment

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

Boards no longer have a choice so

Suggested change
bool "Renesas EK-RA4M3 board"
bool

Copy link
Author

Choose a reason for hiding this comment

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

@nordicjm Thanks. Both Kconfig.board and Kconfig.ek_raXX were present. Simply removed Kconfig.board ones.

Copy link
Contributor

Choose a reason for hiding this comment

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

And need to select the soc e.g.

Suggested change
depends on SOC_R7FA4M3AF3CFB
select SOC_R7FA4M3AF3CFB

Copy link
Contributor

Choose a reason for hiding this comment

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

Needs to be named Kconfig.<board> so Kconfig.ek_ra4m3

@piotrrak piotrrak force-pushed the wip_hwvmv2-ek-ra-boards branch from 0dbcab2 to 3f3c0cb Compare February 22, 2024 21:14
gautierg-st and others added 26 commits February 23, 2024 13:50
Port the board to HWMv2.

Signed-off-by: Guillaume Gautier <[email protected]>
Port the board to HWMv2.

Signed-off-by: Guillaume Gautier <[email protected]>
Port the board to HWMv2.

Signed-off-by: Guillaume Gautier <[email protected]>
Port the board to HWMv2.

Signed-off-by: Guillaume Gautier <[email protected]>
Add :zephyr_file: to the defconfig path for STM32L4 boards

Signed-off-by: Guillaume Gautier <[email protected]>
Fix documentation for alientek and blues boards

Signed-off-by: Guillaume Gautier <[email protected]>
Port STM32WBA series to HW model v2

Signed-off-by: Guillaume Gautier <[email protected]>
Port the board to HWMv2.

Signed-off-by: Guillaume Gautier <[email protected]>
Port the board to HWMv2.

Signed-off-by: Guillaume Gautier <[email protected]>
Port all the Atmel SAM SoCs to HWMv2.

Signed-off-by: Gerson Fernando Budke <[email protected]>
Port the board to HWMv2.

Signed-off-by: Gerson Fernando Budke <[email protected]>
Port the board to HWMv2.

Signed-off-by: Gerson Fernando Budke <[email protected]>
Port the board to HWMv2.

Signed-off-by: Gerson Fernando Budke <[email protected]>
Port the board to HWMv2.

Signed-off-by: Gerson Fernando Budke <[email protected]>
Port the board to HWMv2.

Signed-off-by: Gerson Fernando Budke <[email protected]>
Port the board to HWMv2.

Signed-off-by: Gerson Fernando Budke <[email protected]>
Port the board to HWMv2.

Signed-off-by: Gerson Fernando Budke <[email protected]>
This update all atmel_sam entries to use the new platform name related
to sam_e70_xplained and sam_v71_xult.

Signed-off-by: Gerson Fernando Budke <[email protected]>
This update all atmel_sam entries to use the new platform name related
to sam_e70_xplained and sam_v71_xult.

Signed-off-by: Gerson Fernando Budke <[email protected]>
Update Atmel related rules to keep consistent.

Signed-off-by: Gerson Fernando Budke <[email protected]>
Update Atmel related rules to keep consistent.

Signed-off-by: Gerson Fernando Budke <[email protected]>
Fixes an issue whereby converted board names were wrong

Signed-off-by: Jamie McCrae <[email protected]>
Port STM32F2 series to HW model V2

Signed-off-by: Francois Ramu <[email protected]>
Port the board to HWMv2.

Signed-off-by: Francois Ramu <[email protected]>
Remove the entire soc/soc_legacy/arm/st_stm32 folder

Signed-off-by: Francois Ramu <[email protected]>
For native_sim and native_posix add the 64 bit version
definitions as board variants.

Signed-off-by: Alberto Escolar Piedras <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Updates the repo to include hwmv2 changes

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Converts the board to hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Adds a file with the vendor name for documentation indexing

Signed-off-by: Jamie McCrae <[email protected]>
Updates names used in tests for hwmv2

Signed-off-by: Jamie McCrae <[email protected]>
Fixes compilation when none of interrupts are specified for io_ports.

In practice every RA-series soc will have IRQs, yet it is convinient
still to be able to build code during development of DTS.

Signed-off-by: Piotr Rak <[email protected]>
Supports only samples/basic/minimal.

- pinctrl, gpio partly works, yet minimum of ioports are added,
- pin IRQs for GPIOs aren't set - should work in theory but not tested.

Since this board has two user switches, those will be made available in dts
in follow up change.

Blinky will work with caveat, that seconds are few others magnitude longer;
Reason being proper clocks are not configured yet in this change and
RTC/timers aren't supported yet.

Signed-off-by: Piotr Rak <[email protected]>
Supports samples/basic/minimal
blinky has same caveats as EK-RA6M5

Signed-off-by: Piotr Rak <[email protected]>
PSEL [4:0] is 5 bit bitfield of PmnPFS/PmnPFS_HA/PmnPFS_BY registers which
could have been modeled in C as:

struct PmnPFS_xx {
  union {
     u32 _;
     struct {
        unsigned irrevelant_here: 24;
        unsigned PSEL : 5;
     } fields;
  };
};

Thus mask value should be 0b11111 (0x1f) rather than 0b101, since it is
used as mask:

   ((psel)&PSEL_MASK) << PSEL_POS) /* Note: PSEL_POS = 24 */

in RA_PINCFG macro.

Based of 19.2.5 "Port mn Pin Function Select Register"  RA4M1 Group
Users's: Hardware and other RA Groups manuals.

This change is cherry-pick candidate for main.

Please Note It was _NOT_ tested on `arduino_uno_r4_minima` board

Signed-off-by: Piotr Rak <[email protected]>
Align code to 32B (ICACHE-line) using `.p2align` `.align` statement means different
things for different assemblers and usually not what we really mean.

Signed-off-by: Piotr Rak <[email protected]>
Required used by some of for RA4/RA6/RA8 soc series.

Signed-off-by: Piotr Rak <[email protected]>
Add port IRQ's, `gpio-keys` for board push buttons and proper aliases in
order to make GPIO IRQs manually testable (eg. using sample/basic/buttons)

Only ioport0 port IRQs are provided for now, as those connected to board
physical buttons.

Signed-off-by: Piotr Rak <[email protected]>
@piotrrak piotrrak force-pushed the wip_hwvmv2-ek-ra-boards branch from 56bd7c7 to 372db55 Compare February 24, 2024 01:31
@piotrrak
Copy link
Author

Rebased on current collab-hwm after its rebase on 3.6.0

@nordicjm nordicjm added DNM This PR should not be merged (Do Not Merge) hwmv2-likely-conflict labels Feb 26, 2024
@piotrrak
Copy link
Author

piotrrak commented Mar 1, 2024

Also closing this as I've mentioned in #69643

@piotrrak piotrrak closed this Mar 1, 2024
@soburi
Copy link
Member

soburi commented Mar 4, 2024

@soburi Hello, could you please take a look in free time especially at 0dbcab2 ? It is most likely bug fix for arduino_uno_r4_minima pin values. It's not used in code base, but it is user facing API.

@piotrrak

Thank you for catching my mistakes.
LGTM.

@piotrrak
Copy link
Author

piotrrak commented Mar 5, 2024

@soburi Thank you for looking at this. I've just picked up arduino uno m4 minima and wifi from my mailbox today. I should be able to test/debug my changes on hardware from now on.

@soburi
Copy link
Member

soburi commented Apr 6, 2024

@piotrrak

I have created PR #71174.
It still developing, but I think it may help to update your PR.

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

Labels

DNM This PR should not be merged (Do Not Merge)

Projects

None yet

Development

Successfully merging this pull request may close these issues.