devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780)
@ 2020-02-11 21:41 H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 01/14] i2c: jz4780: suppress txabrt reports for i2cdetect H. Nikolaus Schaller
                   ` (13 more replies)
  0 siblings, 14 replies; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

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.

Signed-off-by: Paul Boddie <paul@boddie.org.uk>
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>


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

H. Nikolaus Schaller (13):
  i2c: jz4780: suppress txabrt reports for i2cdetect
  drm: ingenic-drm: add MODULE_DEVICE_TABLE
  net: davicom: dm9000: allow to pass MAC address through mac_addr
    module parameter
  MIPS: DTS: jz4780: fix #includes for irq.h and gpio.h
  MIPS: CI20: defconfig: configure for supporting modules
  MIPS: CI20: defconfig: compile leds-gpio driver into the kernel and
    configure for LED triggers
  MIPS: DTS: CI20: fix PMU definitions for ACT8600
  MIPS: CI20: defconfig: configure CONFIG_REGULATOR_ACT8865 for PMU
  MIPS: DTS: CI20: give eth0_power a defined voltage.
  MIPS: CI20: defconfig: compile gpio-ir driver
  MIPS: DTS: CI20: add DT node for SW1 as Enter button
  MIPS: CI20: defconfig: configure for CONFIG_KEYBOARD_GPIO=m
  MIPS: DTS: CI20: fix interrupt for pcf8563 RTC

 arch/mips/boot/dts/ingenic/ci20.dts    | 71 ++++++++++++++++++++------
 arch/mips/boot/dts/ingenic/jz4780.dtsi |  2 +
 arch/mips/configs/ci20_defconfig       | 21 ++++++++
 drivers/gpu/drm/ingenic/ingenic-drm.c  |  2 +
 drivers/i2c/busses/i2c-jz4780.c        |  3 ++
 drivers/net/ethernet/davicom/dm9000.c  | 42 +++++++++++++++
 6 files changed, 125 insertions(+), 16 deletions(-)

-- 
2.23.0


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 01/14] i2c: jz4780: suppress txabrt reports for i2cdetect
  2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
@ 2020-02-11 21:41 ` H. Nikolaus Schaller
  2020-02-12  9:46   ` i2c: jz4780: silence log flood on txabrt Wolfram Sang
  2020-02-11 21:41 ` [PATCH 02/14] drm: ingenic-drm: add MODULE_DEVICE_TABLE H. Nikolaus Schaller
                   ` (12 subsequent siblings)
  13 siblings, 1 reply; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

This suppresses "simple" error reasons

	ABRT_7B_ADDR_NOACK
	ABRT_10ADDR1_NOACK
	ABRT_10ADDR2_NOACK

from flooding the console log when running i2cdetect on
addresses without a responding slave.

Additionally, reading the JZ4780_I2C_TAR in this situation
seems to harm the controller state.

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 drivers/i2c/busses/i2c-jz4780.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/i2c/busses/i2c-jz4780.c b/drivers/i2c/busses/i2c-jz4780.c
index 16a67a64284a..55b7518435f1 100644
--- a/drivers/i2c/busses/i2c-jz4780.c
+++ b/drivers/i2c/busses/i2c-jz4780.c
@@ -578,6 +578,9 @@ static void jz4780_i2c_txabrt(struct jz4780_i2c *i2c, int src)
 {
 	int i;
 
+	if (!(src & ~7))
+		return;
+
 	dev_err(&i2c->adap.dev, "txabrt: 0x%08x\n", src);
 	dev_err(&i2c->adap.dev, "device addr=%x\n",
 		jz4780_i2c_readw(i2c, JZ4780_I2C_TAR));
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 02/14] drm: ingenic-drm: add MODULE_DEVICE_TABLE
  2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 01/14] i2c: jz4780: suppress txabrt reports for i2cdetect H. Nikolaus Schaller
@ 2020-02-11 21:41 ` H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 03/14] net: davicom: dm9000: allow to pass MAC address through mac_addr module parameter H. Nikolaus Schaller
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

Add MODULE_DEVICE_TABLE so that the driver can load by
matching the device tree if compiled as module.

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 drivers/gpu/drm/ingenic/ingenic-drm.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/ingenic/ingenic-drm.c b/drivers/gpu/drm/ingenic/ingenic-drm.c
index 6d47ef7b148c..d8617096dd8e 100644
--- a/drivers/gpu/drm/ingenic/ingenic-drm.c
+++ b/drivers/gpu/drm/ingenic/ingenic-drm.c
@@ -844,6 +844,8 @@ static const struct of_device_id ingenic_drm_of_match[] = {
 	{ /* sentinel */ },
 };
 
+MODULE_DEVICE_TABLE(of, ingenic_drm_of_match);
+
 static struct platform_driver ingenic_drm_driver = {
 	.driver = {
 		.name = "ingenic-drm",
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 03/14] net: davicom: dm9000: allow to pass MAC address through mac_addr module parameter
  2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 01/14] i2c: jz4780: suppress txabrt reports for i2cdetect H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 02/14] drm: ingenic-drm: add MODULE_DEVICE_TABLE H. Nikolaus Schaller
