devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
To: Philipp Rossak <embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	wens-jdAy2FN1RRM@public.gmane.org,
	linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org,
	jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	knaack.h-Mmb7MZpHnFY@public.gmane.org,
	lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org,
	pmeerw-jW+XmwGofnusTnJN9+BGXg@public.gmane.org,
	davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org,
	hans.verkuil-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org,
	mchehab-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	rask-SivP7zSAdNDZaaYASwVUlg@public.gmane.org,
	clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	sean-hENCXIMQXOg@public.gmane.org,
	krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	quentin.schulz-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org,
	icenowy-h8G6r0blFSE@public.gmane.org,
	edu.molinas-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	singhalsimran0-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Subject: Re: [PATCH v2 01/16] dt-bindings: update the Allwinner GPADC device tree binding for H3 & A83T
Date: Mon, 29 Jan 2018 10:19:37 +0100	[thread overview]
Message-ID: <20180129091937.w3c3btvva5yaqlf6@flea.lan> (raw)
In-Reply-To: <20180128232919.12639-2-embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 4085 bytes --]

Hi Philipp,

On Mon, Jan 29, 2018 at 12:29:04AM +0100, Philipp Rossak wrote:
> Allwinner H3 features a thermal sensor like the one in A33, but has its
> register re-arranged, the clock divider moved to CCU (originally the
> clock divider is in ADC) and added a pair of bus clock and reset.
> 
> Allwinner A83T features a thermal sensor similar to the H3, the ths clock,
> the bus clock and the reset was removed from the CCU. The THS in A83T
> has a clock that is directly connected and runs with 24 MHz.
> 
> Update the binding document to cover H3 and A83T.
> 
> Signed-off-by: Philipp Rossak <embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

Thanks a lot for tackling this.

> ---
>  .../devicetree/bindings/mfd/sun4i-gpadc.txt        | 50 ++++++++++++++++++++--
>  1 file changed, 47 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
> index 86dd8191b04c..22df0c5c23d4 100644
> --- a/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
> +++ b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
> @@ -4,12 +4,35 @@ The Allwinner SoCs all have an ADC that can also act as a thermal sensor
>  and sometimes as a touchscreen controller.
>  
>  Required properties:
> -  - compatible: "allwinner,sun8i-a33-ths",
> +  - compatible: must contain one of the following compatibles:
> +		- "allwinner,sun8i-a33-ths"
> +		- "allwinner,sun8i-h3-ths"
> +		- "allwinner,sun8i-a83t-ths"
>    - reg: mmio address range of the chip,
> -  - #thermal-sensor-cells: shall be 0,
> +  - #thermal-sensor-cells: shall be 0 or 1,
>    - #io-channel-cells: shall be 0,
>  
> -Example:
> +Required properties for the following compatibles:
> +		- "allwinner,sun8i-h3-ths"
> +		- "allwinner,sun8i-a83t-ths"
> +  - interrupts: the sampling interrupt of the ADC,
> +
> +Required properties for the following compatibles:
> +		- "allwinner,sun8i-h3-ths"
> +  - clocks: the bus clock and the input clock of the ADC,
> +  - clock-names: should be "bus" and "mod",
> +  - resets: the bus reset of the ADC,
> +
> +Optional properties for the following compatibles:
> +		- "allwinner,sun8i-h3-ths"
> +  - nvmem-cells: A phandle to the calibration data provided by a nvmem device.
> +		If unspecified default values shall be used. The size should
> +		be 0x2 * sensorcount.
> +  - nvmem-cell-names: Should be "calibration".
> +
> +Details see: bindings/nvmem/nvmem.txt
> +
> +Example for A33:
>  	ths: ths@1c25000 {
>  		compatible = "allwinner,sun8i-a33-ths";
>  		reg = <0x01c25000 0x100>;
> @@ -17,6 +40,27 @@ Example:
>  		#io-channel-cells = <0>;
>  	};
>  
> +Example for H3:
> +	ths: thermal-sensor@1c25000 {
> +		compatible = "allwinner,sun8i-h3-ths";
> +		reg = <0x01c25000 0x400>;
> +		clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>;
> +		clock-names = "bus", "mod";
> +		resets = <&ccu RST_BUS_THS>;
> +		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
> +		#thermal-sensor-cells = <0>;
> +		#io-channel-cells = <0>;
> +	};
> +
> +Example for A83T:
> +	ths: thermal-sensor@1f04000 {
> +		compatible = "allwinner,sun8i-a83t-ths";
> +		reg = <0x01f04000 0x100>;
> +		interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
> +		#thermal-sensor-cells = <1>;
> +		#io-channel-cells = <0>;
> +	};
> +

