Add on PCB - Ausdauersportler/IMAC-EFI-BOOT-SCREEN GitHub Wiki
With modifications to original Apple EG2 drivers, we are still unable to enable the backlight during the EFI phase for some card families (even if the boot screen is on the internal LCD). This is the case with Saturn and Tonga cards, Pitcairn cards should suffer that issue, too. One solution we came up with is a small hardware add-on for 27' 2009-2011 iMacs, which takes care of the backlight until the GPU outputs a proper PWM signal to the iMac backlight board. (21.5' iMacs do not need this add-on since all MXM-A cards support EFI backlight with properly adjusted EG2 drivers.)
What makes the backlight turn on?
The power connector to the backlight board carries two additional signals besides the +12V and GND power lines. Let's call those signals EN and PWM, enable and pulse-width modulation, respectively. PWM signal is responsible for brightness level, while EN will enable the internal LCD, which means that EN must go high first, the duty cycle of the PWM signal will then determine the brightness of the internal LCD. The specific problem in our case is that while EN does go high and enables the internal LCD, PWM signal stays at 0V (ie. 0% duty cycle, which means dark LCD). A solution would be to somehow force the PWM signal to be at eg. 50% duty cycle during the EFI phase.
Forcing 50% duty cycle for the PWM signal
Let's have a look at the proposed schematic for that add-on circuit.
The ingoing signals along with the power lines are on the left, while the outgoing signals are on the right. How does it work? Essentially, once the EN signal goes high, the output PWM signal is kept at approximately 50% duty cycle until the input PWM signal is present. At that instant the circuit starts acting as a buffer for the input PWM signal (ie. the output PWM is the same as the input PWM). Each time the EN signal goes low, the circuit is 'reset' to the initial state with the output PWM at approximately 50% duty cycle.
In more detail: Two of the NOR gates (of U2, the 74HC02 quad-NOR-gate IC) are connected as a SR latch (a simple flip-flop), while other two NOR gates (which are essentially connected as NOT gates) act as a simple square-wave RC oscillator (producing a square wave signal with approximately 50% duty cycle at approximately 13kHz). Q1 is connected as a basic NOT gate, and it resets the SR latch each time the EN signal goes low. The SR latch assumes the set state once the input PWM signal goes high. That SR latch in turn controls the RC oscillator and U3 (a 2-input multiplexer), which finally outputs either the PWM signal from the RC oscillator or the input PWM signal, depending on the state of the SR latch. (Both outputs of the SR latch are used as this simplified the PCB design.) U1 (a 78L33 regulator) derives the 3.3V supply for the circuit from the +12V power line.
Actual add-on PCB on an extension cable
In practice, it seems that the cheapest and most space-efficient way is to realize the circuit on a small PCB and solder it directly onto an appropriate extension cable. Below is a color coded image of input and output connectors (viewed from connector end) of that extension cable with the PCB in the middle. Only 4 wires of that extension cable carry the small PCB. (Both pairs of power wires - +12V and GND - are still necessary, though. One wire in each pair runs directly from the input end to the output end of that extension cable. After all, this cable has to be current rated at 7.5A - maximum current supplied to the iMac 27' backlight board.)