@ 2020-02-11 21:41 ` H. Nikolaus Schaller
  2020-02-11 22:25   ` Andrew Lunn
  2020-02-11 21:41 ` [PATCH 04/14] MIPS: DTS: jz4780: fix #includes for irq.h and gpio.h H. Nikolaus Schaller
                   ` (10 subsequent siblings)
  13 siblings, 1 reply; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

This is needed to give the MIPS Ingenic CI20 board a stable MAC address
which can be optionally provided by vendor U-Boot.

For get_mac_addr() we use an adapted copy of from ksz884x.c which
has very similar functionality.

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 drivers/net/ethernet/davicom/dm9000.c | 42 +++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/drivers/net/ethernet/davicom/dm9000.c b/drivers/net/ethernet/davicom/dm9000.c
index 1ea3372775e6..7402030b0352 100644
--- a/drivers/net/ethernet/davicom/dm9000.c
+++ b/drivers/net/ethernet/davicom/dm9000.c
@@ -1409,6 +1409,43 @@ static struct dm9000_plat_data *dm9000_parse_dt(struct device *dev)
 	return pdata;
 }
 
+static char *mac_addr = ":";
+module_param(mac_addr, charp, 0);
+MODULE_PARM_DESC(mac_addr, "MAC address");
+
+static void get_mac_addr(struct net_device *ndev, char *macaddr)
+{
+	int i = 0;
+	int j = 0;
+	int got_num = 0;
+	int num = 0;
+
+	while (j < ETH_ALEN) {
+		if (macaddr[i]) {
+			int digit;
+
+			got_num = 1;
+			digit = hex_to_bin(macaddr[i]);
+			if (digit >= 0)
+				num = num * 16 + digit;
+			else if (':' == macaddr[i])
+				got_num = 2;
+			else
+				break;
+		} else if (got_num) {
+			got_num = 2;
+		} else {
+			break;
+		}
+		if (got_num == 2) {
+			ndev->dev_addr[j++] = (u8)num;
+			num = 0;
+			got_num = 0;
+		}
+		i++;
+	}
+}
+
 /*
  * Search DM9000 board, allocate space and register it
  */
@@ -1679,6 +1716,11 @@ dm9000_probe(struct platform_device *pdev)
 			ndev->dev_addr[i] = ior(db, i+DM9000_PAR);
 	}
 
+	if (!is_valid_ether_addr(ndev->dev_addr)) {
+		mac_src = "param";
+		get_mac_addr(ndev, mac_addr);
+	}
+
 	if (!is_valid_ether_addr(ndev->dev_addr)) {
 		inv_mac_addr = true;
 		eth_hw_addr_random(ndev);
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 04/14] MIPS: DTS: jz4780: fix #includes for irq.h and gpio.h
  2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
                   ` (2 preceding siblings ...)
  2020-02-11 21:41 ` [PATCH 03/14] net: davicom: dm9000: allow to pass MAC address through mac_addr module parameter H. Nikolaus Schaller
@ 2020-02-11 21:41 ` H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 05/14] MIPS: CI20: defconfig: configure for supporting modules H. Nikolaus Schaller
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

The constants from irq.h and gpio.h can 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] 24+ messages in thread

* [PATCH 05/14] MIPS: CI20: defconfig: configure for supporting modules
  2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
                   ` (3 preceding siblings ...)
  2020-02-11 21:41 ` [PATCH 04/14] MIPS: DTS: jz4780: fix #includes for irq.h and gpio.h H. Nikolaus Schaller
@ 2020-02-11 21:41 ` H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 06/14] MIPS: CI20: defconfig: compile leds-gpio driver into the kernel and configure for LED triggers H. Nikolaus Schaller
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

Not all drivers need to be compiled into the kernel.
Support building and loading of kernel modules.

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 arch/mips/configs/ci20_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/mips/configs/ci20_defconfig b/arch/mips/configs/ci20_defconfig
index be41df2a81fb..e0d3c9d4c2ae 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
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 06/14] MIPS: CI20: defconfig: compile leds-gpio driver into the kernel and configure for LED triggers
  2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
                   ` (4 preceding siblings ...)
  2020-02-11 21:41 ` [PATCH 05/14] MIPS: CI20: defconfig: configure for supporting modules H. Nikolaus Schaller
