linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups
@ 2019-01-29 19:20 Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 01/13] ARM: defconfig: lpc32xx: enable fixed voltage regulator support Vladimir Zapolskiy
                   ` (12 more replies)
  0 siblings, 13 replies; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-29 19:20 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King
  Cc: Mark Rutland, devicetree, Rob Herring, linux-arm-kernel

The changeset consists of a number of minor clean-ups and fixes for
NXP LPC32xx SoC support, likely the most noticeable change is stripping
of platform data for PL180 SD/MMC controller and PL111 LCD controller,
originally both given configurations are Phytec phyCORE-LPC3250 board
specific, and now the right description is added to the correspondent
board dts file. The LCD controller is proven to work with PL111 DRM
driver, this justifies the correctness of switching the platform from
a legacy fbdev to the new DRM driver.

Fixed voltage regulator and DRM simple panel driver should be enabled
by default in NXP LPC32xx defconfig file to get better support of
Phytec phyCORE-LPC3250 board.

Vladimir Zapolskiy (13):
  ARM: defconfig: lpc32xx: enable fixed voltage regulator support
  ARM: defconfig: lpc32xx: enable DRM simple panel driver
  ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller variant
  ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller clocks property
  ARM: dts: lpc32xx: phy3250: fix SD card regulator voltage
  ARM: dts: lpc32xx: remove inclusion of deprecated skeleton.dtsi
  ARM: dts: lpc32xx: phy3250: remove regulators umbrella device node
  ARM: dts: lpc32xx: phy3250: setup LCD controller to panel interface
  ARM: dts: lpc32xx: phy3250: add unit address to memory device node
  ARM: dts: lpc32xx: ea3250: add unit address to memory device node
  ARM: dts: lpc32xx: ea3250: beautify gpio keys children nodes
  ARM: lpc32xx: remove platform data of ARM PL180 SD/MMC controller
  ARM: lpc32xx: remove platform data of ARM PL111 LCD controller

 arch/arm/boot/dts/lpc3250-ea3250.dts  | 20 +++---
 arch/arm/boot/dts/lpc3250-phy3250.dts | 87 ++++++++++++++++-----------
 arch/arm/boot/dts/lpc32xx.dtsi        | 12 ++--
 arch/arm/configs/lpc32xx_defconfig    |  3 +
 arch/arm/mach-lpc32xx/phy3250.c       | 84 --------------------------
 5 files changed, 75 insertions(+), 131 deletions(-)

-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 01/13] ARM: defconfig: lpc32xx: enable fixed voltage regulator support
  2019-01-29 19:20 [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups Vladimir Zapolskiy
@ 2019-01-29 19:20 ` Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 02/13] ARM: defconfig: lpc32xx: enable DRM simple panel driver Vladimir Zapolskiy
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-29 19:20 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King
  Cc: Mark Rutland, devicetree, Rob Herring, linux-arm-kernel

Fixed voltage regulators are found on Phytec phyCORE-LPC3250 board,
enable the correspondent device driver by default.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 arch/arm/configs/lpc32xx_defconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/configs/lpc32xx_defconfig b/arch/arm/configs/lpc32xx_defconfig
index 19a5e5e742d4..23b4d5348e39 100644
--- a/arch/arm/configs/lpc32xx_defconfig
+++ b/arch/arm/configs/lpc32xx_defconfig
@@ -104,6 +104,8 @@ CONFIG_SENSORS_DS620=y
 CONFIG_SENSORS_MAX6639=y
 CONFIG_WATCHDOG=y
 CONFIG_PNX4008_WATCHDOG=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
 CONFIG_DRM=y
 CONFIG_DRM_PL111=y
 CONFIG_FB_MODE_HELPERS=y
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 02/13] ARM: defconfig: lpc32xx: enable DRM simple panel driver
  2019-01-29 19:20 [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 01/13] ARM: defconfig: lpc32xx: enable fixed voltage regulator support Vladimir Zapolskiy
