MXL7704 (Raspberry Pi)

The MXL7704 is a programmable quadruple step-down DC/DC converter that is used in the following Raspberry Pi models:


 * Raspberry Pi 3 (A+ and B+) (MXL7704-R3 version)
 * Raspberry Pi 4 (all) (MXL7704-P4 version)

The MxL7704-AQB, MxL7704-XQB, MxL7704-R3 and MxL7704-P4 might be replacable by the one time programmable (OTP) successor MxL7704-BQB

The new model may be (one time) programmable to match the specific raspberry pi model default values.

Common cause of failure
If the Pi's 5V pin is shorted to the neighboring 3.3V pin, the MXL7704 will try to clamp the voltage on the 3.3V line. This destroys the MXL7704 chip, leaving the 3.3V line permanently shorted to GND.

Configuring
The MXL7704 chip can be configured via an I2C interface. The I2C address depends on the version of the chip:

Despite having a different I2C address, the R3 version of the chip will be correctly recognized by the OS if it's installed in a Raspberry Pi 4.

Note that any changes made to the configuration are not permanently stored. Every time the chip is powered off, its default configuration is restored. Different versions of the chip have different default configurations:

Here's the meaning of the two default configurations (for more info, see the datasheet linked at the bottom of the page):

The following pads can be used to acces the I2C interface:

Compute Module 4 (CM4)
Since the LDO VIN is shorted to ground by CM4's layout design, the MxL7704-P4 (where the LDO is disabled by default programming) has to be used.

When using the MxL7704-R3 variant (which is the one available in aliexpress), the CM4 will not start since the LDO is assigned to group0 and can not start - so group0 can not start. With it all the buck converters stay disabled.

An tested alternative for using MxL7704-R3 for repairing CM4 is to disconnect Pin8 (LDO) and Pin7 (VIN) from the board and connect it (Pin7) permanently with +5V instead.