@ 2020-02-11 21:41 ` H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 07/14] MIPS: DTS: CI20: fix PMU definitions for ACT8600 H. Nikolaus Schaller
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

DTS has been augmented to add some gpio-leds. We need the leds-gpio driver
and enable the triggers.

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 arch/mips/configs/ci20_defconfig | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/mips/configs/ci20_defconfig b/arch/mips/configs/ci20_defconfig
index e0d3c9d4c2ae..30a47a7a2994 100644
--- a/arch/mips/configs/ci20_defconfig
+++ b/arch/mips/configs/ci20_defconfig
@@ -167,3 +167,16 @@ 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
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 07/14] MIPS: DTS: CI20: fix PMU definitions for ACT8600
  2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
                   ` (5 preceding siblings ...)
  2020-02-11 21:41 ` [PATCH 06/14] MIPS: CI20: defconfig: compile leds-gpio driver into the kernel and configure for LED triggers H. Nikolaus Schaller
@ 2020-02-11 21:41 ` H. Nikolaus Schaller
  2020-02-11 21:48   ` [Letux-kernel] " Andreas Kemnade
  2020-02-11 21:41 ` [PATCH 08/14] MIPS: CI20: defconfig: configure CONFIG_REGULATOR_ACT8865 for PMU H. Nikolaus Schaller
                   ` (6 subsequent siblings)
  13 siblings, 1 reply; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

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.

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 37b93166bf22..e02a19db7ef1 100644
--- a/arch/mips/boot/dts/ingenic/ci20.dts
+++ b/arch/mips/boot/dts/ingenic/ci20.dts
@@ -148,6 +148,8 @@
 	pinctrl-0 = <&pins_uart4>;
 };
 
+#include <dt-bindings/regulator/active-semi,8865-regulator.h>
+
 &i2c0 {
 	status = "okay";
 
@@ -161,65 +163,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] 24+ messages in thread

* [PATCH 08/14] MIPS: CI20: defconfig: configure CONFIG_REGULATOR_ACT8865 for PMU
  2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
                   ` (6 preceding siblings ...)
  2020-02-11 21:41 ` [PATCH 07/14] MIPS: DTS: CI20: fix PMU definitions for ACT8600 H. Nikolaus Schaller
@ 2020-02-11 21:41 ` H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 09/14] MIPS: DTS: CI20: give eth0_power a defined voltage H. Nikolaus Schaller
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

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.

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 arch/mips/configs/ci20_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/mips/configs/ci20_defconfig b/arch/mips/configs/ci20_defconfig
index 30a47a7a2994..74e5775b8a05 100644
--- a/arch/mips/configs/ci20_defconfig
+++ b/arch/mips/configs/ci20_defconfig
@@ -95,6 +95,7 @@ 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
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 09/14] MIPS: DTS: CI20: give eth0_power a defined voltage.
  2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
                   ` (7 preceding siblings ...)
  2020-02-11 21:41 ` [PATCH 08/14] MIPS: CI20: defconfig: configure CONFIG_REGULATOR_ACT8865 for PMU H. Nikolaus Schaller
@ 2020-02-11 21:41 ` H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 10/14] MIPS: DTS: CI20: add DT node for IR sensor H. Nikolaus Schaller
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

This is a 3.3V regulator.

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

diff --git a/arch/mips/boot/dts/ingenic/ci20.dts b/arch/mips/boot/dts/ingenic/ci20.dts
index e02a19db7ef1..e1364f941c7d 100644
--- a/arch/mips/boot/dts/ingenic/ci20.dts
+++ b/arch/mips/boot/dts/ingenic/ci20.dts
@@ -56,6 +56,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] 24+ messages in thread

* [PATCH 10/14] MIPS: DTS: CI20: add DT node for IR sensor
  2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
                   ` (8 preceding siblings ...)
  2020-02-11 21:41 ` [PATCH 09/14] MIPS: DTS: CI20: give eth0_power a defined voltage H. Nikolaus Schaller
@ 2020-02-11 21:41 ` H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 11/14] MIPS: CI20: defconfig: compile gpio-ir driver H. Nikolaus Schaller
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

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 e1364f941c7d..b4a820313992 100644
--- a/arch/mips/boot/dts/ingenic/ci20.dts
+++ b/arch/mips/boot/dts/ingenic/ci20.dts
@@ -62,6 +62,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] 24+ messages in thread

* [PATCH 11/14] MIPS: CI20: defconfig: compile gpio-ir driver
  2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
                   ` (9 preceding siblings ...)
  2020-02-11 21:41 ` [PATCH 10/14] MIPS: DTS: CI20: add DT node for IR sensor H. Nikolaus Schaller
@ 2020-02-11 21:41 ` H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 12/14] MIPS: DTS: CI20: add DT node for SW1 as Enter button H. Nikolaus Schaller
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

The CI20 board has a gpio based IR receiver.

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 arch/mips/configs/ci20_defconfig | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/mips/configs/ci20_defconfig b/arch/mips/configs/ci20_defconfig
index 74e5775b8a05..0458ea4d54e8 100644
--- a/arch/mips/configs/ci20_defconfig
+++ b/arch/mips/configs/ci20_defconfig
@@ -181,3 +181,8 @@ 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] 24+ messages in thread

* [PATCH 12/14] MIPS: DTS: CI20: add DT node for SW1 as Enter button
  2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
                   ` (10 preceding siblings ...)
  2020-02-11 21:41 ` [PATCH 11/14] MIPS: CI20: defconfig: compile gpio-ir driver H. Nikolaus Schaller
@ 2020-02-11 21:41 ` H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 13/14] MIPS: CI20: defconfig: configure for CONFIG_KEYBOARD_GPIO=m H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 14/14] MIPS: DTS: CI20: fix interrupt for pcf8563 RTC H. Nikolaus Schaller
  13 siblings, 0 replies; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

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.

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

