Skip to contentSkip to conversation

Allwinner A83T R_LRADC support

PATCH In review Ziping Chen 5 participants 17 messages Jun 24, 2017 – Mar 26, 2019

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

v3 cover Allwinner A83T R_LRADC support

From: Ziping Chen <[email protected]>

Hi,

This is the remaining parts of my A83T R_LRADC support series

Allwinner A83T SoC has a low res adc like the one in Allwinner A10 SoC.

Add support for it.

Changes for v3:
- Fix some issuses raised by Maxime.
- Added Rob's ACK.

Changes for v2:
- Add an A83T specific compatible.

Ziping Chen (3):
input: sun4i-a10-lradc-keys: Add support for A83T
dt-bindings: input: Add R_LRADC support for A83T
ARM: dts: sunxi: Add R_LRADC support for A83T

 .../devicetree/bindings/input/sun4i-lradc-keys.txt |  6 ++--
 arch/arm/boot/dts/sun8i-a83t.dtsi                  |  7 ++++
 drivers/input/keyboard/sun4i-lradc-keys.c          | 38 +++++++++++++++++++---
 3 files changed, 45 insertions(+), 6 deletions(-)
Signature · 6 lines
2.11.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#1 lore raw

PATCH v3 1/3 input: sun4i-a10-lradc-keys: Add support for A83T

From: Ziping Chen <[email protected]>

Allwinner A83T SoC has a low res adc like the one in Allwinner A10 SoC, however, the A10 SoC's vref of lradc internally is divided by 2/3 and the A83T SoC's vref of lradc internally is divided by 3/4, thus add a hardware variant for it to be compatible with various devices.

---
 drivers/input/keyboard/sun4i-lradc-keys.c | 38 +++++++++++++++++++++++++++----
 1 file changed, 34 insertions(+), 4 deletions(-)
drivers/input/keyboard/sun4i-lradc-keys.c +34 -4
index a37c172452e6..bfd2038a9047 100644
@@ -46,6 +46,7 @@
 #define CONTINUE_TIME_SEL(x)	((x) << 16) /* 4 bits */
 #define KEY_MODE_SEL(x)		((x) << 12) /* 2 bits */
 #define LEVELA_B_CNT(x)		((x) << 8)  /* 4 bits */
+#define HOLD_KEY_EN(x)		((x) << 7)
 #define HOLD_EN(x)		((x) << 6)
 #define LEVELB_VOL(x)		((x) << 4)  /* 2 bits */
 #define SAMPLE_RATE(x)		((x) << 2)  /* 2 bits */
@@ -63,6 +64,25 @@
 #define	CHAN0_KEYDOWN_IRQ	BIT(1)
 #define CHAN0_DATA_IRQ		BIT(0)
 
