diff mbox

[v2] arm64: dts: Enable ir-spi in the tm2 and tm2e boards

Message ID 20170210022238.12401-1-andi.shyti@samsung.com (mailing list archive)
State Accepted
Headers show

Commit Message

Andi Shyti Feb. 10, 2017, 2:22 a.m. UTC
Add the device tree node for the ir-spi driver which enable the
ir led for remote controlling.

This patch sets first the GPR3[3] gpio line as a regulator-fixed
for enabling an external regulator which powers the IR LED.

Removes also the default assignment of GPG3[7] related to the
MOSI line of the SPI3 bus.

Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
---
Changelog v1 -> v2

Comments

Krzysztof Kozlowski Feb. 10, 2017, 1:43 p.m. UTC | #1
On Fri, Feb 10, 2017 at 11:22:38AM +0900, Andi Shyti wrote:
> Add the device tree node for the ir-spi driver which enable the
> ir led for remote controlling.
> 
> This patch sets first the GPR3[3] gpio line as a regulator-fixed
> for enabling an external regulator which powers the IR LED.
> 
> Removes also the default assignment of GPG3[7] related to the
> MOSI line of the SPI3 bus.
> 
> Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
> ---
> Changelog v1 -> v2
> ==================
> v1: https://marc.info/?l=linux-kernel&m=148645523229894&w=2
> 
>  - used 'GPIO_ACTIVE_HIGH' instead of '0'
>  - added back the gpg3-5 gpio initialization related to the SPI3
>    CS line that was erroneously removed
>    
>  .../boot/dts/exynos/exynos5433-tm2-common.dtsi     | 26 +++++++++++++++++++++-
>  1 file changed, 25 insertions(+), 1 deletion(-)
>

Looks fine. I'll apply after v4.11-rc1 merge window.

Best regards,
Krzysztof
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Javier Martinez Canillas Feb. 10, 2017, 2:04 p.m. UTC | #2
Hello Andi,