@ 2019-01-29 19:20 ` Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 03/13] ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller variant Vladimir Zapolskiy
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-29 19:20 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King
  Cc: Mark Rutland, devicetree, Rob Herring, linux-arm-kernel

Phytec phyCORE-LPC3250 board is equipped with a Sharp LQ035Q7DB03
3.5" QVGA TFT panel, enable simple panel device driver to get it
supported in the kernel image by default.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 arch/arm/configs/lpc32xx_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/lpc32xx_defconfig b/arch/arm/configs/lpc32xx_defconfig
index 23b4d5348e39..e752fb704df0 100644
--- a/arch/arm/configs/lpc32xx_defconfig
+++ b/arch/arm/configs/lpc32xx_defconfig
@@ -107,6 +107,7 @@ CONFIG_PNX4008_WATCHDOG=y
 CONFIG_REGULATOR=y
 CONFIG_REGULATOR_FIXED_VOLTAGE=y
 CONFIG_DRM=y
+CONFIG_DRM_PANEL_SIMPLE=y
 CONFIG_DRM_PL111=y
 CONFIG_FB_MODE_HELPERS=y
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 03/13] ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller variant
  2019-01-29 19:20 [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 01/13] ARM: defconfig: lpc32xx: enable fixed voltage regulator support Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 02/13] ARM: defconfig: lpc32xx: enable DRM simple panel driver Vladimir Zapolskiy
@ 2019-01-29 19:20 ` Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 04/13] ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller clocks property Vladimir Zapolskiy
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-29 19:20 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King
  Cc: Mark Rutland, devicetree, Rob Herring, linux-arm-kernel

ARM PrimeCell PL111 LCD controller is found on On NXP LPC3230
and LPC3250 SoCs variants, the original reference in compatible
property to an older one ARM PrimeCell PL110 is invalid.

Fixes: e04920d9efcb3 ("ARM: LPC32xx: DTS files for device tree conversion")
Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 arch/arm/boot/dts/lpc32xx.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/lpc32xx.dtsi b/arch/arm/boot/dts/lpc32xx.dtsi
index 4f8f671c3343..cfd422e7f774 100644
--- a/arch/arm/boot/dts/lpc32xx.dtsi
+++ b/arch/arm/boot/dts/lpc32xx.dtsi
@@ -139,7 +139,7 @@
 		};
 
 		clcd: clcd@31040000 {
-			compatible = "arm,pl110", "arm,primecell";
+			compatible = "arm,pl111", "arm,primecell";
 			reg = <0x31040000 0x1000>;
 			interrupts = <14 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&clk LPC32XX_CLK_LCD>;
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 04/13] ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller clocks property
  2019-01-29 19:20 [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups Vladimir Zapolskiy
                   ` (2 preceding siblings ...)
  2019-01-29 19:20 ` [PATCH 03/13] ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller variant Vladimir Zapolskiy
@ 2019-01-29 19:20 ` Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 05/13] ARM: dts: lpc32xx: phy3250: fix SD card regulator voltage Vladimir Zapolskiy
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-29 19:20 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King
  Cc: Mark Rutland, devicetree, Rob Herring, linux-arm-kernel

The originally added ARM PrimeCell PL111 clocks property misses
the required "clcdclk" clock, which is the same as a clock to enable
the LCD controller on NXP LPC3230 and NXP LPC3250 SoCs.

Fixes: 93898eb775e5 ("arm: dts: lpc32xx: add clock properties to device nodes")
Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 arch/arm/boot/dts/lpc32xx.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/lpc32xx.dtsi b/arch/arm/boot/dts/lpc32xx.dtsi
index cfd422e7f774..9ad3df11db0d 100644
--- a/arch/arm/boot/dts/lpc32xx.dtsi
+++ b/arch/arm/boot/dts/lpc32xx.dtsi
@@ -142,8 +142,8 @@
 			compatible = "arm,pl111", "arm,primecell";
 			reg = <0x31040000 0x1000>;
 			interrupts = <14 IRQ_TYPE_LEVEL_HIGH>;
-			clocks = <&clk LPC32XX_CLK_LCD>;
-			clock-names = "apb_pclk";
+			clocks = <&clk LPC32XX_CLK_LCD>, <&clk LPC32XX_CLK_LCD>;
+			clock-names = "clcdclk", "apb_pclk";
 			status = "disabled";
 		};
 
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 05/13] ARM: dts: lpc32xx: phy3250: fix SD card regulator voltage
  2019-01-29 19:20 [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups Vladimir Zapolskiy
                   ` (3 preceding siblings ...)
  2019-01-29 19:20 ` [PATCH 04/13] ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller clocks property Vladimir Zapolskiy
@ 2019-01-29 19:20 ` Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 06/13] ARM: dts: lpc32xx: remove inclusion of deprecated skeleton.dtsi Vladimir Zapolskiy
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-29 19:20 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King
  Cc: Mark Rutland, devicetree, Rob Herring, linux-arm-kernel

The fixed voltage regulator on Phytec phyCORE-LPC3250 board, which
supplies SD/MMC card's power, has a constant output voltage level
of either 3.15V or 3.3V, the actual value depends on JP4 position,
the power rail is referenced as VCC_SDIO in the board hardware manual.

