diff mbox series

arm64: dts: rockchip: Add Hugsun X99 IR receiver and power led

Message ID 20200313000112.19419-1-npcomplete13@gmail.com (mailing list archive)
State New, archived
Headers show
Series arm64: dts: rockchip: Add Hugsun X99 IR receiver and power led | expand

Commit Message

Vivek Unune March 13, 2020, 12:01 a.m. UTC
- Add Hugsun X99 IR receiver and power led
 - Remove pwm0 node as it interferes with pwer LED gpio
   Also, it's not used in factory firmware
   
Tested with Libreelec kernel v5.6

Signed-off-by: Vivek Unune <npcomplete13@gmail.com>
---
 .../boot/dts/rockchip/rk3399-hugsun-x99.dts   | 37 +++++++++++++++++--
 1 file changed, 33 insertions(+), 4 deletions(-)

Comments

Johan Jonker March 13, 2020, 8:32 a.m. UTC | #1
Hi Vivek,

The 'power-led' need some changes.

From leds-gpio.yaml:

patternProperties:
  # The first form is preferred, but fall back to just 'led' anywhere in the
  # node name to at least catch some child nodes.
  "(^led-[0-9a-f]$|led)":
    type: object

Test with:
make -k ARCH=arm64 dtbs_check

arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dt.yaml: leds:
power-led:linux,default-trigger:0: 'none' is not one of ['backlight',
'default-on', 'heartbeat', 'disk-activity', 'ide-disk', 'timer', 'pattern']

On 3/13/20 1:01 AM, Vivek Unune wrote:
>  - Add Hugsun X99 IR receiver and power led
>  - Remove pwm0 node as it interferes with pwer LED gpio

pwer => power

>    Also, it's not used in factory firmware
>    

> Tested with Libreelec kernel v5.6

Test with linux-next.

git clone -- depth 1
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git

> 
> Signed-off-by: Vivek Unune <npcomplete13@gmail.com>
> ---
>  .../boot/dts/rockchip/rk3399-hugsun-x99.dts   | 37 +++++++++++++++++--
>  1 file changed, 33 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts b/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
> index d69a613fb65a..df425e164a2e 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
> @@ -29,6 +29,26 @@
>  		regulator-max-microvolt = <5000000>;
>  	};
>  
> +	ir-receiver {
> +		compatible = "gpio-ir-receiver";
> +		gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&ir_rx>;
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&power_led_gpio>;
> +
> +		power-led {
> +			label = "blue:power";
> +			gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
> +			default-state = "on";
> +			linux,default-trigger = "none";
> +		};
> +	};
> +
>  	vcc_sys: vcc-sys {
>  		compatible = "regulator-fixed";
>  		regulator-name = "vcc_sys";
> @@ -483,6 +503,18 @@
>  		};
>  	};
>  
> +	ir {
> +		ir_rx: ir-rx {
> +			rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>;
> +		};
> +	};
> +
> +	leds {
> +		power_led_gpio: power-led-gpio {
> +			rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
> +		};
> +	};
> +
>  	pmic {
>  		pmic_int_l: pmic-int-l {
>  			rockchip,pins =
> @@ -539,10 +572,6 @@
>  	};
>  };
>  
> -&pwm0 {
> -	status = "okay";
> -};
> -
>  &pwm2 {
>  	status = "okay";
>  	pinctrl-0 = <&pwm2_pin_pull_down>;
>
Vivek Unune March 13, 2020, 2:20 p.m. UTC | #2
On Fri, Mar 13, 2020 at 09:32:27AM +0100, Johan Jonker wrote:
> Hi Vivek,
> 
> The 'power-led' need some changes.
> 
> From leds-gpio.yaml:
> 
> patternProperties:
>   # The first form is preferred, but fall back to just 'led' anywhere in the
>   # node name to at least catch some child nodes.
>   "(^led-[0-9a-f]$|led)":
>     type: object
> 
> Test with:
> make -k ARCH=arm64 dtbs_check
> 
> arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dt.yaml: leds:
> power-led:linux,default-trigger:0: 'none' is not one of ['backlight',
> 'default-on', 'heartbeat', 'disk-activity', 'ide-disk', 'timer', 'pattern']
> 
> On 3/13/20 1:01 AM, Vivek Unune wrote:
> >  - Add Hugsun X99 IR receiver and power led
> >  - Remove pwm0 node as it interferes with pwer LED gpio
> 
> pwer => power
> 

Hi Johan,

I'll fix those in my next version. Here's what I intended to to:

1. Rename 'power-led' node to 'led-power'
2. Remove 'linux,default-trigger' entirely since this led is always on

Thanks,

Vivek 

> > index d69a613fb65a..df425e164a2e 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
> > @@ -29,6 +29,26 @@
> >  		regulator-max-microvolt = <5000000>;
> >  	};
> >  
> > +	leds {
> > +		compatible = "gpio-leds";
> > +		pinctrl-names = "default";
> > +		pinctrl-0 = <&power_led_gpio>;
> > +
> > +		power-led {
> > +			label = "blue:power";
> > +			gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
> > +			default-state = "on";
> > +			linux,default-trigger = "none";
> > +		};
> > +	};
> > +
Johan Jonker March 13, 2020, 2:29 p.m. UTC | #3
Hi Vivek,

