-
Notifications
You must be signed in to change notification settings - Fork 75
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
feat(PeriphDrivers): Add MAX32657 I3C driver #1026
base: feat/ME30
Are you sure you want to change the base?
Conversation
Please refer to the 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 The The 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. |
73209f4
to
4c0fb2a
Compare
CONT_REQ must be 2 and HOTJOIN_REQ must be 3. Signed-off-by: Tahsin Mutlugun <[email protected]>
Add I3C driver support for ME30.c. Signed-off-by: Tahsin Mutlugun <[email protected]>
Description
Add I3C driver for MAX32657. Basic controller and target APIs are provided.
Note: Will be tested when the test environment is ready.Tested with LPS22HH pressure and temperature sensor.
Read provisioned ID, using static address (0x5C) as dynamic address.
![msdk_pid_read](https://private-user-images.githubusercontent.com/3095300/345515273-d4ed157b-c509-44b1-b583-f860566aafe8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAyNzgwMjIsIm5iZiI6MTcyMDI3NzcyMiwicGF0aCI6Ii8zMDk1MzAwLzM0NTUxNTI3My1kNGVkMTU3Yi1jNTA5LTQ0YjEtYjU4My1mODYwNTY2YWFmZTgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcwNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MDZUMTQ1NTIyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NzUyZjI1YTI2MGQ1ZWE1OTk1NmNjY2IyYTNkYTkzMzgxMGZmMWYzZjQ5MjJlZGNhYjUxNTMyNDc3ZDhjYTkyNyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.ioTV7vCTfyhenZNC6q5WPRSa5-nSXERop7OAkbr7-kQ)
Read pressure data, using static address (0x5C) as dynamic address.
![msdk_pressure_data_read](https://private-user-images.githubusercontent.com/3095300/345515816-cc1b4719-cf26-4ac3-92cc-95a7c60792c0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAyNzgwMjIsIm5iZiI6MTcyMDI3NzcyMiwicGF0aCI6Ii8zMDk1MzAwLzM0NTUxNTgxNi1jYzFiNDcxOS1jZjI2LTRhYzMtOTJjYy05NWE3YzYwNzkyYzAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcwNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MDZUMTQ1NTIyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NDE4NGY0OTE0MTUwODk3YzcwZWNlNjYwMTlkNGI0ODc1OTQwOTMyNTI2YzhjODBmMjFmZjRhOGIzYzZhYzQ1NyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.b_562XP5U7j1f38Zg46OVnWPJw-1Dy2hH0fDkEmz4Sk)
Assign 0x34 as dynamic address. Written to device as 0x68, 1-bit shifted to the left.
![msdk_daa_0x34](https://private-user-images.githubusercontent.com/3095300/345521628-30bfd657-630d-4cf2-9544-7ae6dab631f9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAyNzgwMjIsIm5iZiI6MTcyMDI3NzcyMiwicGF0aCI6Ii8zMDk1MzAwLzM0NTUyMTYyOC0zMGJmZDY1Ny02MzBkLTRjZjItOTU0NC03YWU2ZGFiNjMxZjkucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcwNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MDZUMTQ1NTIyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ODQxYjg4YzRjZDlkNTM3ZTU0ZWFiMWZhZDk5Y2ZmZTdjYjUzNDdmMzhjMDk4MTgwMzdjMTBlNWIwNzZlNGE4MiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.zIzgHAoLsLpc9IUQ6ltZBSXi2-bAZ4CXl3Gym1a1ij4)
Read WHO_AM_I register using newly assigned dynamic address 0x34.
![msdk_whoami_daa](https://private-user-images.githubusercontent.com/3095300/345522253-30c4fa2e-39da-4188-b438-95323fa221cc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAyNzgwMjIsIm5iZiI6MTcyMDI3NzcyMiwicGF0aCI6Ii8zMDk1MzAwLzM0NTUyMjI1My0zMGM0ZmEyZS0zOWRhLTQxODgtYjQzOC05NTMyM2ZhMjIxY2MucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcwNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MDZUMTQ1NTIyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Njg5ODc4ODY2MzhmODMyOWU2OTZiNWNkNjlmMGM4NWQxNDg0MTg0MzFlN2VhZjA0ZjczOGVhNTEzMTdhZGI3MCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.-MeyjmcSPCdrt4phMI7xAyTnXVk8h3XeBS2snyBh4rU)
Checklist Before Requesting Review