From 1e47858fa9e5a4780ef0c72c6ee4fdfd34809e77 Mon Sep 17 00:00:00 2001 From: David Wu Date: Thu, 31 Oct 2019 15:19:35 +0800 Subject: [PATCH] ARM: dts: rockchip: Set pwm pin default pull setting when used for pwm regulator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As a second global reset, the GRF is not reset, the iomux and pull of PWM pin is still keeping, but PWM controller is reset, PWM pin goes into input mode. However, the pull is still none changed in kernel, which can cause voltage problems, so should always keep the PWM pin pull down mode, with 0~50 μA power increase. Change-Id: I9f46feca00bdb6e8cad4794342d2936d62206164 Signed-off-by: David Wu --- arch/arm/boot/dts/rk3229-evb.dts | 4 ++++ arch/arm/boot/dts/rk322x.dtsi | 16 ++++++++++++++++ arch/arm/boot/dts/rk3288-evb-rk808-linux.dts | 2 ++ arch/arm/boot/dts/rk3288.dtsi | 17 +++++++++++++++++ 4 files changed, 39 insertions(+) diff --git a/arch/arm/boot/dts/rk3229-evb.dts b/arch/arm/boot/dts/rk3229-evb.dts index ff65874acdff..4c034653c941 100644 --- a/arch/arm/boot/dts/rk3229-evb.dts +++ b/arch/arm/boot/dts/rk3229-evb.dts @@ -318,10 +318,14 @@ &pwm1 { status = "okay"; + pinctrl-names = "active"; + pinctrl-0 = <&pwm1_pin_pull_down>; }; &pwm2 { status = "okay"; + pinctrl-names = "active"; + pinctrl-0 = <&pwm2_pin_pull_down>; }; &tsadc { diff --git a/arch/arm/boot/dts/rk322x.dtsi b/arch/arm/boot/dts/rk322x.dtsi index 7ca08d8ee5d2..779fc32873c4 100644 --- a/arch/arm/boot/dts/rk322x.dtsi +++ b/arch/arm/boot/dts/rk322x.dtsi @@ -1528,24 +1528,40 @@ pwm0_pin: pwm0-pin { rockchip,pins = <3 21 RK_FUNC_1 &pcfg_pull_none>; }; + + pwm0_pin_pull_down: pwm0-pin-pull-down { + rockchip,pins = <3 21 RK_FUNC_1 &pcfg_pull_down>; + }; }; pwm1 { pwm1_pin: pwm1-pin { rockchip,pins = <0 30 RK_FUNC_2 &pcfg_pull_none>; }; + + pwm1_pin_pull_down: pwm1-pin-pull-down { + rockchip,pins = <0 30 RK_FUNC_2 &pcfg_pull_down>; + }; }; pwm2 { pwm2_pin: pwm2-pin { rockchip,pins = <1 12 RK_FUNC_2 &pcfg_pull_none>; }; + + pwm2_pin_pull_down: pwm2-pin-pull-down { + rockchip,pins = <1 12 RK_FUNC_2 &pcfg_pull_down>; + }; }; pwm3 { pwm3_pin: pwm3-pin { rockchip,pins = <1 11 RK_FUNC_2 &pcfg_pull_none>; }; + + pwm3_pin_pull_down: pwm3-pin-pull-down { + rockchip,pins = <1 11 RK_FUNC_2 &pcfg_pull_down>; + }; }; spdif { diff --git a/arch/arm/boot/dts/rk3288-evb-rk808-linux.dts b/arch/arm/boot/dts/rk3288-evb-rk808-linux.dts index 2c3099f4c66a..b3ee4c161a86 100644 --- a/arch/arm/boot/dts/rk3288-evb-rk808-linux.dts +++ b/arch/arm/boot/dts/rk3288-evb-rk808-linux.dts @@ -575,6 +575,8 @@ }; &pwm1 { + pinctrl-names = "active"; + pinctrl-0 = <&pwm1_pin_pull_down>; status = "okay"; }; diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi index b24543b75c36..2610edafd289 100644 --- a/arch/arm/boot/dts/rk3288.dtsi +++ b/arch/arm/boot/dts/rk3288.dtsi @@ -1917,24 +1917,41 @@ pwm0_pin: pwm0-pin { rockchip,pins = <7 0 RK_FUNC_1 &pcfg_pull_none>; }; + + pwm0_pin_pull_down: pwm0-pin-pull-down { + rockchip,pins = <7 0 RK_FUNC_1 &pcfg_pull_down>; + }; + }; pwm1 { pwm1_pin: pwm1-pin { rockchip,pins = <7 1 RK_FUNC_1 &pcfg_pull_none>; }; + + pwm1_pin_pull_down: pwm1-pin-pull-down { + rockchip,pins = <7 1 RK_FUNC_1 &pcfg_pull_down>; + }; }; pwm2 { pwm2_pin: pwm2-pin { rockchip,pins = <7 22 3 &pcfg_pull_none>; }; + + pwm2_pin_pull_down: pwm2-pin-pull-down { + rockchip,pins = <7 22 3 &pcfg_pull_down>; + }; }; pwm3 { pwm3_pin: pwm3-pin { rockchip,pins = <7 23 3 &pcfg_pull_none>; }; + + pwm3_pin_pull_down: pwm3-pin-pull-down { + rockchip,pins = <7 23 3 &pcfg_pull_down>; + }; }; gmac {