diff --git a/arch/mips/boot/dts/ingenic/ci20.dts b/arch/mips/boot/dts/ingenic/ci20.dts
index b4a820313992..8f9d182566db 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";
 
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 13/14] MIPS: CI20: defconfig: configure for CONFIG_KEYBOARD_GPIO=m
  2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
                   ` (11 preceding siblings ...)
  2020-02-11 21:41 ` [PATCH 12/14] MIPS: DTS: CI20: add DT node for SW1 as Enter button H. Nikolaus Schaller
@ 2020-02-11 21:41 ` H. Nikolaus Schaller
  2020-02-11 21:41 ` [PATCH 14/14] MIPS: DTS: CI20: fix interrupt for pcf8563 RTC H. Nikolaus Schaller
  13 siblings, 0 replies; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

The SW1 button is hooked up to send input events.

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 arch/mips/configs/ci20_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/mips/configs/ci20_defconfig b/arch/mips/configs/ci20_defconfig
index 0458ea4d54e8..0db0088bbc1c 100644
--- a/arch/mips/configs/ci20_defconfig
+++ b/arch/mips/configs/ci20_defconfig
@@ -89,6 +89,7 @@ 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
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 14/14] MIPS: DTS: CI20: fix interrupt for pcf8563 RTC
  2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
                   ` (12 preceding siblings ...)
  2020-02-11 21:41 ` [PATCH 13/14] MIPS: CI20: defconfig: configure for CONFIG_KEYBOARD_GPIO=m H. Nikolaus Schaller
@ 2020-02-11 21:41 ` H. Nikolaus Schaller
  13 siblings, 0 replies; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-11 21:41 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	H. Nikolaus Schaller, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd
  Cc: devicetree, linux-mips, linux-kernel, dri-devel, linux-i2c,
	netdev, linux-gpio, letux-kernel, kernel

Interrupts should not be specified by interrupt line but by
gpio parent and reference.

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 8f9d182566db..4bacefa2cfce 100644
--- a/arch/mips/boot/dts/ingenic/ci20.dts
+++ b/arch/mips/boot/dts/ingenic/ci20.dts
@@ -298,7 +298,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] 24+ messages in thread

* Re: [Letux-kernel] [PATCH 07/14] MIPS: DTS: CI20: fix PMU definitions for ACT8600
  2020-02-11 21:41 ` [PATCH 07/14] MIPS: DTS: CI20: fix PMU definitions for ACT8600 H. Nikolaus Schaller
@ 2020-02-11 21:48   ` Andreas Kemnade
  0 siblings, 0 replies; 24+ messages in thread
From: Andreas Kemnade @ 2020-02-11 21:48 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Discussions about the Letux Kernel, Paul Cercueil, Paul Boddie,
	Alex Smith, Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	James Hogan, David Airlie, Daniel Vetter, David S. Miller,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd, devicetree,
	netdev, linux-mips, dri-devel, linux-kernel, linux-gpio,
	linux-i2c, kernel

[-- Attachment #1: Type: text/plain, Size: 526 bytes --]

On Tue, 11 Feb 2020 22:41:24 +0100
"H. Nikolaus Schaller" <hns@goldelico.com> wrote:

> 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.
> 
> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
hmm, what about a Fixes: tag here? Sounds like a regression.

Regards,
Andreas

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 03/14] net: davicom: dm9000: allow to pass MAC address through mac_addr module parameter
  2020-02-11 21:41 ` [PATCH 03/14] net: davicom: dm9000: allow to pass MAC address through mac_addr module parameter H. Nikolaus Schaller
@ 2020-02-11 22:25   ` Andrew Lunn
  2020-02-12  8:07     ` Geert Uytterhoeven
  0 siblings, 1 reply; 24+ messages in thread
From: Andrew Lunn @ 2020-02-11 22:25 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	Andi Kleen, Krzysztof Kozlowski, Geert Uytterhoeven,
	Miquel Raynal, Petr Štetiar, Richard Fontana,
	Allison Randal, Stephen Boyd, devicetree, linux-mips,
	linux-kernel, dri-devel, linux-i2c, netdev, linux-gpio,
	letux-kernel, kernel

On Tue, Feb 11, 2020 at 10:41:20PM +0100, H. Nikolaus Schaller wrote:
> This is needed to give the MIPS Ingenic CI20 board a stable MAC address
> which can be optionally provided by vendor U-Boot.
> 
> For get_mac_addr() we use an adapted copy of from ksz884x.c which
> has very similar functionality.
> 
> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>

Hi Nikolaus

Please split these patches by subsystem. So this one patch needs to go
via netdev.

> +static char *mac_addr = ":";
> +module_param(mac_addr, charp, 0);
> +MODULE_PARM_DESC(mac_addr, "MAC address");

Module parameters are not liked.

