Re: [PATCH v3 4/5] apple-gmux: support MMIO gmux on T2 Macs

From: Lukas Wunner
Date: Mon Feb 20 2023 - 04:20:59 EST


On Sun, Feb 19, 2023 at 12:20:06AM +1100, Orlando Chamberlain wrote:
> --- a/drivers/platform/x86/apple-gmux.c
> +++ b/drivers/platform/x86/apple-gmux.c
> @@ -28,15 +28,17 @@
> * DOC: Overview
> *
> * gmux is a microcontroller built into the MacBook Pro to support dual GPUs:
> - * A `Lattice XP2`_ on pre-retinas, a `Renesas R4F2113`_ on retinas.
> + * A `Lattice XP2`_ on pre-retinas, a `Renesas R4F2113`_ on pre-T2 retinas.
> + * The chip used on T2 Macs is not known.

I've just taken a look at the schematics of the MBP16,1 and it turns out
that T2 *is* the gmux. The chip is called H9M. The interaction with the
OS is through that MMIO area.

There's a GPIO expander attached to T2 via I2C (NXP PCAL6524), probably
because they didn't have enough GPIO pins available on T2 itself.
The GPIO expander enables/disables the voltage regulators of the discrete
GPU, hence can cut power to it. It also drives panel power and has a GPIO
to switch the mux.

The mux is an NXP CBTL06142 as on previous models.

Thanks,

Lukas