Fixes: d06670e96267 ("arm: dts: phy3250: add SD fixed regulator")
Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 arch/arm/boot/dts/lpc3250-phy3250.dts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/lpc3250-phy3250.dts b/arch/arm/boot/dts/lpc3250-phy3250.dts
index 1e1c2f517a82..ffcf78631b22 100644
--- a/arch/arm/boot/dts/lpc3250-phy3250.dts
+++ b/arch/arm/boot/dts/lpc3250-phy3250.dts
@@ -49,8 +49,8 @@
 		sd_reg: regulator@2 {
 			compatible = "regulator-fixed";
 			regulator-name = "sd_reg";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
 			gpio = <&gpio 5 5 0>;
 			enable-active-high;
 		};
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 06/13] ARM: dts: lpc32xx: remove inclusion of deprecated skeleton.dtsi
  2019-01-29 19:20 [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups Vladimir Zapolskiy
                   ` (4 preceding siblings ...)
  2019-01-29 19:20 ` [PATCH 05/13] ARM: dts: lpc32xx: phy3250: fix SD card regulator voltage Vladimir Zapolskiy
@ 2019-01-29 19:20 ` Vladimir Zapolskiy
  2019-01-30 20:33   ` Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 07/13] ARM: dts: lpc32xx: phy3250: remove regulators umbrella device node Vladimir Zapolskiy
                   ` (6 subsequent siblings)
  12 siblings, 1 reply; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-29 19:20 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King
  Cc: Mark Rutland, devicetree, Rob Herring, linux-arm-kernel

Inclusion of skeleton.dtsi into DTS files is deprecated since
commit 9c0da3cc61f1233c ("ARM: dts: explicitly mark skeleton.dtsi
as deprecated").

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 arch/arm/boot/dts/lpc32xx.dtsi | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/lpc32xx.dtsi b/arch/arm/boot/dts/lpc32xx.dtsi
index 9ad3df11db0d..d27a0a722ad5 100644
--- a/arch/arm/boot/dts/lpc32xx.dtsi
+++ b/arch/arm/boot/dts/lpc32xx.dtsi
@@ -1,6 +1,7 @@
 /*
  * NXP LPC32xx SoC
  *
+ * Copyright (C) 2015-2019 Vladimir Zapolskiy <vz@mleia.com>
  * Copyright 2012 Roland Stigge <stigge@antcom.de>
  *
  * The code contained herein is licensed under the GNU General Public
@@ -11,12 +12,13 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
-#include "skeleton.dtsi"
-
 #include <dt-bindings/clock/lpc32xx-clock.h>
 #include <dt-bindings/interrupt-controller/irq.h>
 
 / {
+	#address-cells = <1>;
+	#size-cells = <1>;
+
 	compatible = "nxp,lpc3220";
 	interrupt-parent = <&mic>;
 
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 07/13] ARM: dts: lpc32xx: phy3250: remove regulators umbrella device node
  2019-01-29 19:20 [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups Vladimir Zapolskiy
                   ` (5 preceding siblings ...)
  2019-01-29 19:20 ` [PATCH 06/13] ARM: dts: lpc32xx: remove inclusion of deprecated skeleton.dtsi Vladimir Zapolskiy
@ 2019-01-29 19:20 ` Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 08/13] ARM: dts: lpc32xx: phy3250: setup LCD controller to panel interface Vladimir Zapolskiy
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-29 19:20 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King
  Cc: Mark Rutland, devicetree, Rob Herring, linux-arm-kernel

The originally added 'regulators' device node has a number of flaws,
to name a few its children has unit addresses but no reg properties,
the regulators are not captured by a device driver due to a missing
'simple-bus' compatible, the regulator names are selected by killing
either alphabetical order or device node grouping property.

The change removes 'regulators' device node and renames the regulators
and labels.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 arch/arm/boot/dts/lpc3250-phy3250.dts | 63 +++++++++++++--------------
 1 file changed, 31 insertions(+), 32 deletions(-)

diff --git a/arch/arm/boot/dts/lpc3250-phy3250.dts b/arch/arm/boot/dts/lpc3250-phy3250.dts
index ffcf78631b22..d2dad2b541ff 100644
--- a/arch/arm/boot/dts/lpc3250-phy3250.dts
+++ b/arch/arm/boot/dts/lpc3250-phy3250.dts
@@ -25,37 +25,6 @@
 		reg = <0x80000000 0x4000000>;
 	};
 
