Hi, Fabio

Anson Huang
Best Regards!


> -----Original Message-----
> From: Fabio Estevam [mailto:[email protected]]
> Sent: Wednesday, April 25, 2018 9:47 PM
> To: Anson Huang <[email protected]>
> Cc: Shawn Guo <[email protected]>; Sascha Hauer
> <[email protected]>; Fabio Estevam <[email protected]>; Rob
> Herring <[email protected]>; Mark Rutland <[email protected]>;
> dl-linux-imx <[email protected]>; moderated list:ARM/FREESCALE IMX / MXC
> ARM ARCHITECTURE <[email protected]>; open list:OPEN
> FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> <[email protected]>; linux-kernel <[email protected]>
> Subject: Re: [PATCH 4/5] ARM: dts: imx6sx-sabreauto: add fec support
> 
> Hi Anson,
> 
> On Wed, Apr 25, 2018 at 2:36 AM, Anson Huang <[email protected]>
> 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;
+               };
+

Anson.

Reply via email to