From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) (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 C0C853D1ABD for ; Fri, 15 May 2026 11:51:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778845862; cv=none; b=gzsoK+T41Ou6O2OJx9iU9iBpkhgVuvK/vinktEM2WZZwyVCVtYJK+3ZUSR6tCuimOrEEHFKNoAbsJMYb4aXbyn+nO88GK3XJXsRH+uu7ZsfXOmUXVsuyDahqeINUSPdOdPTYo+jdr6LowxQT1t2dSEE8lFWpy6LcAwni+fZz63U= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778845862; c=relaxed/simple; bh=zgdW6+r+x1rBS1+WVhWuLw6rj90vBCLZ2HVd/YgdLbE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KdBgI+urRBkgmdKW2BeSQDB3TBE9TajJnVBTVbnc2F2T6Sr6qxqb59Fe2Q51ytfInT5GvR3vku901uvMIvCN9yaQdO9x5E8emfD6GPYKhu9lTy7EsgGBRUxWgO7NZ0KAdnqWAIrKPhbFR4yRFepYBsCRcnJS9QZfsys4hc+fNxM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sartura.hr; spf=pass smtp.mailfrom=sartura.hr; dkim=pass (2048-bit key) header.d=sartura.hr header.i=@sartura.hr header.b=zl/Q4W04; arc=none smtp.client-ip=209.85.167.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sartura.hr Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sartura.hr Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sartura.hr header.i=@sartura.hr header.b="zl/Q4W04" Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-5aa0862dda1so2245653e87.1 for ; Fri, 15 May 2026 04:51:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sartura.hr; s=sartura; t=1778845859; x=1779450659; 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=rCJHKBX1/2/0XhVxv+J3PvII+iORt4DXAiiPbyzOSnM=; b=zl/Q4W04j1/UkkcrkxdxzzSB8aX9a8qKDWaYumJ3CXiUoHHOfihCEARVUMrjr0gBPZ M0EnG8jPYLAASuRN9R9wrICcxJlVcKhkQiLufcoZDlEtOl0LyIl3+mnLCl10kIDoBHtr c2Rcq9aCq17t9gXHuiI510xuExXgmPn8TYCCkY1p+n8mGE9c7YKBgvLrDngMH75zuiwc NUbjhBhP5xLqM3abw+8g1NMU4aAdWLLR9ggGkT5kK0IZ5nij4o3q5Rg7P5EsdG8FWim6 Wcs/nX+9Sn5+dOZwFAtAVjJ2u+PlO9z1kZmUJtrlHTEY5gQkydg1Kj9wSmjZWIQmLcUo I2lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778845859; x=1779450659; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=rCJHKBX1/2/0XhVxv+J3PvII+iORt4DXAiiPbyzOSnM=; b=LYcmUsyKzg7xNlSk0oJ0xWdLgkVcUbDIg2GKh6vaLjxFzL7vC7eg4BaHbeB+0kVX52 r+pVJMFSqmFYYej4DZxm3V2p5+kXneeBDzaJ3BBVEgU8r9gcFzP+SgVbCPEOXJhy7arz c8x2neCVw90o7of1HTo3A/RnBTaB5ld/u08ZApBvOdu9ZeMpYAsONyLnw/RvCwxWQsjf hrM0UmXjuEJTWRTl4gOtPk52OqI6sEDGGmtv2UBuui2bYzLVhtJqKk2ab3eDWD5ZUqfA p3EM2pX7M6JaFuA8I9QUXhADnYNr/oJuyP9km6VRKFg+oUCcw1R4PMVxZSaNwgTy6w5z 4NAA== X-Forwarded-Encrypted: i=1; AFNElJ9FJizgHwAzJlgqOWrCgP5WKKzUyM/x14YIrJo1lNrCNQYfMZBUZGI4vk1Gd55ZkZSM2WLdYGkNsTgeKWI=@vger.kernel.org X-Gm-Message-State: AOJu0YylYKpnidUUdWvnC8UfjYUfndHwK6alGlP7vSRMqwvI5/kY0dl7 XhCRrl8f/JhEfGGKaMMH7ab+5gFXuxjsOfdf41Mdolm4HPsjjK97dm3RDzf916lmaI9mdGeAOmH hSAeO8hs= X-Gm-Gg: Acq92OHFvQgqq26erOKSrSzzoCl5oV4d550M5yNrF/jEc3WBcZYsxZ2Ojrw12mGAOPl 3z3iYBlPcJ/gXP7gGO3YG2YxJv3TXMUyP8/0lvh2BgwfiU6omS3KTEmyyYZm/HT6t887oADkIMA WbdyH7izaKZPd++yee4v9cMMBthqBejexFiWNq8S/XJUQywz5P/59ep4NHaBy18OG8ii0swZ0kt RFYo8G5/jReeRJKNC1EGUh+wzTc9E6DBaAwE5udEoYq/VvVvrq7YQXTDQakdrD9opCA/fQQPpit EdzY+9N6HLOe+F2LO+HL+AtYp1M9cgSrwmp9vQXyDPsVQeLNXO6Hue+DP48ysxGvj7417SgAzFW wjF/DgjVqduhw+pcOSwE1zYJerDGVhULtgsWGmmTCpPDSmjlS4BIPDmOowbkhVZL51LsLvNBp9u LD5u3NHM48YxvxCbWeZbATJs9LfynE4UPY7FdmCv6DIRCFZ35DOJMV4EgVM0mVqVPWR01+GU7AE hieTIukdS8HfjiOE6CbsA== X-Received: by 2002:a05:6512:2393:b0:5a8:9511:b906 with SMTP id 2adb3069b0e04-5aa0e769bc1mr1119872e87.33.1778845859201; Fri, 15 May 2026 04:50:59 -0700 (PDT) Received: from fedora (d-zg2-146.globalnet.hr. [213.149.37.146]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a9164bc0ccsm1278617e87.41.2026.05.15.04.50.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 04:50:58 -0700 (PDT) From: Robert Marko X-Google-Original-From: Robert Marko To: o.rempel@pengutronix.de, kory.maincent@bootlin.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: luka.perkov@sartura.hr, Robert Marko Subject: [PATCH net-next v2 2/2] net: pse-pd: pd692x0: support disabling disable ports GPIO Date: Fri, 15 May 2026 13:50:01 +0200 Message-ID: <20260515115050.691119-2-robimarko@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260515115050.691119-1-robimarko@gmail.com> References: <20260515115050.691119-1-robimarko@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 From: Robert Marko Microchip PSE controllers have a dedicated disable ports input that like it name says disables PoE on all ports. So lets support parsing that GPIO and using the GPIO flags to set it to output high by default and enable PoE on all ports during probe. Signed-off-by: Robert Marko --- Changes in v2: * Use GPIOD_OUT_LOW by default so that DTS reflects the real active state drivers/net/pse-pd/pd692x0.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/pse-pd/pd692x0.c b/drivers/net/pse-pd/pd692x0.c index 4a3c852780f5..6c5c5a26bbaa 100644 --- a/drivers/net/pse-pd/pd692x0.c +++ b/drivers/net/pse-pd/pd692x0.c @@ -7,6 +7,7 @@ #include #include +#include #include #include #include @@ -1757,6 +1758,7 @@ static int pd692x0_i2c_probe(struct i2c_client *client) static const char * const regulators[] = { "vdd", "vdda" }; struct pd692x0_msg msg, buf = {0}, zero = {0}; struct device *dev = &client->dev; + struct gpio_desc *disable_ports; struct pd692x0_msg_ver ver; struct pd692x0_priv *priv; struct fw_upload *fwl; @@ -1780,6 +1782,11 @@ static int pd692x0_i2c_probe(struct i2c_client *client) priv->client = client; i2c_set_clientdata(client, priv); + disable_ports = devm_gpiod_get_optional(dev, "disable-ports", GPIOD_OUT_LOW); + if (IS_ERR(disable_ports)) + return dev_err_probe(&client->dev, PTR_ERR(disable_ports), + "Failed to get disable ports GPIO\n"); + ret = i2c_master_recv(client, (u8 *)&buf, sizeof(buf)); if (ret != sizeof(buf)) { dev_err(dev, "Failed to get device status\n"); -- 2.54.0