Re: [PATCH 4/5] ARM: dts: imx6sx-sabreauto: add fec support

From: Shawn Guo
Date: Fri May 04 2018 - 04:45:34 EST


On Thu, Apr 26, 2018 at 06:57:07AM +0000, Anson Huang wrote:
> > > Sorry, I made a mistake here, the MAX7320 IO0 is for adjusting FEC1's
> > > voltage,
> >
> > In this case you need to pass the 'phy-supply' property inside the fec node and
> > add a regulator that is controlled via MAX7320 IO0 pin.
>
> The 'phy-supply' is for enabling/disabling phy regulator, but here the MAX7322 IO0 is NOT for
> enabling/disabling PHY regulator, it is for IO voltage switch between 1.5V and 1.8V, our ENET
> IO can work with both 1.5V and 1.8V, so any config is OK for ENET function.
>
> The 1.5V/1.8V selection is a one time setting thing, that means we only need to
> config it once during boot up, most of i.MX platforms does NOT provide such voltage
> switch function for ENET IO, on this 6SX sabre auto board, it is more like a backup or
> validation purpose. With default settings, ENET's function is NOT impacted at all.
>
> I think we can add a gpio regulator for it and let the regulator initialization set the GPIO
> Level for fec, such below, with " enable-active-high " present, GPIO will be at LOW and voltage
> is 1.5V, without this property, GPIO will be HIGH and voltage will be 1.8V.
> + reg_fec: fec_io_supply {
> + compatible = "regulator-gpio";
> + regulator-name = "1.8V_1.5V_FEC";
> + regulator-min-microvolt = <1500000>;
> + regulator-max-microvolt = <1800000>;
> + states = <1500000 0x0 1800000 0x1>;
> + enable-gpio = <&max7322 0 GPIO_ACTIVE_HIGH>;
> + vin-supply = <&sw2_reg>;
> + enable-active-high;
> + };

Looking at gpio-regulator bindings doc, I feel that property 'gpios'
rather than 'enable-gpio' should be used to specify the MAX7320 IO0 pin.

- enable-gpio : GPIO to use to enable/disable the regulator.
- gpios : GPIO group used to control voltage.

Shawn