TPS65224-Q1: PMIC probe failed with error -22

Part Number: TPS65224-Q1
Other Parts Discussed in Thread: AM62P

Tool/software:

Hello,

I have the soc "AM62P" on my custom board and I fail to get the pmic to fully functioning state.
I have the following node for PMIC in my dts, as you can see irq is commented because it is not wired for us:

&wkup_i2c0 {
	pinctrl-names = "default";
	pinctrl-0 = <&wkup_i2c0_pins_default>;
	clock-frequency = <40000>;
	status = "okay";
	//bootph-all;

	tps65224: pmic@48 {
		compatible = "ti,tps65224-q1";
		reg = <0x48>;
//		pinctrl-names = "default";
//		pinctrl-0 = <&pmic_irq_pins_default>;
//		interrupt-parent = <&main_gpio0>;
//		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
		ti,primary-pmic;

		gpio-controller;
		#gpio-cells = <2>;

    buck12-supply = <&vcc_5v0>;
    buck3-supply = <&vcc_5v0>;
    buck4-supply = <&vcc_5v0>;

    ldo1-supply = <&vcc_5v0>;
	  ldo2-supply = <&vcc_5v0>;
	  ldo3-supply = <&buck3>;

	  regulators {
		  buck12: buck12 {
		    regulator-name = "vcc_core_buck12";
		    regulator-min-microvolt = <715000>;
		    regulator-max-microvolt = <895000>;
		    regulator-boot-on;
		    regulator-always-on;
		  };

		  buck3: buck3 {
		    regulator-name = "vcc1v8_sys_buck3";
			  regulator-min-microvolt = <1800000>;
			  regulator-max-microvolt = <1800000>;
			  regulator-boot-on;
			  regulator-always-on;
		  };

		  buck4: buck4 {
			  regulator-name = "vcc1v1_buck4";
			  regulator-min-microvolt = <1100000>;
			  regulator-max-microvolt = <1100000>;
			  regulator-boot-on;
			  regulator-always-on;
		  };

		  ldo1: ldo1 {
			  regulator-name = "vdda1v8_ldo1";
			  regulator-min-microvolt = <1800000>;
			  regulator-max-microvolt = <1800000>;
			  regulator-boot-on;
			  regulator-always-on;
		  };

		  ldo2: ldo2 {
			  regulator-name = "dvdd3v3_ldo2";
			  regulator-min-microvolt = <3300000>;
			  regulator-max-microvolt = <3300000>;
			  regulator-boot-on;
			  regulator-always-on;
		  };

		  ldo3: ldo3 {
			  regulator-name = "vcc_0v85_ldo3";
			  regulator-min-microvolt = <850000>;
			  regulator-max-microvolt = <850000>;
			  regulator-boot-on;
			  regulator-always-on;
		  };
    };
	};
};

pinmux for wkup-i2c:

&mcu_pmx0 {
	bootph-all;

	wkup_i2c0_pins_default: wkup-i2c0-default-pins {
		pinctrl-single,pins = <
			AM62PX_MCU_IOPAD(0x04c, PIN_INPUT_PULLUP, 0)	/* (A13) WKUP_I2C0_SCL */
			AM62PX_MCU_IOPAD(0x050, PIN_INPUT_PULLUP, 0)	/* (C11) WKUP_I2C1_SDA */
		>;
		bootph-all;
	};
};


I can see the regulators in userspace under "/sys/firmware/devicetree/base/bus@f0000/bus@b00000/i2c@2b200000/pmic@48/regulators".

I have the following questions:
1. How to get the pmic to function in the right way? is it a must to have the IRQ?
2. Performing a shutdown from console does not work, Linux attempts to do shutdown but everything stay powered on and the current drawn is still the same.
3. I have configured a gpio_pin as "KEY_POWER" in linux to execute a shutdown in linux on a long-press of the push-button but it works also with a shortpress?


dmesg log:

dmesg | grep -i tps
[    1.133006] tps6594 0-0048: Failed to request IRQ 0 for tps6594-3-0x48: -22
[    1.140142] tps6594 0-0048: error -EINVAL: Failed to add regmap IRQ
[    1.146622] tps6594 0-0048: probe with driver tps6594 failed with error -22

 
Thanks and regards,
Mohamed