[EXT] [PATCH u-boot-marvell] arm64: dts: armada-3720-espressobin: fix COMPHY nodes
Kostya Porotchkin
kostap at marvell.com
Wed Aug 19 12:10:18 CEST 2020
> -----Original Message-----
> From: Marek Behún <marek.behun at nic.cz>
> Sent: Wednesday, August 19, 2020 12:57
> To: u-boot at lists.denx.de
> Cc: Kostya Porotchkin <kostap at marvell.com>; Marek Behún
> <marek.behun at nic.cz>; Pali Rohár <pali at kernel.org>; Stefan Roese
> <sr at denx.de>
> Subject: [EXT] [PATCH u-boot-marvell] arm64: dts: armada-3720-espressobin:
> fix COMPHY nodes
>
> External Email
>
> ----------------------------------------------------------------------
> This commit fixes initialization of COMPHY on EspressoBin.
>
> Commit 22f418935be4 ("phy: marvell: a3700: Use comphy_mux on Armada
> 37xx.") introduced usage of comphy_mux on Armada 37xx comphy driver.
> The lanes are defined in comphy_a3700.c as described in functional
> specification, that is:
> lane 0 is SGMII1 or USB3
> lane 1 is PCIe or SGMII0
> lane 2 is SATA or USB3
>
> But the DTS for EspressoBin configures PCIe on lane 0 and USB3 on lane 1,
> which is wrong in the sense of the specification and doesn't work with the
> comphy_mux code, which is 2 years now (the aardvark driver causes
> synchronous abort in U-Boot).
>
> It worked till the above mentioned commit, because the code for powering
> up PCIe PHY doesn't work with lane number at all, and the code for powering
> up USB3 PHY works differently only if USB3 is on lane 2, ie.
> the check goes like:
> if (lane == 2)
> something
> else
> something else
> so it does not differentiate between lanes 0 and 1.
>
> In the future I shall post patches that remove the comphy_a3700 driver and
> add comphy driver which uses calls to ATF, like Linux' driver does.
> This will have the advantage of same DTS bindings as Linux', but till this is
> done, we need this patch.
>
> Signed-off-by: Marek Behún <marek.behun at nic.cz>
> Tested-by: Pali Rohár <pali at kernel.org>
> Cc: Stefan Roese <sr at denx.de>
> ---
> arch/arm/dts/armada-3720-espressobin.dts | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/dts/armada-3720-espressobin.dts
> b/arch/arm/dts/armada-3720-espressobin.dts
> index 84e2c2adba..50381e979e 100644
> --- a/arch/arm/dts/armada-3720-espressobin.dts
> +++ b/arch/arm/dts/armada-3720-espressobin.dts
> @@ -72,13 +72,13 @@
> &comphy {
> max-lanes = <3>;
> phy0 {
> - phy-type = <PHY_TYPE_PEX0>;
> - phy-speed = <PHY_SPEED_2_5G>;
> + phy-type = <PHY_TYPE_USB3_HOST0>;
> + phy-speed = <PHY_SPEED_5G>;
> };
>
> phy1 {
> - phy-type = <PHY_TYPE_USB3_HOST0>;
> - phy-speed = <PHY_SPEED_5G>;
> + phy-type = <PHY_TYPE_PEX0>;
> + phy-speed = <PHY_SPEED_2_5G>;
> };
>
> phy2 {
> --
> 2.26.2
Reviewed by Konstantin Porotchkin <kostap at marvell.com>
More information about the U-Boot
mailing list