diff options
| author | Hal Martin | 2025-11-04 19:31:04 +0000 |
|---|---|---|
| committer | Robert Marko | 2026-01-25 21:11:17 +0000 |
| commit | 561a8858f55b830e285526e96bb375d5c96f1bd9 (patch) | |
| tree | 0d749d20c79e1b7ece57c1f1f5340b8b93e8d22e | |
| parent | 51710e9dd457e7c486f901736270d8da267d70a5 (diff) | |
| download | openwrt-561a8858f55b830e285526e96bb375d5c96f1bd9.tar.gz | |
ipq40xx: enable PoE output on Meraki MR30H
This commit enables PoE output on port 1 of the Meraki MR30H if
the device is powered via 802.3at PoE.
No PoE output is enabled if the device is powered via 802.3af PoE,
as there is insufficient power.
Signed-off-by: Hal Martin <hal.martin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20645
Signed-off-by: Robert Marko <robimarko@gmail.com>
| -rwxr-xr-x | target/linux/ipq40xx/base-files/etc/init.d/poe_switch | 22 | ||||
| -rw-r--r-- | target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr30h.dts | 18 |
2 files changed, 40 insertions, 0 deletions
diff --git a/target/linux/ipq40xx/base-files/etc/init.d/poe_switch b/target/linux/ipq40xx/base-files/etc/init.d/poe_switch new file mode 100755 index 0000000000..2dd99825b7 --- /dev/null +++ b/target/linux/ipq40xx/base-files/etc/init.d/poe_switch @@ -0,0 +1,22 @@ +#!/bin/sh /etc/rc.common + +START=21 +STOP=10 + +boot() { + case $(board_name) in + meraki,mr30h) + if [ $(cat /sys/class/gpio/poeaf_det/value) -eq 0 ]; then + echo "1" > /sys/class/gpio/pse_en/value + fi + ;; + esac +} + +shutdown() { + case $(board_name) in + meraki,mr30h) + echo "0" > /sys/class/gpio/pse_en/value + ;; + esac +} diff --git a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr30h.dts b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr30h.dts index 8b21736d00..3655238eb9 100644 --- a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr30h.dts +++ b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4029-mr30h.dts @@ -79,6 +79,24 @@ qcom,ess-interface-select = <TCSR_ESS_PSGMII>; }; }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + pse_en { + gpio-export,name = "pse_en"; + gpio-export,output = <1>; + gpios = <&tlmm 28 GPIO_ACTIVE_LOW>; + }; + + poeaf_det { + gpio-export,name = "poeaf_det"; + gpio-export,input = <0>; + gpios = <&tlmm 29 GPIO_ACTIVE_HIGH>; + }; + + }; }; &tricolor { |