In the datasheet for the max77958 it states:

"Default sink PDOs: 5V/3A, 9V/3A, and 15V/3A. If there are multiple source PDOs matching to the MAX77958 sink PDO list, the MAX77958 requests the highest power of PDO."

I'm trying to limit the requested voltage in the SNK PDOs to 5V (i.e. remove the 9V and 15V PDOs that are the default since my circuit can only handle up to 5V on Vbus. The only way I can find to change this is via the Op Code commmand 0x3F (SNK PDO Set) shown in the user guide

My issue is that I have no idea what the reset or default values for the AP_DATAOUT1-32 (aka ADDR 0x22 - 41) should be as there are no RESET values provided. Is there any reference for what values these should take? In other words, how can I take a design parameter like having a SNK PDO of 5V/3A and convert that to the appropriate binary/hex values to populate these Op Code commands?


I just had a look through the RTOS firmware provided by Maxim and it looks like they are writing the snkPDOVoltage_H and snkPDOVoltage_L within an array passed to the 0x56 Customer Configuration Write OpCode command. See max77958_driver.c lines 694-695.

    customer_info.custm_bits.snkPDOVoltage_H = 0x64; /* 5000mV */    
    customer_info.custm_bits.snkPDOVoltage_L = 0x64; /* 5000mV */

This seems to be in conflict with what is stated in the user guide

As the guide only specifies ADDR up to 0x38, and the firmware shows bits following the SID4 ADDR. This would imply that the opcode-command-guide is out of date or the firmware is just radically wrong. Hopefully the guide is outdated and I can simply update the SNK PDO voltages using the 0x56 Customer Configuration Write Opcode as is exemplified with the RTOS firmware.


1 Answer 1


Since the original question was posted it seems as though there have been some firmware and documentation updates.

Nevertheless this Knowledge Base Article briefly addresses the issue:

This can be achieved by the register opcode Set SNK PDO (0x3F). The default SNK PDOs of MAX77958 are 5V/3A, 9V/3A and 15V/3A. After plugging in the travel adapter, device will select the highest power among the three PDOs. You can remove the 15V/3A option and change it based on your system requirement to make sure the VBUS voltage stays below 12V.

The article addresses the case of ensuring that VBUS stays <= 12V, but the same technique applies to ensuring that VBUS stays <= 5V.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.