Open ttmut opened 1 month ago
Please refer to the feat/ME30
branch to keep in sync with all design and user guide changes. All internal teams requiring the bare metal SDK are referencing this branch.
The i3c_regs.h file is scrubbed for the user guide and synced with design's finalization of the IP configuration.
Also, please note that the I3C source drivers will require hardware revision files for easier portability across parts. That means, there will at least be an i3c_me30.c
, i3c_reva.c
, i3c_reva.h
, and i3c_reva_regs.h
files.
The i3c_me30.c
level only contains code specific to the ME30 (such as pin configuration, enabling I3C peripheral clock, and any peripheral API setup), and it generally does not contain any direct register access to the I3C IP.
The i3c_reva*
files contain the pure driver implementation of the IP at the register level. This file contains the functions that the i3c_me30.c
file will call. The i3c_reva_regs.h
file is the universal, superset register file that i3c_reva.*
uses. The i3c_regs.h
file contains the register set specific to an MCU, and design could vary the IP configuration/register set depending on customer needs for future MCUs reusing the same IP, so having a "universal" register file prevents build errors resulting from feature differences.
You can reference our other peripheral drivers to see how this is all set up. Let me know if you have any questions.
I missed the latest register updates so put my own for the work in progress. I will look into adapting into feat/ME30 branch. Thanks for the response.
Description
Add I3C driver for MAX32657. Basic controller and target APIs are provided.
Note: Will be tested when the test environment is ready.
Checklist Before Requesting Review