diff mbox series

[v3,5/6] MIPS: DTS: CI20: multiple DTS improvements

Message ID 01795b270ad025ffffbf80e115b3b2d138a20ffe.1581884459.git.hns@goldelico.com (mailing list archive)
State Superseded
Headers show
Series MIPS: Fixes and improvements for CI20 board (JZ4780) | expand

Commit Message

H. Nikolaus Schaller Feb. 16, 2020, 8:20 p.m. UTC
a) add DT node for SW1 as Enter button

The SW1 button can be used as a simple one-button keyboard
and is connected to PD17.

Note: SW1 has a second meaning to change the boot sequence
when pressed while powering on.

b) give eth0_power a defined voltage.

This is a 3.3V power switch (DVNET3.3V ).

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 arch/mips/boot/dts/ingenic/ci20.dts | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Paul Cercueil Feb. 28, 2020, 2:36 p.m. UTC | #1
Hi Nikolaus,

Le dim., févr. 16, 2020 at 21:20, H. Nikolaus Schaller 
<hns@goldelico.com> a écrit :
> a) add DT node for SW1 as Enter button
> 
> The SW1 button can be used as a simple one-button keyboard
> and is connected to PD17.
> 
> Note: SW1 has a second meaning to change the boot sequence
> when pressed while powering on.
> 
> b) give eth0_power a defined voltage.
> 
> This is a 3.3V power switch (DVNET3.3V ).
> 
> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
> ---
>  arch/mips/boot/dts/ingenic/ci20.dts | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/arch/mips/boot/dts/ingenic/ci20.dts 
> b/arch/mips/boot/dts/ingenic/ci20.dts
> index 1ab55be707af..4bacefa2cfce 100644
> --- a/arch/mips/boot/dts/ingenic/ci20.dts
> +++ b/arch/mips/boot/dts/ingenic/ci20.dts
> @@ -4,6 +4,7 @@
>  #include "jz4780.dtsi"
>  #include <dt-bindings/clock/ingenic,tcu.h>
>  #include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> 
>  / {
>  	compatible = "img,ci20", "ingenic,jz4780";
> @@ -25,6 +26,17 @@
>  		       0x30000000 0x30000000>;
>  	};
> 
> +	gpio-keys {
> +		compatible = "gpio-keys";
> +
> +		sw1 {
> +			label = "ci20:sw1";
> +			linux,code = <KEY_ENTER>;

Why KEY_ENTER? It would make it impossible for applications to know 
that it's actually the switch that has been pressed an not the keyboard.

> +			gpios = <&gpd 17 GPIO_ACTIVE_HIGH>;
> +			wakeup-source;
> +		};
> +	};
> +
>  	leds {
>  		compatible = "gpio-leds";
> 
> @@ -56,6 +68,8 @@
>  	eth0_power: fixedregulator@0 {
>  		compatible = "regulator-fixed";
>  		regulator-name = "eth0_power";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
>  		gpio = <&gpb 25 GPIO_ACTIVE_LOW>;
>  		enable-active-high;
>  	};
> --
> 2.23.0
>
H. Nikolaus Schaller Feb. 28, 2020, 2:42 p.m. UTC | #2
> Am 28.02.2020 um 15:36 schrieb Paul Cercueil <paul@crapouillou.net>:
> 
> Hi Nikolaus,
> 
> Le dim., févr. 16, 2020 at 21:20, H. Nikolaus Schaller <hns@goldelico.com> a écrit :
>> a) add DT node for SW1 as Enter button
>> The SW1 button can be used as a simple one-button keyboard
>> and is connected to PD17.
>> Note: SW1 has a second meaning to change the boot sequence
>> when pressed while powering on.
>> b) give eth0_power a defined voltage.
>> This is a 3.3V power switch (DVNET3.3V ).
>> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
>> ---
>> arch/mips/boot/dts/ingenic/ci20.dts | 14 ++++++++++++++
>> 1 file changed, 14 insertions(+)
>> diff --git a/arch/mips/boot/dts/ingenic/ci20.dts b/arch/mips/boot/dts/ingenic/ci20.dts
>> index 1ab55be707af..4bacefa2cfce 100644
>> --- a/arch/mips/boot/dts/ingenic/ci20.dts
>> +++ b/arch/mips/boot/dts/ingenic/ci20.dts
>> @@ -4,6 +4,7 @@
>> #include "jz4780.dtsi"
>> #include <dt-bindings/clock/ingenic,tcu.h>
>> #include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/input/input.h>
>> / {
>> 	compatible = "img,ci20", "ingenic,jz4780";
>> @@ -25,6 +26,17 @@
>> 		       0x30000000 0x30000000>;
>> 	};
>> +	gpio-keys {
>> +		compatible = "gpio-keys";
>> +
>> +		sw1 {
>> +			label = "ci20:sw1";
>> +			linux,code = <KEY_ENTER>;
> 
> Why KEY_ENTER? It would make it impossible for applications to know that it's actually the switch that has been pressed an not the keyboard.

Ah, ok. I didn't think about the use case that a physical keyboard is connected to one of the USB ports.

What else would you propose? I think your argument is for every existing KEY_CODE. Should we add a new one?

BR and thanks,
Nikolaus
Paul Cercueil Feb. 28, 2020, 2:50 p.m. UTC | #3
Le ven., févr. 28, 2020 at 15:42, H. Nikolaus Schaller 
<hns@goldelico.com> a écrit :
> 
>>  Am 28.02.2020 um 15:36 schrieb Paul Cercueil <paul@crapouillou.net>:
>> 
>>  Hi Nikolaus,
>> 
>>  Le dim., févr. 16, 2020 at 21:20, H. Nikolaus Schaller 
>> <hns@goldelico.com> a écrit :
>>>  a) add DT node for SW1 as Enter button
>>>  The SW1 button can be used as a simple one-button keyboard
>>>  and is connected to PD17.
>>>  Note: SW1 has a second meaning to change the boot sequence
>>>  when pressed while powering on.
>>>  b) give eth0_power a defined voltage.
>>>  This is a 3.3V power switch (DVNET3.3V ).
>>>  Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
>>>  ---
>>>  arch/mips/boot/dts/ingenic/ci20.dts | 14 ++++++++++++++
>>>  1 file changed, 14 insertions(+)
>>>  diff --git a/arch/mips/boot/dts/ingenic/ci20.dts 
>>> b/arch/mips/boot/dts/ingenic/ci20.dts
>>>  index 1ab55be707af..4bacefa2cfce 100644
>>>  --- a/arch/mips/boot/dts/ingenic/ci20.dts
>>>  +++ b/arch/mips/boot/dts/ingenic/ci20.dts
>>>  @@ -4,6 +4,7 @@
>>>  #include "jz4780.dtsi"
>>>  #include <dt-bindings/clock/ingenic,tcu.h>
>>>  #include <dt-bindings/gpio/gpio.h>
>>>  +#include <dt-bindings/input/input.h>
>>>  / {
>>>  	compatible = "img,ci20", "ingenic,jz4780";
>>>  @@ -25,6 +26,17 @@
>>>  		       0x30000000 0x30000000>;
>>>  	};
>>>  +	gpio-keys {
>>>  +		compatible = "gpio-keys";
>>>  +
>>>  +		sw1 {
>>>  +			label = "ci20:sw1";
>>>  +			linux,code = <KEY_ENTER>;
>> 
>>  Why KEY_ENTER? It would make it impossible for applications to know 
>> that it's actually the switch that has been pressed an not the 
>> keyboard.
> 
> Ah, ok. I didn't think about the use case that a physical keyboard is 
> connected to one of the USB ports.
> 
> What else would you propose? I think your argument is for every 
> existing KEY_CODE. Should we add a new one?

There are plenty you can use. I'd suggest KEY_F13 as it's 
general-purpose.

-Paul
diff mbox series

Patch

diff --git a/arch/mips/boot/dts/ingenic/ci20.dts b/arch/mips/boot/dts/ingenic/ci20.dts
index 1ab55be707af..4bacefa2cfce 100644
--- a/arch/mips/boot/dts/ingenic/ci20.dts
+++ b/arch/mips/boot/dts/ingenic/ci20.dts
@@ -4,6 +4,7 @@ 
 #include "jz4780.dtsi"
 #include <dt-bindings/clock/ingenic,tcu.h>
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
 
 / {
 	compatible = "img,ci20", "ingenic,jz4780";
@@ -25,6 +26,17 @@ 
 		       0x30000000 0x30000000>;
 	};
 
+	gpio-keys {
+		compatible = "gpio-keys";
+
+		sw1 {
+			label = "ci20:sw1";
+			linux,code = <KEY_ENTER>;
+			gpios = <&gpd 17 GPIO_ACTIVE_HIGH>;
+			wakeup-source;
+		};
+	};
+
 	leds {
 		compatible = "gpio-leds";
 
@@ -56,6 +68,8 @@ 
 	eth0_power: fixedregulator@0 {
 		compatible = "regulator-fixed";
 		regulator-name = "eth0_power";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
 		gpio = <&gpb 25 GPIO_ACTIVE_LOW>;
 		enable-active-high;
 	};