Skip to content

drivers: power: ltm4700: Add comprehensive LTM4700 dual-channel regulator driver#3086

Closed
cjones-adi wants to merge 6 commits intoanalogdevicesinc:mainfrom
cjones-adi:dev/ltm4700
Closed

drivers: power: ltm4700: Add comprehensive LTM4700 dual-channel regulator driver#3086
cjones-adi wants to merge 6 commits intoanalogdevicesinc:mainfrom
cjones-adi:dev/ltm4700

Conversation

@cjones-adi
Copy link
Copy Markdown
Contributor

Pull Request Description

Add comprehensive driver support for LTM4700/LTM4777 dual-channel digital power system manager family with complete PMBus 1.3 protocol implementation, IIO integration, and extensive unit testing.

PR Type

  • Bug fix (change that fixes an issue)
  • New feature (change that adds new functionality)
  • Breaking change (has dependencies in other repos or will cause CI to fail)

PR Checklist

  • I have followed the Coding style guidelines
  • I have complied with the Submission Checklist
  • I have performed a self-review of the changes
  • I have commented my code, at least hard-to-understand parts
  • I have build all projects affected by the changes in this PR
  • I have tested in hardware affected projects, at the relevant boards
  • I have signed off all commits from this PR
  • I have updated the documentation (wiki pages, ReadMe etc), if applies

cjones-adi added 2 commits May 4, 2026 10:37
Add comprehensive PMBus driver for LTM4700 dual-channel regulator family.
Includes support for device identification (LTM4700/LTM4777 variants),
dual-channel monitoring, and complete LINEAR format conversion.

Key features:
- PMBus 1.3 compliant I2C interface (400kHz)
- Dual-channel 50A per channel or single 100A operation
- LINEAR11/LINEAR16 data format support
- Device variant detection via MFR_SPECIAL_ID
- Comprehensive status monitoring
- Complete telemetry reading (VIN, IIN, VOUT, IOUT, temperatures)
- Peak value tracking and management
- NVM operations for configuration storage

Signed-off-by: $(git config user.name) <$(git config user.email)>
Add comprehensive Industrial I/O (IIO) framework integration for LTM4700
dual-channel regulator with real-time telemetry and control interface.

Key features:
- 13 IIO channels covering all telemetry (VIN, IIN, VOUT0/1, IOUT0/1, etc.)
- Real-time voltage/current/power/temperature monitoring
- Write support for VOUT control and operation mode
- Device identification and variant detection via IIO
- Peak value management and fault clearing
- Engineering unit conversion (mV, mA, m°C, mW)
- Multi-channel configuration support
- Complete Linux IIO subsystem compliance

IIO Channels:
- Input: VIN, IIN, PIN, IC temperature
- Output: VOUT0/1, IOUT0/1, POUT0/1, external temperatures
- Control: Operation mode, voltage commands, margins
- Frequency: Per-channel switching frequency monitoring

Signed-off-by: $(git config user.name) <$(git config user.email)>
Copy link
Copy Markdown
Contributor

@amiclaus amiclaus left a comment

Choose a reason for hiding this comment

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

hi, please solve the build issues in the first place.

@cjones-adi cjones-adi marked this pull request as draft May 4, 2026 09:04
@cjones-adi cjones-adi force-pushed the dev/ltm4700 branch 2 times, most recently from b489e99 to 7166569 Compare May 4, 2026 15:12
cjones-adi added 2 commits May 5, 2026 18:27
Add comprehensive driver documentation covering device features,
PMBus command interface, IIO integration, and usage examples.

Documentation includes:
- Device overview and supported variants (LTM4700/LTM4777)
- Key features and specifications
- PMBus communication interface details
- Data format descriptions (LINEAR11/LINEAR16)
- Complete API usage examples
- IIO framework integration guide
- Design considerations and best practices
- Build configuration instructions

The documentation provides complete guidance for driver integration
and application development with the LTM4700 family regulators.

Signed-off-by: $(git config user.name) <$(git config user.email)>
Add comprehensive project structure for LTM4700 dual-channel regulator
with support for both basic telemetry monitoring and IIO integration.
Includes platform-specific configuration for Maxim MAX32655 with proper
I2C, UART, and GPIO setup for PMBus communication at 400kHz.

Signed-off-by: Carlos Jones Jr <carlosjr.jones@analog.com>
cjones-adi added 2 commits May 5, 2026 18:30
Add comprehensive project documentation covering hardware setup,
build instructions, examples usage, and troubleshooting guide.
Includes detailed configuration options for both basic telemetry
and IIO integration examples with performance characteristics
and platform-specific setup instructions.

Signed-off-by: Carlos Jones Jr <carlosjr.jones@analog.com>
Add comprehensive unit test suite for LTM4700 dual-channel regulator
driver using Ceedling/Unity/CMock framework. Includes core driver tests
for initialization, PMBus communication, LINEAR format conversion,
voltage/current/temperature reading, and IIO integration tests.

Test coverage includes:
- Device initialization and variant detection (LTM4700/LTM4777)
- PMBus read/write operations with I2C mocking
- LINEAR11/LINEAR16 format conversion validation
- Multi-channel operation and page selection
- IIO channel mapping and attribute handling
- Error handling and parameter validation
- Support functions for test data generation

Targets 80%+ code coverage with automated testing framework.

Signed-off-by: Carlos Jones Jr <carlosjr.jones@analog.com>
@cjones-adi cjones-adi deleted the dev/ltm4700 branch May 6, 2026 05:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants