mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 08:51:13 +00:00
159 lines
3.8 KiB
Diff
159 lines
3.8 KiB
Diff
|
From 7d4346817f31105ed07dd4e3e9fd2294c85a5fee Mon Sep 17 00:00:00 2001
|
||
|
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||
|
Date: Wed, 19 Jan 2022 17:29:13 +0000
|
||
|
Subject: [PATCH] dtoverlays: Add option for PoE HAT to use Linux I2C
|
||
|
instead of FW.
|
||
|
|
||
|
Adds parameter "i2c" to use the PoE HAT I2C MFD driver to instantiate
|
||
|
the PoE HAT drivers, instead of being off the firmware.
|
||
|
|
||
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||
|
---
|
||
|
arch/arm/boot/dts/overlays/README | 4 ++
|
||
|
.../arm/boot/dts/overlays/rpi-poe-overlay.dts | 62 +++++++++++++++----
|
||
|
.../dts/overlays/rpi-poe-plus-overlay.dts | 15 +++++
|
||
|
3 files changed, 69 insertions(+), 12 deletions(-)
|
||
|
|
||
|
--- a/arch/arm/boot/dts/overlays/README
|
||
|
+++ b/arch/arm/boot/dts/overlays/README
|
||
|
@@ -2858,6 +2858,8 @@ Params: poe_fan_temp0 Temperat
|
||
|
speeds up (default 55000)
|
||
|
poe_fan_temp3_hyst Temperature delta (in millicelcius) at which
|
||
|
the fan slows down (default 5000)
|
||
|
+ i2c Control the fan via Linux I2C drivers instead of
|
||
|
+ the firmware.
|
||
|
|
||
|
|
||
|
Name: rpi-poe-plus
|
||
|
@@ -2879,6 +2881,8 @@ Params: poe_fan_temp0 Temperat
|
||
|
speeds up (default 55000)
|
||
|
poe_fan_temp3_hyst Temperature delta (in millicelcius) at which
|
||
|
the fan slows down (default 5000)
|
||
|
+ i2c Control the fan via Linux I2C drivers instead of
|
||
|
+ the firmware.
|
||
|
|
||
|
|
||
|
Name: rpi-proto
|
||
|
--- a/arch/arm/boot/dts/overlays/rpi-poe-overlay.dts
|
||
|
+++ b/arch/arm/boot/dts/overlays/rpi-poe-overlay.dts
|
||
|
@@ -8,16 +8,6 @@
|
||
|
compatible = "brcm,bcm2835";
|
||
|
|
||
|
fragment@0 {
|
||
|
- target = <&firmware>;
|
||
|
- __overlay__ {
|
||
|
- fwpwm: pwm {
|
||
|
- compatible = "raspberrypi,firmware-poe-pwm";
|
||
|
- #pwm-cells = <2>;
|
||
|
- };
|
||
|
- };
|
||
|
- };
|
||
|
-
|
||
|
- fragment@1 {
|
||
|
target-path = "/";
|
||
|
__overlay__ {
|
||
|
fan: pwm-fan {
|
||
|
@@ -29,7 +19,7 @@
|
||
|
};
|
||
|
};
|
||
|
|
||
|
- fragment@2 {
|
||
|
+ fragment@1 {
|
||
|
target = <&cpu_thermal>;
|
||
|
__overlay__ {
|
||
|
trips {
|
||
|
@@ -75,7 +65,7 @@
|
||
|
};
|
||
|
};
|
||
|
|
||
|
- fragment@3 {
|
||
|
+ fragment@2 {
|
||
|
target-path = "/__overrides__";
|
||
|
__overlay__ {
|
||
|
poe_fan_temp0 = <&trip0>,"temperature:0";
|
||
|
@@ -89,6 +79,52 @@
|
||
|
};
|
||
|
};
|
||
|
|
||
|
+ fragment@3 {
|
||
|
+ target = <&firmware>;
|
||
|
+ __overlay__ {
|
||
|
+ fwpwm: pwm {
|
||
|
+ compatible = "raspberrypi,firmware-poe-pwm";
|
||
|
+ #pwm-cells = <2>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ fragment@4 {
|
||
|
+ target = <&i2c0>;
|
||
|
+ __dormant__ {
|
||
|
+ #address-cells = <1>;
|
||
|
+ #size-cells = <0>;
|
||
|
+ status = "okay";
|
||
|
+
|
||
|
+ poe_mfd: poe@51 {
|
||
|
+ compatible = "raspberrypi,poe-core";
|
||
|
+ reg = <0x51>;
|
||
|
+ status = "okay";
|
||
|
+
|
||
|
+ poe_mfd_pwm: poe_pwm@f0 {
|
||
|
+ compatible = "raspberrypi,poe-pwm";
|
||
|
+ reg = <0xf0>;
|
||
|
+ status = "okay";
|
||
|
+ #pwm-cells = <2>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ fragment@5 {
|
||
|
+ target = <&i2c0if>;
|
||
|
+ __dormant__ {
|
||
|
+ status = "okay";
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ fragment@6 {
|
||
|
+ target = <&i2c0mux>;
|
||
|
+ __dormant__ {
|
||
|
+ status = "okay";
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
__overrides__ {
|
||
|
poe_fan_temp0 = <&trip0>,"temperature:0";
|
||
|
poe_fan_temp0_hyst = <&trip0>,"hysteresis:0";
|
||
|
@@ -98,5 +134,7 @@
|
||
|
poe_fan_temp2_hyst = <&trip2>,"hysteresis:0";
|
||
|
poe_fan_temp3 = <&trip3>,"temperature:0";
|
||
|
poe_fan_temp3_hyst = <&trip3>,"hysteresis:0";
|
||
|
+ i2c = <0>, "-3+4+5+6",
|
||
|
+ <&fan>,"pwms:0=",<&poe_mfd_pwm>;
|
||
|
};
|
||
|
};
|
||
|
--- a/arch/arm/boot/dts/overlays/rpi-poe-plus-overlay.dts
|
||
|
+++ b/arch/arm/boot/dts/overlays/rpi-poe-plus-overlay.dts
|
||
|
@@ -16,6 +16,21 @@
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
+ fragment@11 {
|
||
|
+ target = <&poe_mfd>;
|
||
|
+ __dormant__ {
|
||
|
+ rpi-poe-power-supply@f2 {
|
||
|
+ compatible = "raspberrypi,rpi-poe-power-supply";
|
||
|
+ reg = <0xf2>;
|
||
|
+ status = "okay";
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ __overrides__ {
|
||
|
+ i2c = <0>, "-3+4+5+6-10+11",
|
||
|
+ <&fan>,"pwms:0=",<&poe_mfd_pwm>;
|
||
|
+ };
|
||
|
};
|
||
|
|
||
|
&fan {
|