This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LP87524-Q1: Device Tree Entry

Part Number: LP87524-Q1

Have been trying to create a DTS file for a LP87524 on i2c bus 1 address 0x60, I have what appears to be a overlay that compiles and runs however my initial values are not being set on load.

I've used https://elixir.bootlin.com/linux/latest/source/Documentation/devicetree/bindings/mfd/ti,lp87524-q1.yaml as the reference for my DTS file but may be a little out of my depth. I think the NRST is not being triggered which makes me question my DTS file see below. I see "UU" in the correct position on I2CDetect command it returns to a x60 when i unload my overlay. However my voltages do not change.

on compiling the DTS using dtc -@ -I dts -O dtb -o lp875_overlay.dtbo lp875_overlay.dts i get the following warnings

lp875_overlay.dts:15.5-18: Warning (reg_format): /fragment@0/__overlay__/lp87524@60:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)

lp875_overlay.dtbo: Warning (pci_device_reg): Failed prerequisite 'reg_format'

lp875_overlay.dtbo: Warning (pci_device_bus_num): Failed prerequisite 'reg_format'

lp875_overlay.dtbo: Warning (simple_bus_reg): Failed prerequisite 'reg_format'

lp875_overlay.dtbo: Warning (i2c_bus_reg): Failed prerequisite 'reg_format'

lp875_overlay.dtbo: Warning (spi_bus_reg): Failed prerequisite 'reg_format'

lp875_overlay.dts:13.24-55.6: Warning (avoid_default_addr_size): /fragment@0/__overlay__/lp87524@60: Relying on default #address-cells value

lp875_overlay.dts:13.24-55.6: Warning (avoid_default_addr_size): /fragment@0/__overlay__/lp87524@60: Relying on default #size-cells value

lp875_overlay.dtbo: Warning (avoid_unnecessary_addr_size): Failed prerequisite 'avoid_default_addr_size'

lp875_overlay.dtbo: Warning (unique_unit_address): Failed prerequisite 'avoid_default_addr_size'

/dts-v1/;
/plugin/;

/ {
compatible = "brcm,bcm2835";

fragment@0 {
target=<&i2c1>;

__overlay__ {
status = "okay";

lp87524: lp87524@60 {
compatible = "ti,lp87524-q1";
reg = <0x60>;
gpio-controller;
#gpio-cells = <2>;

reset-gpios = <5>;

buck0-in-supply = <5>;
buck1-in-supply = <5>;
buck2-in-supply = <5>;
buck3-in-supply = <5>;

regulators {
buck0_reg: buck0 {
regulator-name = "buck0";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};

buck1_reg: buck1 {
regulator-name = "buck1";
regulator-min-microvolt = <1650000>;
regulator-max-microvolt = <1650000>;
regulator-always-on;
};

buck2_reg: buck2 {
regulator-name = "buck2";
regulator-min-microvolt = <825000>;
regulator-max-microvolt = <825000>;
regulator-always-on;
};

buck3_reg: buck3 {
regulator-name = "buck3";
regulator-min-microvolt = <412500>;
regulator-max-microvolt = <412500>;
regulator-always-on;
};
};
};
};
};
};