On 3/30/20 8:46 AM, Michal Simek wrote: > On 30. 03. 20 17:24, Guenter Roeck wrote: >> On 3/30/20 4:33 AM, Michal Simek wrote: >>> Hi Robert and Guenter, >>> >>> Xilinx boards are using IRPS5401 chips and I have tried to use your driver. >>> I have checked that u-boot can detect that devices and read it. >>> >>> ZynqMP> i2c probe >>> Valid chip addresses: 0C 13 14 20 43 44 74 >>> ZynqMP> i2c md 13 0 10 >>> 0000: 00 08 00 08 00 08 00 08 00 08 00 08 00 08 00 08 ................ >>> ZynqMP> i2c md 14 0 10 >>> 0000: 00 08 00 08 00 08 00 08 00 08 00 08 00 08 00 08 ................ >>> ZynqMP> i2c md 43 0 10 >>> 0000: 00 98 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ >>> ZynqMP> i2c md 44 0 10 >>> 0000: 00 8a ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ >>> ZynqMP> >>> >>> Here is DT fragment which I use (it is under i2c mux) >>> >>> 185 irps5401_43: irps5401@43 { >>> 186 compatible = "infineon,irps5401"; >>> 187 reg = <0x43>; /* pmbus / i2c 0x13 */ >> >> Does that mean the mux is at 0x13 ? > > HW guys wrote that 0x13 is i2c address and 0x43 is pmbus address. > Sorry, I have no idea what that is supposed to mean. PMBus is SMBus which, for all practical purpose, is i2c. There is no difference between PMBus and I2C addresses. [ ... ] > > There is nothing else on schematics. When I try 0x13/0x14 I am getting. > irps5401 3-0013: Failed to identify chip capabilities > irps5401 3-0014: Failed to identify chip capabilities > Yes, the chips at those addresses don't look like PMBus chips. Maybe the chips are on other i2c busses. There must be at least four of them in the system. >>> Also I would like to know if there is a way to disable it via any API. >> >> Not sure what you want to disable. The message ? The PMBus core needs >> to have access to the chip to initialize. If there is no status register, >> there is nothing it can do but to refuse to instantiate. > > When driver is probed I would like to be able from user space > enable/disable the specific output from PMIC. This one has 4 VOUTs. > You mean to instantiate a regulator ? That is possible; see drivers/hwmon/pmbus/ltc2978.c for an example. I don't know if one can enable/disable regulators from userspace, though. Guenter