Can it be passed via device tree? The driver already has code to get
it out of the device tree.

   Andrew

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 03/14] net: davicom: dm9000: allow to pass MAC address through mac_addr module parameter
  2020-02-11 22:25   ` Andrew Lunn
@ 2020-02-12  8:07     ` Geert Uytterhoeven
  2020-02-12  8:13       ` H. Nikolaus Schaller
  0 siblings, 1 reply; 24+ messages in thread
From: Geert Uytterhoeven @ 2020-02-12  8:07 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: H. Nikolaus Schaller, Paul Cercueil, Paul Boddie, Alex Smith,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	James Hogan, David Airlie, Daniel Vetter, David S. Miller,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Miquel Raynal, Petr Štetiar,
	Richard Fontana, Allison Randal, Stephen Boyd,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-mips, Linux Kernel Mailing List, DRI Development,
	Linux I2C, netdev, open list:GPIO SUBSYSTEM, letux-kernel,
	kernel

On Tue, Feb 11, 2020 at 11:25 PM Andrew Lunn <andrew@lunn.ch> wrote:
> On Tue, Feb 11, 2020 at 10:41:20PM +0100, H. Nikolaus Schaller wrote:
> > This is needed to give the MIPS Ingenic CI20 board a stable MAC address
> > which can be optionally provided by vendor U-Boot.
> >
> > For get_mac_addr() we use an adapted copy of from ksz884x.c which
> > has very similar functionality.
> >
> > Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
>
> Hi Nikolaus
>
> Please split these patches by subsystem. So this one patch needs to go
> via netdev.
>
> > +static char *mac_addr = ":";
> > +module_param(mac_addr, charp, 0);
> > +MODULE_PARM_DESC(mac_addr, "MAC address");
>
> Module parameters are not liked.
>
> Can it be passed via device tree? The driver already has code to get
> it out of the device tree.

Yep, typically U-Boot adds an appropriate "local-mac-address" property to the
network device's device node, based on the "ethernet0" alias.

However, the real clue here may be "vendor U-Boot", i.e. no support for the
above?

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 03/14] net: davicom: dm9000: allow to pass MAC address through mac_addr module parameter
  2020-02-12  8:07     ` Geert Uytterhoeven
@ 2020-02-12  8:13       ` H. Nikolaus Schaller
  0 siblings, 0 replies; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-12  8:13 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Andrew Lunn, Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	Andi Kleen, Krzysztof Kozlowski, Geert Uytterhoeven,
	Miquel Raynal, Petr Štetiar, Richard Fontana,
	Allison Randal, Stephen Boyd,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-mips, Linux Kernel Mailing List, DRI Development,
	Linux I2C, netdev, open list:GPIO SUBSYSTEM, letux-kernel,
	kernel


> Am 12.02.2020 um 09:07 schrieb Geert Uytterhoeven <geert@linux-m68k.org>:
> 
> On Tue, Feb 11, 2020 at 11:25 PM Andrew Lunn <andrew@lunn.ch> wrote:
>> On Tue, Feb 11, 2020 at 10:41:20PM +0100, H. Nikolaus Schaller wrote:
>>> This is needed to give the MIPS Ingenic CI20 board a stable MAC address
>>> which can be optionally provided by vendor U-Boot.
>>> 
>>> For get_mac_addr() we use an adapted copy of from ksz884x.c which
>>> has very similar functionality.
>>> 
>>> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
>> 
>> Hi Nikolaus
>> 
>> Please split these patches by subsystem. So this one patch needs to go
>> via netdev.
>> 
>>> +static char *mac_addr = ":";
>>> +module_param(mac_addr, charp, 0);
>>> +MODULE_PARM_DESC(mac_addr, "MAC address");
>> 
>> Module parameters are not liked.
>> 
>> Can it be passed via device tree? The driver already has code to get
>> it out of the device tree.
> 
> Yep, typically U-Boot adds an appropriate "local-mac-address" property to the
> network device's device node, based on the "ethernet0" alias.
> 
> However, the real clue here may be "vendor U-Boot", i.e. no support for the
> above?

Yes. It is a fallback solution like it is implemented for ksz884x.c to make it
work with existing (older) U-Boot installation.

Maybe I should better clarify this in the commit message for v2 (which goes
to netdev only).

BR and thanks,
Nikolaus


^ permalink raw reply	[flat|nested] 24+ messages in thread

* i2c: jz4780: silence log flood on txabrt
  2020-02-11 21:41 ` [PATCH 01/14] i2c: jz4780: suppress txabrt reports for i2cdetect H. Nikolaus Schaller
