Skip to content

feat(PeriphDrivers): Enhance I3C clock configuration for MAX32657#1496

Draft
ttmut wants to merge 5 commits intomainfrom
i3c/clock_fix
Draft

feat(PeriphDrivers): Enhance I3C clock configuration for MAX32657#1496
ttmut wants to merge 5 commits intomainfrom
i3c/clock_fix

Conversation

@ttmut
Copy link
Copy Markdown
Contributor

@ttmut ttmut commented Jan 9, 2026

Description

Implement flexible I3C SCL configuration.

These changes address timing constraints imposed by different I3C bus modes.

  • Mixed fast bus (I3C + I2C devices): Push-pull high period must be less than ~41 ns to ensure I2C devices with 50 ns spike filters ignore I3C signaling.
  • Pure I3C bus: No such limitation exists, allowing more relaxed timing.

Changes

  1. Introduce new clock configuration API to allow specifying low and high periods for I3C push-pull, open-drain, and I2C clock modes.
  2. Move frequency configuration out of initialization.
  3. Update MXC_I3C_RevA_SetPPFrequency() to find minimum push-pull high period.
  4. Fix reset bit position of I3C peripheral.

Checklist Before Requesting Review

  • PR Title follows correct guidelines.
  • Description of changes and all other relevant information.
  • (Optional) Link any related GitHub issues using a keyword
  • (Optional) Provide info on any relevant functional testing/validation. For API changes or significant features, this is not optional.

ttmut added 2 commits January 9, 2026 14:25
Introduce enable and disable functions for both controller and target
modes. This change allows clock settings to be modified after
initialization.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
I3C serial clock settings should now be applied outside the
initialization sequence.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
@github-actions github-actions bot added the MAX32657 Related to the MAX32655 (ME30) label Jan 9, 2026
ttmut added 3 commits January 9, 2026 16:11
Different I3C bus modes impose timing constraints that cannot be handled
by the existing frequency-setting functions.

Introduce new functions to individually configure the low and high
periods for I3C push-pull, open-drain, and I2C clock modes.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Mixed I3C bus mode requires the push-pull high period to be less than
45 ns. Additionally, a smaller high period enables finer-grained control
of open-drain and I2C clocks. Update the frequency-setting function to
determine the minimum possible PPBAUD value.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Fixes the position of I3C reset bit in GCR reset register 0.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 8, 2026

This pull request is stale because it has been open for 30 days with no activity. Remove stale label, commit, or comment or this will be closed in 7 days.

@github-actions github-actions bot added the stale This issue or pull request is stale. label Feb 8, 2026
@ttmut ttmut removed the stale This issue or pull request is stale. label Feb 9, 2026
@github-actions
Copy link
Copy Markdown

This pull request is stale because it has been open for 30 days with no activity. Remove stale label, commit, or comment or this will be closed in 7 days.

@github-actions github-actions bot added the stale This issue or pull request is stale. label Mar 11, 2026
@ttmut ttmut removed the stale This issue or pull request is stale. label Mar 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

MAX32657 Related to the MAX32655 (ME30)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant