From 763124970832d108e23a6fd5afa467550300d7c8 Mon Sep 17 00:00:00 2001 From: Elaine Zhang Date: Fri, 28 Dec 2018 19:48:32 +0800 Subject: [PATCH] thermal: rockchip: add pinctrl control Based on the TSADC Tshut mode to select pinctrl, instead of setting pinctrl based on architecture (Not depends on pinctrl setting by "init" or "default"). And it requires setting the tshut polarity before select pinctrl. Change-Id: Iac9ca05073b0181ee13b0048d0c2a54204f82bca Signed-off-by: Elaine Zhang --- .../bindings/thermal/rockchip-thermal.txt | 13 ++++++------- arch/arm/boot/dts/rk322x.dtsi | 3 +-- arch/arm/boot/dts/rk3288.dtsi | 3 +-- arch/arm64/boot/dts/rockchip/rk3328.dtsi | 3 +-- arch/arm64/boot/dts/rockchip/rk3399.dtsi | 3 +-- drivers/thermal/rockchip_thermal.c | 3 +++ 6 files changed, 13 insertions(+), 15 deletions(-) diff --git a/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt b/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt index 3a51af82616d..33d90bf868da 100644 --- a/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt +++ b/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt @@ -21,10 +21,10 @@ Required properties: See ../reset/reset.txt for details. - reset-names : Must include the name "tsadc-apb". - pinctrl-names : The pin control state names; -- pinctrl-0 : The "init" pinctrl state, it will be set before device probe. -- pinctrl-1 : The "default" pinctrl state, it will be set after reset the - TSADC controller. -- pinctrl-2 : The "sleep" pinctrl state, it will be in for suspend. +- pinctrl-0 : The "gpio" pinctrl state, it will be set if tsadc via reset + CRU when tshut. +- pinctrl-1 : The "otpout" pinctrl state, it will be set if tsadc via set + otpout_gpio when tshut. - #thermal-sensor-cells : Should be 1. See Documentation/devicetree/bindings/thermal/thermal-sensor.yaml for a description. Optional properties: @@ -43,10 +43,9 @@ tsadc: tsadc@ff280000 { clock-names = "tsadc", "apb_pclk"; resets = <&cru SRST_TSADC>; reset-names = "tsadc-apb"; - pinctrl-names = "init", "default", "sleep"; - pinctrl-0 = <&otp_gpio>; + pinctrl-names = "gpio", "otpout"; + pinctrl-0 = <&otp_pin>; pinctrl-1 = <&otp_out>; - pinctrl-2 = <&otp_gpio>; #thermal-sensor-cells = <1>; rockchip,hw-tshut-temp = <95000>; rockchip,hw-tshut-mode = <0>; diff --git a/arch/arm/boot/dts/rk322x.dtsi b/arch/arm/boot/dts/rk322x.dtsi index 48e6e8d44a1a..5f02a87cbbf0 100644 --- a/arch/arm/boot/dts/rk322x.dtsi +++ b/arch/arm/boot/dts/rk322x.dtsi @@ -520,10 +520,9 @@ tsadc: tsadc@11150000 { assigned-clock-rates = <32768>; resets = <&cru SRST_TSADC>; reset-names = "tsadc-apb"; - pinctrl-names = "init", "default", "sleep"; + pinctrl-names = "gpio", "otpout"; pinctrl-0 = <&otp_pin>; pinctrl-1 = <&otp_out>; - pinctrl-2 = <&otp_pin>; #thermal-sensor-cells = <0>; rockchip,hw-tshut-temp = <95000>; status = "disabled"; diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi index 68d5a58cfe88..b361c46fc3bb 100644 --- a/arch/arm/boot/dts/rk3288.dtsi +++ b/arch/arm/boot/dts/rk3288.dtsi @@ -576,10 +576,9 @@ tsadc: tsadc@ff280000 { clock-names = "tsadc", "apb_pclk"; resets = <&cru SRST_TSADC>; reset-names = "tsadc-apb"; - pinctrl-names = "init", "default", "sleep"; + pinctrl-names = "gpio", "otpout"; pinctrl-0 = <&otp_pin>; pinctrl-1 = <&otp_out>; - pinctrl-2 = <&otp_pin>; #thermal-sensor-cells = <1>; rockchip,grf = <&grf>; rockchip,hw-tshut-temp = <95000>; diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi index 93c734d8a46c..b889a0be366b 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi @@ -552,10 +552,9 @@ tsadc: tsadc@ff250000 { assigned-clock-rates = <50000>; clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; clock-names = "tsadc", "apb_pclk"; - pinctrl-names = "init", "default", "sleep"; + pinctrl-names = "gpio", "otpout"; pinctrl-0 = <&otp_pin>; pinctrl-1 = <&otp_out>; - pinctrl-2 = <&otp_pin>; resets = <&cru SRST_TSADC>; reset-names = "tsadc-apb"; rockchip,grf = <&grf>; diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi index 6541eb20e2f1..f8a95eb7beb7 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi @@ -864,10 +864,9 @@ tsadc: tsadc@ff260000 { reset-names = "tsadc-apb"; rockchip,grf = <&grf>; rockchip,hw-tshut-temp = <95000>; - pinctrl-names = "init", "default", "sleep"; + pinctrl-names = "gpio", "otpout"; pinctrl-0 = <&otp_pin>; pinctrl-1 = <&otp_out>; - pinctrl-2 = <&otp_pin>; #thermal-sensor-cells = <1>; status = "disabled"; }; diff --git a/drivers/thermal/rockchip_thermal.c b/drivers/thermal/rockchip_thermal.c index 820d3a1c0fb0..e92fabe9aecd 100644 --- a/drivers/thermal/rockchip_thermal.c +++ b/drivers/thermal/rockchip_thermal.c @@ -150,6 +150,9 @@ struct rockchip_thermal_sensor { * @tshut_temp: the hardware-controlled shutdown temperature value * @tshut_mode: the hardware-controlled shutdown mode (0:CRU 1:GPIO) * @tshut_polarity: the hardware-controlled active polarity (0:LOW 1:HIGH) + * @pinctrl: the pinctrl of tsadc + * @gpio_state: pinctrl select gpio function + * @otp_state: pinctrl select otp out function */ struct rockchip_thermal_data { const struct rockchip_tsadc_chip *chip;