@ 2020-02-12  9:46   ` Wolfram Sang
  2020-02-12 14:46     ` H. Nikolaus Schaller
  2020-02-13  9:10     ` Wolfram Sang
  0 siblings, 2 replies; 24+ messages in thread
From: Wolfram Sang @ 2020-02-12  9:46 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	Andi Kleen, Krzysztof Kozlowski, Geert Uytterhoeven,
	Miquel Raynal, Petr Štetiar, Richard Fontana,
	Allison Randal, Stephen Boyd, devicetree, linux-mips,
	linux-kernel, dri-devel, linux-i2c, netdev, linux-gpio,
	letux-kernel, kernel

[-- Attachment #1: Type: text/plain, Size: 2432 bytes --]


The printout for txabrt is way too talkative. Reduce it to the minimum,
the rest can be gained by I2C core debugging and datasheet information.
Also, make it a debug printout, it won't help the regular user.

Reported-by: H. Nikolaus Schaller <hns@goldelico.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---

Sorry, normally I don't do counter patches. Yet, this time I realized
that it would be faster to actually do what I envisioned than to
describe it in words. I hope you don't feel offended. This driver has
way too many dev_err anyhow, so this may be a start.

Obviously, I can't test, does it work for you?

 drivers/i2c/busses/i2c-jz4780.c | 36 ++-------------------------------
 1 file changed, 2 insertions(+), 34 deletions(-)

diff --git a/drivers/i2c/busses/i2c-jz4780.c b/drivers/i2c/busses/i2c-jz4780.c
index 16a67a64284a..b426fc956938 100644
--- a/drivers/i2c/busses/i2c-jz4780.c
+++ b/drivers/i2c/busses/i2c-jz4780.c
@@ -78,25 +78,6 @@
 
 #define X1000_I2C_DC_STOP		BIT(9)
 
-static const char * const jz4780_i2c_abrt_src[] = {
-	"ABRT_7B_ADDR_NOACK",
-	"ABRT_10ADDR1_NOACK",
-	"ABRT_10ADDR2_NOACK",
-	"ABRT_XDATA_NOACK",
-	"ABRT_GCALL_NOACK",
-	"ABRT_GCALL_READ",
-	"ABRT_HS_ACKD",
-	"SBYTE_ACKDET",
-	"ABRT_HS_NORSTRT",
-	"SBYTE_NORSTRT",
-	"ABRT_10B_RD_NORSTRT",
-	"ABRT_MASTER_DIS",
-	"ARB_LOST",
-	"SLVFLUSH_TXFIFO",
-	"SLV_ARBLOST",
-	"SLVRD_INTX",
-};
-
 #define JZ4780_I2C_INTST_IGC		BIT(11)
 #define JZ4780_I2C_INTST_ISTT		BIT(10)
 #define JZ4780_I2C_INTST_ISTP		BIT(9)
@@ -576,21 +557,8 @@ static irqreturn_t jz4780_i2c_irq(int irqno, void *dev_id)
 
 static void jz4780_i2c_txabrt(struct jz4780_i2c *i2c, int src)
 {
-	int i;
-
-	dev_err(&i2c->adap.dev, "txabrt: 0x%08x\n", src);
-	dev_err(&i2c->adap.dev, "device addr=%x\n",
-		jz4780_i2c_readw(i2c, JZ4780_I2C_TAR));
-	dev_err(&i2c->adap.dev, "send cmd count:%d  %d\n",
-		i2c->cmd, i2c->cmd_buf[i2c->cmd]);
-	dev_err(&i2c->adap.dev, "receive data count:%d  %d\n",
-		i2c->cmd, i2c->data_buf[i2c->cmd]);
-
-	for (i = 0; i < 16; i++) {
-		if (src & BIT(i))
-			dev_dbg(&i2c->adap.dev, "I2C TXABRT[%d]=%s\n",
-				i, jz4780_i2c_abrt_src[i]);
-	}
+	dev_dbg(&i2c->adap.dev, "txabrt: 0x%08x, cmd: %d, send: %d, recv: %d\n",
+		src, i2c->cmd, i2c->cmd_buf[i2c->cmd], i2c->data_buf[i2c->cmd]);
 }
 
 static inline int jz4780_i2c_xfer_read(struct jz4780_i2c *i2c,
-- 
2.20.1


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* Re: i2c: jz4780: silence log flood on txabrt
  2020-02-12  9:46   ` i2c: jz4780: silence log flood on txabrt Wolfram Sang
