* [PATCH v3 1/6] MIPS: DTS: jz4780: add #includes for irq.h and gpio.h
2020-02-16 20:20 [PATCH v3 0/6] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
@ 2020-02-16 20:20 ` H. Nikolaus Schaller
2020-02-28 14:33 ` Paul Cercueil
2020-02-16 20:20 ` [PATCH v3 2/6] MIPS: DTS: CI20: add DT node for IR sensor H. Nikolaus Schaller
` (4 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-16 20:20 UTC (permalink / raw)
To: Paul Boddie, Paul Cercueil, Rob Herring, Mark Rutland,
Ralf Baechle, Paul Burton, H. Nikolaus Schaller, Miquel Raynal,
Andi Kleen, Kees Cook, Krzysztof Kozlowski
Cc: devicetree, linux-mips, linux-kernel, letux-kernel, kernel
The constants from irq.h and gpio.h can and should be
used in the jz4780.dtsi and derived DTS like ci20.dts.
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
arch/mips/boot/dts/ingenic/jz4780.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/mips/boot/dts/ingenic/jz4780.dtsi b/arch/mips/boot/dts/ingenic/jz4780.dtsi
index f928329b034b..112a24deff71 100644
--- a/arch/mips/boot/dts/ingenic/jz4780.dtsi
+++ b/arch/mips/boot/dts/ingenic/jz4780.dtsi
@@ -1,6 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
#include <dt-bindings/clock/jz4780-cgu.h>
#include <dt-bindings/dma/jz4780-dma.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
/ {
#address-cells = <1>;
--
2.23.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v3 1/6] MIPS: DTS: jz4780: add #includes for irq.h and gpio.h
2020-02-16 20:20 ` [PATCH v3 1/6] MIPS: DTS: jz4780: add #includes for irq.h and gpio.h H. Nikolaus Schaller
@ 2020-02-28 14:33 ` Paul Cercueil
0 siblings, 0 replies; 13+ messages in thread
From: Paul Cercueil @ 2020-02-28 14:33 UTC (permalink / raw)
To: H. Nikolaus Schaller
Cc: Paul Boddie, Rob Herring, Mark Rutland, Ralf Baechle,
Paul Burton, Miquel Raynal, Andi Kleen, Kees Cook,
Krzysztof Kozlowski, devicetree, linux-mips, linux-kernel,
letux-kernel, kernel
Hi Nikolaus,
Le dim., févr. 16, 2020 at 21:20, H. Nikolaus Schaller
<hns@goldelico.com> a écrit :
> The constants from irq.h and gpio.h can and should be
> used in the jz4780.dtsi and derived DTS like ci20.dts.
>
> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
> ---
> arch/mips/boot/dts/ingenic/jz4780.dtsi | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/mips/boot/dts/ingenic/jz4780.dtsi
> b/arch/mips/boot/dts/ingenic/jz4780.dtsi
> index f928329b034b..112a24deff71 100644
> --- a/arch/mips/boot/dts/ingenic/jz4780.dtsi
> +++ b/arch/mips/boot/dts/ingenic/jz4780.dtsi
> @@ -1,6 +1,8 @@
> // SPDX-License-Identifier: GPL-2.0
> #include <dt-bindings/clock/jz4780-cgu.h>
> #include <dt-bindings/dma/jz4780-dma.h>
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
I don't think you need an extra patch for that - just add each include
in the patch that first use them.
-Paul
>
> / {
> #address-cells = <1>;
> --
> 2.23.0
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v3 2/6] MIPS: DTS: CI20: add DT node for IR sensor
2020-02-16 20:20 [PATCH v3 0/6] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
2020-02-16 20:20 ` [PATCH v3 1/6] MIPS: DTS: jz4780: add #includes for irq.h and gpio.h H. Nikolaus Schaller
@ 2020-02-16 20:20 ` H. Nikolaus Schaller
2020-02-16 20:20 ` [PATCH v3 3/6] MIPS: DTS: CI20: fix PMU definitions for ACT8600 H. Nikolaus Schaller
` (3 subsequent siblings)
5 siblings, 0 replies; 13+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-16 20:20 UTC (permalink / raw)
To: Paul Boddie, Paul Cercueil, Rob Herring, Mark Rutland,
Ralf Baechle, Paul Burton, H. Nikolaus Schaller, Miquel Raynal,
Andi Kleen, Kees Cook, Krzysztof Kozlowski
Cc: devicetree, linux-mips, linux-kernel, letux-kernel, kernel, Alex Smith
From: Alex Smith <alex.smith@imgtec.com>
The infrared sensor on the CI20 board is connected to a GPIO and can
be operated by using the gpio-ir-recv driver. Add a DT node for the
sensor to allow that driver to be used.
Signed-off-by: Alex Smith <alex.smith@imgtec.com>
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
arch/mips/boot/dts/ingenic/ci20.dts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/mips/boot/dts/ingenic/ci20.dts b/arch/mips/boot/dts/ingenic/ci20.dts
index 37b93166bf22..59c104289ece 100644
--- a/arch/mips/boot/dts/ingenic/ci20.dts
+++ b/arch/mips/boot/dts/ingenic/ci20.dts
@@ -60,6 +60,11 @@
enable-active-high;
};
+ ir: ir-receiver {
+ compatible = "gpio-ir-receiver";
+ gpios = <&gpe 3 GPIO_ACTIVE_LOW>;
+ };
+
wlan0_power: fixedregulator@1 {
compatible = "regulator-fixed";
regulator-name = "wlan0_power";
--
2.23.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 3/6] MIPS: DTS: CI20: fix PMU definitions for ACT8600
2020-02-16 20:20 [PATCH v3 0/6] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
2020-02-16 20:20 ` [PATCH v3 1/6] MIPS: DTS: jz4780: add #includes for irq.h and gpio.h H. Nikolaus Schaller
2020-02-16 20:20 ` [PATCH v3 2/6] MIPS: DTS: CI20: add DT node for IR sensor H. Nikolaus Schaller
@ 2020-02-16 20:20 ` H. Nikolaus Schaller
2020-02-28 14:34 ` Paul Cercueil
2020-02-16 20:20 ` [PATCH v3 4/6] MIPS: DTS: CI20: fix interrupt for pcf8563 RTC H. Nikolaus Schaller
` (2 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-16 20:20 UTC (permalink / raw)
To: Paul Boddie, Paul Cercueil, Rob Herring, Mark Rutland,
Ralf Baechle, Paul Burton, H. Nikolaus Schaller, Miquel Raynal,
Andi Kleen, Kees Cook, Krzysztof Kozlowski
Cc: devicetree, linux-mips, linux-kernel, letux-kernel, kernel, stable
There is a ACT8600 on the CI20 board and the bindings of the
ACT8865 driver have changed without updating the CI20 device
tree. Therefore the PMU can not be probed successfully and
is running in power-on reset state.
Fix DT to match the latest act8865-regulator bindings.
Fixes: 73f2b940474d ("MIPS: CI20: DTS: Add I2C nodes")
Cc: stable@vger.kernel.org
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
arch/mips/boot/dts/ingenic/ci20.dts | 48 ++++++++++++++++++++---------
1 file changed, 33 insertions(+), 15 deletions(-)
diff --git a/arch/mips/boot/dts/ingenic/ci20.dts b/arch/mips/boot/dts/ingenic/ci20.dts
index 59c104289ece..4f48bc16fb52 100644
--- a/arch/mips/boot/dts/ingenic/ci20.dts
+++ b/arch/mips/boot/dts/ingenic/ci20.dts
@@ -153,6 +153,8 @@
pinctrl-0 = <&pins_uart4>;
};
+#include <dt-bindings/regulator/active-semi,8865-regulator.h>
+
&i2c0 {
status = "okay";
@@ -166,65 +168,81 @@
reg = <0x5a>;
status = "okay";
+/*
+Optional input supply properties:
+- for act8600:
+ - vp1-supply: The input supply for DCDC_REG1
+ - vp2-supply: The input supply for DCDC_REG2
+ - vp3-supply: The input supply for DCDC_REG3
+ - inl-supply: The input supply for LDO_REG5, LDO_REG6, LDO_REG7 and LDO_REG8
+ SUDCDC_REG4, LDO_REG9 and LDO_REG10 do not have separate supplies.
+*/
+
regulators {
vddcore: SUDCDC1 {
- regulator-name = "VDDCORE";
+ regulator-name = "DCDC_REG1";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
vddmem: SUDCDC2 {
- regulator-name = "VDDMEM";
+ regulator-name = "DCDC_REG2";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
};
vcc_33: SUDCDC3 {
- regulator-name = "VCC33";
+ regulator-name = "DCDC_REG3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vcc_50: SUDCDC4 {
- regulator-name = "VCC50";
+ regulator-name = "SUDCDC_REG4";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
vcc_25: LDO_REG5 {
- regulator-name = "VCC25";
+ regulator-name = "LDO_REG5";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>;
regulator-always-on;
};
wifi_io: LDO_REG6 {
- regulator-name = "WIFIIO";
+ regulator-name = "LDO_REG6";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>;
regulator-always-on;
};
vcc_28: LDO_REG7 {
- regulator-name = "VCC28";
+ regulator-name = "LDO_REG7";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
vcc_15: LDO_REG8 {
- regulator-name = "VCC15";
+ regulator-name = "LDO_REG8";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
};
- vcc_18: LDO_REG9 {
- regulator-name = "VCC18";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
+ vrtc_18: LDO_REG9 {
+ regulator-name = "LDO_REG9";
+ /* Despite the datasheet stating 3.3V for REG9 and
+ driver expecting that, REG9 outputs 1.8V.
+ Likely the CI20 uses a chip variant.
+ Since it is a simple on/off LDO the exact values
+ do not matter.
+ */
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vcc_11: LDO_REG10 {
- regulator-name = "VCC11";
- regulator-min-microvolt = <1100000>;
- regulator-max-microvolt = <1100000>;
+ regulator-name = "LDO_REG10";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
regulator-always-on;
};
};
--
2.23.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v3 3/6] MIPS: DTS: CI20: fix PMU definitions for ACT8600
2020-02-16 20:20 ` [PATCH v3 3/6] MIPS: DTS: CI20: fix PMU definitions for ACT8600 H. Nikolaus Schaller
@ 2020-02-28 14:34 ` Paul Cercueil
2020-02-28 14:40 ` H. Nikolaus Schaller
0 siblings, 1 reply; 13+ messages in thread
From: Paul Cercueil @ 2020-02-28 14:34 UTC (permalink / raw)
To: H. Nikolaus Schaller
Cc: Paul Boddie, Rob Herring, Mark Rutland, Ralf Baechle,
Paul Burton, Miquel Raynal, Andi Kleen, Kees Cook,
Krzysztof Kozlowski, devicetree, linux-mips, linux-kernel,
letux-kernel, kernel, stable
Hi Nikolaus,
Le dim., févr. 16, 2020 at 21:20, H. Nikolaus Schaller
<hns@goldelico.com> a écrit :
> There is a ACT8600 on the CI20 board and the bindings of the
> ACT8865 driver have changed without updating the CI20 device
> tree. Therefore the PMU can not be probed successfully and
> is running in power-on reset state.
>
> Fix DT to match the latest act8865-regulator bindings.
>
> Fixes: 73f2b940474d ("MIPS: CI20: DTS: Add I2C nodes")
> Cc: stable@vger.kernel.org
> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
> ---
> arch/mips/boot/dts/ingenic/ci20.dts | 48
> ++++++++++++++++++++---------
> 1 file changed, 33 insertions(+), 15 deletions(-)
>
> diff --git a/arch/mips/boot/dts/ingenic/ci20.dts
> b/arch/mips/boot/dts/ingenic/ci20.dts
> index 59c104289ece..4f48bc16fb52 100644
> --- a/arch/mips/boot/dts/ingenic/ci20.dts
> +++ b/arch/mips/boot/dts/ingenic/ci20.dts
> @@ -153,6 +153,8 @@
> pinctrl-0 = <&pins_uart4>;
> };
>
> +#include <dt-bindings/regulator/active-semi,8865-regulator.h>
Includes at the beginning of the file please. Keeps it tidy.
> +
> &i2c0 {
> status = "okay";
>
> @@ -166,65 +168,81 @@
> reg = <0x5a>;
> status = "okay";
>
> +/*
> +Optional input supply properties:
> +- for act8600:
> + - vp1-supply: The input supply for DCDC_REG1
> + - vp2-supply: The input supply for DCDC_REG2
> + - vp3-supply: The input supply for DCDC_REG3
> + - inl-supply: The input supply for LDO_REG5, LDO_REG6, LDO_REG7
> and LDO_REG8
> + SUDCDC_REG4, LDO_REG9 and LDO_REG10 do not have separate supplies.
> +*/
> +
> regulators {
> vddcore: SUDCDC1 {
> - regulator-name = "VDDCORE";
> + regulator-name = "DCDC_REG1";
> regulator-min-microvolt = <1100000>;
> regulator-max-microvolt = <1100000>;
> regulator-always-on;
> };
> vddmem: SUDCDC2 {
> - regulator-name = "VDDMEM";
> + regulator-name = "DCDC_REG2";
> regulator-min-microvolt = <1500000>;
> regulator-max-microvolt = <1500000>;
> regulator-always-on;
> };
> vcc_33: SUDCDC3 {
> - regulator-name = "VCC33";
> + regulator-name = "DCDC_REG3";
> regulator-min-microvolt = <3300000>;
> regulator-max-microvolt = <3300000>;
> regulator-always-on;
> };
> vcc_50: SUDCDC4 {
> - regulator-name = "VCC50";
> + regulator-name = "SUDCDC_REG4";
> regulator-min-microvolt = <5000000>;
> regulator-max-microvolt = <5000000>;
> regulator-always-on;
> };
> vcc_25: LDO_REG5 {
> - regulator-name = "VCC25";
> + regulator-name = "LDO_REG5";
> regulator-min-microvolt = <2500000>;
> regulator-max-microvolt = <2500000>;
> regulator-always-on;
> };
> wifi_io: LDO_REG6 {
> - regulator-name = "WIFIIO";
> + regulator-name = "LDO_REG6";
> regulator-min-microvolt = <2500000>;
> regulator-max-microvolt = <2500000>;
> regulator-always-on;
> };
> vcc_28: LDO_REG7 {
> - regulator-name = "VCC28";
> + regulator-name = "LDO_REG7";
> regulator-min-microvolt = <2800000>;
> regulator-max-microvolt = <2800000>;
> regulator-always-on;
> };
> vcc_15: LDO_REG8 {
> - regulator-name = "VCC15";
> + regulator-name = "LDO_REG8";
> regulator-min-microvolt = <1500000>;
> regulator-max-microvolt = <1500000>;
> regulator-always-on;
> };
> - vcc_18: LDO_REG9 {
> - regulator-name = "VCC18";
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> + vrtc_18: LDO_REG9 {
> + regulator-name = "LDO_REG9";
> + /* Despite the datasheet stating 3.3V for REG9 and
> + driver expecting that, REG9 outputs 1.8V.
> + Likely the CI20 uses a chip variant.
> + Since it is a simple on/off LDO the exact values
> + do not matter.
> + */
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> regulator-always-on;
> };
> vcc_11: LDO_REG10 {
> - regulator-name = "VCC11";
> - regulator-min-microvolt = <1100000>;
> - regulator-max-microvolt = <1100000>;
> + regulator-name = "LDO_REG10";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> regulator-always-on;
> };
> };
> --
> 2.23.0
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 3/6] MIPS: DTS: CI20: fix PMU definitions for ACT8600
2020-02-28 14:34 ` Paul Cercueil
@ 2020-02-28 14:40 ` H. Nikolaus Schaller
0 siblings, 0 replies; 13+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-28 14:40 UTC (permalink / raw)
To: Paul Cercueil
Cc: Paul Boddie, Rob Herring, Mark Rutland, Ralf Baechle,
Paul Burton, Miquel Raynal, Andi Kleen, Kees Cook,
Krzysztof Kozlowski, devicetree, linux-mips, linux-kernel,
letux-kernel, kernel, stable
> Am 28.02.2020 um 15:34 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 :
>> There is a ACT8600 on the CI20 board and the bindings of the
>> ACT8865 driver have changed without updating the CI20 device
>> tree. Therefore the PMU can not be probed successfully and
>> is running in power-on reset state.
>> Fix DT to match the latest act8865-regulator bindings.
>> Fixes: 73f2b940474d ("MIPS: CI20: DTS: Add I2C nodes")
>> Cc: stable@vger.kernel.org
>> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
>> ---
>> arch/mips/boot/dts/ingenic/ci20.dts | 48 ++++++++++++++++++++---------
>> 1 file changed, 33 insertions(+), 15 deletions(-)
>> diff --git a/arch/mips/boot/dts/ingenic/ci20.dts b/arch/mips/boot/dts/ingenic/ci20.dts
>> index 59c104289ece..4f48bc16fb52 100644
>> --- a/arch/mips/boot/dts/ingenic/ci20.dts
>> +++ b/arch/mips/boot/dts/ingenic/ci20.dts
>> @@ -153,6 +153,8 @@
>> pinctrl-0 = <&pins_uart4>;
>> };
>> +#include <dt-bindings/regulator/active-semi,8865-regulator.h>
>
> Includes at the beginning of the file please. Keeps it tidy.
Ok.
Well, I am infected by omap boards where this is not uncommon:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/omap3-beagle-xm.dts?h=v5.6-rc3#n294
But it may be historic and not a good style.
BR and thanks,
Nikolaus
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v3 4/6] MIPS: DTS: CI20: fix interrupt for pcf8563 RTC
2020-02-16 20:20 [PATCH v3 0/6] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
` (2 preceding siblings ...)
2020-02-16 20:20 ` [PATCH v3 3/6] MIPS: DTS: CI20: fix PMU definitions for ACT8600 H. Nikolaus Schaller
@ 2020-02-16 20:20 ` H. Nikolaus Schaller
2020-02-16 20:20 ` [PATCH v3 5/6] MIPS: DTS: CI20: multiple DTS improvements H. Nikolaus Schaller
2020-02-16 20:21 ` [PATCH v3 6/6] MIPS: CI20: defconfig: multiple improvements H. Nikolaus Schaller
5 siblings, 0 replies; 13+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-16 20:20 UTC (permalink / raw)
To: Paul Boddie, Paul Cercueil, Rob Herring, Mark Rutland,
Ralf Baechle, Paul Burton, H. Nikolaus Schaller, Miquel Raynal,
Andi Kleen, Kees Cook, Krzysztof Kozlowski
Cc: devicetree, linux-mips, linux-kernel, letux-kernel, kernel, stable
Interrupts should not be specified by interrupt line but by
gpio parent and reference.
Fixes: 73f2b940474d ("MIPS: CI20: DTS: Add I2C nodes")
Cc: stable@vger.kernel.org
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
arch/mips/boot/dts/ingenic/ci20.dts | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/mips/boot/dts/ingenic/ci20.dts b/arch/mips/boot/dts/ingenic/ci20.dts
index 4f48bc16fb52..1ab55be707af 100644
--- a/arch/mips/boot/dts/ingenic/ci20.dts
+++ b/arch/mips/boot/dts/ingenic/ci20.dts
@@ -284,7 +284,9 @@ Optional input supply properties:
rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
- interrupts = <110>;
+
+ interrupt-parent = <&gpf>;
+ interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
};
};
--
2.23.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 5/6] MIPS: DTS: CI20: multiple DTS improvements
2020-02-16 20:20 [PATCH v3 0/6] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
` (3 preceding siblings ...)
2020-02-16 20:20 ` [PATCH v3 4/6] MIPS: DTS: CI20: fix interrupt for pcf8563 RTC H. Nikolaus Schaller
@ 2020-02-16 20:20 ` H. Nikolaus Schaller
2020-02-28 14:36 ` Paul Cercueil
2020-02-16 20:21 ` [PATCH v3 6/6] MIPS: CI20: defconfig: multiple improvements H. Nikolaus Schaller
5 siblings, 1 reply; 13+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-16 20:20 UTC (permalink / raw)
To: Paul Boddie, Paul Cercueil, Rob Herring, Mark Rutland,
Ralf Baechle, Paul Burton, H. Nikolaus Schaller, Miquel Raynal,
Andi Kleen, Kees Cook, Krzysztof Kozlowski
Cc: devicetree, linux-mips, linux-kernel, letux-kernel, kernel
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>;
+ 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
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v3 5/6] MIPS: DTS: CI20: multiple DTS improvements
2020-02-16 20:20 ` [PATCH v3 5/6] MIPS: DTS: CI20: multiple DTS improvements H. Nikolaus Schaller
@ 2020-02-28 14:36 ` Paul Cercueil
2020-02-28 14:42 ` H. Nikolaus Schaller
0 siblings, 1 reply; 13+ messages in thread
From: Paul Cercueil @ 2020-02-28 14:36 UTC (permalink / raw)
To: H. Nikolaus Schaller
Cc: Paul Boddie, Rob Herring, Mark Rutland, Ralf Baechle,
Paul Burton, Miquel Raynal, Andi Kleen, Kees Cook,
Krzysztof Kozlowski, devicetree, linux-mips, linux-kernel,
letux-kernel, kernel
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
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 5/6] MIPS: DTS: CI20: multiple DTS improvements
2020-02-28 14:36 ` Paul Cercueil
@ 2020-02-28 14:42 ` H. Nikolaus Schaller
2020-02-28 14:50 ` Paul Cercueil
0 siblings, 1 reply; 13+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-28 14:42 UTC (permalink / raw)
To: Paul Cercueil
Cc: Paul Boddie, Rob Herring, Mark Rutland, Ralf Baechle,
Paul Burton, Miquel Raynal, Andi Kleen, Kees Cook,
Krzysztof Kozlowski, devicetree, linux-mips, linux-kernel,
letux-kernel, kernel
> 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
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 5/6] MIPS: DTS: CI20: multiple DTS improvements
2020-02-28 14:42 ` H. Nikolaus Schaller
@ 2020-02-28 14:50 ` Paul Cercueil
0 siblings, 0 replies; 13+ messages in thread
From: Paul Cercueil @ 2020-02-28 14:50 UTC (permalink / raw)
To: H. Nikolaus Schaller
Cc: Paul Boddie, Rob Herring, Mark Rutland, Ralf Baechle,
Paul Burton, Miquel Raynal, Andi Kleen, Kees Cook,
Krzysztof Kozlowski, devicetree, linux-mips, linux-kernel,
letux-kernel, kernel
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
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v3 6/6] MIPS: CI20: defconfig: multiple improvements
2020-02-16 20:20 [PATCH v3 0/6] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
` (4 preceding siblings ...)
2020-02-16 20:20 ` [PATCH v3 5/6] MIPS: DTS: CI20: multiple DTS improvements H. Nikolaus Schaller
@ 2020-02-16 20:21 ` H. Nikolaus Schaller
5 siblings, 0 replies; 13+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-16 20:21 UTC (permalink / raw)
To: Paul Boddie, Paul Cercueil, Rob Herring, Mark Rutland,
Ralf Baechle, Paul Burton, H. Nikolaus Schaller, Miquel Raynal,
Andi Kleen, Kees Cook, Krzysztof Kozlowski
Cc: devicetree, linux-mips, linux-kernel, letux-kernel, kernel
a) configure for supporting modules
Not all drivers need to be compiled into the kernel.
Support building and loading of kernel modules.
b) compile leds-gpio driver into the kernel and configure for LED triggers
DTS has been augmented to add some gpio-leds. We need the leds-gpio driver
and enable the triggers.
c) configure CONFIG_REGULATOR_ACT8865 for PMU
The PMU on the CI20 board is an ACT8600 using the ACT8865 driver.
Since it is not compiled, the PMU and the CI20 board is running in
power-on reset state of the PMU.
d) compile gpio-ir driver
The CI20 board has a gpio based IR receiver.
e) configure for CONFIG_KEYBOARD_GPIO=m
The SW1 button is hooked up to send input events.
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
arch/mips/configs/ci20_defconfig | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/arch/mips/configs/ci20_defconfig b/arch/mips/configs/ci20_defconfig
index be41df2a81fb..0db0088bbc1c 100644
--- a/arch/mips/configs/ci20_defconfig
+++ b/arch/mips/configs/ci20_defconfig
@@ -1,4 +1,5 @@
# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_MODULES=y
CONFIG_KERNEL_XZ=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
@@ -88,12 +89,14 @@ CONFIG_I2C_JZ4780=y
CONFIG_SPI=y
CONFIG_SPI_GPIO=y
CONFIG_GPIO_SYSFS=y
+CONFIG_KEYBOARD_GPIO=m
# CONFIG_HWMON is not set
CONFIG_WATCHDOG=y
CONFIG_JZ4740_WDT=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_DEBUG=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_ACT8865=y
# CONFIG_VGA_CONSOLE is not set
# CONFIG_HID is not set
# CONFIG_USB_SUPPORT is not set
@@ -166,3 +169,21 @@ CONFIG_STACKTRACE=y
# CONFIG_FTRACE is not set
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="earlycon console=ttyS4,115200 clk_ignore_unused"
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_ONESHOT=y
+CONFIG_LEDS_TRIGGER_ONESHOT=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_CPU=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+CONFIG_LEDS_TRIGGER_TRANSIENT=y
+CONFIG_LEDS_TRIGGER_CAMERA=m
+CONFIG_LIRC=y
+CONFIG_MEDIA_SUPPORT=m
+CONFIG_RC_DEVICES=y
+CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
--
2.23.0
^ permalink raw reply related [flat|nested] 13+ messages in thread