-	regulators {
-		backlight_reg: regulator@0 {
-			compatible = "regulator-fixed";
-			regulator-name = "backlight_reg";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-			gpio = <&gpio 5 4 0>;
-			enable-active-high;
-			regulator-boot-on;
-		};
-
-		lcd_reg: regulator@1 {
-			compatible = "regulator-fixed";
-			regulator-name = "lcd_reg";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-			gpio = <&gpio 5 0 0>;
-			enable-active-high;
-			regulator-boot-on;
-		};
-
-		sd_reg: regulator@2 {
-			compatible = "regulator-fixed";
-			regulator-name = "sd_reg";
-			regulator-min-microvolt = <3300000>;
-			regulator-max-microvolt = <3300000>;
-			gpio = <&gpio 5 5 0>;
-			enable-active-high;
-		};
-	};
-
 	leds {
 		compatible = "gpio-leds";
 
@@ -69,6 +38,36 @@
 			linux,default-trigger = "heartbeat";
 		};
 	};
+
+	reg_backlight: regulator-backlight {
+		compatible = "regulator-fixed";
+		regulator-name = "backlight";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		gpio = <&gpio 5 4 0>;
+		enable-active-high;
+		regulator-boot-on;
+	};
+
+	reg_lcd: regulator-lcd {
+		compatible = "regulator-fixed";
+		regulator-name = "lcd";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		gpio = <&gpio 5 0 0>;
+		enable-active-high;
+		regulator-boot-on;
+	};
+
+	reg_sd: regulator-sd {
+		compatible = "regulator-fixed";
+		regulator-name = "sd";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		gpio = <&gpio 5 5 0>;
+		enable-active-high;
+		regulator-boot-on;
+	};
 };
 
 &clcd {
@@ -130,7 +129,7 @@
 	cd-gpios = <&gpio 3 1 0>;
 	cd-inverted;
 	bus-width = <4>;
-	vmmc-supply = <&sd_reg>;
+	vmmc-supply = <&reg_sd>;
 	status = "okay";
 };
 
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 08/13] ARM: dts: lpc32xx: phy3250: setup LCD controller to panel interface
  2019-01-29 19:20 [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups Vladimir Zapolskiy
                   ` (6 preceding siblings ...)
  2019-01-29 19:20 ` [PATCH 07/13] ARM: dts: lpc32xx: phy3250: remove regulators umbrella device node Vladimir Zapolskiy
@ 2019-01-29 19:20 ` Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 09/13] ARM: dts: lpc32xx: phy3250: add unit address to memory device node Vladimir Zapolskiy
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-29 19:20 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King
  Cc: Mark Rutland, devicetree, Rob Herring, linux-arm-kernel

The change adds description of Sharp LQ035Q7DB03 3.5" 320x240 TFT panel,
which is connected to Phytec phyCORE-LPC3250 board, ARM PrimeCell PL111
LCD controller on NXP LPC3250 SoC gets its configuration appropriately
to support graphics output to the panel.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 arch/arm/boot/dts/lpc3250-phy3250.dts | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/arch/arm/boot/dts/lpc3250-phy3250.dts b/arch/arm/boot/dts/lpc3250-phy3250.dts
index d2dad2b541ff..aff72f14ad83 100644
--- a/arch/arm/boot/dts/lpc3250-phy3250.dts
+++ b/arch/arm/boot/dts/lpc3250-phy3250.dts
@@ -39,6 +39,17 @@
 		};
 	};
 
+	panel: panel {
+		compatible = "sharp,lq035q7db03";
+		power-supply = <&reg_lcd>;
+
+		port {
+			panel_input: endpoint {
+				remote-endpoint = <&cldc_output>;
+			};
+		};
+	};
+
 	reg_backlight: regulator-backlight {
 		compatible = "regulator-fixed";
 		regulator-name = "backlight";
@@ -71,7 +82,15 @@
 };
 
 &clcd {
+	max-memory-bandwidth = <18710000>;
 	status = "okay";
+
+	port {
+		cldc_output: endpoint {
+			remote-endpoint = <&panel_input>;
+			arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
+		};
+	};
 };
 
 &i2c1 {
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 09/13] ARM: dts: lpc32xx: phy3250: add unit address to memory device node
  2019-01-29 19:20 [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups Vladimir Zapolskiy
                   ` (7 preceding siblings ...)
  2019-01-29 19:20 ` [PATCH 08/13] ARM: dts: lpc32xx: phy3250: setup LCD controller to panel interface Vladimir Zapolskiy
@ 2019-01-29 19:20 ` Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 10/13] ARM: dts: lpc32xx: ea3250: " Vladimir Zapolskiy
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-29 19:20 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King
  Cc: Mark Rutland, devicetree, Rob Herring, linux-arm-kernel