@ 2020-02-12 14:46     ` H. Nikolaus Schaller
  2020-02-12 14:53       ` Wolfram Sang
  2020-02-13  9:10     ` Wolfram Sang
  1 sibling, 1 reply; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-12 14:46 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	Andi Kleen, Krzysztof Kozlowski, Geert Uytterhoeven,
	Miquel Raynal, Petr Štetiar, Richard Fontana,
	Allison Randal, Stephen Boyd, devicetree, linux-mips,
	linux-kernel, dri-devel, linux-i2c, netdev, linux-gpio,
	letux-kernel, kernel

Hi,

> Am 12.02.2020 um 10:46 schrieb Wolfram Sang <wsa@the-dreams.de>:
> 
> 
> The printout for txabrt is way too talkative. Reduce it to the minimum,
> the rest can be gained by I2C core debugging and datasheet information.
> Also, make it a debug printout, it won't help the regular user.
> 
> Reported-by: H. Nikolaus Schaller <hns@goldelico.com>
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
> 
> Sorry, normally I don't do counter patches. Yet, this time I realized
> that it would be faster to actually do what I envisioned than to
> describe it in words. I hope you don't feel offended.

No problem. I had thought a little about that myself, but did not
dare to solve more than my problem...

> This driver has
> way too many dev_err anyhow, so this may be a start.
> 
> Obviously, I can't test, does it work for you?

Yes,it works.

Do you want to push your patch yourself, or should I add it to my
patch series and resubmit in a v2?

BR and thanks,
Nikolaus

> 
> drivers/i2c/busses/i2c-jz4780.c | 36 ++-------------------------------
> 1 file changed, 2 insertions(+), 34 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-jz4780.c b/drivers/i2c/busses/i2c-jz4780.c
> index 16a67a64284a..b426fc956938 100644
> --- a/drivers/i2c/busses/i2c-jz4780.c
> +++ b/drivers/i2c/busses/i2c-jz4780.c
> @@ -78,25 +78,6 @@
> 
> #define X1000_I2C_DC_STOP		BIT(9)
> 
> -static const char * const jz4780_i2c_abrt_src[] = {
> -	"ABRT_7B_ADDR_NOACK",
> -	"ABRT_10ADDR1_NOACK",
> -	"ABRT_10ADDR2_NOACK",
> -	"ABRT_XDATA_NOACK",
> -	"ABRT_GCALL_NOACK",
> -	"ABRT_GCALL_READ",
> -	"ABRT_HS_ACKD",
> -	"SBYTE_ACKDET",
> -	"ABRT_HS_NORSTRT",
> -	"SBYTE_NORSTRT",
> -	"ABRT_10B_RD_NORSTRT",
> -	"ABRT_MASTER_DIS",
> -	"ARB_LOST",
> -	"SLVFLUSH_TXFIFO",
> -	"SLV_ARBLOST",
> -	"SLVRD_INTX",
> -};
> -
> #define JZ4780_I2C_INTST_IGC		BIT(11)
> #define JZ4780_I2C_INTST_ISTT		BIT(10)
> #define JZ4780_I2C_INTST_ISTP		BIT(9)
> @@ -576,21 +557,8 @@ static irqreturn_t jz4780_i2c_irq(int irqno, void *dev_id)
> 
> static void jz4780_i2c_txabrt(struct jz4780_i2c *i2c, int src)
> {
> -	int i;
> -
> -	dev_err(&i2c->adap.dev, "txabrt: 0x%08x\n", src);
> -	dev_err(&i2c->adap.dev, "device addr=%x\n",
> -		jz4780_i2c_readw(i2c, JZ4780_I2C_TAR));
> -	dev_err(&i2c->adap.dev, "send cmd count:%d  %d\n",
> -		i2c->cmd, i2c->cmd_buf[i2c->cmd]);
> -	dev_err(&i2c->adap.dev, "receive data count:%d  %d\n",
> -		i2c->cmd, i2c->data_buf[i2c->cmd]);
> -
> -	for (i = 0; i < 16; i++) {
> -		if (src & BIT(i))
> -			dev_dbg(&i2c->adap.dev, "I2C TXABRT[%d]=%s\n",
> -				i, jz4780_i2c_abrt_src[i]);
> -	}
> +	dev_dbg(&i2c->adap.dev, "txabrt: 0x%08x, cmd: %d, send: %d, recv: %d\n",
> +		src, i2c->cmd, i2c->cmd_buf[i2c->cmd], i2c->data_buf[i2c->cmd]);
> }
> 
> static inline int jz4780_i2c_xfer_read(struct jz4780_i2c *i2c,
> -- 
> 2.20.1
> 


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: i2c: jz4780: silence log flood on txabrt
  2020-02-12 14:46     ` H. Nikolaus Schaller
@ 2020-02-12 14:53       ` Wolfram Sang
  2020-02-12 14:59         ` H. Nikolaus Schaller
  0 siblings, 1 reply; 24+ messages in thread
From: Wolfram Sang @ 2020-02-12 14:53 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	Andi Kleen, Krzysztof Kozlowski, Geert Uytterhoeven,
	Miquel Raynal, Petr Štetiar, Richard Fontana,
	Allison Randal, Stephen Boyd, devicetree, linux-mips,
	linux-kernel, dri-devel, linux-i2c, netdev, linux-gpio,
	letux-kernel, kernel

