From: Yangtao Li <tiny.windzz@gmail.com> To: rui.zhang@intel.com, edubezval@gmail.com, daniel.lezcano@linaro.org, robh+dt@kernel.org, mark.rutland@arm.com, maxime.ripard@bootlin.com, wens@csie.org, mchehab+samsung@kernel.org, davem@davemloft.net, gregkh@linuxfoundation.org, Jonathan.Cameron@huawei.com, nicolas.ferre@microchip.com Cc: linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Icenowy Zheng <icenowy@aosc.io> Subject: [PATCH v5 16/18] thermal: sun8i: add support for Allwinner H5 thermal sensor Date: Sat, 10 Aug 2019 05:28:27 +0000 Message-ID: <20190810052829.6032-17-tiny.windzz@gmail.com> (raw) In-Reply-To: <20190810052829.6032-1-tiny.windzz@gmail.com> From: Icenowy Zheng <icenowy@aosc.io> The thermal sensor in Allwinner H5 has 2 sensors, and they have a special segmented temperature calculation formula. Add support for this thermal sensor. Signed-off-by: Icenowy Zheng <icenowy@aosc.io> --- drivers/thermal/sun8i_thermal.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/drivers/thermal/sun8i_thermal.c b/drivers/thermal/sun8i_thermal.c index a761e2afda08..78a888d85cba 100644 --- a/drivers/thermal/sun8i_thermal.c +++ b/drivers/thermal/sun8i_thermal.c @@ -99,6 +99,16 @@ static int sun8i_ths_reg2temp(struct ths_device *tmdev, return (reg + tmdev->chip->offset) * tmdev->chip->scale; } +static int sun50i_h5_calc_temp(int id, int reg) +{ + if (reg >= 0x500) + return -1191 * reg / 10 + 223000; + else if (!id) + return -1452 * reg / 10 + 259000; + else + return -1590 * reg / 10 + 276000; +} + static int sun8i_ths_get_temp(void *data, int *temp) { struct tsensor *s = data; @@ -530,6 +540,16 @@ static const struct ths_thermal_chip sun50i_a64_ths = { .irq_ack = sun8i_h3_irq_ack, }; +static const struct ths_thermal_chip sun50i_h5_ths = { + .sensor_num = 2, + .has_mod_clk = true, + .temp_data_base = SUN8I_THS_TEMP_DATA, + .calibrate = sun8i_h3_ths_calibrate, + .init = sun8i_h3_thermal_init, + .irq_ack = sun8i_h3_irq_ack, + .calc_temp = sun50i_h5_calc_temp, +}; + static const struct ths_thermal_chip sun50i_h6_ths = { .sensor_num = 2, .offset = -2794, @@ -544,6 +564,7 @@ static const struct ths_thermal_chip sun50i_h6_ths = { static const struct of_device_id of_ths_match[] = { { .compatible = "allwinner,sun8i-h3-ths", .data = &sun8i_h3_ths }, { .compatible = "allwinner,sun50i-a64-ths", .data = &sun50i_a64_ths }, + { .compatible = "allwinner,sun50i-h5-ths", .data = &sun50i_h5_ths }, { .compatible = "allwinner,sun50i-h6-ths", .data = &sun50i_h6_ths }, { /* sentinel */ }, }; -- 2.17.1
next prev parent reply index Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-08-10 5:28 [PATCH v5 00/18] add thermal driver for h6 Yangtao Li 2019-08-10 5:28 ` [PATCH v5 01/18] thermal: sun8i: " Yangtao Li 2019-09-01 2:06 ` Ondřej Jirman 2019-09-01 21:04 ` Ondřej Jirman 2019-08-10 5:28 ` [PATCH v5 02/18] dt-bindings: thermal: add binding document for h6 thermal controller Yangtao Li 2019-08-12 8:56 ` Maxime Ripard 2019-08-12 23:40 ` Frank Lee 2019-08-16 9:47 ` Maxime Ripard 2019-08-10 5:28 ` [PATCH v5 03/18] thermal: fix indentation in makefile Yangtao Li 2019-08-28 12:40 ` Zhang Rui 2019-08-10 5:28 ` [PATCH v5 04/18] thermal: sun8i: get ths sensor number from device compatible Yangtao Li 2019-08-10 5:28 ` [PATCH v5 05/18] thermal: sun8i: rework for sun8i_ths_get_temp() Yangtao Li 2019-08-10 5:28 ` [PATCH v5 06/18] thermal: sun8i: get ths init func from device compatible Yangtao Li 2019-08-10 5:28 ` [PATCH v5 07/18] thermal: sun8i: rework for ths irq handler func Yangtao Li 2019-08-10 5:28 ` [PATCH v5 08/18] thermal: sun8i: support mod clocks Yangtao Li 2019-08-10 6:16 ` Vasily Khoruzhick 2019-08-12 23:46 ` Frank Lee 2019-08-12 23:54 ` Vasily Khoruzhick 2019-08-13 20:06 ` Ondřej Jirman 2019-08-14 3:01 ` Vasily Khoruzhick 2019-08-25 16:14 ` Frank Lee 2019-10-21 3:41 ` Vasily Khoruzhick 2019-08-10 5:28 ` [PATCH v5 09/18] thermal: sun8i: rework for ths calibrate func Yangtao Li 2019-08-28 12:45 ` Zhang Rui 2019-08-10 5:28 ` [PATCH v5 10/18] dt-bindings: thermal: add binding document for h3 thermal controller Yangtao Li 2019-08-27 15:26 ` Rob Herring 2019-08-10 5:28 ` [PATCH v5 11/18] thermal: sun8i: add thermal driver for h3 Yangtao Li 2019-08-10 5:28 ` [PATCH v5 12/18] dt-bindings: thermal: add binding document for a64 thermal controller Yangtao Li 2019-08-27 15:26 ` Rob Herring 2019-08-10 5:28 ` [PATCH v5 13/18] thermal: sun8i: add thermal driver for A64 Yangtao Li 2019-08-10 5:28 ` [PATCH v5 14/18] dt-bindings: thermal: add binding document for h5 thermal controller Yangtao Li 2019-08-27 15:27 ` Rob Herring 2019-08-10 5:28 ` [PATCH v5 15/18] thermal: sun8i: allow to use custom temperature calculation function Yangtao Li 2019-08-12 8:49 ` Maxime Ripard 2019-08-10 5:28 ` Yangtao Li [this message] 2019-08-10 5:28 ` [PATCH v5 17/18] dt-bindings: thermal: add binding document for r40 thermal controller Yangtao Li 2019-08-27 15:27 ` Rob Herring 2019-08-10 5:28 ` [PATCH v5 18/18] thermal: sun8i: add support for Allwinner R40 thermal sensor Yangtao Li 2019-08-11 21:14 ` [PATCH v5 00/18] add thermal driver for h6 Clément Péron 2019-08-12 23:36 ` Frank Lee 2019-09-01 21:52 ` Ondřej Jirman 2019-09-02 7:27 ` Maxime Ripard 2019-09-02 10:58 ` Ondřej Jirman 2019-11-26 19:36 ` Vasily Khoruzhick
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190810052829.6032-17-tiny.windzz@gmail.com \ --to=tiny.windzz@gmail.com \ --cc=Jonathan.Cameron@huawei.com \ --cc=daniel.lezcano@linaro.org \ --cc=davem@davemloft.net \ --cc=devicetree@vger.kernel.org \ --cc=edubezval@gmail.com \ --cc=gregkh@linuxfoundation.org \ --cc=icenowy@aosc.io \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=maxime.ripard@bootlin.com \ --cc=mchehab+samsung@kernel.org \ --cc=nicolas.ferre@microchip.com \ --cc=robh+dt@kernel.org \ --cc=rui.zhang@intel.com \ --cc=wens@csie.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-PM Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-pm/0 linux-pm/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-pm linux-pm/ https://lore.kernel.org/linux-pm \ linux-pm@vger.kernel.org public-inbox-index linux-pm Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-pm AGPL code for this site: git clone https://public-inbox.org/public-inbox.git