On 02/09/2017 11:22 PM, Andi Shyti wrote:
> Add the device tree node for the ir-spi driver which enable the
> ir led for remote controlling.
> 
> This patch sets first the GPR3[3] gpio line as a regulator-fixed
> for enabling an external regulator which powers the IR LED.
> 
> Removes also the default assignment of GPG3[7] related to the
> MOSI line of the SPI3 bus.
> 
> Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
> ---
> Changelog v1 -> v2
> ==================
> v1: https://marc.info/?l=linux-kernel&m=148645523229894&w=2
> 
>  - used 'GPIO_ACTIVE_HIGH' instead of '0'
>  - added back the gpg3-5 gpio initialization related to the SPI3
>    CS line that was erroneously removed
>    
>  .../boot/dts/exynos/exynos5433-tm2-common.dtsi     | 26 +++++++++++++++++++++-
>  1 file changed, 25 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
> index 098ad557fee3..4df6b57a0a68 100644
> --- a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
> @@ -106,6 +106,13 @@
>  		};
>  	};
>  
> +	irda_regulator: irda-regulator {
> +		compatible = "regulator-fixed";
> +		enable-active-high;
> +		gpio = <&gpr3 3 GPIO_ACTIVE_HIGH>;
> +		regulator-name = "irda_regulator";

How is this regulator named in the board schematics? My
understanding is that regulator-name should match this.

I don't have access to this so it may be "irda_regulator"
although I was expecting something more like "VDD_IRDA".

Patch looks good to me though:

Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>

Best regards,
Andi Shyti Feb. 11, 2017, 4:44 a.m. UTC | #3
Hi Javier,

On Fri, Feb 10, 2017 at 11:04:50AM -0300, Javier Martinez Canillas wrote:
> On 02/09/2017 11:22 PM, Andi Shyti wrote:
...
> > +	irda_regulator: irda-regulator {
> > +		compatible = "regulator-fixed";
> > +		enable-active-high;
> > +		gpio = <&gpr3 3 GPIO_ACTIVE_HIGH>;
> > +		regulator-name = "irda_regulator";
> 
> How is this regulator named in the board schematics? My
> understanding is that regulator-name should match this.
> 
> I don't have access to this so it may be "irda_regulator"
> although I was expecting something more like "VDD_IRDA".

This is not a real regulator.

This is an external regulator which is enabled with a gpio
(GPR3[3]). The regulator-fixed allows me to use the regulator API
even though I would only need to control a gpio (with the gpio
API). I prefer using regulator to keep the same interface no
matter how the irda is connected.

About the name, I have full freedom to chose as of course it's
not documented in the exynos5433 datasheet. Perhaps I could call
it irda-gpio-regulator to make it more clear?

> Patch looks good to me though:
> 
> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>

Thanks,
Andi
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Javier Martinez Canillas Feb. 13, 2017, 11:55 a.m. UTC | #4
Hello Andi,

On 02/11/2017 01:44 AM, Andi Shyti wrote:
> Hi Javier,
> 
> On Fri, Feb 10, 2017 at 11:04:50AM -0300, Javier Martinez Canillas wrote:
>> On 02/09/2017 11:22 PM, Andi Shyti wrote:
> ...
>>> +	irda_regulator: irda-regulator {
>>> +		compatible = "regulator-fixed";
>>> +		enable-active-high;
>>> +		gpio = <&gpr3 3 GPIO_ACTIVE_HIGH>;
>>> +		regulator-name = "irda_regulator";
>>
>> How is this regulator named in the board schematics? My
>> understanding is that regulator-name should match this.
>>
>> I don't have access to this so it may be "irda_regulator"
>> although I was expecting something more like "VDD_IRDA".
> 
> This is not a real regulator.
>

I see, I misunderstood and thought it was a real regulator.
 
> This is an external regulator which is enabled with a gpio
> (GPR3[3]). The regulator-fixed allows me to use the regulator API
> even though I would only need to control a gpio (with the gpio
> API). I prefer using regulator to keep the same interface no
> matter how the irda is connected.
>
> About the name, I have full freedom to chose as of course it's
> not documented in the exynos5433 datasheet. Perhaps I could call
> it irda-gpio-regulator to make it more clear?
>

I don't have a strong opinion on the regulator-name in this
case.

>> Patch looks good to me though:
>>
>> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
> 
> Thanks,
> Andi
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

Best regards,
Krzysztof Kozlowski March 7, 2017, 7:22 p.m. UTC | #5
On Fri, Feb 10, 2017 at 11:22:38AM +0900, Andi Shyti wrote:
> Add the device tree node for the ir-spi driver which enable the
> ir led for remote controlling.
> 
> This patch sets first the GPR3[3] gpio line as a regulator-fixed
> for enabling an external regulator which powers the IR LED.
> 
> Removes also the default assignment of GPG3[7] related to the
> MOSI line of the SPI3 bus.
> 
> Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
> ---
> Changelog v1 -> v2
> ==================
> v1: https://marc.info/?l=linux-kernel&m=148645523229894&w=2
> 
>  - used 'GPIO_ACTIVE_HIGH' instead of '0'
>  - added back the gpg3-5 gpio initialization related to the SPI3
>    CS line that was erroneously removed
>    
>  .../boot/dts/exynos/exynos5433-tm2-common.dtsi     | 26 +++++++++++++++++++++-
>  1 file changed, 25 insertions(+), 1 deletion(-)
> 

Thanks, applied with fixed title prefix.

Best regards,
Krzysztof

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

==================
v1: https://marc.info/?l=linux-kernel&m=148645523229894&w=2

 - used 'GPIO_ACTIVE_HIGH' instead of '0'
 - added back the gpg3-5 gpio initialization related to the SPI3
   CS line that was erroneously removed
   
 .../boot/dts/exynos/exynos5433-tm2-common.dtsi     | 26 +++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
index 098ad557fee3..4df6b57a0a68 100644
--- a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
@@ -106,6 +106,13 @@ 
 		};
 	};
 
+	irda_regulator: irda-regulator {
+		compatible = "regulator-fixed";
+		enable-active-high;
+		gpio = <&gpr3 3 GPIO_ACTIVE_HIGH>;
+		regulator-name = "irda_regulator";
+	};
+
 	sound {
 		compatible = "samsung,tm2-audio";
 		audio-codec = <&wm5110>;
@@ -1074,7 +1081,6 @@ 
 		PIN(INPUT, gpg3-0, DOWN, FAST_SR1);
 		PIN(INPUT, gpg3-1, DOWN, FAST_SR1);
 		PIN(INPUT, gpg3-5, DOWN, FAST_SR1);
-		PIN(INPUT, gpg3-7, DOWN, FAST_SR1);
 	};
 };
 
@@ -1152,6 +1158,24 @@ 
 	};
 };
 
+&spi_3 {
+	status = "okay";
+	no-cs-readback;
+
+	irled@0 {
+		compatible = "ir-spi-led";
+		reg = <0x0>;
+		spi-max-frequency = <5000000>;
+		power-supply = <&irda_regulator>;
+		duty-cycle = <60>;
+		led-active-low;
+
+		controller-data {
+			samsung,spi-feedback-delay = <0>;
+		};
+	};
+};
+
 &timer {
 	clock-frequency = <24000000>;
 };