linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/4] IR support for A83T
@ 2018-07-31  9:22 Philipp Rossak
  2018-07-31  9:22 ` [PATCH v6 1/4] ARM: dts: sun8i: a83t: Add the cir pin for the A83T Philipp Rossak
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Philipp Rossak @ 2018-07-31  9:22 UTC (permalink / raw)
  To: mchehab, robh+dt, mark.rutland, maxime.ripard, wens, linux, sean,
	p.zabel, andi.shyti
  Cc: linux-media, devicetree, linux-arm-kernel, linux-kernel, linux-sunxi

This patch series adds support for the sunxi A83T ir module and enhances 
the sunxi-ir driver. Right now the base clock frequency for the ir driver
is a hard coded define and is set to 8 MHz.
This works for the most common ir receivers. On the Sinovoip Bananapi M3 
the ir receiver needs, a 3 MHz base clock frequency to work without
problems with this driver.

This patch series adds support for an optinal property that makes it able
to override the default base clock frequency and enables the ir interface 
on the a83t and the Bananapi M3.

changes since v5:
* removed already merged patches
* adapt patch 2 to be applyable to current rc-1

changes since v4:
* rename cir pin from cir_pins to r_cir_pin
* drop unit-address from r_cir_pin
* add a83t compatible to the cir node
* move muxing options to dtsi
* rename cir label and reorder it in the bananpim3.dts file

changes since v3:
* collecting all acks & reviewd by
* fixed typos

changes since v2:
* reorder cir pin (alphabetical)
* fix typo in documentation

changes since v1:
* fix typos, reword Documentation
* initialize 'b_clk_freq' to 'SUNXI_IR_BASE_CLK' & remove if statement
* change dev_info() to dev_dbg()
* change naming to cir* in dts/dtsi
* Added acked Ackedi-by to related patch
* use whole memory block instead of registers needed + fix for h3/h5

changes since rfc:
* The property is now optinal. If the property is not available in 
  the dtb the driver uses the default base clock frequency.
* the driver prints out the the selected base clock frequency.
* changed devicetree property from base-clk-frequency to clock-frequency

Regards,
Philipp

Philipp Rossak (4):
  ARM: dts: sun8i: a83t: Add the cir pin for the A83T
  ARM: dts: sun8i: a83t: Add support for the cir interface
  ARM: dts: sun8i: a83t: bananapi-m3: Enable IR controller
  ARM: dts: sun8i: h3-h5: ir register size should be the whole memory
    block

 arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts |  5 +++++
 arch/arm/boot/dts/sun8i-a83t.dtsi            | 18 ++++++++++++++++++
 arch/arm/boot/dts/sunxi-h3-h5.dtsi           |  2 +-
 3 files changed, 24 insertions(+), 1 deletion(-)

-- 
2.11.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v6 1/4] ARM: dts: sun8i: a83t: Add the cir pin for the A83T
  2018-07-31  9:22 [PATCH v6 0/4] IR support for A83T Philipp Rossak
@ 2018-07-31  9:22 ` Philipp Rossak
  2018-07-31  9:22 ` [PATCH v6 2/4] ARM: dts: sun8i: a83t: Add support for the cir interface Philipp Rossak
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Philipp Rossak @ 2018-07-31  9:22 UTC (permalink / raw)
  To: mchehab, robh+dt, mark.rutland, maxime.ripard, wens, linux, sean,
	p.zabel, andi.shyti
  Cc: linux-media, devicetree, linux-arm-kernel, linux-kernel, linux-sunxi

The CIR Pin of the A83T is located at PL12.

Signed-off-by: Philipp Rossak <embed3d@gmail.com>
---
 arch/arm/boot/dts/sun8i-a83t.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi
index 2be23d600957..afed6c0dea6f 100644
--- a/arch/arm/boot/dts/sun8i-a83t.dtsi
+++ b/arch/arm/boot/dts/sun8i-a83t.dtsi
@@ -1004,6 +1004,11 @@
 			interrupt-controller;
 			#interrupt-cells = <3>;
 
+			r_cir_pin: r-cir-pin {
+				pins = "PL12";
+				function = "s_cir_rx";
+			};
+
 			r_rsb_pins: r-rsb-pins {
 				pins = "PL0", "PL1";
 				function = "s_rsb";
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v6 2/4] ARM: dts: sun8i: a83t: Add support for the cir interface
  2018-07-31  9:22 [PATCH v6 0/4] IR support for A83T Philipp Rossak
  2018-07-31  9:22 ` [PATCH v6 1/4] ARM: dts: sun8i: a83t: Add the cir pin for the A83T Philipp Rossak
