diff mbox

[v2,05/11] Documentation: DT: bindings: mfd: add A33 GPADC binding

Message ID 20170310103921.19469-6-quentin.schulz@free-electrons.com (mailing list archive)
State New, archived
Headers show

Commit Message

Quentin Schulz March 10, 2017, 10:39 a.m. UTC
This patch adds documentation for the A33 GPADC binding.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
---

added in v2

 .../devicetree/bindings/mfd/sun4i-gpadc.txt        | 59 ++++++++++++++++++++++
 1 file changed, 59 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt

Comments

Maxime Ripard March 10, 2017, 12:25 p.m. UTC | #1
On Fri, Mar 10, 2017 at 11:39:15AM +0100, Quentin Schulz wrote:
> This patch adds documentation for the A33 GPADC binding.
> 
> Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
> ---
> 
> added in v2
> 
>  .../devicetree/bindings/mfd/sun4i-gpadc.txt        | 59 ++++++++++++++++++++++
>  1 file changed, 59 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
> 
> diff --git a/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
> new file mode 100644
> index 0000000..17242c8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
> @@ -0,0 +1,59 @@
> +Allwinner SoCs' GPADC Device Tree bindings
> +------------------------------------------
> +The Allwinner SoCs all have an ADC that can also act as a thermal sensor
> +and sometimes as a touchscreen controller.
> +
> +Required properties:
> +  - compatible: "sun8i-a33-gpadc-iio",

This doesn't match your example, and you shouldn't have IIO in
there. Compatibles shouldn't be tied to a given framework, since that
is Linux specific (and might even change in the future).

Maxime
Icenowy Zheng March 10, 2017, 7:25 p.m. UTC | #2
10.03.2017, 18:56, "Quentin Schulz" <quentin.schulz@free-electrons.com>:
> This patch adds documentation for the A33 GPADC binding.
>
> Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
> ---
>
> added in v2
>
>  .../devicetree/bindings/mfd/sun4i-gpadc.txt | 59 ++++++++++++++++++++++
>  1 file changed, 59 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
>
> diff --git a/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
> new file mode 100644
> index 0000000..17242c8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
> @@ -0,0 +1,59 @@
> +Allwinner SoCs' GPADC Device Tree bindings
> +------------------------------------------
> +The Allwinner SoCs all have an ADC that can also act as a thermal sensor
> +and sometimes as a touchscreen controller.
> +
> +Required properties:
> + - compatible: "sun8i-a33-gpadc-iio",
> + - reg: mmio address range of the chip,
> + - #thermal-sensor-cells: shall be 0,
> + - #io-channel-cells: shall be 0,
> +
> +Example:
> + rtp: rtp@01c25000 {

I think we'd better call it ths.

And can you make thermal-sensor-cells become 1?

Maxime Ripard wants to base H3/H5/A64 thermal driver on this patchset, and
for H5/A64 there's 2/3 thermal sensors.

Thus for A33/H3 we will have thermal-sensor-cells to 1, but only have
<&ths 0>.

> + compatible = "allwinner,sun8i-a33-gpadc-iio";
> + reg = <0x01c25000 0x100>;
> + #thermal-sensor-cells = <0>;
> + #io-channel-cells = <0>;
> + };
> +
> +sun4i, sun5i and sun6i SoCs are also supported via the older binding:
> +
> +sun4i resistive touchscreen controller
> +--------------------------------------
> +
> +Required properties:
> + - compatible: "allwinner,sun4i-a10-ts", "allwinner,sun5i-a13-ts" or
> + "allwinner,sun6i-a31-ts"
> + - reg: mmio address range of the chip
> + - interrupts: interrupt to which the chip is connected
> + - #thermal-sensor-cells: shall be 0
> +
> +Optional properties:
> + - allwinner,ts-attached : boolean indicating that an actual touchscreen
> + is attached to the controller
> + - allwinner,tp-sensitive-adjust : integer (4 bits)
> + adjust sensitivity of pen down detection
> + between 0 (least sensitive) and 15
> + (defaults to 15)
> + - allwinner,filter-type : integer (2 bits)
> + select median and averaging filter
> + samples used for median / averaging filter
> + 0: 4/2
> + 1: 5/3
> + 2: 8/4
> + 3: 16/8
> + (defaults to 1)
> +
> +Example:
> +
> + rtp: rtp@01c25000 {
> + compatible = "allwinner,sun4i-a10-ts";
> + reg = <0x01c25000 0x100>;
> + interrupts = <29>;
> + allwinner,ts-attached;
> + #thermal-sensor-cells = <0>;
> + /* sensitive/noisy touch panel */
> + allwinner,tp-sensitive-adjust = <0>;
> + allwinner,filter-type = <3>;
> + };
> --
> 2.9.3
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Icenowy Zheng March 10, 2017, 7:33 p.m. UTC | #3
10.03.2017, 20:26, "Maxime Ripard" <maxime.ripard@free-electrons.com>:
> On Fri, Mar 10, 2017 at 11:39:15AM +0100, Quentin Schulz wrote:
>>  This patch adds documentation for the A33 GPADC binding.
>>
>>  Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
>>  ---
>>
>>  added in v2
>>
>>   .../devicetree/bindings/mfd/sun4i-gpadc.txt | 59 ++++++++++++++++++++++
>>   1 file changed, 59 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
>>
>>  diff --git a/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
>>  new file mode 100644
>>  index 0000000..17242c8
>>  --- /dev/null
>>  +++ b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
>>  @@ -0,0 +1,59 @@
>>  +Allwinner SoCs' GPADC Device Tree bindings
>>  +------------------------------------------
>>  +The Allwinner SoCs all have an ADC that can also act as a thermal sensor
>>  +and sometimes as a touchscreen controller.
>>  +
>>  +Required properties:
>>  + - compatible: "sun8i-a33-gpadc-iio",
>
> This doesn't match your example, and you shouldn't have IIO in
> there. Compatibles shouldn't be tied to a given framework, since that
> is Linux specific (and might even change in the future).

