From patchwork Mon May 26 18:29:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Hilliard X-Patchwork-Id: 1655 Received: from mail-io1-f45.google.com (mail-io1-f45.google.com [209.85.166.45]) (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 7FD9E1C84D7 for ; Mon, 26 May 2025 18:30:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748284214; cv=none; b=nlt/UDZvWFgW75ohwzq/R2eH7OYWJLUWZArfQR9TssHcvhAUrI0tsBdncPX6jOV4jro3eAYQMtaYtWDnPicZPwQbyqOdd5ZyvKPpJqOdzS4HX2XusnGCzMFnBR6FS590ISMBHBlJJo8eKCo3HOk2c5Shdz5WF3JTniwLHMbp6VA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748284214; c=relaxed/simple; bh=ocL9xN3l5CZIkJMP4iIsK/bvcDmu7NvmAZRKme5JHYE=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=WityYzORCdFDyDMnUmtz1VmYRzCv9elWBSeqCpECM7RpAhWHCBfkCXhG2VuyXmXBrIrdLIVvAnjukvY0/E/zun+JvprrP3yILlmzyY/LH/iiUOnnP1eBVRrc5j2YeVgi4W0P2GRz12l7k4xBH96uuqQc/kRgTmuXW5Lldba4FsQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bWI/QOOu; arc=none smtp.client-ip=209.85.166.45 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bWI/QOOu" Received: by mail-io1-f45.google.com with SMTP id ca18e2360f4ac-864a071b44bso41583439f.3 for ; Mon, 26 May 2025 11:30:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748284211; x=1748889011; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=QlxuW8EiAaobylr07WlFl9Wc9Vavh5mNNDPDEO1zHCA=; b=bWI/QOOu9SZHNgqu0VhVCpTONJN9SSw6NCNT5PRImINUTIoEonVgF7esuTTwkjkrzz zJvPIi7KGKC9SmrXa4xFyiLFBeCpqkhu2WOFOJajL5TXPk8zgnc+GowXapnBWveTD3d+ pxDYlMS6GZMcxAIeaAF0U06C+mQY6NRXvIeTf7CrjbJ9ibC7qFXH9TIaSr7GmP2p8gq8 JR1hJB+P1cOVG7BLWFpKk17zftsnmJWuRfHLPxmYDGdRcwHvjsc40MHZU5huvJ4qeDry Gma7Orv6kbfbBCbhnr4q956Wr/9ohs0SlUVBoFctKzFpywiv1MYkIQdn9MHEjFeOJHuG i7DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748284211; x=1748889011; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=QlxuW8EiAaobylr07WlFl9Wc9Vavh5mNNDPDEO1zHCA=; b=MJhMvG/Q1INl9W6kjrDc+xavZPKlJ19p9RzkK4popybemFMToQyuuJY41Yi+QpqC+F 7oJ7T52H9Kfwk/TVKVTjoQw5Fy5bAAO82kohXK5nO9fJWn38/32zv4rroqHRK7LsYj3j Ut3JBId1V7bJ46rYYc9CF6C8BNwH84PULj8QNw8k5iYi84BpZSd/RaWzGllly5i5hUm4 sDi3oil3GV6ZK1xja+J8vSkYyi36bDLE0sO50wQGMsjkHqji04F5/lartw7SLIxNomi7 wjEBUVT2v2lcDnsqUctfUv1CSS1PGWn+0/ovThZtiuiHWw/6FjEzYUKb3VuEWbc+Phg8 yitA== X-Gm-Message-State: AOJu0Ywau8GnnKTRhw4tYzanKBA4pX2m/L/kp1QfeZmjY/mDWCxrp6Ez rL7tn3YabOaeDWcTXVFMLyGkOvHA1VyRx1oFjwWM4FxFzxKTJ606nnpD X-Gm-Gg: ASbGncuPoRyAtqipnt7JJNul/1gF8vwr4AGjtu+e0/+w1NK1iu+52dsg2BPArzZMJ5r CQz3ja8GuhrQsQwZJG07QQkFFfWM9frYJD67Cs7xO0dwRf7HRNM6gISit2+bwIC2S2TSlkFauL9 oT1UyDuP5Lnwli84dQRXLx0Plxz1sXFVluM9y1isAnSGH1f6vVD71iS19ECF8JXpTNOhQwNAX74 PdD+m3sqfvWX8vomotVa9dKcHpED9ee0Qc7c63jgqUeWwDMJqa+EONkM82rtDM0cCqTa7nEbQtt zqduN6nkl4yIGfTwlSRnj7UEKCh4Gv2P6vfn+8dtSKtyExmWunizpXpI/d+6yTj7Rp+L9jbsFHt 1famYlg6NgzPbl8Q59OypYuM39iPMeQ== X-Google-Smtp-Source: AGHT+IF1vt1ugwCJCcgD8FLb9pLv6neLoJcOaXY12NIdGkKI+c6RUDeQIjiCz+L7fEf4ThkwNMlUxA== X-Received: by 2002:a05:6602:474b:b0:864:48ec:c312 with SMTP id ca18e2360f4ac-86cbb7b86c3mr1087224339f.3.1748284211399; Mon, 26 May 2025 11:30:11 -0700 (PDT) Received: from james-x399.localdomain (97-118-146-220.hlrn.qwest.net. [97.118.146.220]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-86a235bff69sm477028639f.8.2025.05.26.11.30.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 May 2025 11:30:10 -0700 (PDT) From: James Hilliard To: netdev@vger.kernel.org Cc: linux-sunxi@lists.linux.dev, James Hilliard , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Russell King , "Russell King (Oracle)" , Furong Xu <0x1207@gmail.com>, Kunihiko Hayashi , linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 1/3] net: stmmac: allow drivers to explicitly select PHY device Date: Mon, 26 May 2025 12:29:34 -0600 Message-Id: <20250526182939.2593553-1-james.hilliard1@gmail.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Status: O Some devices like the Allwinner H616 need the ability to select a phy in cases where multiple PHY's may be present in a device tree due to needing the ability to support multiple SoC variants with runtime PHY selection. Signed-off-by: James Hilliard --- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 59d07d0d3369..949c4a8a1456 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -1210,17 +1210,25 @@ static int stmmac_init_phy(struct net_device *dev) */ if (!phy_fwnode || IS_ERR(phy_fwnode)) { int addr = priv->plat->phy_addr; - struct phy_device *phydev; + struct phy_device *phydev = NULL; - if (addr < 0) { - netdev_err(priv->dev, "no phy found\n"); - return -ENODEV; + if (priv->plat->phy_node) { + phy_fwnode = of_fwnode_handle(priv->plat->phy_node); + phydev = fwnode_phy_find_device(phy_fwnode); + fwnode_handle_put(phy_fwnode); } - phydev = mdiobus_get_phy(priv->mii, addr); if (!phydev) { - netdev_err(priv->dev, "no phy at addr %d\n", addr); - return -ENODEV; + if (addr < 0) { + netdev_err(priv->dev, "no phy found\n"); + return -ENODEV; + } + + phydev = mdiobus_get_phy(priv->mii, addr); + if (!phydev) { + netdev_err(priv->dev, "no phy at addr %d\n", addr); + return -ENODEV; + } } ret = phylink_connect_phy(priv->phylink, phydev); From patchwork Mon May 26 18:29:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Hilliard X-Patchwork-Id: 1654 Received: from mail-io1-f49.google.com (mail-io1-f49.google.com [209.85.166.49]) (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 7FAD82405ED for ; Mon, 26 May 2025 18:30:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748284217; cv=none; b=fSnTGXR81NjrYcz1w59wkzEUE/7Xt3UDpQxyJwtzITSFEmcRri8va85Xg/9lED0+59JZ8xVFBQJtiF/7CGZj/BowBHmC3AIH4CXHrAUMf2WO2ypRQOSg0CIXzCtLLMe0S7TgYBHjmJ42aZJ/wGvADrHdvbBa9wu8mj/qXqV/MEI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748284217; c=relaxed/simple; bh=n9lLa9aOW+o9DIrjLgE71KlJZvLdzhrLz9GSBZNuZrQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=p7m+3vWztxstQYbFK9oZm+glzYfFxNpihyYLG6byNlD3sZ88sugKhScXOZ7hgwUQKcq+C5q4CkF977tR6wOUOyWsbGuhzd4OhSZnv3ZYPHIIdfoPATUZvXKOFbX+EH3mNyZU5fJAT1gWMeV4RuzdSgMlWIb4N+FNOSz4nQ0qH/Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=cwyN5UES; arc=none smtp.client-ip=209.85.166.49 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="cwyN5UES" Received: by mail-io1-f49.google.com with SMTP id ca18e2360f4ac-85b3f92c8dfso68974639f.2 for ; Mon, 26 May 2025 11:30:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748284214; x=1748889014; darn=lists.linux.dev; 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=95DMf2o/6QqJigi08+dNX9nTEaleJKhH1r+O8T2YuA4=; b=cwyN5UESiL3P/hX2KzocxQdSMgypCSfPTtsKe4EpuEkE/Y6T9y8WvfvpOvT5gkgmsH Zqj4foDG28Fka+6CJtzzQh4rTNeJvvkEPPLrWnBb0BfQQYqkOaa3ITccHP5vS2k0CJjQ paMZggJbb2L6NYOog3W+9vIro36zx5tDdspd2QPvmvUhSFyUFbPZdpcLBzXswXpmVtmX k7cQkzLigDr7Ch0lHhNk+pjfqkun4/FZqJ5NyFElhmSpy6NvMMXc1T+ti5bN1Mqbi7L1 KVXrK1VtOdasJEkHVopgkntIFB3ARoi2tu4zkFDlKbrCQkXR/xoa+VsRZeqCYu2fHrg2 MWgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748284214; x=1748889014; 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=95DMf2o/6QqJigi08+dNX9nTEaleJKhH1r+O8T2YuA4=; b=pc16zz9pZK2wMyczOELwHEADW9UBpfhyA7CWM63TFme+F9btCT9PCcJ/NQpvbT9XeI utjhS7xtRcjJ9YvhJfcFpKLLVdbVFdrZZAZfbj36E8Gp0nsFhTq9iunchy0ZmYkWgNvr VxP85vlxHTmbbCS9VLgw+3q/SelMTw3yUm+xioChhiYaw960vVj/fnYns8UTVt6XiSFG AB2x6ckb1JfXS80QXdtbgqN5jc8tYk/ALCk5U9Zc+qtWZcUr1NAKkXJMzeua3f2PHgrq QSaKDQDyzHqr4+HnmEfx4jY38S6KcTfpJ4GxXAqxAQLxNPOTFMpNJgeY4pag8PFGh+O1 gZ7w== X-Gm-Message-State: AOJu0YzwCS1IBWf9jNFl0Vr3ohjt4731pMuAOZBFy+jP+b7zbw8eWzl/ kxD/REEQghGvaPJK7aZRAOY4ZjadRxvfB0LOpBkZxmksLP17HsLubK8Q X-Gm-Gg: ASbGnctTFo8LM3+srXEB1DioLWRhWnH4HPOwuGL8zreHCX9UCc+PiPzEHUOSNk0Q9zh ut0xwIlsKdLwkWUg54e1ngpHO7l5BZUa+GSmjScBltbdvS4DSBeO7kQ46mU2ZB8pqfpSR10uFta uC8VD8v84iDgt9vD100FYvQnVNnIHF9uN/RBa/amlAYUIQEZZRKH0FbZK7e1DilOhRNvi6DKvFI B0sQSFfZgJUmPbsDhtxJHLwBnWoTQlQ5ElFfjSVmZ4a8j1e8A494tzZdz2Kr3k6KE4uTBjT0ZKR vkunDNX0ywzDTeu+9MnJHZterlWUH6j7yvZMhSWUP3z04629O9OvNWKANCnM1X9O31I62SMLg+9 WfD8H7X0cyJxVjKjsuGB1Z3hnl5Ds2w== X-Google-Smtp-Source: AGHT+IFDdvdL5g5ovSs/1gRBNnLk8GUjN90DAUSZdCdx+omEcVNlJWEAmQHeKYZ7rWqPkDPPkFePrg== X-Received: by 2002:a05:6602:750c:b0:867:6680:cfd with SMTP id ca18e2360f4ac-86cbb7b82a4mr997010839f.1.1748284214365; Mon, 26 May 2025 11:30:14 -0700 (PDT) Received: from james-x399.localdomain (97-118-146-220.hlrn.qwest.net. [97.118.146.220]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-86a235bff69sm477028639f.8.2025.05.26.11.30.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 May 2025 11:30:13 -0700 (PDT) From: James Hilliard To: netdev@vger.kernel.org Cc: linux-sunxi@lists.linux.dev, James Hilliard , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Maxime Coquelin , Alexandre Torgue , Serge Semin , Feiyang Chen , Yanteng Si , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Jinjie Ruan , Paul Kocialkowski , "Russell King (Oracle)" , linux-arm-kernel@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, linux-kernel@vger.kernel.org Subject: [PATCH v1 2/3] net: stmmac: dwmac-sun8i: Allow runtime AC200/AC300 phy selection Date: Mon, 26 May 2025 12:29:35 -0600 Message-Id: <20250526182939.2593553-2-james.hilliard1@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250526182939.2593553-1-james.hilliard1@gmail.com> References: <20250526182939.2593553-1-james.hilliard1@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Status: O The Allwinner H616 ships with two different on-die phy variants, in order to determine the phy being used we need to read an efuse and then select the appropriate PHY based on the AC300 bit. By defining an emac node without a phy-handle we can override the default PHY selection logic in stmmac by passing a specific phy_node selected based on the ac200 and ac300 names in a phys list. This allows us to have a device tree that defines both PHY variants even though only one will actually end up being used at runtime based on the ac300 nvmem efuse bit. Signed-off-by: James Hilliard --- .../net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c index 6c7e8655a7eb..50d37876fabf 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -280,6 +281,8 @@ static const struct emac_variant emac_variant_h6 = { #define SYSCON_ETCS_EXT_GMII 0x1 #define SYSCON_ETCS_INT_GMII 0x2 +#define AC300_KEY BIT(8) /* 1: AC300 PHY, 0: AC200 PHY */ + /* sun8i_dwmac_dma_reset() - reset the EMAC * Called from stmmac via stmmac_dma_ops->reset */ @@ -1149,6 +1152,35 @@ static struct regmap *sun8i_dwmac_get_syscon_from_dev(struct device_node *node) return regmap; } +/* H616 SoCs can contain either an AC200 PHY (needs i2c init) or an AC300 + * PHY (no i2c). The silicon variant is flagged by the AC300_KEY efuse. + */ +static int sun8i_dwmac_get_ac300_phy(struct device *dev, + struct plat_stmmacenet_data *plat_dat) +{ + u16 val; + + /* If the nvmem cell is absent, use normal phy selection. */ + if (nvmem_cell_read_u16(dev, "ac300", &val)) + return 0; + + const char *phy_name = (val & AC300_KEY) ? "ac300" : "ac200"; + int index = of_property_match_string(dev->of_node, "phy-names", + phy_name); + if (index < 0) { + dev_err(dev, "PHY name not found in device tree\n"); + return -EINVAL; + } + + plat_dat->phy_node = of_parse_phandle(dev->of_node, "phys", index); + if (!plat_dat->phy_node) { + dev_err(dev, "Failed to get PHY node from phys property\n"); + return -EINVAL; + } + + return 0; +} + static int sun8i_dwmac_probe(struct platform_device *pdev) { struct plat_stmmacenet_data *plat_dat; @@ -1222,6 +1254,10 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) if (IS_ERR(plat_dat)) return PTR_ERR(plat_dat); + ret = sun8i_dwmac_get_ac300_phy(dev, plat_dat); + if (ret) + return ret; + /* platform data specifying hardware features and callbacks. * hardware features were copied from Allwinner drivers. */ From patchwork Mon May 26 18:29:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Hilliard X-Patchwork-Id: 1653 Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.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 D1BF3241116 for ; Mon, 26 May 2025 18:30:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748284218; cv=none; b=SLzzmpF2WABA/cyfYIQb57AsLzRW4WyCBeNmjv1a+0X/vbIwn3sK3LgAisEXPp23Oaosuh81E3NlN3v51SVMN6BJZc0OwkCkiXVAWTWB7TQ9DNJhUMQEopuBh1YarlJHKNRNWUBnyEy0uzDaIMMqMTIme83onu1nGrXpwuvin+U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748284218; c=relaxed/simple; bh=Xp7PQEwsXr/t3weISbAl8pNnnIKTP2opDnVGAv6TSHg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=XrWySvY5YwFPBMNz+0ri6Z0UoghjQSWKEO/onvRDE6jzXU3nfczDox0LPo42K3/Y0aK3YaewlrBnFN4rgq+VNOJzmPkZCV3QiNeD/Kanb2pZxQXdChmPqDL1QTFj7aQswd+kwMeOuHhHi7SD44Mz8ZudMiV5p1tOmj/gCIWBdAo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=SHobQ28X; arc=none smtp.client-ip=209.85.166.41 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SHobQ28X" Received: by mail-io1-f41.google.com with SMTP id ca18e2360f4ac-85b3f92c8f8so250794939f.1 for ; Mon, 26 May 2025 11:30:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748284216; x=1748889016; darn=lists.linux.dev; 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=ULjqis0u87KSpipZTk1NBKJD257/ZcSGIbJ8awB7PCg=; b=SHobQ28Xu3LnX6LW7qFZVBgbuLVd7er28k4JABcdptRGjS/+3VvmdN3RM911aZtlFB OeJ6ruG/MDdBsK/qI1DpfmdM/fomtyTEE12/vHrczS4FAsEeQ1J5k7d1VnrV+nFpjJE7 UqVe+gDSzsBlyuf5YUUis7w1dTHHmA39WN5x6MAxP9juIIAK7kIvdkuszIc0KQb82+S4 ryczdlQvFy7NV0kdVfBq/gB1DiGhKjejFMoxkp6bw9jsDRdKIfytSQvTWYEkEk12rT0w H1Bt12TBoT8gbBX2uNQowsCcThBiQTNVAyR5xttvu3GfjgIl64OIOPy/DQkNpd/USVny f7oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748284216; x=1748889016; 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=ULjqis0u87KSpipZTk1NBKJD257/ZcSGIbJ8awB7PCg=; b=Z+roehmkWwU/whrcJMtHEPSbNuQEeAhqHEMKg24k0EYw+q0XbeE0GiZYFge762DMm/ CUsnMSzSaadUkQ1RbCddqhRK2Q7mQbBySjoqfGV0S3W+6ITWzuVjjKO80dLOotUYkq3g Ptn6SgjRIJUaSpFGsmUy7cABhOuz+9Jof5CNKqbRtarZuV9o9wLCTrE1g2brFDQDTmVj KLn2Vpt2Az6T2ZKjZfUlICBmIznWnvB+hHqrZAnTUSuPkhz/KlUGngWn6Fy63/WdWh1B zUukf+9IPWUOiC2L5dh+ggX41u9F8TU2nMmmWo5lHtl2EkrhTuklTOTygL2pEFdq+XDO lN8g== X-Gm-Message-State: AOJu0Yz4HiWhnhHTjT39q6FmM/0G8XqGTt8DltxVPx4R0fYqIFvaDact I2VNKssSjrQQfq5uBHLfvvYYzacgNGoQig2NBxvEZN/kiOE6xqz9YD45 X-Gm-Gg: ASbGncub1tUycO1cHd7kVy5z0yjnt4v6aGgqxThuWPkGOrRzmPolKqsjZe1DzRjpHeu IVNCptGVN9jlXgxN6VNYZ3pxu8RHrw5a9/wJ9kZHAixmOKN5tldH/qp0//Nkb+swvNxLPWsb+75 m695S5SlqmhFGCoOd7efcoZ0E1lnVVdZcqwbZNSt/dGWmJUoZLsbpDu0NdFY+lDcJJGAjUlXc99 SS5wW46iRl16vFq5wQAo1EHHoX5bM+AAu3dqCcG6GBKf+ZDrGsnFjDapZlCd8KZrwd5t+O+GuIs 40ncRApAYKa82YLNhJpJvaSdqJtXwFF/HZ7K/Ncbz+KD9AvXIKkJZl6wzkmDcd937IEfXrYIeFD V46JVPct1Od9Hen43rmxuEdnHmzq1Zw== X-Google-Smtp-Source: AGHT+IHNnI4y1dgkj56msBwfJyexQj/NA4bKNpsudos+JvpD2sSrSNG4qTOxJTKBL54sr41hgUQMyw== X-Received: by 2002:a05:6602:4a0d:b0:86a:25d5:2dbe with SMTP id ca18e2360f4ac-86cbb7dcffamr1231342039f.4.1748284215957; Mon, 26 May 2025 11:30:15 -0700 (PDT) Received: from james-x399.localdomain (97-118-146-220.hlrn.qwest.net. [97.118.146.220]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-86a235bff69sm477028639f.8.2025.05.26.11.30.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 May 2025 11:30:15 -0700 (PDT) From: James Hilliard To: netdev@vger.kernel.org Cc: linux-sunxi@lists.linux.dev, James Hilliard , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Maxime Ripard , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 3/3] dt-bindings: net: sun8i-emac: Add AC300 EMAC1 nvmem phy selection Date: Mon, 26 May 2025 12:29:36 -0600 Message-Id: <20250526182939.2593553-3-james.hilliard1@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250526182939.2593553-1-james.hilliard1@gmail.com> References: <20250526182939.2593553-1-james.hilliard1@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Status: O The Allwinner H616 EMAC1 can be connected to an on-die AC200 or AC300 PHY depending upon the silicon variant. Add a new allwinner,sun50i-h616-emac1 compatible and example, support for the allwinner,sun50i-h616-emac1 will be added later on. Add nvmem-cells and nvmem-cell-names properties for the ac300 efuse based phy selection. Signed-off-by: James Hilliard --- .../net/allwinner,sun8i-a83t-emac.yaml | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml index 7fe0352dff0f..b6bf1718dba1 100644 --- a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml +++ b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml @@ -18,6 +18,7 @@ properties: - const: allwinner,sun8i-r40-gmac - const: allwinner,sun8i-v3s-emac - const: allwinner,sun50i-a64-emac + - const: allwinner,sun50i-h616-emac1 - items: - enum: - allwinner,sun20i-d1-emac @@ -28,6 +29,14 @@ properties: reg: maxItems: 1 + nvmem-cells: + maxItems: 1 + description: NVMEM cell with the ac300 efuse. + + nvmem-cell-names: + items: + - const: ac300 + interrupts: maxItems: 1 @@ -321,4 +330,37 @@ examples: }; }; + - | + ethernet@5030000 { + compatible = "allwinner,sun50i-h616-emac1"; + reg = <0x05030000 0x10000>; + interrupts = ; + interrupt-names = "macirq"; + resets = <&ccu RST_BUS_EMAC1>; + reset-names = "stmmaceth"; + clocks = <&ccu CLK_BUS_EMAC1>; + clock-names = "stmmaceth"; + phys = <&ac200_rmii_phy>, <&ac300_rmii_phy>; + phy-names = "ac200", "ac300"; + phy-mode = "rgmii"; + nvmem-cells = <&ephy_acx00>; + nvmem-cell-names = "ac300"; + + mdio { + compatible = "snps,dwmac-mdio"; + #address-cells = <1>; + #size-cells = <0>; + + ac300_rmii_phy: ac300-ethernet-phy@0 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0>; + }; + + ac200_rmii_phy: ac200-ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; + }; + }; + ...