On 3/13/20 3:20 PM, Vivek Unune wrote:
> On Fri, Mar 13, 2020 at 09:32:27AM +0100, Johan Jonker wrote:
>> Hi Vivek,
>>
>> The 'power-led' need some changes.
>>
>> From leds-gpio.yaml:
>>
>> patternProperties:
>>   # The first form is preferred, but fall back to just 'led' anywhere in the
>>   # node name to at least catch some child nodes.
>>   "(^led-[0-9a-f]$|led)":
>>     type: object
>>
>> Test with:
>> make -k ARCH=arm64 dtbs_check
>>
>> arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dt.yaml: leds:
>> power-led:linux,default-trigger:0: 'none' is not one of ['backlight',
>> 'default-on', 'heartbeat', 'disk-activity', 'ide-disk', 'timer', 'pattern']
>>
>> On 3/13/20 1:01 AM, Vivek Unune wrote:
>>>  - Add Hugsun X99 IR receiver and power led
>>>  - Remove pwm0 node as it interferes with pwer LED gpio
>>
>> pwer => power
>>
> 
> Hi Johan,
> 
> I'll fix those in my next version. Here's what I intended to to:
> 

> 1. Rename 'power-led' node to 'led-power'

The first form is preferred.
Put 'led-power' in a regex tester with ^led-[0-9a-f]$
https://regex101.com/
Your regular expression does not match the subject string.

Test 'led-0'
Full match


> 2. Remove 'linux,default-trigger' entirely since this led is always on
> 
> Thanks,
> 
> Vivek 
> 
>>> index d69a613fb65a..df425e164a2e 100644
>>> --- a/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
>>> +++ b/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
>>> @@ -29,6 +29,26 @@
>>>  		regulator-max-microvolt = <5000000>;
>>>  	};
>>>  
>>> +	leds {
>>> +		compatible = "gpio-leds";
>>> +		pinctrl-names = "default";
>>> +		pinctrl-0 = <&power_led_gpio>;
>>> +
>>> +		power-led {
>>> +			label = "blue:power";
>>> +			gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
>>> +			default-state = "on";
>>> +			linux,default-trigger = "none";
>>> +		};
>>> +	};
>>> +
Vivek Unune March 13, 2020, 2:37 p.m. UTC | #4
On Fri, Mar 13, 2020 at 03:29:59PM +0100, Johan Jonker wrote:
> Hi Vivek,
> 
> On 3/13/20 3:20 PM, Vivek Unune wrote:
> > On Fri, Mar 13, 2020 at 09:32:27AM +0100, Johan Jonker wrote:
> >> Hi Vivek,
> >>
> >> The 'power-led' need some changes.
> >>
> >> From leds-gpio.yaml:
> >>
> >> patternProperties:
> >>   # The first form is preferred, but fall back to just 'led' anywhere in the
> >>   # node name to at least catch some child nodes.
> >>   "(^led-[0-9a-f]$|led)":
> >>     type: object
> >>
> >> Test with:
> >> make -k ARCH=arm64 dtbs_check
> >>
> >> arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dt.yaml: leds:
> >> power-led:linux,default-trigger:0: 'none' is not one of ['backlight',
> >> 'default-on', 'heartbeat', 'disk-activity', 'ide-disk', 'timer', 'pattern']
> >>
> >> On 3/13/20 1:01 AM, Vivek Unune wrote:
> >>>  - Add Hugsun X99 IR receiver and power led
> >>>  - Remove pwm0 node as it interferes with pwer LED gpio
> >>
> >> pwer => power
> >>
> > 
> > Hi Johan,
> > 
> > I'll fix those in my next version. Here's what I intended to to:
> > 
> 
> > 1. Rename 'power-led' node to 'led-power'
> 
> The first form is preferred.
> Put 'led-power' in a regex tester with ^led-[0-9a-f]$
> https://regex101.com/
> Your regular expression does not match the subject string.
> 
> Test 'led-0'
> Full match
> 

Hi Johan,

Thanks for quick reply. 

Indeed led-power won't work. Although I'm trying to figure out the dtbs_check
Currently, make compains that it's missing.
I'll verify this properly without having you to verify it next time.

Thanks,

Vivek


> >>>  		regulator-max-microvolt = <5000000>;
> >>>  	};
> >>>  
> >>> +	leds {
> >>> +		compatible = "gpio-leds";
> >>> +		pinctrl-names = "default";
> >>> +		pinctrl-0 = <&power_led_gpio>;
> >>> +
> >>> +		power-led {
> >>> +			label = "blue:power";
> >>> +			gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
> >>> +			default-state = "on";
> >>> +			linux,default-trigger = "none";
> >>> +		};
> >>> +	};
> >>> +
>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts b/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
index d69a613fb65a..df425e164a2e 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
@@ -29,6 +29,26 @@ 
 		regulator-max-microvolt = <5000000>;
 	};
 
+	ir-receiver {
+		compatible = "gpio-ir-receiver";
+		gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&ir_rx>;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&power_led_gpio>;
+
+		power-led {
+			label = "blue:power";
+			gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
+			default-state = "on";
+			linux,default-trigger = "none";
+		};
+	};
+
 	vcc_sys: vcc-sys {
 		compatible = "regulator-fixed";
 		regulator-name = "vcc_sys";
@@ -483,6 +503,18 @@ 
 		};
 	};
 
+	ir {
+		ir_rx: ir-rx {
+			rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>;
+		};
+	};
+
+	leds {
+		power_led_gpio: power-led-gpio {
+			rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+
 	pmic {
 		pmic_int_l: pmic-int-l {
 			rockchip,pins =
@@ -539,10 +572,6 @@ 
 	};
 };
 
-&pwm0 {
-	status = "okay";
-};
-
 &pwm2 {
 	status = "okay";
 	pinctrl-0 = <&pwm2_pin_pull_down>;