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

From: Orlando Chamberlain
Date: Mon Feb 20 2023 - 07:17:42 EST


On Mon, 20 Feb 2023 10:20:48 +0100
Lukas Wunner <lukas@xxxxxxxxx> wrote:

> 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 for figuring that all out, I can add that to the documentation.

>
> Thanks,
>
> Lukas