I've made some major progress! Time for an info dump.
Big news! WUP-50s only draw ~9A on the 1V line. This is
5 to 6 amps less than a WUP-01! So it appears there
was a dieshrink (or some other silicon optimization) on the later revs with smaller MCMs.
1A @ 1V = 1W, so this is a ~6W power save at the mobo level (and closer to 7W if you take into account regulator losses.)
But the harsh reality is that WUP-50s are
very uncommon. For every one WUP-50 on eBay, there are about a hundred WUP-01s. Focusing solely on the WUP-50 doesn't align with the goal of democratizing Wii U portablizing.
Luckily, the WUP-50 is very similar to the WUP-01, besides the routing changes around the SOC and RAM. SMC/RTC/eMMC/NAND/wireless routing is almost 1:1, and crucially, most test pads are still present. So the relocations and trims for WUP-01 and WUP-50 will be very similar, and the majority of my WUP-01 compendium work applies directly to the WUP-50.
Speaking of compendium work, I've fully pinoutted the SMC, RTC, and ABLIC.
Here's the gist of this RE work:
- The SMC handles the front panel IO (power/eject buttons, LEDs), optical drive GPIOs, some mysterious wireless module GPIOs, USB port protection, and adjustment of the onboard 1V reg. It is connected to the SOC over I2C, and to the RTC via an unknown bus (probably also I2C). The SMC and RTC also share a 1Hz heartbeat timer signal and a couple reset/power-on type signals.
- The RTC handles power-up and regulator monitoring (along with the clock functions.) It controls the PFET that switches 15V to all the onboard regulators and listens to a PGOOD signal generated by the ABLIC IC. It also enables the 1.5V DDR regulator and somehow controls power to the 2.4GHz wireless module. It's connected to the SOC over EXI.
- The ABLIC IC is on the bottom of the mobo. It's a custom part as far as I can tell and incorporates a bunch of stuff. It's the DCDC controller for the standby 3.3V reg, aggregates and/or monitors PGOOD signals from all the onboard regulators, piggybacks on the 15V PFET enable, and possibly does some regulator sequencing.
Ok... let's get to real-world hardware. I de_Fused a Japanese WUP-50 and had a fun time getting drc-sim working on my laptop. Gamepads are region-locked, and even if you use udpih or Aroma plugins to bypass the sync region lock, the console will fall into a bootloop trying to update the foreign gamepad's firmware. So if you lack a region-matched gamepad, drc-sim (which only works on Linux and with very specific wireless cards) is the only option.
In keeping with the plan I outlined last year, I decided to tackle custom regs next.
@Redherring32 turned me on to some sweet Vishay regulators (
SiC43X family) which are way cheaper and simpler than the goofy TI regs on my old reg board. In the interest of time, I picked up some evaluation boards for two of them along with some smaller regs for the low-current rails.
- SiC431B for 1V (24A output)
- SiC438B for 1.15v (8A output)
- PTH08080 for 1.5V, 1.25V (2.25A, super overkill for 1.25v but whatever)
- TPSM84203 and TPSM84205 for 3.3V and 5V (1.5A output)
No 12V regulator since it's only routed to the optical drive (and some weird stuff near the AV port).
Full disclosure, I did have to swap inductors and feedback resistors on the EVBs to get the right voltages/currents. Using maximum thickness wire (~12AWG), since in my experience the Wii U really doesn't like voltage droop.
Other regs hooked up.
Note: do NOT replicate the 1.25V regulator setup in this image! (top right, near the fan connector)
The 1.25V PTH08080 released its magic smoke when I powered the mobo up!
So, I knew the WUP-50 changed the 1.25V rail from a switcher to a linear reg, but I didn't realize that they actually split the rail into 1.25V and 1.1V! I guess the revised DRH-WUP-1 IC needs a second, lower voltage core rail or something.
I
think U1044 is the 1.25V LDO and U1042 is the 1.1V LDO, but there are a couple transistors between them that I'm not 100% sure about yet. And it's not like you can replace the DRH BGA if you fry it! So I just left these linear regs in place for my tests. A preliminary trim won't come anywhere near this area, so replacing them isn't a priority.
Remember the ABLIC IC? It tag-teams with the RTC to turn on 15V across the mobo and monitors the regulators. Here's how to bypass it on a WUP-50:
- Remove the ABLIC IC (U1041)
- Remove R1340 (The WUP-50 actually has Q1093 depopulated, so the ABLIC-RTC PGOOD signal is already partially decoupled from the regs. But removing R1340 completes the disconnection.)
- Short 3.3V_STANDBY to 3.3V (blue wire)
- Remove Q1065 and bridge across the source/drain pads as shown (this is the 2.4GHz module power switch)
- Short ABLIC pins 7, 8, 9, 10, 11, and 12, as well as the anodes of D1039/D1040, to 3.3V
- Finally, to get 15V across the mobo with the ABLIC gone, cut the trace between the 15V PFET gate via and R1281, and tie the gate to GND.
So as it turns out, the ABLIC isn't the only thing monitoring the regulator PGOOD pins!
All of them are also routed on internal layers right to the SOC! Without tying them high, the power led just blinks red and the system doesn't boot.
But with the standby rail shorted to the 3.3V reg, and the PGOODs all tied high... something magical happens:
The console turns on by itself (no power button press required) and de_Fuse automatically works its magic (flashing red and blue LEDs). Success! First Wii U on custom regulators.
I still need to trace all the PGOOD lines back to the SOC. Obviously shorting ABLIC pads to 3.3v isn't gonna work when that whole section of the mobo is trimmed away! Also, the red LED still blinks a couple times when booting. I need to track down the root cause of that (maybe a 12v sense line?) because any weirdness in the boot process has the potential to mess with de_Fuse.
Besides that stuff, the next major to-do is relocating the wireless modules, which
@Crazzyleprechaun has been making good headway on. Then I'll cut out an SMC/RTC daughterboard from a donor Wii U (I confirmed the chips are swappable) and relocate that, and finally relocate the NANDs. Almost there!