]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
packages: add PSE (PoE) packages 22172/head
authorBevan Weiss <bevan.weiss@gmail.com>
Wed, 25 Feb 2026 08:49:50 +0000 (19:49 +1100)
committerRobert Marko <robimarko@gmail.com>
Sun, 1 Mar 2026 09:59:19 +0000 (10:59 +0100)
There are a number of pse chips already present in upstream Linux.
OpenWrt is starting to support a number of devices can contain various pse
chips.  But having all the pse chip combinations defined at the target
level will result in bloat on images.
Present the current upstream Linux pse drivers as packages so that they
can be selectively included per board (rather than per target).

Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
[Make it depend on REGULATOR_SUPPORT, and !SMALL_FLASH]
Link: https://github.com/openwrt/openwrt/pull/22172
Signed-off-by: Robert Marko <robimarko@gmail.com>
package/kernel/linux/modules/pse-pd.mk [new file with mode: 0644]
target/linux/generic/config-6.12

diff --git a/package/kernel/linux/modules/pse-pd.mk b/package/kernel/linux/modules/pse-pd.mk
new file mode 100644 (file)
index 0000000..44adb18
--- /dev/null
@@ -0,0 +1,91 @@
+#
+# Copyright (C) 2006-2011 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+PSE_MENU:=PSE-PD / PoE support
+
+define KernelPackage/pse-pd
+  SUBMENU:=$(PSE_MENU)
+  TITLE:=PSE-PD Support
+  DEPENDS:=@REGULATOR_SUPPORT @!SMALL_FLASH
+  KCONFIG:=CONFIG_PSE_CONTROLLER=y
+endef
+
+define KernelPackage/pse-pd/description
+ Kernel module for PSE-PD support.
+endef
+
+$(eval $(call KernelPackage,pse-pd))
+
+define AddDepends/pse-pd
+  SUBMENU:=$(PSE_MENU)
+  DEPENDS+=kmod-pse-pd $(1)
+endef
+
+define KernelPackage/pse-regulator
+  SUBMENU:=$(PSE_MENU)
+  TITLE:=Regulator based PSE controller support
+  KCONFIG:=CONFIG_PSE_REGULATOR
+  FILES:=$(LINUX_DIR)/drivers/net/pse-pd/pse_regulator.ko
+  AUTOLOAD:=$(call AutoProbe,pse_regulator)
+  $(call AddDepends/pse-pd)
+endef
+
+define KernelPackage/pse-regulator/description
+ This module provides support for simple regulator based Ethernet Power \
+ Sourcing Equipment without automatic classification support. For \
+ example for basic implementation of PoDL (802.3bu) specification.
+endef
+
+$(eval $(call KernelPackage,pse-regulator))
+
+define KernelPackage/pse-pd692x0
+  SUBMENU:=$(PSE_MENU)
+  TITLE:=PD692X0 PSE controller support
+  KCONFIG:=CONFIG_PSE_PD692X0
+  DEPENDS:=+kmod-i2c-core
+  FILES:=$(LINUX_DIR)/drivers/net/pse-pd/pd692x0.ko
+  AUTOLOAD:=$(call AutoProbe,pd692x0)
+  $(call AddDepends/pse-pd)
+endef
+
+define KernelPackage/pse-pd692x0/description
+ Kernel module for PD692X0 PSE controller chips
+endef
+
+$(eval $(call KernelPackage,pse-pd692x0))
+
+define KernelPackage/pse-si3474
+  SUBMENU:=$(PSE_MENU)
+  TITLE:=Si3474 PSE controller support
+  KCONFIG:=CONFIG_PSE_SI3474
+  DEPENDS:=+kmod-i2c-core
+  FILES:=$(LINUX_DIR)/drivers/net/pse-pd/si3474.ko
+  AUTOLOAD:=$(call AutoProbe,si3474)
+  $(call AddDepends/pse-pd)
+endef
+
+define KernelPackage/pse-si3474/description
+ Kernel module for Si3474 PSE controller chips
+endef
+
+$(eval $(call KernelPackage,pse-si3474))
+
+define KernelPackage/pse-tps23881
+  SUBMENU:=$(PSE_MENU)
+  TITLE:=TPS23881 PSE controller support
+  KCONFIG:=CONFIG_PSE_TPS23881
+  DEPENDS:=+kmod-i2c-core
+  FILES:=$(LINUX_DIR)/drivers/net/pse-pd/tps23881.ko
+  AUTOLOAD:=$(call AutoProbe,tps23881)
+  $(call AddDepends/pse-pd)
+endef
+
+define KernelPackage/pse-tps23881/description
+ Kernel module for TPS23881 PSE controller chips
+endef
+
+$(eval $(call KernelPackage,pse-tps23881))
index df78250e5427951954c297d4a5961d8878cfcc32..78da67528589a11e88ec75effd221cb54f998a3e 100644 (file)
@@ -2823,6 +2823,7 @@ CONFIG_INPUT_MISC=y
 # CONFIG_INTEL_PMC_CORE is not set
 # CONFIG_INTEL_PUNIT_IPC is not set
 # CONFIG_INTEL_RST is not set
+# CONFIG_INTEL_SKL_INT3472 is not set
 # CONFIG_INTEL_SMARTCONNECT is not set
 # CONFIG_INTEL_SOC_PMIC is not set
 # CONFIG_INTEL_SOC_PMIC_CHTDC_TI is not set
@@ -4911,6 +4912,10 @@ CONFIG_PROC_SYSCTL=y
 # CONFIG_PSAMPLE is not set
 # CONFIG_PSB6970_PHY is not set
 # CONFIG_PSE_CONTROLLER is not set
+# CONFIG_PSE_REGULATOR is not set
+# CONFIG_PSE_PD692X0 is not set
+# CONFIG_PSE_SI3474 is not set
+# CONFIG_PSE_TPS23881 is not set
 # CONFIG_PSI is not set
 # CONFIG_PSI_DEFAULT_DISABLED is not set
 # CONFIG_PSTORE is not set