@ 2018-07-31  9:22 ` Philipp Rossak
  2018-07-31 12:34   ` Maxime Ripard
  2018-07-31  9:22 ` [PATCH v6 3/4] ARM: dts: sun8i: a83t: bananapi-m3: Enable IR controller Philipp Rossak
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Philipp Rossak @ 2018-07-31  9:22 UTC (permalink / raw)
  To: mchehab, robh+dt, mark.rutland, maxime.ripard, wens, linux, sean,
	p.zabel, andi.shyti
  Cc: linux-media, devicetree, linux-arm-kernel, linux-kernel, linux-sunxi

The cir interface is like on the H3 located at 0x01f02000 and is exactly
the same. This patch adds support for the ir interface on the A83T.

Signed-off-by: Philipp Rossak <embed3d@gmail.com>
---
 arch/arm/boot/dts/sun8i-a83t.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi
index afed6c0dea6f..31222a05a8f1 100644
--- a/arch/arm/boot/dts/sun8i-a83t.dtsi
+++ b/arch/arm/boot/dts/sun8i-a83t.dtsi
@@ -992,6 +992,18 @@
 			reg = <0x1f01c00 0x400>;
 		};
 
+		r_cir: ir@1f02000 {
+			compatible = "allwinner,sun5i-a13-ir";
+			clocks = <&r_ccu CLK_APB0_IR>, <&r_ccu CLK_IR>;
+			clock-names = "apb", "ir";
+			resets = <&r_ccu RST_APB0_IR>;
+			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+			reg = <0x01f02000 0x400>;
+			pinctrl-names = "default";
+			pinctrl-0 = <&r_cir_pin>;
+			status = "disabled";
+		};
+
 		r_pio: pinctrl@1f02c00 {
 			compatible = "allwinner,sun8i-a83t-r-pinctrl";
 			reg = <0x01f02c00 0x400>;
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v6 3/4] ARM: dts: sun8i: a83t: bananapi-m3: Enable IR controller
  2018-07-31  9:22 [PATCH v6 0/4] IR support for A83T Philipp Rossak
  2018-07-31  9:22 ` [PATCH v6 1/4] ARM: dts: sun8i: a83t: Add the cir pin for the A83T Philipp Rossak
  2018-07-31  9:22 ` [PATCH v6 2/4] ARM: dts: sun8i: a83t: Add support for the cir interface Philipp Rossak
@ 2018-07-31  9:22 ` Philipp Rossak
  2018-07-31  9:22 ` [PATCH v6 4/4] ARM: dts: sun8i: h3-h5: ir register size should be the whole memory block Philipp Rossak
  2018-07-31 12:34 ` [PATCH v6 0/4] IR support for A83T Maxime Ripard
  4 siblings, 0 replies; 8+ messages in thread
From: Philipp Rossak @ 2018-07-31  9:22 UTC (permalink / raw)
  To: mchehab, robh+dt, mark.rutland, maxime.ripard, wens, linux, sean,
	p.zabel, andi.shyti
  Cc: linux-media, devicetree, linux-arm-kernel, linux-kernel, linux-sunxi

The Bananapi M3 has an onboard IR receiver.
This enables the onboard IR receiver subnode.
Unlike the other IR receivers this one needs a base clock frequency
of 3000000 Hz (3 MHz), to be able to work.

Signed-off-by: Philipp Rossak <embed3d@gmail.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
---
 arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts b/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts
index 3b579d7567c8..ea23ff821166 100644
--- a/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts
+++ b/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts
@@ -183,6 +183,11 @@
 	status = "okay";
 };
 
+&r_cir {
+	clock-frequency = <3000000>;
+	status = "okay";
+};
+
 &r_rsb {
 	status = "okay";
 
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v6 4/4] ARM: dts: sun8i: h3-h5: ir register size should be the whole memory block
  2018-07-31  9:22 [PATCH v6 0/4] IR support for A83T Philipp Rossak
                   ` (2 preceding siblings ...)
  2018-07-31  9:22 ` [PATCH v6 3/4] ARM: dts: sun8i: a83t: bananapi-m3: Enable IR controller Philipp Rossak
@ 2018-07-31  9:22 ` Philipp Rossak
  2018-07-31 12:34 ` [PATCH v6 0/4] IR support for A83T Maxime Ripard
  4 siblings, 0 replies; 8+ messages in thread
From: Philipp Rossak @ 2018-07-31  9:22 UTC (permalink / raw)
  To: mchehab, robh+dt, mark.rutland, maxime.ripard, wens, linux, sean,
	p.zabel, andi.shyti
  Cc: linux-media, devicetree, linux-arm-kernel, linux-kernel, linux-sunxi

The size of the register should be the size of the whole memory block,
not just the registers, that are needed.

Signed-off-by: Philipp Rossak <embed3d@gmail.com>
---
 arch/arm/boot/dts/sunxi-h3-h5.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
index c3bff1105e5d..2f4d93de836e 100644
--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
@@ -818,7 +818,7 @@
 			clock-names = "apb", "ir";
 			resets = <&r_ccu RST_APB0_IR>;
 			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
-			reg = <0x01f02000 0x40>;
+			reg = <0x01f02000 0x400>;
 			status = "disabled";
 		};
 
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v6 2/4] ARM: dts: sun8i: a83t: Add support for the cir interface
  2018-07-31  9:22 ` [PATCH v6 2/4] ARM: dts: sun8i: a83t: Add support for the cir interface Philipp Rossak
@ 2018-07-31 12:34   ` Maxime Ripard
  0 siblings, 0 replies; 8+ messages in thread
