A High-Keeper is used for Controller-to-Target and Target-to-Controller Bus handoff, as well as optionally when the Bus is idle (see Q22.1, "What are some of the I3C Bus conditions when the Bus is considered inactive?"). The High-Keeper may be a passive weak Pull-Up resistor on the Bus, or an active weak Pull-Up (or equivalent) in the Controller. The High-Keeper is only required to be strong enough to prevent system-leakage from pulling the Bus Low.
In order to achieve higher data rates, much of the activity on the I3C Bus occurs in Push-Pull mode (i.e., with the Open Drain Pull-Up resistor disabled).
However for some Bus management activities, and for backwards compatibility with I2C, Pull-Up-resistor-based Open Drain mode is enabled. Examples include:
Not necessarily. I3C Controllers manage an active (i.e., dynamic) Pull-Up resistance on SDA, which they can enable and disable as the Bus transitions between Open Drain and Push-Pull mode. This might be a board-level resistor that is switchable (i.e., that can be engaged/disengaged as needed, controlled by an output pin from the Controller), or internal to the Controller, or any combination of the two.
I3C has two mandatory signal lines: Data (SDA) and Clock (SCL).
I3C v1.1+ and I3C Basic v1.1.1 also support optional Multi-Lane transfers, which use additional Data lines for supported I3C Modes. In Multi-Lane, the SDA line is called SDA and the additional data lines are called SDA, SDA, etc.