Skip to content

drivers: crc: initial support for renesas,ra-crc driver #87557

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

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

thenguyenyf
Copy link
Contributor

@thenguyenyf thenguyenyf commented Mar 24, 2025

This PR is inherited from #74977 to add a CRC device driver with hardware accelerator. We'd like to introduce:

  • New CRC device drivers: include/zephyr/drivers/crc.h
  • New CRC subsystem: using the same interface with include/zephyr/sys/crc.h

The crc subsys implementation can be chosen as:

  • A CRC device driver, get by zephyr,crc alias if it's defined
  • CRC software-based library, that migrated from old lib/crc to new location: subsys/crc/crc*_sw.c

@zephyrbot
Copy link

zephyrbot commented Mar 24, 2025

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff

All manifest checks OK

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

@zephyrbot zephyrbot added manifest manifest-hal_renesas DNM (manifest) This PR should not be merged (controlled by action-manifest) labels Mar 24, 2025
@henrikbrixandersen henrikbrixandersen self-requested a review March 24, 2025 20:32
@henrikbrixandersen henrikbrixandersen added the Architecture Review Discussion in the Architecture WG required label Mar 24, 2025
@henrikbrixandersen
Copy link
Member

@thenguyenyf Nice, thanks! Are you able to give a short presentation of this in an Architecture Working Group meeting?

@thenguyenyf
Copy link
Contributor Author

@thenguyenyf Nice, thanks! Are you able to give a short presentation of this in an Architecture Working Group meeting?

Hello @henrikbrixandersen . I'm willing to join and give a presentation for the new CRC subsystem. How about next week meeting? I may not be able to join this week.

@thenguyenyf thenguyenyf force-pushed the renesas_ra_crc_driver_support branch 3 times, most recently from bce01eb to 6b4d778 Compare March 28, 2025 03:30
@thaoluonguw
Copy link
Contributor

Please rebase to slove conflict.

@thenguyenyf thenguyenyf force-pushed the renesas_ra_crc_driver_support branch 2 times, most recently from 5e366bc to 6c12cb7 Compare March 31, 2025 06:30
@thenguyenyf thenguyenyf force-pushed the renesas_ra_crc_driver_support branch 2 times, most recently from d9db36b to ea016fb Compare April 1, 2025 11:43
@thenguyenyf
Copy link
Contributor Author

Last push just to rebase and solve conflict

@github-actions github-actions bot removed the DNM (manifest) This PR should not be merged (controlled by action-manifest) label May 5, 2025
@thenguyenyf thenguyenyf force-pushed the renesas_ra_crc_driver_support branch from 0f47e2f to d919d74 Compare May 14, 2025 02:34
@thenguyenyf thenguyenyf force-pushed the renesas_ra_crc_driver_support branch from d919d74 to 2ef4b9e Compare May 16, 2025 11:34
@thenguyenyf thenguyenyf added this to the v4.2.0 milestone May 19, 2025
@thaoluonguw
Copy link
Contributor

@thenguyenyf : Please solve conflict. Thank you.

@carlescufi carlescufi removed the Architecture Review Discussion in the Architecture WG required label Jun 2, 2025
@thenguyenyf thenguyenyf force-pushed the renesas_ra_crc_driver_support branch 2 times, most recently from 040255e to 0ddbc7c Compare June 4, 2025 02:30
@kartben kartben assigned thenguyenyf and unassigned kartben Jun 5, 2025
@thenguyenyf thenguyenyf added the Architecture Review Discussion in the Architecture WG required label Jun 12, 2025
soburi
soburi previously approved these changes Jun 25, 2025
Duy Vo and others added 9 commits June 30, 2025 10:13
- Implement CRC syscall.
- Add CRC driver API.
- Introduce support for the CRC driver.

Co-authored-by: Zoe Kaute <zoe.kaute@brillpower.com>
Signed-off-by: Duy Vo <duy.vo.xc@bp.renesas.com>
Add device tree node for CRC driver on all Renesas MCU

Signed-off-by: Duy Vo <duy.vo.xc@bp.renesas.com>
Enable and add CRC node to aliases, chosen for all
Renesas MCU

Signed-off-by: Duy Vo <duy.vo.xc@bp.renesas.com>
Migrate support from crc library to new crc subsystem
Add hardware acclerator backend for crc subsystem

Signed-off-by: Duy Vo <duy.vo.xc@bp.renesas.com>
Add samples for CRC driver

Signed-off-by: Duy Vo <duy.vo.xc@bp.renesas.com>
Add samples for CRC subsystem

Signed-off-by: Duy Vo <duy.vo.xc@bp.renesas.com>
Add ztests for CRC driver

Signed-off-by: Duy Vo <duy.vo.xc@bp.renesas.com>
Add ztests for CRC subsystem

Signed-off-by: Duy Vo <duy.vo.xc@bp.renesas.com>
Due to the move of lib/crc to subsys/crc, the include path of CRC handler
in this test should be updated:
- tests/unit/crc

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Architecture Review Discussion in the Architecture WG required area: Process area: Samples Samples area: Utilities platform: Renesas RA Renesas Electronics Corporation, RA
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

10 participants