+/* struct lradc_variant - Describe sun4i-a10-lradc-keys hardware variant
+ * @divisor_numerator:		The numerator of lradc Vref internally divisor
+ * @divisor_denominator:	The denominator of lradc Vref internally divisor
+ */
+struct lradc_variant {
+	u8 divisor_numerator;
+	u8 divisor_denominator;
+};
+
+static const struct lradc_variant lradc_variant_a10 = {
+	.divisor_numerator = 2,
+	.divisor_denominator = 3
+};
+
+static const struct lradc_variant r_lradc_variant_a83t = {
+	.divisor_numerator = 3,
+	.divisor_denominator = 4
+};
+
 struct sun4i_lradc_keymap {
 	u32 voltage;
 	u32 keycode;
@@ -74,6 +94,7 @@ struct sun4i_lradc_data {
 	void __iomem *base;
 	struct regulator *vref_supply;
 	struct sun4i_lradc_keymap *chan0_map;
+	const struct lradc_variant *variant;
 	u32 chan0_map_count;
 	u32 chan0_keycode;
 	u32 vref;
@@ -128,9 +149,9 @@ static int sun4i_lradc_open(struct input_dev *dev)
 	if (error)
 		return error;
 
-	/* lradc Vref internally is divided by 2/3 */
-	lradc->vref = regulator_get_voltage(lradc->vref_supply) * 2 / 3;
-
+	lradc->vref = regulator_get_voltage(lradc->vref_supply) *
+		      lradc->variant->divisor_numerator /
+		      lradc->variant->divisor_denominator;
 	/*
 	 * Set sample time to 4 ms / 250 Hz. Wait 2 * 4 ms for key to
 	 * stabilize on press, wait (1 + 1) * 4 ms for key release
@@ -222,6 +243,12 @@ static int sun4i_lradc_probe(struct platform_device *pdev)
 	if (error)
 		return error;
 
+	lradc->variant = of_device_get_match_data(&pdev->dev);
+	if (!lradc->variant) {
+		dev_err(&pdev->dev, "Missing sun4i-a10-lradc-keys variant\n");
+		return -EINVAL;
+	}
+
 	lradc->vref_supply = devm_regulator_get(dev, "vref");
 	if (IS_ERR(lradc->vref_supply))
 		return PTR_ERR(lradc->vref_supply);
@@ -265,7 +292,10 @@ static int sun4i_lradc_probe(struct platform_device *pdev)
 }
 
 static const struct of_device_id sun4i_lradc_of_match[] = {
-	{ .compatible = "allwinner,sun4i-a10-lradc-keys", },
+	{ .compatible = "allwinner,sun4i-a10-lradc-keys",
+		.data = &lradc_variant_a10 },
+	{ .compatible = "allwinner,sun8i-a83t-r-lradc-keys",
+		.data = &r_lradc_variant_a83t },
 	{ /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, sun4i_lradc_of_match);
Signature · 1 line
2.11.0
Acked-by on v3 1/3
#2 lore raw

Re: [PATCH v3 1/3] input: sun4i-a10-lradc-keys: Add support for A83T

Quoted 10 lines · Ziping Chen

From: Ziping Chen <[email protected]>

Allwinner A83T SoC has a low res adc like the one in Allwinner A10 SoC, however, the A10 SoC's vref of lradc internally is divided by 2/3 and the A83T SoC's vref of lradc internally is divided by 3/4, thus add a hardware variant for it to be compatible with various devices.

Thanks!
Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170626/bc41849d/attachment.sig>
#3 lore raw

Re: [linux-sunxi] Re: [PATCH v3 1/3] input: sun4i-a10-lradc-keys: Add support for A83T

Hello,

Quoted 10 lines · Maxime Ripard
Quoted 9 lines · Ziping Chen

From: Ziping Chen <[email protected]>

Allwinner A83T SoC has a low res adc like the one in Allwinner A10 SoC, however, the A10 SoC's vref of lradc internally is divided by 2/3 and the A83T SoC's vref of lradc internally is divided by 3/4, thus add a hardware variant for it to be compatible with various devices.

Quoted 3 lines
Quoted 1 line

Can we move on with this patch series? It's a few years and it doesn't seem that there is any interest/progress with lradc iio based driver, and merging this wouldn't block that effort anyway (as suggested in other replies).

I can re-send the series with the changed compatible name, and add a mainline user of this driver (A83T based TBS-A711 tablet).

Any objections?

regards,

	o.
Quoted 12 lines

Thanks!
Maxime

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

-- 
You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
For more options, visit https://groups.google.com/d/optout.
#4 lore raw

PATCH v3 2/3 dt-bindings: input: Add R_LRADC support for A83T

In reply to Ziping Chen

From: Ziping Chen <[email protected]>

Allwinner A83T SoC has a low res adc like the one
in Allwinner A10 SoC.

Add binding for it.

---
 Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt +4 -2
index 4357e498ef04..525d85e3043f 100644
@@ -2,12 +2,14 @@ Allwinner sun4i low res adc attached tablet keys
 ------------------------------------------------
 
 Required properties:
- - compatible: "allwinner,sun4i-a10-lradc-keys"
+ - compatible: should be one of the following string:
+		"allwinner,sun4i-a10-lradc-keys"
+		"allwinner,sun8i-a83t-r-lradc-keys"
  - reg: mmio address range of the chip
  - interrupts: interrupt to which the chip is connected
  - vref-supply: powersupply for the lradc reference voltage
 
-Each key is represented as a sub-node of "allwinner,sun4i-a10-lradc-keys":
+Each key is represented as a sub-node of the compatible mentioned above:
 
 Required subnode-properties:
 	- label: Descriptive name of the key.
Signature · 1 line
2.11.0
#5 lore raw

Re: [PATCH v3 2/3] dt-bindings: input: Add R_LRADC support for A83T

Hi,

Quoted 18 lines · Ziping Chen

From: Ziping Chen <[email protected]>

Allwinner A83T SoC has a low res adc like the one
in Allwinner A10 SoC.

Add binding for it.

---
 Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt +0 -0
index 4357e498ef04..525d85e3043f 100644

Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt Allwinner sun4i low res adc attached tablet keys · line 7

Quoted 7 lines
Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt +3 -1
@@ -2,12 +2,14 @@ Allwinner sun4i low res adc attached tablet keys
 ------------------------------------------------
 
 Required properties:
- - compatible: "allwinner,sun4i-a10-lradc-keys"
+ - compatible: should be one of the following string:
+		"allwinner,sun4i-a10-lradc-keys"
+		"allwinner,sun8i-a83t-r-lradc-keys"

This doesn't really have anything related to keys, and can be used purely as an ADC.

I know this is the compatible that was used for the A10, but I'd rather drop the keys for the the new compatible.

Thanks!
Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170626/6c5d9364/attachment.sig>
#6 lore raw

Re: [PATCH v3 2/3] dt-bindings: input: Add R_LRADC support for A83T

2017-06-27 1:15 GMT+08:00 Maxime Ripard <[email protected]>:

Quoted 32 lines

Hi,

Quoted 18 lines · Ziping Chen

From: Ziping Chen <[email protected]>

Allwinner A83T SoC has a low res adc like the one
in Allwinner A10 SoC.

Add binding for it.

---
 Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt +0 -0
index 4357e498ef04..525d85e3043f 100644

Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt Allwinner sun4i low res adc attached tablet keys · line 7

Quoted 7 lines
Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt +3 -1
@@ -2,12 +2,14 @@ Allwinner sun4i low res adc attached tablet keys
 ------------------------------------------------
 
 Required properties:
- - compatible: "allwinner,sun4i-a10-lradc-keys"
+ - compatible: should be one of the following string:
+             "allwinner,sun4i-a10-lradc-keys"
+             "allwinner,sun8i-a83t-r-lradc-keys"

This doesn't really have anything related to keys, and can be used purely as an ADC.

Quoted 3 lines

I know this is the compatible that was used for the A10, but I'd rather drop the keys for the the new compatible.

Hi,
LRADC is named KEYADC in some other SoCs' User Manual(such as R40 User Manual V1.0), thus LRADC is related to keys.

Without keys there is another driver named sun4i-gpadc-iio which is located at driver/iio/adc/sun4i-gpadc-iio.c

Is my understanding right?

Quoted 7 lines

Thanks!
Maxime

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

#7 lore raw

Re: [linux-sunxi] Re: [PATCH v3 2/3] dt-bindings: input: Add R_LRADC support for A83T

? 2017-06-27 23:18?Ziping Chen ???

Quoted 41 lines

2017-06-27 1:15 GMT+08:00 Maxime Ripard
<[email protected]>:

Quoted 35 lines

Hi,

Quoted 21 lines · Ziping Chen

From: Ziping Chen <[email protected]>

Allwinner A83T SoC has a low res adc like the one
in Allwinner A10 SoC.

Add binding for it.

---
 Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt | 6 
++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
(quoted diff) +0 -0

a/Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt b/Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt index 4357e498ef04..525d85e3043f 100644

Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt Allwinner sun4i low res adc attached tablet keys · line 7

Quoted 7 lines
Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt +3 -1
@@ -2,12 +2,14 @@ Allwinner sun4i low res adc attached tablet keys
 ------------------------------------------------
 
 Required properties:
- - compatible: "allwinner,sun4i-a10-lradc-keys"
+ - compatible: should be one of the following string:
+             "allwinner,sun4i-a10-lradc-keys"
+             "allwinner,sun8i-a83t-r-lradc-keys"

This doesn't really have anything related to keys, and can be used purely as an ADC.

Quoted 3 lines

I know this is the compatible that was used for the A10, but I'd rather drop the keys for the the new compatible.

Quoted 6 lines

Hi,
LRADC is named KEYADC in some other SoCs' User Manual(such as R40 User Manual V1.0), thus LRADC is related to keys.

Without keys there is another driver named sun4i-gpadc-iio which is located at driver/iio/adc/sun4i-gpadc-iio.c

Nope. The general purpose LRADC driver still doesn't land in mainline, and this driver is for the GPADC related to thermal and resistive touch screen.

However, the LRADC is possible to be used in general purpose, and more and more boards are wiring the LRADC pin as a pin on the pinout (e.g. Pine64 and Lichee Pi Zero) and it may be useful.

And the hardware is not bound to keys -- it's only the Allwinner reference design which bind the LRADC to keys. Device vendors can change it if needed.

So it's suggested to have a binding without "-keys".

Maxime, here's another problem: if we have already a GP LRADC driver, how can we tell the kernel to use it as IIO ADC rather than keys? Should we introduce a new property for this once ready?

#8 lore raw

Re: [linux-sunxi] Re: [PATCH v3 2/3] dt-bindings: input: Add R_LRADC support for A83T

Hi,

Quoted 2 lines · icenowy at aosc.io

Maxime, here's another problem: if we have already a GP LRADC driver, how can we tell the kernel to use it as IIO ADC rather than keys?

The GPADC IIO driver is not for the LRADC driver, but the GPADC / temperature sensor.

We used to have an LRADC IIO driver in the CHIP BSP written by Alex (in CC):
https://github.com/NextThingCo/CHIP-linux/commit/8675b761c54be73dc7cc0113209f02e10cc63a27

But he never mainlined it.

Quoted 1 line

Should we introduce a new property for this once ready?

We need to keep the current binding. We can just check for the presence or not of child nodes to see if it has some keys, and we'd need an IIO-to-input driver that is yet to be written.

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170627/a9ba0799/attachment.sig>
#9 lore raw

Re: [linux-sunxi] Re: [PATCH v3 2/3] dt-bindings: input: Add R_LRADC support for A83T

Quoted 13 lines · Maxime Ripard

Hi,

Quoted 2 lines · icenowy at aosc.io

Maxime, here's another problem: if we have already a GP LRADC driver, how can we tell the kernel to use it as IIO ADC rather than keys?

The GPADC IIO driver is not for the LRADC driver, but the GPADC / temperature sensor.

We used to have an LRADC IIO driver in the CHIP BSP written by Alex (in CC):
https://github.com/NextThingCo/CHIP-linux/commit/8675b761c54be73dc7cc0113209f02e10cc63a27

Quoted 8 lines

But he never mainlined it.

Quoted 1 line

Should we introduce a new property for this once ready?

We need to keep the current binding. We can just check for the presence or not of child nodes to see if it has some keys, and we'd need an IIO-to-input driver that is yet to be written.

The whole submission is here and can already replace the existing driver but it will be polling instead of using interrupts:

http://lists.infradead.org/pipermail/linux-arm-kernel/2016-July/440734.html

It is not upstream because it seems the full replacement was required at once instead of doing it incrementally and there was (is) no API for in-kernel events consumers.

Also, the DT ABI stuff would have to be solved.

Signature · 3 lines
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#10 lore raw

Re: [linux-sunxi] Re: [PATCH v3 2/3] dt-bindings: input: Add R_LRADC support for A83T

In reply to Maxime Ripard

2017-06-28 1:36 GMT+08:00 Maxime Ripard <[email protected]>:

Quoted 13 lines

Hi,

Quoted 2 lines · icenowy at aosc.io

Maxime, here's another problem: if we have already a GP LRADC driver, how can we tell the kernel to use it as IIO ADC rather than keys?

The GPADC IIO driver is not for the LRADC driver, but the GPADC / temperature sensor.

We used to have an LRADC IIO driver in the CHIP BSP written by Alex (in CC):
https://github.com/NextThingCo/CHIP-linux/commit/8675b761c54be73dc7cc0113209f02e10cc63a27

Quoted 8 lines

But he never mainlined it.

Quoted 1 line

Should we introduce a new property for this once ready?

We need to keep the current binding. We can just check for the presence or not of child nodes to see if it has some keys, and we'd need an IIO-to-input driver that is yet to be written.

Yes, then we need an iio-to-input driver... So...whether the driver(a83t lradc keys) can be applied now, or we should wait for the iio-to-input driver.

Thanks
Ziping

Quoted 6 lines

Maxime

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

#11 lore raw

Re: [linux-sunxi] Re: [PATCH v3 2/3] dt-bindings: input: Add R_LRADC support for A83T

Quoted 18 lines · Ziping Chen

2017-06-28 1:36 GMT+08:00 Maxime Ripard <[email protected]>:

Quoted 17 lines

Hi,

Quoted 2 lines · icenowy at aosc.io

Maxime, here's another problem: if we have already a GP LRADC driver, how can we tell the kernel to use it as IIO ADC rather than keys?

The GPADC IIO driver is not for the LRADC driver, but the GPADC / temperature sensor.

We used to have an LRADC IIO driver in the CHIP BSP written by Alex (in CC):
https://github.com/NextThingCo/CHIP-linux/commit/8675b761c54be73dc7cc0113209f02e10cc63a27

But he never mainlined it.

Quoted 1 line

Should we introduce a new property for this once ready?

Quoted 8 lines
Quoted 4 lines

We need to keep the current binding. We can just check for the presence or not of child nodes to see if it has some keys, and we'd need an IIO-to-input driver that is yet to be written.

Yes, then we need an iio-to-input driver... So...whether the driver(a83t lradc keys) can be applied now, or we should wait for the iio-to-input driver.

This is a long term discussion, it shouldn't hold the patches you sent.

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170629/25ed6f56/attachment.sig>
#12 lore raw

Re: [linux-sunxi] Re: [PATCH v3 2/3] dt-bindings: input: Add R_LRADC support for A83T

2017-06-29 15:53 GMT+08:00 Maxime Ripard <[email protected]>:

Quoted 24 lines · Ziping Chen
Quoted 23 lines

2017-06-28 1:36 GMT+08:00 Maxime Ripard <[email protected]>:

Quoted 21 lines

Hi,

Quoted 2 lines · icenowy at aosc.io

Maxime, here's another problem: if we have already a GP LRADC driver, how can we tell the kernel to use it as IIO ADC rather than keys?

The GPADC IIO driver is not for the LRADC driver, but the GPADC / temperature sensor.

We used to have an LRADC IIO driver in the CHIP BSP written by Alex (in CC):
https://github.com/NextThingCo/CHIP-linux/commit/8675b761c54be73dc7cc0113209f02e10cc63a27

But he never mainlined it.

Quoted 1 line

Should we introduce a new property for this once ready?

We need to keep the current binding. We can just check for the presence or not of child nodes to see if it has some keys, and we'd need an IIO-to-input driver that is yet to be written.

Quoted 6 lines
Quoted 3 lines

Yes, then we need an iio-to-input driver... So...whether the driver(a83t lradc keys) can be applied now, or we should wait for the iio-to-input driver.

This is a long term discussion, it shouldn't hold the patches you sent.

OK, I get it.

And I will think about how to implement the iio-to-input driver.

Thanks,
Ziping

Quoted 7 lines

Maxime

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

#13 lore raw

Re: [PATCH v3 2/3] dt-bindings: input: Add R_LRADC support for A83T

In reply to Ziping Chen
Quoted 33 lines · Ziping Chen

2017-06-27 1:15 GMT+08:00 Maxime Ripard <[email protected]>:

Quoted 32 lines

Hi,

Quoted 18 lines · Ziping Chen

From: Ziping Chen <[email protected]>

Allwinner A83T SoC has a low res adc like the one
in Allwinner A10 SoC.

Add binding for it.

---
 Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt +0 -0
index 4357e498ef04..525d85e3043f 100644

Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt Allwinner sun4i low res adc attached tablet keys · line 7

Quoted 7 lines
Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt +3 -1
@@ -2,12 +2,14 @@ Allwinner sun4i low res adc attached tablet keys
 ------------------------------------------------
 
 Required properties:
- - compatible: "allwinner,sun4i-a10-lradc-keys"
+ - compatible: should be one of the following string:
+             "allwinner,sun4i-a10-lradc-keys"
+             "allwinner,sun8i-a83t-r-lradc-keys"

This doesn't really have anything related to keys, and can be used purely as an ADC.

Quoted 6 lines
Quoted 3 lines

I know this is the compatible that was used for the A10, but I'd rather drop the keys for the the new compatible.

LRADC is named KEYADC in some other SoCs' User Manual(such as R40 User Manual V1.0), thus LRADC is related to keys.

It's still called LRADC on the A83T, so we'll use that name. If we ever need another compatible for the R40, then yes, keyadc would make sense in that case.

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170627/5159b6b8/attachment.sig>
#14 lore raw

Re: [PATCH v3 2/3] dt-bindings: input: Add R_LRADC support for A83T

2017-06-28 1:31 GMT+08:00 Maxime Ripard <[email protected]>:

Quoted 38 lines · Ziping Chen
Quoted 37 lines

2017-06-27 1:15 GMT+08:00 Maxime Ripard <[email protected]>:

Quoted 35 lines

Hi,

Quoted 18 lines · Ziping Chen

From: Ziping Chen <[email protected]>

Allwinner A83T SoC has a low res adc like the one
in Allwinner A10 SoC.

Add binding for it.

---
 Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt +0 -0
index 4357e498ef04..525d85e3043f 100644

Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt Allwinner sun4i low res adc attached tablet keys · line 7

Quoted 7 lines
Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt +3 -1
@@ -2,12 +2,14 @@ Allwinner sun4i low res adc attached tablet keys
 ------------------------------------------------
 
 Required properties:
- - compatible: "allwinner,sun4i-a10-lradc-keys"
+ - compatible: should be one of the following string:
+             "allwinner,sun4i-a10-lradc-keys"
+             "allwinner,sun8i-a83t-r-lradc-keys"

This doesn't really have anything related to keys, and can be used purely as an ADC.

I know this is the compatible that was used for the A10, but I'd rather drop the keys for the the new compatible.

Quoted 6 lines
Quoted 2 lines

LRADC is named KEYADC in some other SoCs' User Manual(such as R40 User Manual V1.0), thus LRADC is related to keys.

It's still called LRADC on the A83T, so we'll use that name. If we ever need another compatible for the R40, then yes, keyadc would make sense in that case.

Hi,

So... whether to use "sun4i-lradc" to replace "sun4i-lradc-keys"?

I think it should be separated, one is the input subsystem, the other is the iio subsystem.

Quoted 7 lines

Maxime

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

#15 lore raw

Re: [PATCH v3 2/3] dt-bindings: input: Add R_LRADC support for A83T

Hi,

Quoted 46 lines · Ziping Chen

2017-06-28 1:31 GMT+08:00 Maxime Ripard <[email protected]>:

Quoted 38 lines · Ziping Chen
Quoted 37 lines

2017-06-27 1:15 GMT+08:00 Maxime Ripard <[email protected]>:

Quoted 35 lines

Hi,

Quoted 18 lines · Ziping Chen

From: Ziping Chen <[email protected]>

Allwinner A83T SoC has a low res adc like the one
in Allwinner A10 SoC.

Add binding for it.

---
 Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt +0 -0
index 4357e498ef04..525d85e3043f 100644

Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt Allwinner sun4i low res adc attached tablet keys · line 7

Quoted 7 lines
Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt +3 -1
@@ -2,12 +2,14 @@ Allwinner sun4i low res adc attached tablet keys
 ------------------------------------------------
 
 Required properties:
- - compatible: "allwinner,sun4i-a10-lradc-keys"
+ - compatible: should be one of the following string:
+             "allwinner,sun4i-a10-lradc-keys"
+             "allwinner,sun8i-a83t-r-lradc-keys"

This doesn't really have anything related to keys, and can be used purely as an ADC.

I know this is the compatible that was used for the A10, but I'd rather drop the keys for the the new compatible.

Quoted 6 lines
Quoted 2 lines

LRADC is named KEYADC in some other SoCs' User Manual(such as R40 User Manual V1.0), thus LRADC is related to keys.

It's still called LRADC on the A83T, so we'll use that name. If we ever need another compatible for the R40, then yes, keyadc would make sense in that case.

Quoted 6 lines

Hi,

So... whether to use "sun4i-lradc" to replace "sun4i-lradc-keys"?

I think it should be separated, one is the input subsystem, the other is the iio subsystem.

I was just talking about your compatible here, and was basically suggesting to do sed 's/sun8i-a83t-r-lradc-keys/sun8i-a83t-r-lradc/', that's all.

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170629/e3d33653/attachment.sig>
#16 lore raw

PATCH v3 3/3 ARM: dts: sunxi: Add R_LRADC support for A83T

In reply to Ziping Chen

From: Ziping Chen <[email protected]>

Allwinner A83T SoC has a low res adc like the one
in Allwinner A10 SoC. Now the driver has been
modified to support it.

Add support for it.

---
 arch/arm/boot/dts/sun8i-a83t.dtsi | 7 +++++++
 1 file changed, 7 insertions(+)
arch/arm/boot/dts/sun8i-a83t.dtsi +7 -0
index 8923ba625b76..ccee83cc0610 100644
@@ -301,5 +301,12 @@
 			interrupt-controller;
 			#interrupt-cells = <3>;
 		};
+
+		r_lradc: lradc@01f03c00 {
+			compatible = "allwinner,sun8i-a83t-r-lradc-keys";
+			reg = <0x01f03c00 0x100>;
+			interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
+			status = "disabled";
+		};
 	};
 };
Signature · 1 line
2.11.0