From this aspect, I think we shouldn't even call it gpadc in compatible --
as it's not GP at all on A33.

>
> Maxime
>
> --
> Maxime Ripard, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com
> ,
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Quentin Schulz March 11, 2017, 2:07 p.m. UTC | #4
Hi Icenowy,

On 10/03/2017 20:25, Icenowy Zheng wrote:
> 
> 
> 10.03.2017, 18:56, "Quentin Schulz" <quentin.schulz@free-electrons.com>:
>> This patch adds documentation for the A33 GPADC binding.
>>
>> Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
>> ---
>>
>> added in v2
>>
>>  .../devicetree/bindings/mfd/sun4i-gpadc.txt | 59 ++++++++++++++++++++++
>>  1 file changed, 59 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
>>
>> diff --git a/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
>> new file mode 100644
>> index 0000000..17242c8
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
>> @@ -0,0 +1,59 @@
>> +Allwinner SoCs' GPADC Device Tree bindings
>> +------------------------------------------
>> +The Allwinner SoCs all have an ADC that can also act as a thermal sensor
>> +and sometimes as a touchscreen controller.
>> +
>> +Required properties:
>> + - compatible: "sun8i-a33-gpadc-iio",
>> + - reg: mmio address range of the chip,
>> + - #thermal-sensor-cells: shall be 0,
>> + - #io-channel-cells: shall be 0,
>> +
>> +Example:
>> + rtp: rtp@01c25000 {
> 
> I think we'd better call it ths.
> 

To match the datasheet, I agree.

> And can you make thermal-sensor-cells become 1?
> 
> Maxime Ripard wants to base H3/H5/A64 thermal driver on this patchset, and
> for H5/A64 there's 2/3 thermal sensors.
> 

Yes, that'll require a specific DT node for those thermal sensors. Then
since we would update the possible compatibles in the documentation
anyway, that would be a good idea to update to say that
thermal-sensor-cells could be different from 0 too.

That was my mindset to set thermal-sensor-cells to 0, since we only
support SoC which has only one thermal sensor at the moment.

> Thus for A33/H3 we will have thermal-sensor-cells to 1, but only have
> <&ths 0>.
> 

That's non-sense. There is one thermal sensor for the A33,
thermal-sensor-cells has to be 0.

I don't mind to remove the requirement for thermal-sensor-cells to be 0
but I won't put a requirement for it to be 1 as it isn't true.

Thanks,
Quentin
>> + compatible = "allwinner,sun8i-a33-gpadc-iio";
>> + reg = <0x01c25000 0x100>;
>> + #thermal-sensor-cells = <0>;
>> + #io-channel-cells = <0>;
>> + };
>> +
>> +sun4i, sun5i and sun6i SoCs are also supported via the older binding:
>> +
>> +sun4i resistive touchscreen controller
>> +--------------------------------------
>> +
>> +Required properties:
>> + - compatible: "allwinner,sun4i-a10-ts", "allwinner,sun5i-a13-ts" or
>> + "allwinner,sun6i-a31-ts"
>> + - reg: mmio address range of the chip
>> + - interrupts: interrupt to which the chip is connected
>> + - #thermal-sensor-cells: shall be 0
>> +
>> +Optional properties:
>> + - allwinner,ts-attached : boolean indicating that an actual touchscreen
>> + is attached to the controller
>> + - allwinner,tp-sensitive-adjust : integer (4 bits)
>> + adjust sensitivity of pen down detection
>> + between 0 (least sensitive) and 15
>> + (defaults to 15)
>> + - allwinner,filter-type : integer (2 bits)
>> + select median and averaging filter
>> + samples used for median / averaging filter
>> + 0: 4/2
>> + 1: 5/3
>> + 2: 8/4
>> + 3: 16/8
>> + (defaults to 1)
>> +
>> +Example:
>> +
>> + rtp: rtp@01c25000 {
>> + compatible = "allwinner,sun4i-a10-ts";
>> + reg = <0x01c25000 0x100>;
>> + interrupts = <29>;
>> + allwinner,ts-attached;
>> + #thermal-sensor-cells = <0>;
>> + /* sensitive/noisy touch panel */
>> + allwinner,tp-sensitive-adjust = <0>;
>> + allwinner,filter-type = <3>;
>> + };
>> --
>> 2.9.3
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
Maxime Ripard March 20, 2017, 8:45 a.m. UTC | #5
Hi,