The change adds a unit address to memory device node, the issue was
reported as a unit_address_vs_reg warning by dtc.

Root device node properties #address-cells and #size-cells were
removed as inherited from lpc32xx.dtsi.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 arch/arm/boot/dts/lpc3250-phy3250.dts | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/lpc3250-phy3250.dts b/arch/arm/boot/dts/lpc3250-phy3250.dts
index aff72f14ad83..ebd19258e22b 100644
--- a/arch/arm/boot/dts/lpc3250-phy3250.dts
+++ b/arch/arm/boot/dts/lpc3250-phy3250.dts
@@ -1,6 +1,7 @@
 /*
  * PHYTEC phyCORE-LPC3250 board
  *
+ * Copyright (C) 2015-2019 Vladimir Zapolskiy <vz@mleia.com>
  * Copyright 2012 Roland Stigge <stigge@antcom.de>
  *
  * The code contained herein is licensed under the GNU General Public
@@ -17,10 +18,8 @@
 / {
 	model = "PHYTEC phyCORE-LPC3250 board based on NXP LPC3250";
 	compatible = "phytec,phy3250", "nxp,lpc3250";
-	#address-cells = <1>;
-	#size-cells = <1>;
 
-	memory {
+	memory@80000000 {
 		device_type = "memory";
 		reg = <0x80000000 0x4000000>;
 	};
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 10/13] ARM: dts: lpc32xx: ea3250: add unit address to memory device node
  2019-01-29 19:20 [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups Vladimir Zapolskiy
                   ` (8 preceding siblings ...)
  2019-01-29 19:20 ` [PATCH 09/13] ARM: dts: lpc32xx: phy3250: add unit address to memory device node Vladimir Zapolskiy
@ 2019-01-29 19:20 ` Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 11/13] ARM: dts: lpc32xx: ea3250: beautify gpio keys children nodes Vladimir Zapolskiy
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-29 19:20 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King
  Cc: Mark Rutland, devicetree, Rob Herring, linux-arm-kernel

The change adds a unit address to memory device node, the issue was
reported as a unit_address_vs_reg warning by dtc.

Root device node properties #address-cells and #size-cells were
removed as inherited from lpc32xx.dtsi.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 arch/arm/boot/dts/lpc3250-ea3250.dts | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/lpc3250-ea3250.dts b/arch/arm/boot/dts/lpc3250-ea3250.dts
index 58ea0a4e7afa..ef6b3e74cd9f 100644
--- a/arch/arm/boot/dts/lpc3250-ea3250.dts
+++ b/arch/arm/boot/dts/lpc3250-ea3250.dts
@@ -17,10 +17,8 @@
 / {
 	model = "Embedded Artists LPC3250 board based on NXP LPC3250";
 	compatible = "ea,ea3250", "nxp,lpc3250";
-	#address-cells = <1>;
-	#size-cells = <1>;
 
-	memory {
+	memory@80000000 {
 		device_type = "memory";
 		reg = <0x80000000 0x4000000>;
 	};
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 11/13] ARM: dts: lpc32xx: ea3250: beautify gpio keys children nodes
  2019-01-29 19:20 [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups Vladimir Zapolskiy
                   ` (9 preceding siblings ...)
  2019-01-29 19:20 ` [PATCH 10/13] ARM: dts: lpc32xx: ea3250: " Vladimir Zapolskiy
@ 2019-01-29 19:20 ` Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 12/13] ARM: lpc32xx: remove platform data of ARM PL180 SD/MMC controller Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 13/13] ARM: lpc32xx: remove platform data of ARM PL111 LCD controller Vladimir Zapolskiy
  12 siblings, 0 replies; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-29 19:20 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King
  Cc: Mark Rutland, devicetree, Rob Herring, linux-arm-kernel

Regarding the 'gpio_keys' device node a dtc reports a couple of
warnings:

  Warning (avoid_unnecessary_addr_size): /gpio_keys: unnecessary
  #address-cells/#size-cells without "ranges" or child "reg" property

  Warning (unit_address_vs_reg): /gpio_keys/button@21: node has
  a unit name, but no reg property

The change fixes these issues and adds empty lines between adjacent
children device nodes. The device node itself is renamed by substituting
an underscore by hyphen to follow the standard naming convention
of device tree nodes.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 arch/arm/boot/dts/lpc3250-ea3250.dts | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/lpc3250-ea3250.dts b/arch/arm/boot/dts/lpc3250-ea3250.dts
index ef6b3e74cd9f..f46a11827ef6 100644
--- a/arch/arm/boot/dts/lpc3250-ea3250.dts
+++ b/arch/arm/boot/dts/lpc3250-ea3250.dts
@@ -23,56 +23,64 @@
 		reg = <0x80000000 0x4000000>;
 	};
 
-	gpio_keys {
+	gpio-keys {
 		compatible = "gpio-keys";
-		#address-cells = <1>;
-		#size-cells = <0>;
 		autorepeat;
-		button@21 {
+
+		button {
 			label = "Interrupt Key";
 			linux,code = <103>;
 			gpios = <&gpio 4 1 0>; /* GPI_P3 1 */
 		};
