Skip to contentSkip to conversation

MIPS: Fixes and improvements for CI20 board (JZ4780)

PATCH In review H. Nikolaus Schaller 3 participants 6 messages Mar 6, 2020 – Mar 23, 2020

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

v7 cover MIPS: Fixes and improvements for CI20 board (JZ4780)

* renamed DT node for IR receiver from ir-receiver to ir (suggested by Paul Cercueil <[email protected]>)

PATCH V6 2020-03-06 18:29:34:
* reordered patches and send Fixes as separate ones (requested by Thomas Bogendoerfer <[email protected]>)
* fixed Checkpatch issue with comments in PMU patch (suggested by Thomas Bogendoerfer <[email protected]>)

PATCH V5 2020-02-29 20:45:52:
* add #include irq.h not in PMU patch but in RTC patch
* added Reviewed-by: Paul Cercueil <[email protected]>

PATCH V4 2020-02-28 19:02:57:
* use KEY_F13 for SW1 button to avoid conflict with Enter of an USB keyboard (suggested by Paul Cercueil <[email protected]>)
* tidy up all new #includes to be at beginning of file and alphabetically sorted (suggested by Paul Cercueil <[email protected]>)
* add new #include to DTS only when needed (suggested by Paul Cercueil <[email protected]>)

PATCH V3 2020-02-16 21:21:07:
* dropped "drm: ingenic-drm: add MODULE_DEVICE_TABLE" because it will be resubmitted
with a HDMI driver solution
* added Cc: [email protected] where appropriate (suggested by Paul Cercueil <[email protected]>)
* squashed all other DTS and CONFIG changes into single patches (suggested by Paul Cercueil <[email protected]>)

PATCH V2 2020-02-14 17:10:33:
* dropped "net: davicom: dm9000: allow to pass MAC address through mac_addr module parameter" from this series because it goes through the netdev tree
(suggested by Andrew Lunn <[email protected]>)
* added a "fixes:" for "MIPS: DTS: CI20: fix PMU definitions for ACT8600"
and "MIPS: DTS: CI20: fix interrupt for pcf8563 RTC"
(suggested by Andreas Kemnade <[email protected]>)
* "i2c: jz4780: silence log flood on txabrt" dropped because it is
replaced by a new version in v5.6 by Wolfram Sang <[email protected]>

PATCH V1 2020-02-11 22:41:43:
This patch set provides several improvements for the CI20 board:

* suppress warnings from i2c if device is not responding
* make ingenic-drm found through DT
* allow davicom dm9000 ethernet controller to use MAC address provided by U-Boot
* fix #include in jz4780.dtsi
* configure for loadable kernel modules
* add DTS for IR sensor and SW1 button
* configure so that LEDs, IR sensor, SW1 button have drivers
* fix DTS for ACT8600 PMU and configure driver
* fix interrupt of nxp,pcf8563

There is another patch set in our queue to add HDMI support on top of this work.

Alex Smith (1):
MIPS: DTS: CI20: add DT node for IR sensor

H. Nikolaus Schaller (2):
MIPS: DTS: CI20: multiple DTS improvements
MIPS: CI20: defconfig: multiple improvements

 arch/mips/boot/dts/ingenic/ci20.dts | 19 +++++++++++++++++++
 arch/mips/configs/ci20_defconfig    | 21 +++++++++++++++++++++
 2 files changed, 40 insertions(+)
Signature · 1 line
2.23.0
#1 lore raw

PATCH v7 1/3 MIPS: DTS: CI20: add DT node for IR sensor

From: Alex Smith <[email protected]>

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.

---
 arch/mips/boot/dts/ingenic/ci20.dts | 5 +++++
 1 file changed, 5 insertions(+)
arch/mips/boot/dts/ingenic/ci20.dts +5 -0
index c340f947baa0..fc4e64200c3d 100644
@@ -62,6 +62,11 @@
 		enable-active-high;
 	};
 
+	ir: ir {
+		compatible = "gpio-ir-receiver";
+		gpios = <&gpe 3 GPIO_ACTIVE_LOW>;
+	};
+
 	wlan0_power: fixedregulator@1 {
 		compatible = "regulator-fixed";
 		regulator-name = "wlan0_power";
Signature · 1 line
2.23.0
maintainer Reviewed-by on v7 1/3
#2 lore raw

Re: [PATCH v7 1/3] MIPS: DTS: CI20: add DT node for IR sensor

Hi Nikolaus,

Quoted 8 lines · H. Nikolaus Schaller

From: Alex Smith <[email protected]>

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.

Cheers,
-Paul

Quoted 23 lines
---
 arch/mips/boot/dts/ingenic/ci20.dts | 5 +++++
 1 file changed, 5 insertions(+)
arch/mips/boot/dts/ingenic/ci20.dts +5 -1
index c340f947baa0..fc4e64200c3d 100644
@@ -62,6 +62,11 @@
 		enable-active-high;
 	};
 
+	ir: ir {
+		compatible = "gpio-ir-receiver";
+		gpios = <&gpe 3 GPIO_ACTIVE_LOW>;
+	};
+
 	wlan0_power: fixedregulator@1 {
 		compatible = "regulator-fixed";
 		regulator-name = "wlan0_power";
--

2.23.0

#3 lore raw

PATCH v7 2/3 MIPS: DTS: CI20: multiple DTS improvements

In reply to H. Nikolaus Schaller

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

---
 arch/mips/boot/dts/ingenic/ci20.dts | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
arch/mips/boot/dts/ingenic/ci20.dts +14 -0
index fc4e64200c3d..db0ca250bd1a 100644
@@ -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>
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/regulator/active-semi,8865-regulator.h>
 
@@ -27,6 +28,17 @@
 		       0x30000000 0x30000000>;
 	};
 
+	gpio-keys {
+		compatible = "gpio-keys";
+
+		sw1 {
+			label = "ci20:sw1";
+			linux,code = <KEY_F13>;
+			gpios = <&gpd 17 GPIO_ACTIVE_HIGH>;
+			wakeup-source;
+		};
+	};
+
 	leds {
 		compatible = "gpio-leds";
 
@@ -58,6 +70,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;
 	};
Signature · 1 line
2.23.0
#4 lore raw

PATCH v7 3/3 MIPS: CI20: defconfig: multiple improvements

In reply to H. Nikolaus Schaller

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.

---
 arch/mips/configs/ci20_defconfig | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
arch/mips/configs/ci20_defconfig +21 -0
index be41df2a81fb..0db0088bbc1c 100644
@@ -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
Signature · 1 line
2.23.0
#5 lore raw
In reply to H. Nikolaus Schaller
Quoted 8 lines · H. Nikolaus Schaller

Alex Smith (1):
MIPS: DTS: CI20: add DT node for IR sensor

Quoted 7 lines

H. Nikolaus Schaller (2):
MIPS: DTS: CI20: multiple DTS improvements
MIPS: CI20: defconfig: multiple improvements

 arch/mips/boot/dts/ingenic/ci20.dts | 19 +++++++++++++++++++
 arch/mips/configs/ci20_defconfig    | 21 +++++++++++++++++++++
 2 files changed, 40 insertions(+)

series applied to mips-next.

Thomas.

Signature · 2 lines
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]