iMac backlight circuit troubleshooting (A1419 and above)
Those who ever tried to repair it already know thats much more advanced circuit compared to Macbooks or older models. There are quite a few enable signals with many P-channel MosFets on the way. Having BLC_EN signal does not mean much and i will try to explain why. As an example i use 820-3478 (A1419 27" 2013).
First of all you need to recognize if thats really a board-side problem. If possible test with spare screen, inspect cable and components near the eDP connector.
To diagnose the circuit you need to fully remove the board and put it on connected screen. It can be powered with a 12V PSU, you will need 3-4 amps during diagnostics so your bench psu will do the job. as soon as you fix the circuit it will jump to 6-8A so dont wonder it triggers OCP on your PSU later on. Short J6901 pin 1-2 to press power button.
J8100 is a good point to start troubleshooting. You can check both VSYNC and BLC_EN signals on this pad (thats backlight microcontroller U8100 programming interface), however LED4 is triggered by VIDEO_ON signal which is also the source for BLC_EN Signal. So if debug LED4 is off, you should troubleshoot somewehere else. VSYNC indicates there is communication between screen and Microcontroller. Also pin 14,15 on eDP worth checking for smbus communication between screen and backlight controller. Long story short, VIDEO_ON comes from display side and initiates sequence to turn on Backlight. As mentioned on the schematics page, "backlight is only on when Panel has valid video".
If you follow VIDEO_ON signal, you may wonder why there are so many enable signals around. I have no idea, maybe there was an "enable signal challenge" in Logicboard design room.
- VIDEO_ON triggers DEBUG_LED4, and after a short delay circuit turns into BLC_EN.
- Power conditions check: OpAmp U8320 checks if there is a short circuit (1OUT) and if LED Driver is working and properly powered (2OUT), also passes Backlight controller MCU signals (Outputs 3 and 4)
2OUTgoes first since it enables initial charging of Boost circuit caps. It issues BLC_BL signal which is later summed up by U8360 with PM_GOOD_FETP12_S0_BLC(part of 12V_S0 circuit). It looks like the main condition is good 12v and 3v3v (used by MCU). When it is low, BLC_BL is HIGH and Q8371 is open, approx. 1W power starting to flow into BLC_VINP side and slowly charges the caps. 1OUT is pretty insteresting. It checks voltage difference between PP12_S0_BLC_VIN2 and PP12B_S0_BLC_VINP. If you check Q8370 you can see that it needs gate to be LOW which is triggered by pretty complex In-Rush current limiting scheme. To sum it up, R8377 and R8397 mentioned above are used to slowly charge caps on drain side (VINP), if they can be charged (which is only possible if there is no short or significant leakage in circuit). Once charged to 12V, OpAmp output goes low thus releasing BLC_P_ON signal from ground. This signal goes to AND gate U8370 which is also summed with FLAG_V_L signal. Please note that FLAG_V is a signal which goes from MCU, then inverted, so HIGH FLAG_V is used to disable backlight. The whole sequence sends Q8370 Gate to ground letting voltage to pass to the boost circuit. To sum it up, you should measure Q8370 Gate to determine if all conditions above are met Having 12V on both sides does not necesarrily mean it is open, Gate should be LOW for Backlight boost circuit to work. If there is nothing on source it is most likely a blown fuse, but as always, blown fuse is a symptom, not a problem.
- If all above works fine, LED_DRIVER_EN will go HIGH. Note D8200 which allows BLC_EN to instantly kill LED_DRIVER_EN if its pulled to ground. Because of this diode, low LED_DRIVER_EN wont pull BLC_EN down.
- LED Driver starting to produce magical PWM signals to boost the circuit. U8350 is used as Overvoltage protection. once OVP condition is met, it pulls one of PWMs to ground. There are three outputs on boost circuit, so if you have stage-like effect or partial backlight, this might be a place to look into. However in most cases stage-light is being caused by one dead LED stripe. in this case voltage on one output will be higher compared to other ones. If no output produced, there might be an issue with one of boost feedback circuits or LED driver IC.
to be continued. I will try to draw sequence diagram and further explanation as soon as i have more time. Logic behind multiple enable signals is really complex and frustrating but since i sort of beat it. i would love to share my experience.