On 3/30/20 8:42 AM, Robert Hancock wrote: > On 2020-03-30 9:24 a.m., 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 ? > > These chips have two I2C addresses with two separate interfaces: the standard PMBus-compatible interface at an address between 0x40-0x4f, which the irps5401 driver supports, and another proprietary interface at an address between 0x10-0x1f. The specific addresses in those ranges is configured by the value of a resistor on one of the pins. > Ah, sorry, I didn't get that part earlier. Unfortunately, the datasheet doesn't seem to include a description of the proprietary interface registers/commands, or maybe I am missing it. The chip datasheet does talk a lot about various MTP registers. Part of that register set is Write_protect_section and Read_protect_section. Maybe the PMBus registers are all read protected ? Guenter