NPM1300 on custom board cannot start battery charging

I have a custom board with bl54u and NPM1300. Working fine.

But now replaced with a NPM1304 as it is pin compatible. Worked fine with fuel gauge NPM1300 on SDK 3.0.1.

Now I have upgraded SDK to 3.1.1 and have to use NPM13XX fuel gauge. Works almost ok... But cannot start the battery charging.

On SDK 3.0.1 charging is possible without problem. 

I understand this has nothing to do with the fuel gauge application but more on the HW side. 

What do work is,

program the BL54u with old SDK 3.0.1 fuel gauge and start charging the battery.

Then reprogram with the new SDK 3.1.1 fuel gauge NPM13XX. And charging will continue with new settings.

Not work 

But removing the battery and reconnect it the charging will not work.

I guess old SDK did some config to the NPM1300 as not done for NPM13XX !?

Is this a known bug or is there a new requirement on the HW. I dont use NTC

Use battery for battery_model_20mAh.inc
And using the battery with NPM1304 dk works fine!

schematic attached.

 

&i2c20 {
    status = "okay";
    compatible = "nordic,nrf-twim";
    pinctrl-0 = <&i2c20_default>;
    pinctrl-1 = <&i2c20_sleep>;
    pinctrl-names = "default", "sleep";
    clock-frequency = <I2C_BITRATE_FAST>;
    zephyr,concat-buf-size=<32>;
    zephyr,flash-buf-max-size=<32>;
    aem13920: aem13920@41{
        compatible = "i2c-device";
        reg = < 0x41 >;    
    };
    npm1304_ek_pmic: pmic@6b {
        compatible = "nordic,npm1304";
        reg = <0x6b>;

        npm1304_ek_regulators: regulators {
            compatible = "nordic,npm1304-regulator";

            /* limits are set to min/max allowed values */
            npm1304_ek_buck1: BUCK1 {
                regulator-min-microvolt = <1800000>;
                regulator-max-microvolt = <3300000>;
                retention-microvolt = <1200000>;
            };
        };
            npm1304_ek_charger: charger {
            compatible = "nordic,npm1304-charger";
            term-microvolt = <4150000>;
            term-warm-microvolt = <4000000>;
            current-microamp = <12000>;     // Must be 32000 for NPM1300
            vbus-limit-microamp = <500000>;
            thermistor-ohms = <10000>;
            thermistor-beta = <3380>;
            charging-enable;
            // vbatlow-charge-enable;
            // dischg-limit-microamp = <1000000>; //Must be uncomment for NPM1300 (SDK 3.0.1)
        };
        npm1304_ek_leds: leds {
            compatible = "nordic,npm1304-led";
            nordic,led0-mode = "error";
            nordic,led1-mode = "charging";
            nordic,led2-mode = "host";
        };
    };
};

          current-microamp = <12000>;

            vbus-limit-microamp = <500000>;
            thermistor-ohms = <10000>;
            thermistor-beta = <3380>;
            charging-enable;            // vbatlow-charge-enable;
            // dischg-limit-microamp = <1000000>;
        };
        npm1304_ek_leds: leds {
            compatible = "nordic,npm1304-led";
            nordic,led0-mode = "error";
            nordic,led1-mode = "charging";
            nordic,led2-mode = "host";
        };
    };
};
Parents Reply Children
No Data
Related