Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp4530974pxb; Sat, 5 Feb 2022 17:28:02 -0800 (PST) X-Google-Smtp-Source: ABdhPJzjeIsdUHfeQC5wfe3s29OCqIC/cao/qra5JMIeGCwvVDiYwVEyqAKVPkcALBrcctSbZkZd X-Received: by 2002:a17:903:18b:: with SMTP id z11mr10180674plg.94.1644110882277; Sat, 05 Feb 2022 17:28:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644110882; cv=none; d=google.com; s=arc-20160816; b=kRlqbPfxKSw1NMibyx1vElLhAlq0+L0o1HfhG0lTTYPngm4/q5w9l9gNgMRGk57Ci0 tk6uTLdnBV08XD4QC9g6mqeo1aeU34VtungjgtKseB/TfgAUqNbX2TKRIK2wVtlbjvkr nn2L23/rbY0zKneUoegTUIBDr7Tf+458juIZNJrHsLoQ1l+FZbxWAQ9lYD6cisFmBUkK cdK5QlU+kcG9NYdvrtVNHfN1IihdEm0O5nk4H1Gcq5UG8vKZqkG1OUYVUi92/EA3WDJV z3Z/9mmGpkd1d3jt3Sw51C86XP1ucJB43po9znT1GykfDY5Gm2EOFDWS5OkoILkQgPl4 TRoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:references :cc:to:from:content-language:subject:user-agent:mime-version:date :message-id:dkim-signature; bh=eHBHzUia9mruyB4YUukSDrxzx6AfeOgulQdxUcrQ01Q=; b=vkZV5XODdhJfo06y6bVUOGA416UCiUjIBiJ+pKTmW0fF5nS548A5yMSN/U/2fh/kuj Vmy+TeP2laEOCLFd+36WZgL4XbjmwHTP5lq2DMCc8kPwXQoiF0h6ItIkziiqmQaN4Tjp rpK8ojLcg7CAk1mjtvvddJxJ6USfZqpIwRKhg4rGnNvHeepuuuTJIShkrrh7cWkGM4hs xBDTeJSBDOFD6cXFvZW6oYlz9I7yxZ1XF2AF1Rm+PzzwKwAaW5Ypey4arCn8oI/BGQ2U XKYcj6Z3v5Q0P6ugkQicz5tj0iC/VbYF7BVvUn/oaUZWkDPLlfOYq2UdtMrEzmFuHbO/ Kjgg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=SBeg0hAu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t184si6091095pgb.432.2022.02.05.17.27.49; Sat, 05 Feb 2022 17:28:02 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=SBeg0hAu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240141AbiBDMRG (ORCPT + 99 others); Fri, 4 Feb 2022 07:17:06 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44862 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230029AbiBDMRG (ORCPT ); Fri, 4 Feb 2022 07:17:06 -0500 Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com [IPv6:2a00:1450:4864:20::52c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B0086C061714; Fri, 4 Feb 2022 04:17:05 -0800 (PST) Received: by mail-ed1-x52c.google.com with SMTP id j23so12696971edp.5; Fri, 04 Feb 2022 04:17:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language :from:to:cc:references:in-reply-to:content-transfer-encoding; bh=eHBHzUia9mruyB4YUukSDrxzx6AfeOgulQdxUcrQ01Q=; b=SBeg0hAuVOVt3vAT8e1Ie0QdqByT0wbgDPzNIQNUUEAT1U4w1LOaL2DptiroXUHdfE Hkrw7cPb7cj5GDaCbStOaPaUkw+JP8qfpoQiCSQYYYzt4FjfH4dHw8qvlQk+lind9mtp dHPvgQrqwYy45MqJB4mDWxMKbNgBBqcPMb+bpbwtcCxJzm6woxWG90oMXT0We4Q9BuK+ 8BNiPi6096ZHmkyprgC6Qrb+KtcsmS/EoDebY+VBVw52SHkXM6yv+oRDOS7tscUg05a8 8awoA+Fq3UtBbdMH+QgXWfx15LjDMS5MOCIxWjajedF5rl7RKVdADQThId4tJbTWSxy8 FU6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:from:to:cc:references:in-reply-to :content-transfer-encoding; bh=eHBHzUia9mruyB4YUukSDrxzx6AfeOgulQdxUcrQ01Q=; b=CdXmZvD22G0x38YTm3MDOX9I+TWGfwmbDc1lpD0HNbhfBJnBHwhZqiY39QJkrhwyCa h3OQE/bNor6JbgOjwDdufgPTANgLa+y0iFsShFwhBNqpl5o56b2wKWeEXog9T3EIJTlx uBTIgQT5KRiby11/Vew1/HtQn/AaztUMH0qKQRpXQtJRfJ7BT20IcCpXXDpTbW93FAVz pelSkoNn85yEroGM3DSM/GEkdwxXaLz1r23qKehL1umLpZGw9sB3yj704tLKeIpKNLr0 1yFIovvDjHRn4DSI0NfKJ27mmlsFLb3i4SYXsUBWNEunvqxqhpgX7saACitMd6MI/Edc aAdw== X-Gm-Message-State: AOAM530LMYuUVz0Yv3Gvqbew+Xvf84NEAxnTvEp1GeY+ct0o+X1WMwaJ FZrlktbXj6G/KF/pAk4R6Yw= X-Received: by 2002:a05:6402:40cd:: with SMTP id z13mr2737770edb.119.1643977024173; Fri, 04 Feb 2022 04:17:04 -0800 (PST) Received: from [192.168.2.1] (81-204-249-205.fixed.kpn.net. [81.204.249.205]) by smtp.gmail.com with ESMTPSA id d15sm610498ejw.143.2022.02.04.04.17.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 04 Feb 2022 04:17:03 -0800 (PST) Message-ID: <72304aa8-6845-250b-dc0e-5122428b8dd8@gmail.com> Date: Fri, 4 Feb 2022 13:17:02 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: [PATCH v7 3/4] phy: rockchip: add naneng combo phy for RK3568 Content-Language: en-US From: Johan Jonker To: Yifeng Zhao , heiko@sntech.de Cc: robh+dt@kernel.org, devicetree@vger.kernel.org, vkoul@kernel.org, michael.riesch@wolfvision.net, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, kishon@ti.com, p.zabel@pengutronix.de, cl@rock-chips.com, kever.yang@rock-chips.com, lee.jones@linaro.org, wulf@rock-chips.com, Frank Wunderlich References: <20211230084815.28110-1-yifeng.zhao@rock-chips.com> <20211230084815.28110-4-yifeng.zhao@rock-chips.com> <4838413b-c424-cf55-0699-9cd8ac23d9c2@gmail.com> In-Reply-To: <4838413b-c424-cf55-0699-9cd8ac23d9c2@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Heiko, Frank and others, China is on new year vacation. Question for Heiko: With xpcs in a separate node, how do we pass phy modes from gmac to xpcs, multiphy in a correct DT way? Can we brand xpcs as phy? Please advise. Johan === Found example for the way Rockchip connects sgmii in the manufacturer DT. https://github.com/Poco-Ye/rk-ethernet/blob/master/SGMII.rar From gmac1.txt: > &mdio1 { > sgmii_phy: phy@1 { sgmii_phy: phy@0 { // ??? What is correct? > compatible = "ethernet-phy-ieee802.3-c22"; > reg = <0x0>; C45E Clause 45 PHY Enable When this bit is set, Clause 45 capable PHY is connected to MDIO. When this bit is reset, Clause 22 capable PHY is connected to MDIO. Values: 1'b0: Clause 45 PHY is disabled 1'b1: Clause 45 PHY is enabled > }; > }; > > > &combphy2_psq { > + rockchip,sgmii-mac-sel = <1>; > status = "okay"; > }; > > > &gmac0 { > phy-mode = "sgmii"; > > rockchip,pipegrf = <&pipegrf>; > rockchip,xpcs = <&xpcs>; > > snps,reset-gpio = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; > snps,reset-active-low; > /* Reset time is 20ms, 100ms for rtl8211f */ > snps,reset-delays-us = <0 20000 100000>; > > assigned-clocks = <&cru SCLK_GMAC1_RX_TX>; > assigned-clock-parents = <&gmac1_xpcsclk>; > > + pinctrl-0 = <&gmac1m0_miim>; > power-domains = <&power RK3568_PD_PIPE>; > phys = <&combphy2_psq PHY_TYPE_SGMII>; > + phy-handle = <&sgmii_phy>; > > status = "okay"; > }; === Proposal: xpcs driver passes mode info to multiphy driver. Phy arg is used for gmac source selection for PHY_INTERFACE_MODE_SGMII and PHY_INTERFACE_MODE_QSGMII. > phys = <&xpcs 0>; === { gmac0_xpcsclk: xpcs-gmac0-clock { compatible = "fixed-clock"; clock-frequency = <125000000>; clock-output-names = "clk_gmac0_xpcs_mii"; #clock-cells = <0>; }; gmac1_xpcsclk: xpcs-gmac1-clock { compatible = "fixed-clock"; clock-frequency = <125000000>; clock-output-names = "clk_gmac1_xpcs_mii"; #clock-cells = <0>; }; xpcs: syscon@fda00000 { compatible = "rockchip,rk3568-xpcs", "syscon"; reg = <0x0 0xfda00000 0x0 0x200000>; clocks = <&cru PCLK_XPCS>; clock-names = "pclk_xpcs"; > phys = <&multiphy2>; power-domains = <&power RK3568_PD_PIPE>; rockchip,pipegrf = <&pipegrf>; // Switch between gmac0 and gmac1 status = "disabled"; }; } &mdio1 { sgmii_phy: phy@0 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <0x0>; }; }; &multiphy2 { status = "okay"; }; &gmac0 { assigned-clocks = <&cru SCLK_GMAC1_RX_TX>; assigned-clock-parents = <&gmac1_xpcsclk>; phys = <&combphy2_psq PHY_TYPE_SGMII>; phy-handle = <&sgmii_phy>; phy-mode = "sgmii"; > phys = <&xpcs 0>; pinctrl-0 = <&gmac1m0_miim>; snps,reset-gpio = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; snps,reset-active-low; /* Reset time is 20ms, 100ms for rtl8211f */ snps,reset-delays-us = <0 20000 100000>; status = "okay"; }; On 1/3/22 19:26, Johan Jonker wrote: > Hi Yifeng, Kishon, rob+dt, > > Some comments, have a look if it's useful. > > ==== > > Could the DT and phy maintainer advise the correct/right driver > structure to Yifeng, so that we can move forward! > > ==== >