lkml.org 
[lkml]   [2018]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 4/6] thermal: tsens: Add support for SDM845
    Date
    SDM845 uses v2.4.0 of the TSENS IP block but the get_temp() function
    appears to be identical across v2.x.y in code seen so far. We use the
    generic get_temp() function.

    Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
    ---
    Documentation/devicetree/bindings/thermal/qcom-tsens.txt | 2 ++
    drivers/thermal/qcom/tsens-v2.c | 6 +++++-
    drivers/thermal/qcom/tsens.c | 6 ++++++
    drivers/thermal/qcom/tsens.h | 5 ++++-
    4 files changed, 17 insertions(+), 2 deletions(-)

    diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.txt b/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
    index 06195e8..075182e 100644
    --- a/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
    +++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.txt
    @@ -5,6 +5,8 @@ Required properties:
    - "qcom,msm8916-tsens" : For 8916 Family of SoCs
    - "qcom,msm8974-tsens" : For 8974 Family of SoCs
    - "qcom,msm8996-tsens" : For 8996 Family of SoCs
    + - "qcom,tsens-v2.4.0" : For SDM845 Family of SoCs
    + - "qcom,tsens-v2" : Generic fallback binding for any Soc using 2.x.y version of the tsens IP

    - reg: Address range of the thermal registers
    - #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description.
    diff --git a/drivers/thermal/qcom/tsens-v2.c b/drivers/thermal/qcom/tsens-v2.c
    index 2eca7ff..1871945 100644
    --- a/drivers/thermal/qcom/tsens-v2.c
    +++ b/drivers/thermal/qcom/tsens-v2.c
    @@ -69,8 +69,12 @@ static const struct tsens_ops ops_generic_v2 = {
    .get_temp = get_temp_tsens_v2,
    };

    +const struct tsens_data data_tsens_v2 = {
    + .ops = &ops_generic_v2,
    +};
    +
    +/* Kept around for backward compatibility with old msm8996.dtsi */
    const struct tsens_data data_8996 = {
    .num_sensors = 13,
    .ops = &ops_generic_v2,
    };
    -
    diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c
    index 3440166c..992ed17 100644
    --- a/drivers/thermal/qcom/tsens.c
    +++ b/drivers/thermal/qcom/tsens.c
    @@ -72,6 +72,12 @@ static const struct of_device_id tsens_table[] = {
    }, {
    .compatible = "qcom,msm8996-tsens",
    .data = &data_8996,
    + }, {
    + .compatible = "qcom,tsens-v2.4.0",
    + .data = &data_tsens_v2,
    + }, {
    + .compatible = "qcom,tsens-v2",
    + .data = &data_tsens_v2,
    },
    {}
    };
    diff --git a/drivers/thermal/qcom/tsens.h b/drivers/thermal/qcom/tsens.h
    index dc56e1e..69212cb 100644
    --- a/drivers/thermal/qcom/tsens.h
    +++ b/drivers/thermal/qcom/tsens.h
    @@ -87,6 +87,9 @@ void compute_intercept_slope(struct tsens_device *, u32 *, u32 *, u32);
    int init_common(struct tsens_device *);
    int get_temp_common(struct tsens_device *, int, int *);

    -extern const struct tsens_data data_8916, data_8974, data_8960, data_8996;
    +/* TSENS v1 targets */
    +extern const struct tsens_data data_8916, data_8974, data_8960;
    +/* TSENS v2 targets */
    +extern const struct tsens_data data_8996, data_tsens_v2;

    #endif /* __QCOM_TSENS_H__ */
    --
    2.7.4
    \
     
     \ /
      Last update: 2018-07-02 14:46    [W:4.397 / U:0.352 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site