I'm having some issues with my TPS65911 PMIC. I followed the instructions found here: http://www.ti.com/tool/tps65910sw-linux
That being, under "menuconfig" I enabled:
MFD_TPS65910 GPIO_TPS65910 REGULATOR_TPS65910 RTC_DRV_TPS65910
Note: I also saw another option:
Symbol: TPS65911_COMPARATOR [=n] Type : tristate Defined at drivers/mfd/Kconfig:847 Depends on: HAS_IOMEM [=y]
but did not enable it, as the instructions didn't say to do so. I've also included the PMIC in my device tree as seen here:
imxpmic: tps65911@2d { compatible = "ti,tps65911"; reg = <0x2d>; interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; #interrupt-cells = <2>; interrupt-controller; ti,system-power-controller; vcc1-supply = <&vbat>; vcc2-supply = <&vbat>; vcc4-supply = <&vbat>; vcc7-supply = <&vbat>; regulators { #address-cells = <1>; #size-cells = <0>; vdd1_reg: vdd1 { regulator-name = "vdd1_ddr_1v5"; regulator-min-microvolt = <1500000>; regulator-max-microvolt = <1500000>; regulator-always-on; }; vdd2_reg: vdd2 { regulator-name = "vdd2_3v3_nvcc"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vddctrl_reg: vddctrl { regulator-name = "vdd_cpu,vdd_sys"; regulator-min-microvolt = <1375000>; regulator-max-microvolt = <1375000>; regulator-always-on; }; ldo5_reg: ldo5 { regulator-name = "vddhigh_in,vdd_snvs_in"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3000000>; regulator-always-on; }; }; };
After booting with these changes, I can see the device attempt to initialize, but it seems to fail as seen in this dmesg excerpt:
... tps65910 0-002d: Failed to set masks in 0x51: -110 tps65910 0-002d: Failed to add irq_chip -110 tps65910 0-002d: Error in configuring external control EN1 tps65910 0-002d: Failed to initialise ext control config vdd1_ddr_1v5: failed to apply 1500000uV constraint tps65910 0-002d: failed to register tps65910-pmic regulator tps65910-pmic: probe of tps65910-pmic failed with error -110 ... tps65910-rtc: probe of tps65910-rtc failed with error -110 ...
Any steps I've missed or thoughts on why this could be happening?