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