Hi Tommaso, > +/* > + * #define I3C_BUS_MODE_PURE 1 (for I3C bus mode pure - default) > + * #define I3C_BUS_MODE_PURE 0 (for I3C bus mode mixed-fast) > + */ > +#define I3C_BUS_MODE_PURE 1 Sorry, but I really think this is configuration and not hardware description. The board has only I3C capable devices, so unless you connect more devices externally, you can always use pure-i3c-mode. Enforcing mixed-mode is only for debugging. > + > +#if I3C_BUS_MODE_PURE > +&i3c { > + i2c-scl-hz = <400000>; > + i3c-scl-hz = <12500000>; > + status = "okay"; > +}; So, the above is all that is needed. Which is the basic enablement for the I3C bus in general. I mean, auto-detecting devices is a key feature of I3C :) Which basically means IMHO that this overlay is superfluous. > +#else /* I3C_BUS_MODE_MIXED_FAST */ > +&i3c { > + status = "okay"; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + i2c-scl-hz = <400000>; > + i3c-scl-hz = <12500000>; Despite this else block being debug only... > + > + eeprom@1a { > + compatible = "atmel,24c02"; > + reg = <0x1a 0 (I2C_FM | I2C_FILTER)>; > + }; ... there is no device listening to 0x1a on this board? What do you see there? Did I forget something? > + > + /* U2 */ > + temperature-sensor@48 { > + compatible = "nxp,p3t1085"; > + reg = <0x48 0 (I2C_FM | I2C_FILTER)>; > + }; > + > + /* U1 NOT MOUNTED as default */ > + temp-sense@4c { > + status = "disabled"; > + compatible = "national,lm75"; Yes, mounting U1 is a hack I introduced. The compatible should be "nxp,p3t1755" BTW. But as said, the whole MIXED_MODE block is not hardware description, I'd say. Happy hacking, Wolfram