In case of PMOS, does it have internal pull up?Hi,
As you say, I2C bus uses open-drain / open-collector at the IC output, so you need a pull-up resistor to complete the circuit.
SPI bus uses classic (assuming CMOS) buffer at its output, where PMOS transistor pulls the output up and NMOS transistor pulls the output down.
In CMOS digital circuits, both transistors cannot pull simultaneously, because that would cause a short between VDD and GND.
For I2C protocol, there is pull up required because its open drain configuration.
But for SPI protocol why pull up not required?