From nobody Mon Feb 9 03:29:45 2026 Received: from mail.savoirfairelinux.com (mail.savoirfairelinux.com [208.88.110.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A1F327510B; Wed, 7 Jan 2026 22:29:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=208.88.110.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767824978; cv=none; b=u3htA8w+yny1CnnTZhddQfl5tgB2OSet6coYkkCWHebSDrYQhga7lWFUpj8EF6AEBCvVIavDP5LRRVhLDvWBOEFy1XIZkXghPBP6P9JfjFhiawbxFsw6XxYiQ/pGx0urXIlWv+/DKOcpV7lluf6b9a57MnZ5L92HmTwhXxijE1A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767824978; c=relaxed/simple; bh=PpRMIVVGL+LKNB6DZ4hfIdnkbdC7KPjjimbm0u5I2co=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rVE3f4y7aqbOZ3+NiAQOqjrmddW8eXJ7g58mGgYGOAOT1M0xCwC92OQQgz066r2x8nbw3nwKb+tD/KWGi5nN73xivVsYL9qd/eP6pOWxp5Lgu0wRs9lLBjS2UGgoC1DsV3zxx61p4SOIh8g2WRxgEoSKf7YntrvYAsznnaL3rj4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=savoirfairelinux.com; spf=pass smtp.mailfrom=savoirfairelinux.com; dkim=pass (2048-bit key) header.d=savoirfairelinux.com header.i=@savoirfairelinux.com header.b=JGsvQm9X; arc=none smtp.client-ip=208.88.110.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=savoirfairelinux.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=savoirfairelinux.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=savoirfairelinux.com header.i=@savoirfairelinux.com header.b="JGsvQm9X" Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 4CC723D8517C; Wed, 7 Jan 2026 17:19:52 -0500 (EST) Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10032) with ESMTP id 6es2FM1r3awo; Wed, 7 Jan 2026 17:19:51 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 813643D85335; Wed, 7 Jan 2026 17:19:51 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.savoirfairelinux.com 813643D85335 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=savoirfairelinux.com; s=DFC430D2-D198-11EC-948E-34200CB392D2; t=1767824391; bh=tpkOvFCXO7k+g2tJHJOPhaQQWMmDAm5QGPGlvIH/qrE=; h=From:To:Date:Message-ID:MIME-Version; b=JGsvQm9XV1AMxAyEesFD019gbXAovb/dNemZh9Y5WSEPw95DwBj7BVLOlquE+639q y8bgrLMIk9VqZvoY9bDtQoYaOMQ6+FhyDIB46Gj6orY5Qli/M4Ht2ZP0XuCB1U2kWK UmTVROstahwk8AiXWpDh/N8vvUVk7DRp5q24IkyhGzadlAeRiQtXAqFtuzseer3XQ1 P8yKbZIfzJpTyZjEa5QLGPJGX2uhdVUE5jE5d2L9YBssC8qrS1CqpcwJYAecPJQpW+ tEfrGpfTy+Yl7o+PcKbuzuaY8GU4dEEN/gX+azBiq4lgynj9O2YozEz5T7vVoxtuc/ JzJYB9ziE6gig== X-Virus-Scanned: amavis at mail.savoirfairelinux.com Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10026) with ESMTP id Ihano5PtzQiT; Wed, 7 Jan 2026 17:19:51 -0500 (EST) Received: from oitua-pc.mtl.sfl (unknown [192.168.51.254]) by mail.savoirfairelinux.com (Postfix) with ESMTPSA id 5977B3D8517C; Wed, 7 Jan 2026 17:19:51 -0500 (EST) From: Osose Itua To: netdev@vger.kernel.org Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, michael.hennerich@analog.com, jerome.oufella@savoirfairelinux.com, Osose Itua Subject: [PATCH v3 1/2] dt-bindings: net: adi,adin: document LP Termination property Date: Wed, 7 Jan 2026 17:16:52 -0500 Message-ID: <20260107221913.1334157-2-osose.itua@savoirfairelinux.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260107221913.1334157-1-osose.itua@savoirfairelinux.com> References: <20260107221913.1334157-1-osose.itua@savoirfairelinux.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add "adi,low-cmode-impedance" boolean property which, when present, configures the PHY for the lowest common-mode impedance on the receive pair for 100BASE-TX operation by clearing the B_100_ZPTM_EN_DIMRX bit. This is suited for capacitive coupled applications and other applications where there may be a path for high common-mode noise to reach the PHY. If this value is not present, the value of the bit by default is 1, which is normal termination (zero-power termination) mode. Signed-off-by: Osose Itua Acked-by: Nuno S=C3=A1 Acked-by: Rob Herring (Arm) --- .../devicetree/bindings/net/adi,adin.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Documentation/devicetree/bindings/net/adi,adin.yaml b/Document= ation/devicetree/bindings/net/adi,adin.yaml index c425a9f1886d..f594055c2b15 100644 --- a/Documentation/devicetree/bindings/net/adi,adin.yaml +++ b/Documentation/devicetree/bindings/net/adi,adin.yaml @@ -52,6 +52,20 @@ properties: description: Enable 25MHz reference clock output on CLK25_REF pin. type: boolean =20 + adi,low-cmode-impedance: + description: | + Configure PHY for the lowest common-mode impedance on the receive pa= ir + for 100BASE-TX. This is suited for capacitive coupled applications a= nd + other applications where there may be a path for high common-mode no= ise + to reach the PHY. + If not present, by default the PHY is configured for normal terminat= ion + (zero-power termination) mode. + + Note: There is a trade-off of 12 mW increased power consumption with + the lowest common-mode impedance setting, but in all cases the + differential impedance is 100 ohms. + type: boolean + unevaluatedProperties: false =20 examples: From nobody Mon Feb 9 03:29:45 2026 Received: from mail.savoirfairelinux.com (mail.savoirfairelinux.com [208.88.110.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A19323373D; Wed, 7 Jan 2026 22:29:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=208.88.110.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767824977; cv=none; b=uzg1eYXV/8npH4RuYaSAwGQIF1LEaltBnBf7Yc2s4d8ot/+LW9ygS0xfZx3pDCbXzTHp3LE4ruwDnuoRCa2iB0T2Q7kOu4WbHCLRLgqyuXzWtrhQAHnwdCV44gthUVIZXDd9o0vh3WDsMZM7sC1EYzOUA+OC6V9loa/1m8zitcU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767824977; c=relaxed/simple; bh=v7cguJJjw8kGDKhzeGobXtNltPLb8EIGsm0DDBWtMq4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=iRlBgJUoVwkAw6aJrQwBdxVAItlY8+x0t0uXq06TOQ/ZKvyshgY/sDASSYCONLBdxbadVcicV8fmOZSygimvY7/BgWrk2oGGyhJ5J6SM6oxhNVegetk3F33FRpjRUCZooimTWmH2PKc3LATP14gzcg6xh58oK8nFp1AezqBkVUQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=savoirfairelinux.com; spf=pass smtp.mailfrom=savoirfairelinux.com; dkim=pass (2048-bit key) header.d=savoirfairelinux.com header.i=@savoirfairelinux.com header.b=QxArX4nl; arc=none smtp.client-ip=208.88.110.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=savoirfairelinux.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=savoirfairelinux.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=savoirfairelinux.com header.i=@savoirfairelinux.com header.b="QxArX4nl" Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id F2FAB3D85335; Wed, 7 Jan 2026 17:19:54 -0500 (EST) Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10032) with ESMTP id CKMmVaTAb4lg; Wed, 7 Jan 2026 17:19:54 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 257AE3D853F3; Wed, 7 Jan 2026 17:19:54 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.savoirfairelinux.com 257AE3D853F3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=savoirfairelinux.com; s=DFC430D2-D198-11EC-948E-34200CB392D2; t=1767824394; bh=2JLgAqk//SWAkx4RNqA4BsihOspg9ahHxm+FH9xgCIk=; h=From:To:Date:Message-ID:MIME-Version; b=QxArX4nlJB8AklH9d1233lX8yZIO+rdW05O7GTNo3wNKVhNpI9zPQThAAXqvMlFzS JLBT0T8W9MZ82al6AbkVy85OQepXRpTYf1sfhhyAvCIfUxBSMmnURA22xTiSFu4oKC obS9tVVuiZ8SWvzn7acKy3NW7l9Uuu22IVJ188HiraN5i6hBamt70c1qu+a0uZAvte GTDaG8mwPNC1RR9DZgHxsjN+TOtmCwwOagcPLfbZ8hSEx8jiYuZmpCjewMNoUTRO4r WD8RsMa65evxG/k8UnGVSbEBYlIEa7KOmO0mGV1jHpViGQ5Xghl08ISwUtvzuR/v31 drbJkKBkdQLEQ== X-Virus-Scanned: amavis at mail.savoirfairelinux.com Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavis, port 10026) with ESMTP id EYAUcBo9IFQV; Wed, 7 Jan 2026 17:19:54 -0500 (EST) Received: from oitua-pc.mtl.sfl (unknown [192.168.51.254]) by mail.savoirfairelinux.com (Postfix) with ESMTPSA id 0292F3D85335; Wed, 7 Jan 2026 17:19:54 -0500 (EST) From: Osose Itua To: netdev@vger.kernel.org Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, michael.hennerich@analog.com, jerome.oufella@savoirfairelinux.com, Osose Itua Subject: [PATCH v3 2/2] net: phy: adin: enable configuration of the LP Termination Register Date: Wed, 7 Jan 2026 17:16:53 -0500 Message-ID: <20260107221913.1334157-3-osose.itua@savoirfairelinux.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260107221913.1334157-1-osose.itua@savoirfairelinux.com> References: <20260107221913.1334157-1-osose.itua@savoirfairelinux.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The ADIN1200/ADIN1300 provide a control bit that selects between normal receive termination and the lowest common mode impedance for 100BASE-TX operation. This behavior is controlled through the Low Power Termination register (B_100_ZPTM_EN_DIMRX). Bit 0 of this register enables normal termination when set (this is the default), and selects the lowest common mode impedance when cleared. Signed-off-by: Osose Itua Acked-by: Nuno S=C3=A1 --- drivers/net/phy/adin.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/adin.c index 7fa713ca8d45..3a934051b574 100644 --- a/drivers/net/phy/adin.c +++ b/drivers/net/phy/adin.c @@ -89,6 +89,9 @@ #define ADIN1300_CLOCK_STOP_REG 0x9400 #define ADIN1300_LPI_WAKE_ERR_CNT_REG 0xa000 =20 +#define ADIN1300_B_100_ZPTM_DIMRX 0xB685 +#define ADIN1300_B_100_ZPTM_EN_DIMRX BIT(0) + #define ADIN1300_CDIAG_RUN 0xba1b #define ADIN1300_CDIAG_RUN_EN BIT(0) =20 @@ -522,6 +525,19 @@ static int adin_config_clk_out(struct phy_device *phyd= ev) ADIN1300_GE_CLK_CFG_MASK, sel); } =20 +static int adin_config_zptm100(struct phy_device *phydev) +{ + struct device *dev =3D &phydev->mdio.dev; + + if (!(device_property_read_bool(dev, "adi,low-cmode-impedance"))) + return 0; + + /* clear bit 0 to configure for lowest common-mode impedance */ + return phy_clear_bits_mmd(phydev, MDIO_MMD_VEND1, + ADIN1300_B_100_ZPTM_DIMRX, + ADIN1300_B_100_ZPTM_EN_DIMRX); +} + static int adin_config_init(struct phy_device *phydev) { int rc; @@ -548,6 +564,10 @@ static int adin_config_init(struct phy_device *phydev) if (rc < 0) return rc; =20 + rc =3D adin_config_zptm100(phydev); + if (rc < 0) + return rc; + phydev_dbg(phydev, "PHY is using mode '%s'\n", phy_modes(phydev->interface)); =20