Received: by 2002:ab2:69cc:0:b0:1f4:be93:e15a with SMTP id n12csp956592lqp; Sun, 14 Apr 2024 07:23:07 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUT41Xb0rlAj/ExNP2JOfx3PuA/qEqXYCQt3O/41xl0OCtLuDI89WiyAN2qHsPt3HcZl9QcU+BZIi34ZReFOcy6j6noaBhthymHaqEdqg== X-Google-Smtp-Source: AGHT+IEC8OhvR7f4koDqF7CfzQ7zY9Gpzx/oUdhICeccwFJWT4zPgLEVgTxxqnFHQ+geXhT9zoQn X-Received: by 2002:a05:6358:420b:b0:17f:729a:8568 with SMTP id t11-20020a056358420b00b0017f729a8568mr11754700rwc.4.1713104586872; Sun, 14 Apr 2024 07:23:06 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713104586; cv=pass; d=google.com; s=arc-20160816; b=z+NuGIsckK2JNd9Zd6SpwcyYB4JkqqzIyV66B38DgQ7hrzVzsArdmAoJ2nesikCApO deQpvpFwguYH5zVTgl7xvjdT4/Cx+/fcjyd6HZd8e5wpRSGz7GFii+u8f4cRAgVyvJ6P zOQc6H0zI7nf+iOjwLe4Or6bl5zdjFNsbdtge5Le7QVEzS7ZWWMOhjLXE7b3/2svJuW1 z4LdzgkSgEHYt8Ocqz3A5P25m9RaRKs3MRkRYZOVdr8VYEGqbqh6plnr21+6pUyWTFs2 q+nmnZ9w0uFY3qlNv9lYjNbMJi3ciXKRfFxLJbhQ0v2VcjH1K1wQThqRSny6VH7V7Zse piXA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:from :dkim-signature; bh=puG7qCewxYRP5/TfV1KNUxB4SH06tAZbDKaCaaaEgbc=; fh=57ylmEJf4L+ab5JW9VDoPKBjQbUSU1WR6XAwF32mgs8=; b=QX8rjD4mRdiQc1iIkZNuE4Da7MtzmwIXS4qTG8R9Rpx9u4hJhzwFUpCCjgBZN/GPUp ybswS1qs5m6eUBUGkro4moarFC1L96azewen7B2tK8GpGNLJjDFlaxZJzHwfTaWzwVhu idRLOBSOs/NDr3FcFj/93YILqP0QHu7BnXbt697CMPjleDpWuPMapnZ8txKEjDIKnEhI O1zJhBsmxSgFsWOSvqgDpFb+gIxiIDC6ZjVRpzW2YzMeUgKmaz7s6cjrdjb9BL8fGrYk N1VdRAdx03wwZLd6TCFy8PRyJcl4vbALuh2DBCRm6dQ8kUmYGy+37xwFNiKKqF6lBMmm c2zQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=hkcxixCS; arc=pass (i=1 spf=pass spfdomain=bootlin.com dkim=pass dkdomain=bootlin.com dmarc=pass fromdomain=bootlin.com); spf=pass (google.com: domain of linux-kernel+bounces-144191-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-144191-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id xx6-20020a05620a5d8600b0078d696334c2si7935910qkn.60.2024.04.14.07.23.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Apr 2024 07:23:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-144191-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=hkcxixCS; arc=pass (i=1 spf=pass spfdomain=bootlin.com dkim=pass dkdomain=bootlin.com dmarc=pass fromdomain=bootlin.com); spf=pass (google.com: domain of linux-kernel+bounces-144191-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-144191-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.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 ny.mirrors.kernel.org (Postfix) with ESMTPS id 41D441C20930 for ; Sun, 14 Apr 2024 14:23:06 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 285EC56B91; Sun, 14 Apr 2024 14:22:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="hkcxixCS" Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) (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 8B8093BB32; Sun, 14 Apr 2024 14:22:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.198 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713104567; cv=none; b=J28WsXCLuE9Ylluol37gT6tFUcD7xjsBw8A4W4R2Sg0K1jpTM213F9Nkjgsdmv8J5TUl9pQ9fR2yO+Hgjwr7TphZmM0pzE+ALPboonrc4TnpTvDJN6JPJkNdAxq86jnzycEK1wkesIwKRZE1jrlJV5V2U9qFTj0EB3pYsD47DPU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713104567; c=relaxed/simple; bh=OC0eQOlJYTa406rkSTZWSGY3VNcYO2xp+pqj8+PIEhU=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=Ac3YsTZiKc/oJQNdgiKv2TZT30z9oxKwjPYSq4U5W9eyNp9OF6kPWv3GskjivPuiOVPTpTv7A2VWSKusFjajMUeWqwZIspiwV3wT2GIcPx4ORGIm5tT58CTlq6wdlcSp/76wYnwwUalfKJ2/kNEED2M99QAsZA1GCCDVMbfS0QM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=hkcxixCS; arc=none smtp.client-ip=217.70.183.198 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 0B48DC0003; Sun, 14 Apr 2024 14:22:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1713104556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=puG7qCewxYRP5/TfV1KNUxB4SH06tAZbDKaCaaaEgbc=; b=hkcxixCSzdCvLknWwHkOK7u2xvFO1PPw85t1AiUE4zjUM7CyjbF7hTXs+ZsfRUbPJGsLTD geRPXz9t3lNpDe4psMRpk1ygXctxmB4UOz1rrvdndkYW0FwrfSFsZSUkYndfAV0ILtF0A3 U0DPWZgvk6osf7S/OXfSaB0Ns0I0sCC9ggEmUVUSNQSJS6zrekiYde6JmnyNGZLXWHWBtc ioWOo0ZfYEzi/WFEH9der/ZpPiPGlJqGaN2JFTvlyIP0QYbYmtxT6Wxms+5RWvi7YrOes2 wzjEdENLbetOOXAn/KxtVsZf03noi/0Z6cyiP1luToW/1skxx2/TFKzYOEULYg== From: Kory Maincent Subject: [PATCH net-next v8 00/17] net: Add support for Power over Ethernet (PoE) Date: Sun, 14 Apr 2024 16:21:49 +0200 Message-Id: <20240414-feature_poe-v8-0-e4bf1e860da5@bootlin.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-B4-Tracking: v=1; b=H4sIAH3mG2YC/2XP20rEQAyA4VdZ5tpKkkmnU698DxGZQ+oOaLu0t awsfXfHgnTHXobw/SE3NcmYZFJPp5saZUlTGvo82IeTCmfXv0uVYp4VAWkE4qoTN3+N8nYZpEL dcgvSaAatsriM0qXrVntRvcxVL9dZvebNOU3zMH5vZxbc9lsR0RTFBSuovLAFZt8Rt89+GOaP1 D+G4XMrLbRrAiw1ZV2baIMLBprOHbX+0wwEttT6V2uMZBpm08pR853GutScta6950CajAlHXd9 pakpdZ022A+fYEpt41GbXuV9qk3VAQPRGHAZ/1M2uGdpSN1kjirbSRY7y7+91XX8AkIDP3SYCA AA= To: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Jonathan Corbet , Luis Chamberlain , Russ Weight , Greg Kroah-Hartman , "Rafael J. Wysocki" , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Oleksij Rempel , Mark Brown , Frank Rowand , Andrew Lunn , Heiner Kallweit , Russell King Cc: Thomas Petazzoni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, devicetree@vger.kernel.org, Dent Project , kernel@pengutronix.de, Maxime Chevallier , Kory Maincent X-Mailer: b4 0.14-dev X-GND-Sasl: kory.maincent@bootlin.com From: Kory Maincent (Dent Project) This patch series aims at adding support for PoE (Power over Ethernet), based on the already existing support for PoDL (Power over Data Line) implementation. In addition, it adds support for two specific PoE controller, the Microchip PD692x0 and the TI TPS23881. In detail: - Patch 1 to 13 prepare net to support PoE devices. - Patch 14 and 15 add PD692x0 PoE PSE controller driver and its binding. - Patch 16 and 17 add TI TPS23881 PSE controller driver and its binding. Changes in v8: - Fix a build error due to an artifact from an ancient version of the series. - Link to v7: https://lore.kernel.org/r/20240409-feature_poe-v7-0-11e38efd4dee@bootlin.com Changes in v7: - Fix code, doc and kdoc nit. - Fix few pd692x0 dt binding issues. - Rename *flash_fw* functions to *flash_sram_fw* in tps23881 driver. - Link to v6: https://lore.kernel.org/r/20240326-feature_poe-v6-0-c1011b6ea1cb@bootlin.com Changes in v6: - TPS23881 fix firmware management release missing. - Use pcdev device pointer as regulator consumer and provider. - Rename of_legacy to no_of_pse_pi. - Add kdoc, and separate functions for better readability. - Add vpwr-supply regulator parent. - Link to v5: https://lore.kernel.org/r/20240227-feature_poe-v5-0-28f0aa48246d@bootlin.com Changes in v5: - Fix bindings nit. - Add supported-polarity parameter to bindings. - Fix yamllint binding errors. - Remove the nested lock brought by the use of regulator framework. - Link to v4: https://lore.kernel.org/r/20240215-feature_poe-v4-0-35bb4c23266c@bootlin.com Changes in v4: - Replaced sponsored-by tag by a simple sentence. - Fix pse_pi node bindings. - Add pse pi documentation written by Oleksij. - Link to v3: https://lore.kernel.org/r/20240208-feature_poe-v3-0-531d2674469e@bootlin.com Changes in v3: - Add patches to add Oleksij and myself to PSE MAINTAINERS. - Add patches to add pse devlink. - Add TI TPS23881 PSE controller driver with its binding. - Replace pse_get_types helper by pse_has_podl and pse_has_c33 - Changed the PSE core bindings. - Add a setup_pi_matrix callback. - Register regulator for each PSE PI (Power Interface). - Changed the PD692x0 bindings. - Updated PD692x0 drivers to new bindings and PSE PI description. - Updated PD692x0 drivers according to the reviews and made fixes. - Link to v2: https://lore.kernel.org/r/20231201-feature_poe-v2-0-56d8cac607fa@bootlin.com Changes in v2: - Extract "firmware_loader: Expand Firmware upload error codes patches" to send it alone and get it merge in an immutable branch. - Add "c33" prefix for PoE variables and enums. - Enhance few comments. - Add PSE Documentation. - Make several changes in pd692x0 driver, mainly for readibility. - Link to v1: https://lore.kernel.org/r/20231116-feature_poe-v1-0-be48044bf249@bootlin.com Signed-off-by: Kory Maincent --- Kory Maincent (17): MAINTAINERS: net: Add Oleksij to pse-pd maintainers of: property: Add fw_devlink support for pse parent net: pse-pd: Rectify and adapt the naming of admin_cotrol member of struct pse_control_config ethtool: Expand Ethernet Power Equipment with c33 (PoE) alongside PoDL net: pse-pd: Introduce PSE types enumeration net: ethtool: pse-pd: Expand pse commands with the PSE PoE interface netlink: specs: Modify pse attribute prefix netlink: specs: Expand the pse netlink command with PoE interface MAINTAINERS: Add myself to pse networking maintainer net: pse-pd: Add support for PSE PIs dt-bindings: net: pse-pd: Add another way of describing several PSE PIs net: pse-pd: Add support for setup_pi_matrix callback net: pse-pd: Use regulator framework within PSE framework dt-bindings: net: pse-pd: Add bindings for PD692x0 PSE controller net: pse-pd: Add PD692x0 PSE controller driver dt-bindings: net: pse-pd: Add bindings for TPS23881 PSE controller net: pse-pd: Add TI TPS23881 PSE controller driver .../bindings/net/pse-pd/microchip,pd692x0.yaml | 169 +++ .../bindings/net/pse-pd/pse-controller.yaml | 101 +- .../bindings/net/pse-pd/ti,tps23881.yaml | 95 ++ Documentation/netlink/specs/ethtool.yaml | 33 +- Documentation/networking/ethtool-netlink.rst | 20 + Documentation/networking/index.rst | 1 + Documentation/networking/pse-pd/index.rst | 10 + Documentation/networking/pse-pd/introduction.rst | 73 ++ Documentation/networking/pse-pd/pse-pi.rst | 302 +++++ MAINTAINERS | 8 + drivers/net/pse-pd/Kconfig | 20 + drivers/net/pse-pd/Makefile | 2 + drivers/net/pse-pd/pd692x0.c | 1223 ++++++++++++++++++++ drivers/net/pse-pd/pse_core.c | 513 +++++++- drivers/net/pse-pd/pse_regulator.c | 49 +- drivers/net/pse-pd/tps23881.c | 820 +++++++++++++ drivers/of/property.c | 2 + include/linux/pse-pd/pse.h | 83 +- include/uapi/linux/ethtool.h | 55 + include/uapi/linux/ethtool_netlink.h | 3 + net/ethtool/pse-pd.c | 60 +- 21 files changed, 3541 insertions(+), 101 deletions(-) --- base-commit: eae83f4ee41e2d65c136847bd8e93b837fb009a3 change-id: 20231024-feature_poe-139490e73403 Best regards, -- K?ry Maincent, Bootlin Embedded Linux and kernel engineering https://bootlin.com