On Sat, Mar 11, 2017 at 03:07:55PM +0100, Quentin Schulz wrote:
> Hi Icenowy,
> 
> On 10/03/2017 20:25, Icenowy Zheng wrote:
> > 
> > 
> > 10.03.2017, 18:56, "Quentin Schulz" <quentin.schulz@free-electrons.com>:
> >> This patch adds documentation for the A33 GPADC binding.
> >>
> >> Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
> >> ---
> >>
> >> added in v2
> >>
> >>  .../devicetree/bindings/mfd/sun4i-gpadc.txt | 59 ++++++++++++++++++++++
> >>  1 file changed, 59 insertions(+)
> >>  create mode 100644 Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
> >>
> >> diff --git a/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
> >> new file mode 100644
> >> index 0000000..17242c8
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
> >> @@ -0,0 +1,59 @@
> >> +Allwinner SoCs' GPADC Device Tree bindings
> >> +------------------------------------------
> >> +The Allwinner SoCs all have an ADC that can also act as a thermal sensor
> >> +and sometimes as a touchscreen controller.
> >> +
> >> +Required properties:
> >> + - compatible: "sun8i-a33-gpadc-iio",
> >> + - reg: mmio address range of the chip,
> >> + - #thermal-sensor-cells: shall be 0,
> >> + - #io-channel-cells: shall be 0,
> >> +
> >> +Example:
> >> + rtp: rtp@01c25000 {
> > 
> > I think we'd better call it ths.
> 
> To match the datasheet, I agree.

I agree too.

> > And can you make thermal-sensor-cells become 1?
> > 
> > Maxime Ripard wants to base H3/H5/A64 thermal driver on this patchset, and
> > for H5/A64 there's 2/3 thermal sensors.
> 
> Yes, that'll require a specific DT node for those thermal sensors. Then
> since we would update the possible compatibles in the documentation
> anyway, that would be a good idea to update to say that
> thermal-sensor-cells could be different from 0 too.
> 
> That was my mindset to set thermal-sensor-cells to 0, since we only
> support SoC which has only one thermal sensor at the moment.

And I agree here as well.

Maxime
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
new file mode 100644
index 0000000..17242c8
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
@@ -0,0 +1,59 @@ 
+Allwinner SoCs' GPADC Device Tree bindings
+------------------------------------------
+The Allwinner SoCs all have an ADC that can also act as a thermal sensor
+and sometimes as a touchscreen controller.
+
+Required properties:
+  - compatible: "sun8i-a33-gpadc-iio",
+  - reg: mmio address range of the chip,
+  - #thermal-sensor-cells: shall be 0,
+  - #io-channel-cells: shall be 0,
+
+Example:
+	rtp: rtp@01c25000 {
+		compatible = "allwinner,sun8i-a33-gpadc-iio";
+		reg = <0x01c25000 0x100>;
+		#thermal-sensor-cells = <0>;
+		#io-channel-cells = <0>;
+	};
+
+sun4i, sun5i and sun6i SoCs are also supported via the older binding:
+
+sun4i resistive touchscreen controller
+--------------------------------------
+
+Required properties:
+ - compatible: "allwinner,sun4i-a10-ts", "allwinner,sun5i-a13-ts" or
+   "allwinner,sun6i-a31-ts"
+ - reg: mmio address range of the chip
+ - interrupts: interrupt to which the chip is connected
+ - #thermal-sensor-cells: shall be 0
+
+Optional properties:
+ - allwinner,ts-attached	 : boolean indicating that an actual touchscreen
+				   is attached to the controller
+ - allwinner,tp-sensitive-adjust : integer (4 bits)
+				   adjust sensitivity of pen down detection
+				   between 0 (least sensitive) and 15
+				   (defaults to 15)
+ - allwinner,filter-type	 : integer (2 bits)
+				   select median and averaging filter
+				   samples used for median / averaging filter
+				   0: 4/2
+				   1: 5/3
+				   2: 8/4
+				   3: 16/8
+				   (defaults to 1)
+
+Example:
+
+	rtp: rtp@01c25000 {
+		compatible = "allwinner,sun4i-a10-ts";
+		reg = <0x01c25000 0x100>;
+		interrupts = <29>;
+		allwinner,ts-attached;
+		#thermal-sensor-cells = <0>;
+		/* sensitive/noisy touch panel */
+		allwinner,tp-sensitive-adjust = <0>;
+		allwinner,filter-type = <3>;
+	};