Message ID | 20210219072358.20157-1-yocto@bsorensen.net |
---|---|
State | Changes Requested |
Delegated to: | Stefano Babic |
Headers | show |
Series | arm: dts: imx7d-sdb: Fix enet by setting soft spi mode to 3 for extended io | expand |
Hi Christian, On Fri, Feb 19, 2021 at 10:32 AM Christian Bräuner Sørensen <yocto@bsorensen.net> wrote: > > This patch sets SPI MODE 3 for the fairchild 74HC595 device that is used > to reset the ethernet device, which fixes ethernet. > > Reasoning: > The imx7dsabresd board uses SPI for setting the extended IO. > One of the purposes of this extended IO, is having the ability to set > ENET_RST i.e. reset the ethernet PHY. Without proper reset of the PHY, > ethernet does not work. > > commit 0e146993bb3d ("spi: add support for all spi modes with soft spi") > broke network support for boards using imx7d-sdb, since it actually Shouldn't this commit be reverted then? I suppose it introduced regressions on other boards too. > corrected default SPI mode setting for the software emulated soft_spi to 0, > i.e. CPHA to 0 and CPOL to 0. > Previously, the driver defaulted to CPHA 1 and CPOL 1 (i.e. spi mode 3). > After the default SPI mode is now 0 (which is the correct default value) > we now need to actively set CPHA and CPOL to 1 for the specific devices > that actually needs this. > > Signed-off-by: Christian Bräuner Sørensen <yocto@bsorensen.net> > --- > > arch/arm/dts/imx7d-sdb.dts | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm/dts/imx7d-sdb.dts b/arch/arm/dts/imx7d-sdb.dts > index 8191ac7c33..6ed21ce8b0 100644 > --- a/arch/arm/dts/imx7d-sdb.dts > +++ b/arch/arm/dts/imx7d-sdb.dts > @@ -58,6 +58,8 @@ > reg = <0>; > registers-number = <1>; > spi-max-frequency = <100000>; > + spi-cpha > + spi-cpol; It is not good that we deviate from the devicetree used in Linux. Johannes/Jagan, Any suggestions as to how to properly fix the regression? Thanks
diff --git a/arch/arm/dts/imx7d-sdb.dts b/arch/arm/dts/imx7d-sdb.dts index 8191ac7c33..6ed21ce8b0 100644 --- a/arch/arm/dts/imx7d-sdb.dts +++ b/arch/arm/dts/imx7d-sdb.dts @@ -58,6 +58,8 @@ reg = <0>; registers-number = <1>; spi-max-frequency = <100000>; + spi-cpha; + spi-cpol; }; };
This patch sets SPI MODE 3 for the fairchild 74HC595 device that is used to reset the ethernet device, which fixes ethernet. Reasoning: The imx7dsabresd board uses SPI for setting the extended IO. One of the purposes of this extended IO, is having the ability to set ENET_RST i.e. reset the ethernet PHY. Without proper reset of the PHY, ethernet does not work. commit 0e146993bb3d ("spi: add support for all spi modes with soft spi") broke network support for boards using imx7d-sdb, since it actually corrected default SPI mode setting for the software emulated soft_spi to 0, i.e. CPHA to 0 and CPOL to 0. Previously, the driver defaulted to CPHA 1 and CPOL 1 (i.e. spi mode 3). After the default SPI mode is now 0 (which is the correct default value) we now need to actively set CPHA and CPOL to 1 for the specific devices that actually needs this. Signed-off-by: Christian Bräuner Sørensen <yocto@bsorensen.net> --- arch/arm/dts/imx7d-sdb.dts | 2 ++ 1 file changed, 2 insertions(+)