+
 		key1 {
 			label = "KEY1";
 			linux,code = <1>;
 			gpios = <&pca9532 0 0>;
 		};
+
 		key2 {
 			label = "KEY2";
 			linux,code = <2>;
 			gpios = <&pca9532 1 0>;
 		};
+
 		key3 {
 			label = "KEY3";
 			linux,code = <3>;
 			gpios = <&pca9532 2 0>;
 		};
+
 		key4 {
 			label = "KEY4";
 			linux,code = <4>;
 			gpios = <&pca9532 3 0>;
 		};
+
 		joy0 {
 			label = "Joystick Key 0";
 			linux,code = <10>;
 			gpios = <&gpio 2 0 0>; /* P2.0 */
 		};
+
 		joy1 {
 			label = "Joystick Key 1";
 			linux,code = <11>;
 			gpios = <&gpio 2 1 0>; /* P2.1 */
 		};
+
 		joy2 {
 			label = "Joystick Key 2";
 			linux,code = <12>;
 			gpios = <&gpio 2 2 0>; /* P2.2 */
 		};
+
 		joy3 {
 			label = "Joystick Key 3";
 			linux,code = <13>;
 			gpios = <&gpio 2 3 0>; /* P2.3 */
 		};
+
 		joy4 {
 			label = "Joystick Key 4";
 			linux,code = <14>;
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 12/13] ARM: lpc32xx: remove platform data of ARM PL180 SD/MMC controller
  2019-01-29 19:20 [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups Vladimir Zapolskiy
                   ` (10 preceding siblings ...)
  2019-01-29 19:20 ` [PATCH 11/13] ARM: dts: lpc32xx: ea3250: beautify gpio keys children nodes Vladimir Zapolskiy
@ 2019-01-29 19:20 ` Vladimir Zapolskiy
  2019-01-29 19:20 ` [PATCH 13/13] ARM: lpc32xx: remove platform data of ARM PL111 LCD controller Vladimir Zapolskiy
  12 siblings, 0 replies; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-29 19:20 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King
  Cc: Mark Rutland, devicetree, Rob Herring, linux-arm-kernel

The auxilary platform data added for the SD/MMC controller is redundant,
because it is obtained properly from its description in board dts files.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 arch/arm/mach-lpc32xx/phy3250.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/arch/arm/mach-lpc32xx/phy3250.c b/arch/arm/mach-lpc32xx/phy3250.c
index e48cc06c2aec..568589e918c2 100644
--- a/arch/arm/mach-lpc32xx/phy3250.c
+++ b/arch/arm/mach-lpc32xx/phy3250.c
@@ -148,11 +148,6 @@ static struct pl08x_platform_data pl08x_pd = {
 	.mem_buses = PL08X_AHB1,
 };
 
-static struct mmci_platform_data lpc32xx_mmci_data = {
-	.ocr_mask	= MMC_VDD_30_31 | MMC_VDD_31_32 |
-			  MMC_VDD_32_33 | MMC_VDD_33_34,
-};
-
 static struct lpc32xx_slc_platform_data lpc32xx_slc_data = {
 	.dma_filter = pl08x_filter_id,
 };
@@ -166,8 +161,6 @@ static const struct of_dev_auxdata lpc32xx_auxdata_lookup[] __initconst = {
 	OF_DEV_AUXDATA("arm,pl022", 0x2008C000, "dev:ssp1", NULL),
 	OF_DEV_AUXDATA("arm,pl110", 0x31040000, "dev:clcd", &lpc32xx_clcd_data),
 	OF_DEV_AUXDATA("arm,pl080", 0x31000000, "pl08xdmac", &pl08x_pd),
-	OF_DEV_AUXDATA("arm,pl18x", 0x20098000, "20098000.sd",
-		       &lpc32xx_mmci_data),
 	OF_DEV_AUXDATA("nxp,lpc3220-slc", 0x20020000, "20020000.flash",
 		       &lpc32xx_slc_data),
 	OF_DEV_AUXDATA("nxp,lpc3220-mlc", 0x200a8000, "200a8000.flash",
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 13/13] ARM: lpc32xx: remove platform data of ARM PL111 LCD controller
  2019-01-29 19:20 [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups Vladimir Zapolskiy
                   ` (11 preceding siblings ...)
  2019-01-29 19:20 ` [PATCH 12/13] ARM: lpc32xx: remove platform data of ARM PL180 SD/MMC controller Vladimir Zapolskiy
@ 2019-01-29 19:20 ` Vladimir Zapolskiy
  12 siblings, 0 replies; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-29 19:20 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King
  Cc: Mark Rutland, devicetree, Rob Herring, linux-arm-kernel

The auxilary platform data added for the LCD controller is not needed
anymore, because the controller and a connected panel are properly
described in Phytec phyCORE-LPC3250 board dts file.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 arch/arm/mach-lpc32xx/phy3250.c | 77 ---------------------------------
 1 file changed, 77 deletions(-)

diff --git a/arch/arm/mach-lpc32xx/phy3250.c b/arch/arm/mach-lpc32xx/phy3250.c
index 568589e918c2..b3be60a8e467 100644
--- a/arch/arm/mach-lpc32xx/phy3250.c
+++ b/arch/arm/mach-lpc32xx/phy3250.c
@@ -45,73 +45,6 @@
 #include <mach/board.h>
 #include "common.h"
 
-/*
- * AMBA LCD controller
- */
-static struct clcd_panel conn_lcd_panel = {
-	.mode		= {
-		.name		= "QVGA portrait",
-		.refresh	= 60,
-		.xres		= 240,
-		.yres		= 320,
-		.pixclock	= 191828,
-		.left_margin	= 22,
-		.right_margin	= 11,
-		.upper_margin	= 2,
-		.lower_margin	= 1,
-		.hsync_len	= 5,
-		.vsync_len	= 2,
-		.sync		= 0,
-		.vmode		= FB_VMODE_NONINTERLACED,
-	},
-	.width		= -1,
-	.height		= -1,
-	.tim2		= (TIM2_IVS | TIM2_IHS),
-	.cntl		= (CNTL_BGR | CNTL_LCDTFT | CNTL_LCDVCOMP(1) |
-				CNTL_LCDBPP16_565),
-	.bpp		= 16,
-};
-#define PANEL_SIZE (3 * SZ_64K)
-
-static int lpc32xx_clcd_setup(struct clcd_fb *fb)
-{
-	dma_addr_t dma;
-
-	fb->fb.screen_base = dma_alloc_wc(&fb->dev->dev, PANEL_SIZE, &dma,
-					  GFP_KERNEL);
-	if (!fb->fb.screen_base) {
-		printk(KERN_ERR "CLCD: unable to map framebuffer\n");
-		return -ENOMEM;
-	}
-
-	fb->fb.fix.smem_start = dma;
-	fb->fb.fix.smem_len = PANEL_SIZE;
-	fb->panel = &conn_lcd_panel;
-
-	return 0;
-}
-
-static int lpc32xx_clcd_mmap(struct clcd_fb *fb, struct vm_area_struct *vma)
-{
-	return dma_mmap_wc(&fb->dev->dev, vma, fb->fb.screen_base,
-			   fb->fb.fix.smem_start, fb->fb.fix.smem_len);
-}
-
-static void lpc32xx_clcd_remove(struct clcd_fb *fb)
-{
-	dma_free_wc(&fb->dev->dev, fb->fb.fix.smem_len, fb->fb.screen_base,
-		    fb->fb.fix.smem_start);
-}
-
-static struct clcd_board lpc32xx_clcd_data = {
-	.name		= "Phytec LCD",
-	.check		= clcdfb_check,
-	.decode		= clcdfb_decode,
-	.setup		= lpc32xx_clcd_setup,
-	.mmap		= lpc32xx_clcd_mmap,
-	.remove		= lpc32xx_clcd_remove,
-};
-
 static struct pl08x_channel_data pl08x_slave_channels[] = {
 	{
 		.bus_id = "nand-slc",
@@ -159,7 +92,6 @@ static struct lpc32xx_mlc_platform_data lpc32xx_mlc_data = {
 static const struct of_dev_auxdata lpc32xx_auxdata_lookup[] __initconst = {
 	OF_DEV_AUXDATA("arm,pl022", 0x20084000, "dev:ssp0", NULL),
 	OF_DEV_AUXDATA("arm,pl022", 0x2008C000, "dev:ssp1", NULL),
-	OF_DEV_AUXDATA("arm,pl110", 0x31040000, "dev:clcd", &lpc32xx_clcd_data),
 	OF_DEV_AUXDATA("arm,pl080", 0x31000000, "pl08xdmac", &pl08x_pd),
 	OF_DEV_AUXDATA("nxp,lpc3220-slc", 0x20020000, "20020000.flash",
 		       &lpc32xx_slc_data),
@@ -170,15 +102,6 @@ static const struct of_dev_auxdata lpc32xx_auxdata_lookup[] __initconst = {
 
 static void __init lpc3250_machine_init(void)
 {
-	u32 tmp;
-
-	/* Setup LCD muxing to RGB565 */
-	tmp = __raw_readl(LPC32XX_CLKPWR_LCDCLK_CTRL) &
-		~(LPC32XX_CLKPWR_LCDCTRL_LCDTYPE_MSK |
-		LPC32XX_CLKPWR_LCDCTRL_PSCALE_MSK);
-	tmp |= LPC32XX_CLKPWR_LCDCTRL_LCDTYPE_TFT16;
-	__raw_writel(tmp, LPC32XX_CLKPWR_LCDCLK_CTRL);
-
 	lpc32xx_serial_init();
 
 	/* Test clock needed for UDA1380 initial init */
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 06/13] ARM: dts: lpc32xx: remove inclusion of deprecated skeleton.dtsi
  2019-01-29 19:20 ` [PATCH 06/13] ARM: dts: lpc32xx: remove inclusion of deprecated skeleton.dtsi Vladimir Zapolskiy
@ 2019-01-30 20:33   ` Vladimir Zapolskiy
  0 siblings, 0 replies; 15+ messages in thread
From: Vladimir Zapolskiy @ 2019-01-30 20:33 UTC (permalink / raw)
  To: Sylvain Lemieux, Russell King, Rob Herring
  Cc: Mark Rutland, devicetree, linux-arm-kernel

On 01/29/2019 09:20 PM, Vladimir Zapolskiy wrote:
> Inclusion of skeleton.dtsi into DTS files is deprecated since
> commit 9c0da3cc61f1233c ("ARM: dts: explicitly mark skeleton.dtsi
> as deprecated").
> 

This change will be dropped to avoid a conflict with a functionally
equal applied change from Rob.

--
Best wishes,
Vladimir

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2019-01-30 20:33 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-29 19:20 [PATCH 00/13] ARM: lpc32xx: various minor fixes and clean-ups Vladimir Zapolskiy
2019-01-29 19:20 ` [PATCH 01/13] ARM: defconfig: lpc32xx: enable fixed voltage regulator support Vladimir Zapolskiy
2019-01-29 19:20 ` [PATCH 02/13] ARM: defconfig: lpc32xx: enable DRM simple panel driver Vladimir Zapolskiy
2019-01-29 19:20 ` [PATCH 03/13] ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller variant Vladimir Zapolskiy
2019-01-29 19:20 ` [PATCH 04/13] ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller clocks property Vladimir Zapolskiy
2019-01-29 19:20 ` [PATCH 05/13] ARM: dts: lpc32xx: phy3250: fix SD card regulator voltage Vladimir Zapolskiy
2019-01-29 19:20 ` [PATCH 06/13] ARM: dts: lpc32xx: remove inclusion of deprecated skeleton.dtsi Vladimir Zapolskiy
2019-01-30 20:33   ` Vladimir Zapolskiy
2019-01-29 19:20 ` [PATCH 07/13] ARM: dts: lpc32xx: phy3250: remove regulators umbrella device node Vladimir Zapolskiy
2019-01-29 19:20 ` [PATCH 08/13] ARM: dts: lpc32xx: phy3250: setup LCD controller to panel interface Vladimir Zapolskiy
2019-01-29 19:20 ` [PATCH 09/13] ARM: dts: lpc32xx: phy3250: add unit address to memory device node Vladimir Zapolskiy
2019-01-29 19:20 ` [PATCH 10/13] ARM: dts: lpc32xx: ea3250: " Vladimir Zapolskiy
2019-01-29 19:20 ` [PATCH 11/13] ARM: dts: lpc32xx: ea3250: beautify gpio keys children nodes Vladimir Zapolskiy
2019-01-29 19:20 ` [PATCH 12/13] ARM: lpc32xx: remove platform data of ARM PL180 SD/MMC controller Vladimir Zapolskiy
2019-01-29 19:20 ` [PATCH 13/13] ARM: lpc32xx: remove platform data of ARM PL111 LCD controller Vladimir Zapolskiy

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