Received: by 2002:a05:7412:a986:b0:f9:90c9:de9f with SMTP id o6csp6182rdh; Wed, 20 Dec 2023 12:37:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IH1s5pT4q0amBTxmaBTORRRtNoZgSlpm7QgcOleDbs+/FmhXSaac7FSL3j+sKmMrQuoPbh3 X-Received: by 2002:a17:902:e5c3:b0:1d3:efbe:6028 with SMTP id u3-20020a170902e5c300b001d3efbe6028mr1461784plf.7.1703104637873; Wed, 20 Dec 2023 12:37:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703104637; cv=none; d=google.com; s=arc-20160816; b=mmpuQSsT8F+MMwebJrWeCxw23MpEtQ7UbmvEOQx2OyefnuQyeF7DkotiHV5dNRIy1S 9oanHwKoOO57I5g8imjgtAGhHPp2UFTfU0iaZYv5JvQi3bgrJDb0jj5DkKbYfrycjRTO stsgP8dT72h3QBHRZlnWS1tsx9ca7pmp6rhSSaE1BK9vlx5QiU7YzRBQL+Whin8ku8Yl lr+8KEJ5A7yDZfIQx1TXlrCgdn/wXcZZWJEHSsaA6wnGALJaCO0qzXFuN7pReO8KngRO 7rHxmdLbHd2IYbS4gCvH0zybKfAi3RsZUuPlYvhd35t81pCOUe7uHtJ+PnDZ8e4FznQ1 Kgbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=yT4onLSCJnRO5OsDAsoEnYosn/gTLA+uZJCYGELgzHg=; fh=xBpSVJqUmvBwnewhervMmJ+iGBlBvio6C3O5RcpMd64=; b=M500+r7uUVOkjbkWMQCMQHz/y6L9IQh6jvVVWV9PQJSOqVu7JiuMSIsua5+Yf0IM1J 8ewTQebkrO4Uxsyvwd1E71ypBvuxl+RfFpWfBJk55wyzVzgb+RvGbfww6LQGs/wYfF6v wj9fxrSJH7/bIWWHeNRc2SA5Y0gqlKo/OM5LwqI/n0jFe098VOmZ5Op8myJ8+xVRuqSW QPeLbIRuCmYPtRE+spEzR96o4RwAftToqAZ01v5pKtknVJO/LQe5sHxHW9P7qsU3mgi6 JC4YLH2w554GuQcJazQWGXUtYeSDl4+MP7M5fTf364tSarMzwZdMQ4cNgpfUQqHADzd/ Rh+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=EgjBIk3E; spf=pass (google.com: domain of linux-kernel+bounces-7418-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-7418-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id r6-20020a170902be0600b001d2e3004f98si196343pls.593.2023.12.20.12.37.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Dec 2023 12:37:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-7418-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=EgjBIk3E; spf=pass (google.com: domain of linux-kernel+bounces-7418-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-7418-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 8442C2858A1 for ; Wed, 20 Dec 2023 20:37:17 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 2BDCD4A9AC; Wed, 20 Dec 2023 20:36:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EgjBIk3E" X-Original-To: linux-kernel@vger.kernel.org Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D7B6548CF4; Wed, 20 Dec 2023 20:36:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-40c48d7a7a7so698505e9.3; Wed, 20 Dec 2023 12:36:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703104574; x=1703709374; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yT4onLSCJnRO5OsDAsoEnYosn/gTLA+uZJCYGELgzHg=; b=EgjBIk3EGX1vIK//UQixsKSQqlfL9c8wTIc07xiTB0xgbiAnI83CDBl4rrdQbOL70W AwkhexIUP/i5nZOOqtPO2tCYjZMbGTcV1E0rhCWNBkLFe6wc8jhAfdMjz57idBHY60oo b4Nr8DBq9fMT4cH8ILd+cWuCt4nZnKYzmGopy02l9UsZpz9Y79IuCvbUaKgCtKJa2VYl ZyOHh3vdnMqP6lsYDJx1e0tX7IxyEuzxuJTxRy4rChdEUJD7zLl6UfXUSN2++poH1L2L go20SpDqZBRVYAODSMCW/bWClEWmHCc+p23Q1M/whjbwk8EBDXca+j8FuuJeHRJU5zXk rlEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703104574; x=1703709374; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yT4onLSCJnRO5OsDAsoEnYosn/gTLA+uZJCYGELgzHg=; b=jbw7Da6jf310kEtoD7OWQ3dVyn/FOqrh2dP4lFrs4+EQ8KHOadAKo/ZFqqTCcfEJej 8tbMR58E/4N+3xdY41saq5btmr3lQvyEir5vPUUwtqOaSt1XwBM9rV//5oC2y4BWEd0Y 4vSI/p7UoOya+gNdJzObDdOoJYrTrjdnnJm78mlAIrbjpVuB17DrLNZ0l2vzkgDwgHlu yZ2zkcRy97DD/Stm8dRy8rXqqnUpWIsILfOIOVNWpuPAoJPKGFIyHlPe+lZuUA8NnLUD PSPK6KsPjTK4edozPaIgJ6ANETzpFAg4vWjhwr4H6pzryJj8Z/VMCZLJLWLjiyDRzOPG ZkeA== X-Gm-Message-State: AOJu0YxAkiTnt0tdxdTj8R3NFn+r61C8EhxKE0RUhaouhTntQpEW0ziZ 4O9kgObUGlSwvPYSKBt4Zto= X-Received: by 2002:a05:600c:524f:b0:40c:2822:958f with SMTP id fc15-20020a05600c524f00b0040c2822958fmr127184wmb.73.1703104574143; Wed, 20 Dec 2023 12:36:14 -0800 (PST) Received: from localhost.localdomain (82-149-12-148.dynamic.telemach.net. [82.149.12.148]) by smtp.gmail.com with ESMTPSA id v14-20020a05600c444e00b0040c58e410a3sm8703224wmn.14.2023.12.20.12.36.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Dec 2023 12:36:13 -0800 (PST) From: Jernej Skrabec To: robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, wens@csie.org, samuel@sholland.org, andrew@lunn.ch, hkallweit1@gmail.com, linux@armlinux.org.uk, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Jernej Skrabec Subject: [PATCH v5 3/3] arm64: dts: allwinner: orange-pi-one-plus: Fix ethernet Date: Wed, 20 Dec 2023 21:35:37 +0100 Message-ID: <20231220203537.83479-4-jernej.skrabec@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20231220203537.83479-1-jernej.skrabec@gmail.com> References: <20231220203537.83479-1-jernej.skrabec@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Orange Pi One Plus has two regulators that power the Realtek RTL8211E PHY. According to the datasheet, both regulators need to be enabled at the same time, or that "phy-io" should be enabled slightly earlier than "ephy" regulator. RTL8211E/RTL8211EG datasheet says: Note 4: 2.5V (or 1.8/1.5V) RGMII power should be risen simultaneously or slightly earlier than 3.3V power. Rising 2.5V (or 1.8/1.5V) power later than 3.3V power may lead to errors. Original submission ignored these rules, so it works in some cases but not all. On top of that, regulator voltages don't reflect actual ones in hardware. Rework ethernet and PHY nodes to properly reflect HW. Fixes: 7ee32a17e0d6 ("arm64: dts: allwinner: h6: orangepi-one-plus: Enable ethernet") Signed-off-by: Jernej Skrabec --- .../allwinner/sun50i-h6-orangepi-one-plus.dts | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts index 29a081e72a9b..9c76eecaacce 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts @@ -12,15 +12,15 @@ aliases { ethernet0 = &emac; }; - reg_gmac_3v3: gmac-3v3 { + reg_gmac_2v5: gmac-2v5 { compatible = "regulator-fixed"; - regulator-name = "vcc-gmac-3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - startup-delay-us = <100000>; + regulator-name = "gmac-2v5"; + regulator-min-microvolt = <2500000>; + regulator-max-microvolt = <2500000>; enable-active-high; gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */ - vin-supply = <®_aldo2>; + off-on-delay-us = <100000>; + vin-supply = <®_vcc5v>; }; }; @@ -29,7 +29,6 @@ &emac { pinctrl-0 = <&ext_rgmii_pins>; phy-mode = "rgmii-id"; phy-handle = <&ext_rgmii_phy>; - phy-supply = <®_gmac_3v3>; allwinner,rx-delay-ps = <200>; allwinner,tx-delay-ps = <200>; status = "okay"; @@ -39,5 +38,21 @@ &mdio { ext_rgmii_phy: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <1>; + /* + * The board uses 2.5V RGMII signalling. Power sequence to enable + * the phy is to enable GMAC-2V5 and GMAC-3V (aldo2) power rails + * at the same time and to wait 100ms. The driver enables phy-io + * first. Delay is achieved with enable-ramp-delay on reg_aldo2. + */ + phy-io-supply = <®_gmac_2v5>; + ephy-supply = <®_aldo2>; + + reset-gpios = <&pio 3 14 GPIO_ACTIVE_LOW>; /* PD14 */ + reset-assert-us = <15000>; + reset-deassert-us = <40000>; }; }; + +®_aldo2 { + regulator-enable-ramp-delay = <100000>; +}; -- 2.43.0