From: Maxime Ripard @ 2018-07-31 12:34 UTC (permalink / raw)
  To: Philipp Rossak
  Cc: mchehab, robh+dt, mark.rutland, wens, linux, sean, p.zabel,
	andi.shyti, linux-media, devicetree, linux-arm-kernel,
	linux-kernel, linux-sunxi

On Tue, Jul 31, 2018 at 11:22:56AM +0200, Philipp Rossak wrote:
> The cir interface is like on the H3 located at 0x01f02000 and is exactly
> the same. This patch adds support for the ir interface on the A83T.
> 
> Signed-off-by: Philipp Rossak <embed3d@gmail.com>
> ---
>  arch/arm/boot/dts/sun8i-a83t.dtsi | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi
> index afed6c0dea6f..31222a05a8f1 100644
> --- a/arch/arm/boot/dts/sun8i-a83t.dtsi
> +++ b/arch/arm/boot/dts/sun8i-a83t.dtsi
> @@ -992,6 +992,18 @@
>  			reg = <0x1f01c00 0x400>;
>  		};
>  
> +		r_cir: ir@1f02000 {
> +			compatible = "allwinner,sun5i-a13-ir";

You should have an a83t compatile in addition here.

Maxime

-- 
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v6 0/4] IR support for A83T
  2018-07-31  9:22 [PATCH v6 0/4] IR support for A83T Philipp Rossak
                   ` (3 preceding siblings ...)
  2018-07-31  9:22 ` [PATCH v6 4/4] ARM: dts: sun8i: h3-h5: ir register size should be the whole memory block Philipp Rossak
@ 2018-07-31 12:34 ` Maxime Ripard
  2018-08-01  6:55   ` Philipp Rossak
  4 siblings, 1 reply; 8+ messages in thread
From: Maxime Ripard @ 2018-07-31 12:34 UTC (permalink / raw)
  To: Philipp Rossak
  Cc: mchehab, robh+dt, mark.rutland, wens, linux, sean, p.zabel,
	andi.shyti, linux-media, devicetree, linux-arm-kernel,
	linux-kernel, linux-sunxi

On Tue, Jul 31, 2018 at 11:22:54AM +0200, Philipp Rossak wrote:
> This patch series adds support for the sunxi A83T ir module and enhances 
> the sunxi-ir driver. Right now the base clock frequency for the ir driver
> is a hard coded define and is set to 8 MHz.
> This works for the most common ir receivers. On the Sinovoip Bananapi M3 
> the ir receiver needs, a 3 MHz base clock frequency to work without
> problems with this driver.
> 
> This patch series adds support for an optinal property that makes it able
> to override the default base clock frequency and enables the ir interface 
> on the a83t and the Bananapi M3.

Once the minor comment on patch 2 has been fixed,
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>

Maxime

-- 
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v6 0/4] IR support for A83T
  2018-07-31 12:34 ` [PATCH v6 0/4] IR support for A83T Maxime Ripard
@ 2018-08-01  6:55   ` Philipp Rossak
  0 siblings, 0 replies; 8+ messages in thread
From: Philipp Rossak @ 2018-08-01  6:55 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: mchehab, robh+dt, mark.rutland, wens, linux, sean, p.zabel,
	andi.shyti, linux-media, devicetree, linux-arm-kernel,
	linux-kernel, linux-sunxi

Thanks,
I will fix this today.

Philipp

On 31.07.2018 14:34, Maxime Ripard wrote:
> On Tue, Jul 31, 2018 at 11:22:54AM +0200, Philipp Rossak wrote:
>> This patch series adds support for the sunxi A83T ir module and enhances
>> the sunxi-ir driver. Right now the base clock frequency for the ir driver
>> is a hard coded define and is set to 8 MHz.
>> This works for the most common ir receivers. On the Sinovoip Bananapi M3
>> the ir receiver needs, a 3 MHz base clock frequency to work without
>> problems with this driver.
>>
>> This patch series adds support for an optinal property that makes it able
>> to override the default base clock frequency and enables the ir interface
>> on the a83t and the Bananapi M3.
> 
> Once the minor comment on patch 2 has been fixed,
> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
> 
> Maxime
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-08-01  6:55 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-31  9:22 [PATCH v6 0/4] IR support for A83T Philipp Rossak
2018-07-31  9:22 ` [PATCH v6 1/4] ARM: dts: sun8i: a83t: Add the cir pin for the A83T Philipp Rossak
2018-07-31  9:22 ` [PATCH v6 2/4] ARM: dts: sun8i: a83t: Add support for the cir interface Philipp Rossak
2018-07-31 12:34   ` Maxime Ripard
2018-07-31  9:22 ` [PATCH v6 3/4] ARM: dts: sun8i: a83t: bananapi-m3: Enable IR controller Philipp Rossak
2018-07-31  9:22 ` [PATCH v6 4/4] ARM: dts: sun8i: h3-h5: ir register size should be the whole memory block Philipp Rossak
2018-07-31 12:34 ` [PATCH v6 0/4] IR support for A83T Maxime Ripard
2018-08-01  6:55   ` Philipp Rossak

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).