An open-drain output contains a transistor that connects the pin to ground when switched on and leaves it floating when switched off. It can pull a line low, but it cannot drive it high. A pull-up resistor to a supply rail provides the high level whenever no device is pulling down. (Older bipolar circuits call the same idea "open-collector".)
Why boards use it
- Several devices on one line. Any number of open-drain outputs can share a line. The line is high only when all of them release it, and low if any one pulls it down. This "wired-AND" behaviour is ideal for combining power-good signals or interrupt requests.
- Level translation for free. The high level is set by whatever rail the pull-up connects to, so a chip powered at 1.8 V can signal to a 3.3 V device through a 3.3 V pull-up, within the chip's ratings.
- Bus protocols. SMBus and I2C are open-drain by design, so devices can take turns on the same two wires.
Where you meet it on a laptop board
| Signal type | Example names | Pulled up to |
|---|---|---|
| Power good | PGOOD, VR_PWRGD, SYS_PWROK | A standby or run rail |
| Reset | RSMRST#, EC_RST# | A standby rail |
| Interrupts and alerts | SMB_ALERT#, EC_SCI# | 3.3 V or 1.8 V rail |
| Bus lines | SMB_CLK, SMB_DATA, I2C_SCL, I2C_SDA | 3.3 V or 1.8 V rail |
Diagnosing open-drain lines
Because the high level comes from a pull-up, a line that should be high but reads low has three suspects:
- The pull-up rail is missing — check the rail at the far end of the pull-up resistor.
- The pull-up resistor is open — compare voltages on its two ends.
- One of the connected devices is pulling low — maybe correctly (a regulator reporting a fault) or because it is damaged or leaky.
To find which device holds the line low, isolate them one at a time where the schematic allows, or compare the line's resistance to ground with a known-good board. The pattern is described in more detail in Pull-Up and Pull-Down Resistors in Laptop Schematics.
Common mistakes
- Expecting an open-drain output to show a high level with no pull-up fitted.
- Assuming the chip that "owns" the signal is the one pulling it low — any device on the line can.
- Forgetting that the pull-up rail may only exist in certain power states, so the line will read low in standby even on a healthy board.