[-- Attachment #1: Type: text/plain, Size: 830 bytes --]

Hi,

> > Sorry, normally I don't do counter patches. Yet, this time I realized
> > that it would be faster to actually do what I envisioned than to
> > describe it in words. I hope you don't feel offended.
> 
> No problem. I had thought a little about that myself, but did not
> dare to solve more than my problem...

Glad you like it. Well, it still kinda solves your problem only, because
there are still too many dev_err in there, but I think this is good
enough for now.

> > Obviously, I can't test, does it work for you?
> 
> Yes,it works.

Good!

> Do you want to push your patch yourself, or should I add it to my
> patch series and resubmit in a v2?

I'll apply the patch to my tree directly as a bugfix for 5.6. You can
drop the I2C list from V2 then.

Thanks and kind regards,

   Wolfram


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: i2c: jz4780: silence log flood on txabrt
  2020-02-12 14:53       ` Wolfram Sang
@ 2020-02-12 14:59         ` H. Nikolaus Schaller
  0 siblings, 0 replies; 24+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-12 14:59 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	Andi Kleen, Krzysztof Kozlowski, Geert Uytterhoeven,
	Miquel Raynal, Petr Štetiar, Richard Fontana,
	Allison Randal, Stephen Boyd, devicetree, linux-mips,
	linux-kernel, dri-devel, linux-i2c, netdev, linux-gpio,
	letux-kernel, kernel


> Am 12.02.2020 um 15:53 schrieb Wolfram Sang <wsa@the-dreams.de>:
> 
> Hi,
> 
>>> Sorry, normally I don't do counter patches. Yet, this time I realized
>>> that it would be faster to actually do what I envisioned than to
>>> describe it in words. I hope you don't feel offended.
>> 
>> No problem. I had thought a little about that myself, but did not
>> dare to solve more than my problem...
> 
> Glad you like it. Well, it still kinda solves your problem only, because
> there are still too many dev_err in there, but I think this is good
> enough for now.
> 
>>> Obviously, I can't test, does it work for you?
>> 
>> Yes,it works.
> 
> Good!
> 
>> Do you want to push your patch yourself, or should I add it to my
>> patch series and resubmit in a v2?
> 
> I'll apply the patch to my tree directly as a bugfix for 5.6. You can
> drop the I2C list from V2 then.

Ok, fine.

BR and thanks,
Nikolaus


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: i2c: jz4780: silence log flood on txabrt
  2020-02-12  9:46   ` i2c: jz4780: silence log flood on txabrt Wolfram Sang
  2020-02-12 14:46     ` H. Nikolaus Schaller
@ 2020-02-13  9:10     ` Wolfram Sang
  1 sibling, 0 replies; 24+ messages in thread
From: Wolfram Sang @ 2020-02-13  9:10 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Paul Cercueil, Paul Boddie, Alex Smith, Rob Herring,
	Mark Rutland, Ralf Baechle, Paul Burton, James Hogan,
	David Airlie, Daniel Vetter, David S. Miller, Linus Walleij,
	Andi Kleen, Krzysztof Kozlowski, Geert Uytterhoeven,
	Miquel Raynal, Petr Štetiar, Richard Fontana,
	Allison Randal, Stephen Boyd, devicetree, linux-mips,
	linux-kernel, dri-devel, linux-i2c, netdev, linux-gpio,
	letux-kernel, kernel

[-- Attachment #1: Type: text/plain, Size: 433 bytes --]

On Wed, Feb 12, 2020 at 10:46:28AM +0100, Wolfram Sang wrote:
> 
> The printout for txabrt is way too talkative. Reduce it to the minimum,
> the rest can be gained by I2C core debugging and datasheet information.
> Also, make it a debug printout, it won't help the regular user.
> 
> Reported-by: H. Nikolaus Schaller <hns@goldelico.com>
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Applied to for-current, thanks!


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2020-02-13  9:10 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-11 21:41 [PATCH 00/14] MIPS: Fixes and improvements for CI20 board (JZ4780) H. Nikolaus Schaller
2020-02-11 21:41 ` [PATCH 01/14] i2c: jz4780: suppress txabrt reports for i2cdetect H. Nikolaus Schaller
2020-02-12  9:46   ` i2c: jz4780: silence log flood on txabrt Wolfram Sang
2020-02-12 14:46     ` H. Nikolaus Schaller
2020-02-12 14:53       ` Wolfram Sang
2020-02-12 14:59         ` H. Nikolaus Schaller
2020-02-13  9:10     ` Wolfram Sang
2020-02-11 21:41 ` [PATCH 02/14] drm: ingenic-drm: add MODULE_DEVICE_TABLE H. Nikolaus Schaller
2020-02-11 21:41 ` [PATCH 03/14] net: davicom: dm9000: allow to pass MAC address through mac_addr module parameter H. Nikolaus Schaller
2020-02-11 22:25   ` Andrew Lunn
2020-02-12  8:07     ` Geert Uytterhoeven
2020-02-12  8:13       ` H. Nikolaus Schaller
2020-02-11 21:41 ` [PATCH 04/14] MIPS: DTS: jz4780: fix #includes for irq.h and gpio.h H. Nikolaus Schaller
2020-02-11 21:41 ` [PATCH 05/14] MIPS: CI20: defconfig: configure for supporting modules H. Nikolaus Schaller
2020-02-11 21:41 ` [PATCH 06/14] MIPS: CI20: defconfig: compile leds-gpio driver into the kernel and configure for LED triggers H. Nikolaus Schaller
2020-02-11 21:41 ` [PATCH 07/14] MIPS: DTS: CI20: fix PMU definitions for ACT8600 H. Nikolaus Schaller
2020-02-11 21:48   ` [Letux-kernel] " Andreas Kemnade
2020-02-11 21:41 ` [PATCH 08/14] MIPS: CI20: defconfig: configure CONFIG_REGULATOR_ACT8865 for PMU H. Nikolaus Schaller
2020-02-11 21:41 ` [PATCH 09/14] MIPS: DTS: CI20: give eth0_power a defined voltage H. Nikolaus Schaller
2020-02-11 21:41 ` [PATCH 10/14] MIPS: DTS: CI20: add DT node for IR sensor H. Nikolaus Schaller
2020-02-11 21:41 ` [PATCH 11/14] MIPS: CI20: defconfig: compile gpio-ir driver H. Nikolaus Schaller
2020-02-11 21:41 ` [PATCH 12/14] MIPS: DTS: CI20: add DT node for SW1 as Enter button H. Nikolaus Schaller
2020-02-11 21:41 ` [PATCH 13/14] MIPS: CI20: defconfig: configure for CONFIG_KEYBOARD_GPIO=m H. Nikolaus Schaller
2020-02-11 21:41 ` [PATCH 14/14] MIPS: DTS: CI20: fix interrupt for pcf8563 RTC H. Nikolaus Schaller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).