I'm wondering if this is actually needed. We've used this convoluted
constructs to be compatible with the old driver, but I'm not sure this
is actually worth it now, and this is causing several issues, among
which:
  - We need to have a bunch of quirks to handle all the DT cases.
  - We need to have an MFD, which isn't really optimal

So I'd rather introduce a new compatible for the old SoCs, keep the
old driver around, and simplify a lot that driver code that will ease
further developments. And we can also get rid of the MFD in the
process. I discussed it with Quentin, and he was ok with it, what do
you think?

(and that would involve creating a new file for the bindings you
introduce here).

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

  parent reply	other threads:[~2018-01-29  9:19 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-28 23:29 [PATCH v2 00/16] IIO-based thermal sensor driver for Allwinner H3 and A83T SoC Philipp Rossak
2018-01-28 23:29 ` [PATCH v2 08/16] iio: adc: sun4i-gpadc-iio: rework: add interrupt support Philipp Rossak
     [not found]   ` <20180128232919.12639-9-embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-31 19:07     ` Quentin Schulz
2018-02-02 14:30       ` Philipp Rossak
2018-01-31 21:47     ` kbuild test robot
     [not found] ` <20180128232919.12639-1-embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-28 23:29   ` [PATCH v2 01/16] dt-bindings: update the Allwinner GPADC device tree binding for H3 & A83T Philipp Rossak
     [not found]     ` <20180128232919.12639-2-embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-29  9:19       ` Maxime Ripard [this message]
     [not found]         ` <20180129091937.w3c3btvva5yaqlf6-ZC1Zs529Oq4@public.gmane.org>
2018-01-29 12:30           ` Philipp Rossak
2018-01-31 17:40       ` Quentin Schulz
2018-01-31 18:14         ` Philipp Rossak
2018-01-28 23:29   ` [PATCH v2 02/16] arm: config: sunxi_defconfig: enable SUN4I_GPADC Philipp Rossak
     [not found]     ` <20180128232919.12639-3-embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-29  9:21       ` Maxime Ripard
2018-01-28 23:29   ` [PATCH v2 03/16] iio: adc: sun4i-gpadc-iio: rename A33-specified registers to contain A33 Philipp Rossak
2018-01-28 23:29   ` [PATCH v2 04/16] iio: adc: sun4i-gpadc-iio: rework: sampling start/end code readout reg Philipp Rossak
     [not found]     ` <20180128232919.12639-5-embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-29  9:27       ` Maxime Ripard
2018-01-31 17:51       ` Quentin Schulz
2018-01-31 18:35         ` Philipp Rossak
2018-01-28 23:29   ` [PATCH v2 05/16] iio: adc: sun4i-gpadc-iio: rework: support clocks and reset Philipp Rossak
2018-01-29  9:31     ` Maxime Ripard
2018-01-28 23:29   ` [PATCH v2 06/16] iio: adc: sun4i-gpadc-iio: rework: support multiple sensors Philipp Rossak
     [not found]     ` <20180128232919.12639-7-embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-29  9:37       ` Maxime Ripard
2018-01-31 18:42     ` Quentin Schulz
2018-02-02 14:13       ` Philipp Rossak
2018-01-28 23:29   ` [PATCH v2 07/16] iio: adc: sun4i-gpadc-iio: rework: support nvmem calibration data Philipp Rossak
     [not found]     ` <20180128232919.12639-8-embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-29  9:40       ` Maxime Ripard
     [not found]         ` <20180129094045.sagz2dnzvdadd4yx-ZC1Zs529Oq4@public.gmane.org>
2018-01-29 12:33           ` Philipp Rossak
     [not found]             ` <e319fde5-9ede-8be0-03ae-f0a22d50250c-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-30  8:36               ` Maxime Ripard
     [not found]                 ` <20180130083642.cdpd7jnthkdrrk5r-ZC1Zs529Oq4@public.gmane.org>
2018-02-02 15:24                   ` Philipp Rossak
2018-01-31 22:49       ` kbuild test robot
2018-01-28 23:29   ` [PATCH v2 09/16] iio: adc: sun4i-gpadc-iio: add support for H3 thermal sensor Philipp Rossak
     [not found]     ` <20180128232919.12639-10-embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-29  9:46       ` Maxime Ripard
2018-01-31 19:23       ` Quentin Schulz
2018-02-02 14:42         ` Philipp Rossak
2018-01-28 23:29   ` [PATCH v2 10/16] iio: adc: sun4i-gpadc-iio: add support for A83T " Philipp Rossak
     [not found]     ` <20180128232919.12639-11-embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-29  9:48       ` Maxime Ripard
     [not found]         ` <20180129094803.uiojqkmaeuihbe4p-ZC1Zs529Oq4@public.gmane.org>
2018-01-29 11:53           ` Philipp Rossak
2018-01-30  8:32             ` Maxime Ripard
2018-01-28 23:29   ` [PATCH v2 11/16] arm: dts: sunxi-h3-h5: add support for the thermal sensor in H3 and H5 Philipp Rossak
     [not found]     ` <20180128232919.12639-12-embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-29  9:49       ` Maxime Ripard
     [not found]         ` <20180129094918.4fvxpmoftgxxkqg3-ZC1Zs529Oq4@public.gmane.org>
2018-01-29 11:54           ` Philipp Rossak
2018-01-28 23:29   ` [PATCH v2 12/16] arm: dts: sun8i: h3: add support for the thermal sensor in H3 Philipp Rossak
2018-01-28 23:29   ` [PATCH v2 13/16] arm: dts: sun8i: h3: add thermal zone to H3 Philipp Rossak
     [not found]     ` <20180128232919.12639-14-embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-29  9:50       ` Maxime Ripard
     [not found]         ` <20180129095034.5crx7ydq5k6f7omv-ZC1Zs529Oq4@public.gmane.org>
2018-01-29 11:56           ` Philipp Rossak
2018-01-28 23:29   ` [PATCH v2 14/16] arm: dts: sun8i: h3: enable H3 sid controller Philipp Rossak
     [not found]     ` <20180128232919.12639-15-embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-29  9:52       ` Maxime Ripard
     [not found]         ` <20180129095200.attg7cgvpifpchtn-ZC1Zs529Oq4@public.gmane.org>
2018-01-29 12:03           ` Philipp Rossak
2018-04-19 15:11             ` [linux-sunxi] " Kyle Evans
2018-04-19 15:13               ` Icenowy Zheng
2018-04-19 15:19                 ` Kyle Evans
     [not found]                   ` <CACNAnaFMKDmvAUXJngKHWkeGLfjsgn5hhJszNk7Sg4BU98Oafw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-04-20  9:35                     ` Philipp Rossak
     [not found]                       ` <0ab29bf0-b069-338e-f312-e533656fa0b6-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-07-24 17:19                         ` Paul Kocialkowski
2018-07-25  9:05                           ` [linux-sunxi] " Emmanuel Vadot
     [not found]                             ` <20180725110512.b6fb81be76f66b07942e5af0-xXdDKFdH5B3kFDPD4ZthVA@public.gmane.org>
2018-07-25  9:12                               ` Paul Kocialkowski
2018-01-28 23:29   ` [PATCH v2 15/16] arm: dts: sun8i: a83t: add support for the thermal sensor in A83T Philipp Rossak
2018-01-28 23:29   ` [PATCH v2 16/16] arm: dts: sun8i: a83t: add thermal zone to A83T Philipp Rossak

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=20180129091937.w3c3btvva5yaqlf6@flea.lan \
    --to=maxime.ripard-wi1+55scjutkeb57/3fjtnbpr1lh4cv8@public.gmane.org \
    --cc=clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=edu.molinas-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=embed3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=hans.verkuil-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org \
    --cc=icenowy-h8G6r0blFSE@public.gmane.org \
    --cc=jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=knaack.h-Mmb7MZpHnFY@public.gmane.org \
    --cc=krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org \
    --cc=lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=mchehab-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=pmeerw-jW+XmwGofnusTnJN9+BGXg@public.gmane.org \
    --cc=quentin.schulz-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=rask-SivP7zSAdNDZaaYASwVUlg@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sean-hENCXIMQXOg@public.gmane.org \
    --cc=singhalsimran0-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=wens-jdAy2FN1RRM@public.gmane.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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).