* [PATCH v3 1/5] dt-bindings: arm: hwmon: gpio-fan: Convert txt bindings to yaml @ 2023-12-02 22:29 David Heidelberg 2023-12-02 22:29 ` [PATCH v3 2/5] arm64: dts: imx8mq-phanbell: make dts use gpio-fan matrix instead of array David Heidelberg ` (4 more replies) 0 siblings, 5 replies; 10+ messages in thread From: David Heidelberg @ 2023-12-02 22:29 UTC (permalink / raw) To: Jean Delvare, Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: David Heidelberg, Rob Herring, linux-hwmon, devicetree, linux-kernel Convert fan devices connected to GPIOs to the YAML syntax. Signed-off-by: David Heidelberg <david@ixit.cz> --- .../devicetree/bindings/hwmon/gpio-fan.txt | 41 ----------- .../devicetree/bindings/hwmon/gpio-fan.yaml | 70 +++++++++++++++++++ 2 files changed, 70 insertions(+), 41 deletions(-) delete mode 100644 Documentation/devicetree/bindings/hwmon/gpio-fan.txt create mode 100644 Documentation/devicetree/bindings/hwmon/gpio-fan.yaml diff --git a/Documentation/devicetree/bindings/hwmon/gpio-fan.txt b/Documentation/devicetree/bindings/hwmon/gpio-fan.txt deleted file mode 100644 index f4cfa350f6a1..000000000000 --- a/Documentation/devicetree/bindings/hwmon/gpio-fan.txt +++ /dev/null @@ -1,41 +0,0 @@ -Bindings for fan connected to GPIO lines - -Required properties: -- compatible : "gpio-fan" - -Optional properties: -- gpios: Specifies the pins that map to bits in the control value, - ordered MSB-->LSB. -- gpio-fan,speed-map: A mapping of possible fan RPM speeds and the - control value that should be set to achieve them. This array - must have the RPM values in ascending order. -- alarm-gpios: This pin going active indicates something is wrong with - the fan, and a udev event will be fired. -- #cooling-cells: If used as a cooling device, must be <2> - Also see: - Documentation/devicetree/bindings/thermal/thermal-cooling-devices.yaml - min and max states are derived from the speed-map of the fan. - -Note: At least one the "gpios" or "alarm-gpios" properties must be set. - -Examples: - - gpio_fan { - compatible = "gpio-fan"; - gpios = <&gpio1 14 1 - &gpio1 13 1>; - gpio-fan,speed-map = <0 0 - 3000 1 - 6000 2>; - alarm-gpios = <&gpio1 15 1>; - }; - gpio_fan_cool: gpio_fan { - compatible = "gpio-fan"; - gpios = <&gpio2 14 1 - &gpio2 13 1>; - gpio-fan,speed-map = <0 0>, - <3000 1>, - <6000 2>; - alarm-gpios = <&gpio2 15 1>; - #cooling-cells = <2>; /* min followed by max */ - }; diff --git a/Documentation/devicetree/bindings/hwmon/gpio-fan.yaml b/Documentation/devicetree/bindings/hwmon/gpio-fan.yaml new file mode 100644 index 000000000000..0e220874bee6 --- /dev/null +++ b/Documentation/devicetree/bindings/hwmon/gpio-fan.yaml @@ -0,0 +1,70 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/hwmon/gpio-fan.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Fan connected to GPIO lines + +maintainers: + - Rob Herring <robh@kernel.org> + +properties: + compatible: + const: gpio-fan + + gpios: + description: | + Specifies the pins that map to bits in the control value, + ordered MSB-->LSB. + minItems: 1 + maxItems: 7 + + alarm-gpios: + maxItems: 1 + + gpio-fan,speed-map: + $ref: /schemas/types.yaml#/definitions/uint32-matrix + minItems: 2 + maxItems: 127 + items: + items: + - description: fan speed in RPMs + - description: control value + description: | + A mapping of possible fan RPM speeds and the + control value that should be set to achieve them. This array + must have the RPM values in ascending order. + + '#cooling-cells': + const: 2 + +required: + - compatible + - gpios + - gpio-fan,speed-map + +additionalProperties: false + +examples: + - | + gpio_fan { + compatible = "gpio-fan"; + gpios = <&gpio1 14 1 + &gpio1 13 1>; + gpio-fan,speed-map = < 0 0>, + < 3000 1>, + <36000 2>; + alarm-gpios = <&gpio1 15 1>; + }; + - | + gpio_fan_cool: gpio_fan { + compatible = "gpio-fan"; + gpios = <&gpio2 14 1 + &gpio2 13 1>; + gpio-fan,speed-map = < 0 0>, + <3000 1>, + <6000 2>; + alarm-gpios = <&gpio2 15 1>; + #cooling-cells = <2>; /* min followed by max */ + }; -- 2.42.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 2/5] arm64: dts: imx8mq-phanbell: make dts use gpio-fan matrix instead of array 2023-12-02 22:29 [PATCH v3 1/5] dt-bindings: arm: hwmon: gpio-fan: Convert txt bindings to yaml David Heidelberg @ 2023-12-02 22:29 ` David Heidelberg 2023-12-06 3:16 ` Shawn Guo 2023-12-02 22:29 ` [PATCH v3 3/5] arm64: dts: rockchip: " David Heidelberg ` (3 subsequent siblings) 4 siblings, 1 reply; 10+ messages in thread From: David Heidelberg @ 2023-12-02 22:29 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team, David Heidelberg Cc: devicetree, linux-arm-kernel, linux-kernel No functional changes. Adjust to comply with dt-schema requirements and make possible to validate values. Signed-off-by: David Heidelberg <david@ixit.cz> --- arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts b/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts index a3b9d615a3b4..e34045d10a12 100644 --- a/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts +++ b/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts @@ -39,7 +39,7 @@ reg_usdhc2_vmmc: regulator-usdhc2-vmmc { fan: gpio-fan { compatible = "gpio-fan"; - gpio-fan,speed-map = <0 0 8600 1>; + gpio-fan,speed-map = <0 0>, <8600 1>; gpios = <&gpio3 5 GPIO_ACTIVE_HIGH>; #cooling-cells = <2>; pinctrl-names = "default"; -- 2.42.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/5] arm64: dts: imx8mq-phanbell: make dts use gpio-fan matrix instead of array 2023-12-02 22:29 ` [PATCH v3 2/5] arm64: dts: imx8mq-phanbell: make dts use gpio-fan matrix instead of array David Heidelberg @ 2023-12-06 3:16 ` Shawn Guo 0 siblings, 0 replies; 10+ messages in thread From: Shawn Guo @ 2023-12-06 3:16 UTC (permalink / raw) To: David Heidelberg Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team, devicetree, linux-arm-kernel, linux-kernel On Sat, Dec 02, 2023 at 11:29:01PM +0100, David Heidelberg wrote: > No functional changes. > > Adjust to comply with dt-schema requirements > and make possible to validate values. > > Signed-off-by: David Heidelberg <david@ixit.cz> Applied, thanks! ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 3/5] arm64: dts: rockchip: make dts use gpio-fan matrix instead of array 2023-12-02 22:29 [PATCH v3 1/5] dt-bindings: arm: hwmon: gpio-fan: Convert txt bindings to yaml David Heidelberg 2023-12-02 22:29 ` [PATCH v3 2/5] arm64: dts: imx8mq-phanbell: make dts use gpio-fan matrix instead of array David Heidelberg @ 2023-12-02 22:29 ` David Heidelberg 2023-12-02 22:29 ` [PATCH v3 4/5] ARM: dts: tegra30-ouya: " David Heidelberg ` (2 subsequent siblings) 4 siblings, 0 replies; 10+ messages in thread From: David Heidelberg @ 2023-12-02 22:29 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, David Heidelberg, Cristian Ciocaltea, AngeloGioacchino Del Regno Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel No functional changes. Adjust to comply with dt-schema requirements and make possible to validate values. Acked-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: David Heidelberg <david@ixit.cz> --- arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi | 2 +- arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi index e6ac292ce645..69dd3568b84e 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi @@ -44,7 +44,7 @@ dc_12v: dc-12v { fan0: gpio-fan { #cooling-cells = <2>; compatible = "gpio-fan"; - gpio-fan,speed-map = <0 0 3000 1>; + gpio-fan,speed-map = <0 0>, <3000 1>; gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>; status = "okay"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts index 854d02b46e6f..59843a7a199c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts +++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts @@ -31,8 +31,9 @@ gmac1_clkin: external-gmac1-clock { fan: gpio_fan { compatible = "gpio-fan"; gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>; - gpio-fan,speed-map = <0 0 - 4500 1>; + gpio-fan,speed-map = + < 0 0>, + <4500 1>; pinctrl-names = "default"; pinctrl-0 = <&fan_en_h>; #cooling-cells = <2>; -- 2.42.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 4/5] ARM: dts: tegra30-ouya: make dts use gpio-fan matrix instead of array 2023-12-02 22:29 [PATCH v3 1/5] dt-bindings: arm: hwmon: gpio-fan: Convert txt bindings to yaml David Heidelberg 2023-12-02 22:29 ` [PATCH v3 2/5] arm64: dts: imx8mq-phanbell: make dts use gpio-fan matrix instead of array David Heidelberg 2023-12-02 22:29 ` [PATCH v3 3/5] arm64: dts: rockchip: " David Heidelberg @ 2023-12-02 22:29 ` David Heidelberg 2023-12-04 10:23 ` Linus Walleij 2023-12-02 22:29 ` [PATCH v3 5/5] ARM: dts: marvell: " David Heidelberg 2023-12-06 21:50 ` [PATCH v3 1/5] dt-bindings: arm: hwmon: gpio-fan: Convert txt bindings to yaml Rob Herring 4 siblings, 1 reply; 10+ messages in thread From: David Heidelberg @ 2023-12-02 22:29 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter, Andre Przywara, Linus Walleij, Kunihiko Hayashi, Patrice Chotard, David Heidelberg Cc: Thierry Reding, Wei Xu, Viresh Kumar, Baruch Siach, Rob Herring, devicetree, linux-tegra, linux-kernel No functional changes. Adjust to comply with dt-schema requirements and make possible to validate values. Signed-off-by: David Heidelberg <david@ixit.cz> --- arch/arm/boot/dts/nvidia/tegra30-ouya.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/nvidia/tegra30-ouya.dts b/arch/arm/boot/dts/nvidia/tegra30-ouya.dts index 7e3de26ca960..c284dd0a55ab 100644 --- a/arch/arm/boot/dts/nvidia/tegra30-ouya.dts +++ b/arch/arm/boot/dts/nvidia/tegra30-ouya.dts @@ -4611,8 +4611,8 @@ cpu3: cpu@3 { fan: fan { compatible = "gpio-fan"; gpios = <&gpio TEGRA_GPIO(J, 2) GPIO_ACTIVE_HIGH>; - gpio-fan,speed-map = <0 0 - 4500 1>; + gpio-fan,speed-map = <0 0>, + <4500 1>; #cooling-cells = <2>; }; -- 2.42.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 4/5] ARM: dts: tegra30-ouya: make dts use gpio-fan matrix instead of array 2023-12-02 22:29 ` [PATCH v3 4/5] ARM: dts: tegra30-ouya: " David Heidelberg @ 2023-12-04 10:23 ` Linus Walleij 0 siblings, 0 replies; 10+ messages in thread From: Linus Walleij @ 2023-12-04 10:23 UTC (permalink / raw) To: David Heidelberg Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter, Andre Przywara, Kunihiko Hayashi, Patrice Chotard, Thierry Reding, Wei Xu, Viresh Kumar, Baruch Siach, Rob Herring, devicetree, linux-tegra, linux-kernel On Sat, Dec 2, 2023 at 11:30 PM David Heidelberg <david@ixit.cz> wrote: > No functional changes. > > Adjust to comply with dt-schema requirements > and make possible to validate values. > > Signed-off-by: David Heidelberg <david@ixit.cz> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 5/5] ARM: dts: marvell: make dts use gpio-fan matrix instead of array 2023-12-02 22:29 [PATCH v3 1/5] dt-bindings: arm: hwmon: gpio-fan: Convert txt bindings to yaml David Heidelberg ` (2 preceding siblings ...) 2023-12-02 22:29 ` [PATCH v3 4/5] ARM: dts: tegra30-ouya: " David Heidelberg @ 2023-12-02 22:29 ` David Heidelberg 2023-12-02 22:42 ` Andrew Lunn 2023-12-08 15:33 ` Gregory CLEMENT 2023-12-06 21:50 ` [PATCH v3 1/5] dt-bindings: arm: hwmon: gpio-fan: Convert txt bindings to yaml Rob Herring 4 siblings, 2 replies; 10+ messages in thread From: David Heidelberg @ 2023-12-02 22:29 UTC (permalink / raw) To: Andrew Lunn, Gregory Clement, Sebastian Hesselbarth, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Andre Przywara, Peter Rosin, Heiko Stuebner, Nick Hawkins, Viresh Kumar, David Heidelberg Cc: Simon Guinot, Wei Xu, Claudiu Beznea, Enric Balletbo i Serra, Baruch Siach, Rob Herring, linux-arm-kernel, devicetree, linux-kernel No functional changes. Adjust to comply with dt-schema requirements and make possible to validate values. Acked-by: Simon Guinot <simon.guinot@sequanux.org> Signed-off-by: David Heidelberg <david@ixit.cz> --- arch/arm/boot/dts/marvell/armada-370-rd.dts | 2 +- .../marvell/armada-370-seagate-nas-2bay.dts | 8 +- .../marvell/armada-370-seagate-nas-4bay.dts | 8 +- .../marvell/armada-370-synology-ds213j.dts | 16 +-- .../dts/marvell/armada-385-synology-ds116.dts | 16 +-- arch/arm/boot/dts/marvell/armada-388-gp.dts | 4 +- arch/arm/boot/dts/marvell/kirkwood-dnskw.dtsi | 6 +- .../marvell/kirkwood-linkstation-6282.dtsi | 9 +- .../marvell/kirkwood-linkstation-lswxl.dts | 9 +- arch/arm/boot/dts/marvell/kirkwood-lsxl.dtsi | 9 +- arch/arm/boot/dts/marvell/kirkwood-ns2max.dts | 18 ++-- .../arm/boot/dts/marvell/kirkwood-ns2mini.dts | 18 ++-- .../boot/dts/marvell/kirkwood-synology.dtsi | 102 +++++++++--------- .../dts/marvell/mvebu-linkstation-fan.dtsi | 8 +- 14 files changed, 121 insertions(+), 112 deletions(-) diff --git a/arch/arm/boot/dts/marvell/armada-370-rd.dts b/arch/arm/boot/dts/marvell/armada-370-rd.dts index b459a670f615..4b5789b73dac 100644 --- a/arch/arm/boot/dts/marvell/armada-370-rd.dts +++ b/arch/arm/boot/dts/marvell/armada-370-rd.dts @@ -95,7 +95,7 @@ button { gpio-fan { compatible = "gpio-fan"; gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>; - gpio-fan,speed-map = <0 0 3000 1>; + gpio-fan,speed-map = <0 0>, <3000 1>; pinctrl-0 = <&fan_pins>; pinctrl-names = "default"; }; diff --git a/arch/arm/boot/dts/marvell/armada-370-seagate-nas-2bay.dts b/arch/arm/boot/dts/marvell/armada-370-seagate-nas-2bay.dts index 8dd242e668e6..6ec3dd3337f4 100644 --- a/arch/arm/boot/dts/marvell/armada-370-seagate-nas-2bay.dts +++ b/arch/arm/boot/dts/marvell/armada-370-seagate-nas-2bay.dts @@ -25,9 +25,9 @@ / { gpio-fan { gpio-fan,speed-map = - < 0 3 - 950 2 - 1400 1 - 1800 0>; + < 0 3>, + < 950 2>, + <1400 1>, + <1800 0>; }; }; diff --git a/arch/arm/boot/dts/marvell/armada-370-seagate-nas-4bay.dts b/arch/arm/boot/dts/marvell/armada-370-seagate-nas-4bay.dts index 370ca9c43247..3011578a3124 100644 --- a/arch/arm/boot/dts/marvell/armada-370-seagate-nas-4bay.dts +++ b/arch/arm/boot/dts/marvell/armada-370-seagate-nas-4bay.dts @@ -106,10 +106,10 @@ NS_V2_LED_ON 1 0 gpio-fan { gpio-fan,speed-map = - < 0 3 - 800 2 - 1050 1 - 1300 0>; + < 0 3>, + < 800 2>, + <1050 1>, + <1300 0>; }; }; diff --git a/arch/arm/boot/dts/marvell/armada-370-synology-ds213j.dts b/arch/arm/boot/dts/marvell/armada-370-synology-ds213j.dts index b07d11d1f124..02599a3e9816 100644 --- a/arch/arm/boot/dts/marvell/armada-370-synology-ds213j.dts +++ b/arch/arm/boot/dts/marvell/armada-370-synology-ds213j.dts @@ -113,14 +113,14 @@ gpio-fan-32-38 { &gpio2 0 GPIO_ACTIVE_HIGH &gpio2 1 GPIO_ACTIVE_HIGH>; alarm-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; - gpio-fan,speed-map = < 0 0 - 1000 1 - 1150 2 - 1350 4 - 1500 3 - 1650 5 - 1750 6 - 1900 7 >; + gpio-fan,speed-map = < 0 0>, + <1000 1>, + <1150 2>, + <1350 4>, + <1500 3>, + <1650 5>, + <1750 6>, + <1900 7>; }; gpio-leds { diff --git a/arch/arm/boot/dts/marvell/armada-385-synology-ds116.dts b/arch/arm/boot/dts/marvell/armada-385-synology-ds116.dts index ea91ff964d94..6caa5c50175a 100644 --- a/arch/arm/boot/dts/marvell/armada-385-synology-ds116.dts +++ b/arch/arm/boot/dts/marvell/armada-385-synology-ds116.dts @@ -131,14 +131,14 @@ gpio-fan { gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>, <&gpio1 17 GPIO_ACTIVE_HIGH>, <&gpio1 16 GPIO_ACTIVE_HIGH>; - gpio-fan,speed-map = < 0 0 - 1500 1 - 2500 2 - 3000 3 - 3400 4 - 3700 5 - 3900 6 - 4000 7>; + gpio-fan,speed-map = < 0 0>, + <1500 1>, + <2500 2>, + <3000 3>, + <3400 4>, + <3700 5>, + <3900 6>, + <4000 7>; #cooling-cells = <2>; }; diff --git a/arch/arm/boot/dts/marvell/armada-388-gp.dts b/arch/arm/boot/dts/marvell/armada-388-gp.dts index e2ba50520b6b..1de0a172aa5f 100644 --- a/arch/arm/boot/dts/marvell/armada-388-gp.dts +++ b/arch/arm/boot/dts/marvell/armada-388-gp.dts @@ -237,8 +237,8 @@ pcie@3,0 { gpio-fan { compatible = "gpio-fan"; gpios = <&expander1 3 GPIO_ACTIVE_HIGH>; - gpio-fan,speed-map = < 0 0 - 3000 1>; + gpio-fan,speed-map = < 0 0>, + <3000 1>; }; }; diff --git a/arch/arm/boot/dts/marvell/kirkwood-dnskw.dtsi b/arch/arm/boot/dts/marvell/kirkwood-dnskw.dtsi index eb917462b219..0738eb679fcd 100644 --- a/arch/arm/boot/dts/marvell/kirkwood-dnskw.dtsi +++ b/arch/arm/boot/dts/marvell/kirkwood-dnskw.dtsi @@ -38,9 +38,9 @@ gpio_fan { pinctrl-names = "default"; gpios = <&gpio1 14 GPIO_ACTIVE_HIGH &gpio1 13 GPIO_ACTIVE_HIGH>; - gpio-fan,speed-map = <0 0 - 3000 1 - 6000 2>; + gpio-fan,speed-map = <0 0>, + <3000 1>, + <6000 2>; }; gpio_poweroff { diff --git a/arch/arm/boot/dts/marvell/kirkwood-linkstation-6282.dtsi b/arch/arm/boot/dts/marvell/kirkwood-linkstation-6282.dtsi index 377b6e970259..dfac2045a1eb 100644 --- a/arch/arm/boot/dts/marvell/kirkwood-linkstation-6282.dtsi +++ b/arch/arm/boot/dts/marvell/kirkwood-linkstation-6282.dtsi @@ -118,10 +118,11 @@ gpio_fan { gpios = <&gpio0 17 GPIO_ACTIVE_LOW &gpio0 16 GPIO_ACTIVE_LOW>; - gpio-fan,speed-map = <0 3 - 1500 2 - 3250 1 - 5000 0>; + gpio-fan,speed-map = + < 0 3>, + <1500 2>, + <3250 1>, + <5000 0>; alarm-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; }; diff --git a/arch/arm/boot/dts/marvell/kirkwood-linkstation-lswxl.dts b/arch/arm/boot/dts/marvell/kirkwood-linkstation-lswxl.dts index c6024b569423..0425df8cb91c 100644 --- a/arch/arm/boot/dts/marvell/kirkwood-linkstation-lswxl.dts +++ b/arch/arm/boot/dts/marvell/kirkwood-linkstation-lswxl.dts @@ -69,10 +69,11 @@ gpio_fan { gpios = <&gpio1 16 GPIO_ACTIVE_LOW &gpio1 15 GPIO_ACTIVE_LOW>; - gpio-fan,speed-map = <0 3 - 1500 2 - 3250 1 - 5000 0>; + gpio-fan,speed-map = + < 0 3>, + <1500 2>, + <3250 1>, + <5000 0>; alarm-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; }; diff --git a/arch/arm/boot/dts/marvell/kirkwood-lsxl.dtsi b/arch/arm/boot/dts/marvell/kirkwood-lsxl.dtsi index 88b70ba1c8fe..f80af24b9e90 100644 --- a/arch/arm/boot/dts/marvell/kirkwood-lsxl.dtsi +++ b/arch/arm/boot/dts/marvell/kirkwood-lsxl.dtsi @@ -172,10 +172,11 @@ gpio_fan { pinctrl-names = "default"; gpios = <&gpio0 19 GPIO_ACTIVE_LOW &gpio0 18 GPIO_ACTIVE_LOW>; - gpio-fan,speed-map = <0 3 - 1500 2 - 3250 1 - 5000 0>; + gpio-fan,speed-map = + <0 3>, + <1500 2>, + <3250 1>, + <5000 0>; alarm-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; }; diff --git a/arch/arm/boot/dts/marvell/kirkwood-ns2max.dts b/arch/arm/boot/dts/marvell/kirkwood-ns2max.dts index c0a087e77408..044958bc55da 100644 --- a/arch/arm/boot/dts/marvell/kirkwood-ns2max.dts +++ b/arch/arm/boot/dts/marvell/kirkwood-ns2max.dts @@ -29,15 +29,15 @@ &gpio0 7 GPIO_ACTIVE_LOW &gpio1 1 GPIO_ACTIVE_LOW &gpio0 23 GPIO_ACTIVE_LOW>; gpio-fan,speed-map = - < 0 0 - 1500 15 - 1700 14 - 1800 13 - 2100 12 - 3100 11 - 3300 10 - 4300 9 - 5500 8>; + < 0 0>, + <1500 15>, + <1700 14>, + <1800 13>, + <2100 12>, + <3100 11>, + <3300 10>, + <4300 9>, + <5500 8>; alarm-gpios = <&gpio0 25 GPIO_ACTIVE_LOW>; }; diff --git a/arch/arm/boot/dts/marvell/kirkwood-ns2mini.dts b/arch/arm/boot/dts/marvell/kirkwood-ns2mini.dts index 5b9fa14b6428..3fbe008f9141 100644 --- a/arch/arm/boot/dts/marvell/kirkwood-ns2mini.dts +++ b/arch/arm/boot/dts/marvell/kirkwood-ns2mini.dts @@ -30,15 +30,15 @@ &gpio0 7 GPIO_ACTIVE_LOW &gpio1 1 GPIO_ACTIVE_LOW &gpio0 23 GPIO_ACTIVE_LOW>; gpio-fan,speed-map = - < 0 0 - 3000 15 - 3180 14 - 4140 13 - 4570 12 - 6760 11 - 7140 10 - 7980 9 - 9200 8>; + < 0 0>, + <3000 15>, + <3180 14>, + <4140 13>, + <4570 12>, + <6760 11>, + <7140 10>, + <7980 9>, + <9200 8>; alarm-gpios = <&gpio0 25 GPIO_ACTIVE_LOW>; }; diff --git a/arch/arm/boot/dts/marvell/kirkwood-synology.dtsi b/arch/arm/boot/dts/marvell/kirkwood-synology.dtsi index 9b6666020cdd..20964eb48fd7 100644 --- a/arch/arm/boot/dts/marvell/kirkwood-synology.dtsi +++ b/arch/arm/boot/dts/marvell/kirkwood-synology.dtsi @@ -286,14 +286,15 @@ gpio-fan-150-32-35 { gpios = <&gpio1 0 GPIO_ACTIVE_HIGH &gpio1 1 GPIO_ACTIVE_HIGH &gpio1 2 GPIO_ACTIVE_HIGH>; - gpio-fan,speed-map = < 0 0 - 2200 1 - 2500 2 - 3000 4 - 3300 3 - 3700 5 - 3800 6 - 4200 7 >; + gpio-fan,speed-map = + < 0 0>, + <2200 1>, + <2500 2>, + <3000 4>, + <3300 3>, + <3700 5>, + <3800 6>, + <4200 7>; }; gpio-fan-150-15-18 { @@ -306,14 +307,15 @@ gpio-fan-150-15-18 { &gpio0 16 GPIO_ACTIVE_HIGH &gpio0 17 GPIO_ACTIVE_HIGH>; alarm-gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>; - gpio-fan,speed-map = < 0 0 - 2200 1 - 2500 2 - 3000 4 - 3300 3 - 3700 5 - 3800 6 - 4200 7 >; + gpio-fan,speed-map = + < 0 0>, + <2200 1>, + <2500 2>, + <3000 4>, + <3300 3>, + <3700 5>, + <3800 6>, + <4200 7>; }; gpio-fan-100-32-35 { @@ -326,14 +328,15 @@ gpio-fan-100-32-35 { &gpio1 1 GPIO_ACTIVE_HIGH &gpio1 2 GPIO_ACTIVE_HIGH>; alarm-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; - gpio-fan,speed-map = < 0 0 - 2500 1 - 3100 2 - 3800 3 - 4600 4 - 4800 5 - 4900 6 - 5000 7 >; + gpio-fan,speed-map = + < 0 0>, + <2500 1>, + <3100 2>, + <3800 3>, + <4600 4>, + <4800 5>, + <4900 6>, + <5000 7>; }; gpio-fan-100-15-18 { @@ -346,14 +349,15 @@ gpio-fan-100-15-18 { &gpio0 16 GPIO_ACTIVE_HIGH &gpio0 17 GPIO_ACTIVE_HIGH>; alarm-gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>; - gpio-fan,speed-map = < 0 0 - 2500 1 - 3100 2 - 3800 3 - 4600 4 - 4800 5 - 4900 6 - 5000 7 >; + gpio-fan,speed-map = + < 0 0>, + <2500 1>, + <3100 2>, + <3800 3>, + <4600 4>, + <4800 5>, + <4900 6>, + <5000 7>; }; gpio-fan-100-15-35-1 { @@ -366,14 +370,15 @@ gpio-fan-100-15-35-1 { &gpio0 16 GPIO_ACTIVE_HIGH &gpio0 17 GPIO_ACTIVE_HIGH>; alarm-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; - gpio-fan,speed-map = < 0 0 - 2500 1 - 3100 2 - 3800 3 - 4600 4 - 4800 5 - 4900 6 - 5000 7 >; + gpio-fan,speed-map = + < 0 0>, + <2500 1>, + <3100 2>, + <3800 3>, + <4600 4>, + <4800 5>, + <4900 6>, + <5000 7>; }; gpio-fan-100-15-35-3 { @@ -388,14 +393,15 @@ &gpio0 16 GPIO_ACTIVE_HIGH alarm-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH &gpio1 12 GPIO_ACTIVE_HIGH &gpio1 13 GPIO_ACTIVE_HIGH>; - gpio-fan,speed-map = < 0 0 - 2500 1 - 3100 2 - 3800 3 - 4600 4 - 4800 5 - 4900 6 - 5000 7 >; + gpio-fan,speed-map = + < 0 0>, + <2500 1>, + <3100 2>, + <3800 3>, + <4600 4>, + <4800 5>, + <4900 6>, + <5000 7>; }; gpio-leds-alarm-12 { diff --git a/arch/arm/boot/dts/marvell/mvebu-linkstation-fan.dtsi b/arch/arm/boot/dts/marvell/mvebu-linkstation-fan.dtsi index e172029a0c4d..a260c42dbda3 100644 --- a/arch/arm/boot/dts/marvell/mvebu-linkstation-fan.dtsi +++ b/arch/arm/boot/dts/marvell/mvebu-linkstation-fan.dtsi @@ -50,10 +50,10 @@ gpio_fan { pinctrl-names = "default"; gpio-fan,speed-map = - <0 3 - 1500 2 - 3250 1 - 5000 0>; + < 0 3>, + <1500 2>, + <3250 1>, + <5000 0>; }; }; -- 2.42.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 5/5] ARM: dts: marvell: make dts use gpio-fan matrix instead of array 2023-12-02 22:29 ` [PATCH v3 5/5] ARM: dts: marvell: " David Heidelberg @ 2023-12-02 22:42 ` Andrew Lunn 2023-12-08 15:33 ` Gregory CLEMENT 1 sibling, 0 replies; 10+ messages in thread From: Andrew Lunn @ 2023-12-02 22:42 UTC (permalink / raw) To: David Heidelberg Cc: Gregory Clement, Sebastian Hesselbarth, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Andre Przywara, Peter Rosin, Heiko Stuebner, Nick Hawkins, Viresh Kumar, Simon Guinot, Wei Xu, Claudiu Beznea, Enric Balletbo i Serra, Baruch Siach, Rob Herring, linux-arm-kernel, devicetree, linux-kernel On Sat, Dec 02, 2023 at 11:29:04PM +0100, David Heidelberg wrote: > No functional changes. > > Adjust to comply with dt-schema requirements > and make possible to validate values. > > Acked-by: Simon Guinot <simon.guinot@sequanux.org> > Signed-off-by: David Heidelberg <david@ixit.cz> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 5/5] ARM: dts: marvell: make dts use gpio-fan matrix instead of array 2023-12-02 22:29 ` [PATCH v3 5/5] ARM: dts: marvell: " David Heidelberg 2023-12-02 22:42 ` Andrew Lunn @ 2023-12-08 15:33 ` Gregory CLEMENT 1 sibling, 0 replies; 10+ messages in thread From: Gregory CLEMENT @ 2023-12-08 15:33 UTC (permalink / raw) To: David Heidelberg, Andrew Lunn, Sebastian Hesselbarth, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Andre Przywara, Peter Rosin, Heiko Stuebner, Nick Hawkins, Viresh Kumar, David Heidelberg Cc: Simon Guinot, Wei Xu, Claudiu Beznea, Enric Balletbo i Serra, Baruch Siach, Rob Herring, linux-arm-kernel, devicetree, linux-kernel David Heidelberg <david@ixit.cz> writes: > No functional changes. > > Adjust to comply with dt-schema requirements > and make possible to validate values. > > Acked-by: Simon Guinot <simon.guinot@sequanux.org> > Signed-off-by: David Heidelberg <david@ixit.cz> Applied on mvebu/dt Thanks, Gregory > --- > arch/arm/boot/dts/marvell/armada-370-rd.dts | 2 +- > .../marvell/armada-370-seagate-nas-2bay.dts | 8 +- > .../marvell/armada-370-seagate-nas-4bay.dts | 8 +- > .../marvell/armada-370-synology-ds213j.dts | 16 +-- > .../dts/marvell/armada-385-synology-ds116.dts | 16 +-- > arch/arm/boot/dts/marvell/armada-388-gp.dts | 4 +- > arch/arm/boot/dts/marvell/kirkwood-dnskw.dtsi | 6 +- > .../marvell/kirkwood-linkstation-6282.dtsi | 9 +- > .../marvell/kirkwood-linkstation-lswxl.dts | 9 +- > arch/arm/boot/dts/marvell/kirkwood-lsxl.dtsi | 9 +- > arch/arm/boot/dts/marvell/kirkwood-ns2max.dts | 18 ++-- > .../arm/boot/dts/marvell/kirkwood-ns2mini.dts | 18 ++-- > .../boot/dts/marvell/kirkwood-synology.dtsi | 102 +++++++++--------- > .../dts/marvell/mvebu-linkstation-fan.dtsi | 8 +- > 14 files changed, 121 insertions(+), 112 deletions(-) -- Gregory Clement, Bootlin Embedded Linux and Kernel engineering http://bootlin.com ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 1/5] dt-bindings: arm: hwmon: gpio-fan: Convert txt bindings to yaml 2023-12-02 22:29 [PATCH v3 1/5] dt-bindings: arm: hwmon: gpio-fan: Convert txt bindings to yaml David Heidelberg ` (3 preceding siblings ...) 2023-12-02 22:29 ` [PATCH v3 5/5] ARM: dts: marvell: " David Heidelberg @ 2023-12-06 21:50 ` Rob Herring 4 siblings, 0 replies; 10+ messages in thread From: Rob Herring @ 2023-12-06 21:50 UTC (permalink / raw) To: David Heidelberg Cc: Jean Delvare, Guenter Roeck, Krzysztof Kozlowski, Conor Dooley, linux-hwmon, devicetree, linux-kernel On Sat, Dec 02, 2023 at 11:29:00PM +0100, David Heidelberg wrote: > Convert fan devices connected to GPIOs to the YAML syntax. > > Signed-off-by: David Heidelberg <david@ixit.cz> > --- > .../devicetree/bindings/hwmon/gpio-fan.txt | 41 ----------- > .../devicetree/bindings/hwmon/gpio-fan.yaml | 70 +++++++++++++++++++ > 2 files changed, 70 insertions(+), 41 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/hwmon/gpio-fan.txt > create mode 100644 Documentation/devicetree/bindings/hwmon/gpio-fan.yaml > > diff --git a/Documentation/devicetree/bindings/hwmon/gpio-fan.txt b/Documentation/devicetree/bindings/hwmon/gpio-fan.txt > deleted file mode 100644 > index f4cfa350f6a1..000000000000 > --- a/Documentation/devicetree/bindings/hwmon/gpio-fan.txt > +++ /dev/null > @@ -1,41 +0,0 @@ > -Bindings for fan connected to GPIO lines > - > -Required properties: > -- compatible : "gpio-fan" > - > -Optional properties: > -- gpios: Specifies the pins that map to bits in the control value, > - ordered MSB-->LSB. > -- gpio-fan,speed-map: A mapping of possible fan RPM speeds and the > - control value that should be set to achieve them. This array > - must have the RPM values in ascending order. > -- alarm-gpios: This pin going active indicates something is wrong with > - the fan, and a udev event will be fired. > -- #cooling-cells: If used as a cooling device, must be <2> > - Also see: > - Documentation/devicetree/bindings/thermal/thermal-cooling-devices.yaml > - min and max states are derived from the speed-map of the fan. > - > -Note: At least one the "gpios" or "alarm-gpios" properties must be set. > - > -Examples: > - > - gpio_fan { > - compatible = "gpio-fan"; > - gpios = <&gpio1 14 1 > - &gpio1 13 1>; > - gpio-fan,speed-map = <0 0 > - 3000 1 > - 6000 2>; > - alarm-gpios = <&gpio1 15 1>; > - }; > - gpio_fan_cool: gpio_fan { > - compatible = "gpio-fan"; > - gpios = <&gpio2 14 1 > - &gpio2 13 1>; > - gpio-fan,speed-map = <0 0>, > - <3000 1>, > - <6000 2>; > - alarm-gpios = <&gpio2 15 1>; > - #cooling-cells = <2>; /* min followed by max */ > - }; > diff --git a/Documentation/devicetree/bindings/hwmon/gpio-fan.yaml b/Documentation/devicetree/bindings/hwmon/gpio-fan.yaml > new file mode 100644 > index 000000000000..0e220874bee6 > --- /dev/null > +++ b/Documentation/devicetree/bindings/hwmon/gpio-fan.yaml > @@ -0,0 +1,70 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/hwmon/gpio-fan.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Fan connected to GPIO lines > + > +maintainers: > + - Rob Herring <robh@kernel.org> > + > +properties: > + compatible: > + const: gpio-fan > + > + gpios: > + description: | > + Specifies the pins that map to bits in the control value, > + ordered MSB-->LSB. > + minItems: 1 > + maxItems: 7 > + > + alarm-gpios: > + maxItems: 1 > + > + gpio-fan,speed-map: > + $ref: /schemas/types.yaml#/definitions/uint32-matrix > + minItems: 2 > + maxItems: 127 > + items: > + items: > + - description: fan speed in RPMs > + - description: control value > + description: | > + A mapping of possible fan RPM speeds and the > + control value that should be set to achieve them. This array > + must have the RPM values in ascending order. > + > + '#cooling-cells': > + const: 2 > + > +required: > + - compatible > + - gpios > + - gpio-fan,speed-map > + > +additionalProperties: false > + > +examples: > + - | > + gpio_fan { > + compatible = "gpio-fan"; > + gpios = <&gpio1 14 1 > + &gpio1 13 1>; > + gpio-fan,speed-map = < 0 0>, > + < 3000 1>, > + <36000 2>; > + alarm-gpios = <&gpio1 15 1>; > + }; > + - | > + gpio_fan_cool: gpio_fan { Drop unused labels. > + compatible = "gpio-fan"; > + gpios = <&gpio2 14 1 > + &gpio2 13 1>; > + gpio-fan,speed-map = < 0 0>, > + <3000 1>, > + <6000 2>; > + alarm-gpios = <&gpio2 15 1>; > + #cooling-cells = <2>; /* min followed by max */ > + }; Not really much difference in the 2 examples. Drop the first one (having fewer properties). Rob ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-12-08 15:33 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-12-02 22:29 [PATCH v3 1/5] dt-bindings: arm: hwmon: gpio-fan: Convert txt bindings to yaml David Heidelberg 2023-12-02 22:29 ` [PATCH v3 2/5] arm64: dts: imx8mq-phanbell: make dts use gpio-fan matrix instead of array David Heidelberg 2023-12-06 3:16 ` Shawn Guo 2023-12-02 22:29 ` [PATCH v3 3/5] arm64: dts: rockchip: " David Heidelberg 2023-12-02 22:29 ` [PATCH v3 4/5] ARM: dts: tegra30-ouya: " David Heidelberg 2023-12-04 10:23 ` Linus Walleij 2023-12-02 22:29 ` [PATCH v3 5/5] ARM: dts: marvell: " David Heidelberg 2023-12-02 22:42 ` Andrew Lunn 2023-12-08 15:33 ` Gregory CLEMENT 2023-12-06 21:50 ` [PATCH v3 1/5] dt-bindings: arm: hwmon: gpio-fan: Convert txt bindings to yaml Rob Herring
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).