public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] Add display support on the stm32f746-disco board
@ 2023-06-01 17:03 Dario Binacchi
  2023-06-01 17:03 ` [PATCH 1/6] ARM: dts: stm32: add ltdc support on stm32f746 MCU Dario Binacchi
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Dario Binacchi @ 2023-06-01 17:03 UTC (permalink / raw)
  To: linux-kernel
  Cc: Amarula patchwork, michael, Dario Binacchi, Alexandre Torgue,
	Conor Dooley, Daniel Vetter, David Airlie, Krzysztof Kozlowski,
	Maxime Coquelin, Neil Armstrong, Philippe Cornu,
	Raphael Gallais-Pou, Rob Herring, Sam Ravnborg, Thierry Reding,
	Yannick Fertre, devicetree, dri-devel, linux-arm-kernel,
	linux-stm32

The series adds support for the display on the stm32f746-disco board,
along with a generic patch that adds the "bpp" parameter to the stm-drm
module. The intention is to allow users to size, within certain limits,
the memory footprint required by the framebuffer.


Dario Binacchi (6):
  ARM: dts: stm32: add ltdc support on stm32f746 MCU
  ARM: dts: stm32: add pin map for LTDC on stm32f7
  ARM: dts: stm32: support display on stm32f746-disco board
  dt-bindings: display: simple: add Rocktech RK043FN48H
  drm/panel: simple: add support for Rocktech RK043FN48H panel
  drm/stm: add an option to change FB bpp

 .../bindings/display/panel/panel-simple.yaml  |  2 +
 arch/arm/boot/dts/stm32f7-pinctrl.dtsi        | 35 +++++++++++++
 arch/arm/boot/dts/stm32f746-disco.dts         | 51 +++++++++++++++++++
 arch/arm/boot/dts/stm32f746.dtsi              | 10 ++++
 drivers/gpu/drm/panel/panel-simple.c          | 29 +++++++++++
 drivers/gpu/drm/stm/drv.c                     |  8 ++-
 6 files changed, 134 insertions(+), 1 deletion(-)

-- 
2.32.0


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

* [PATCH 1/6] ARM: dts: stm32: add ltdc support on stm32f746 MCU
  2023-06-01 17:03 [PATCH 0/6] Add display support on the stm32f746-disco board Dario Binacchi
@ 2023-06-01 17:03 ` Dario Binacchi
  2023-06-01 17:03 ` [PATCH 2/6] ARM: dts: stm32: add pin map for LTDC on stm32f7 Dario Binacchi
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Dario Binacchi @ 2023-06-01 17:03 UTC (permalink / raw)
  To: linux-kernel
  Cc: Amarula patchwork, michael, Dario Binacchi, Alexandre Torgue,
	Conor Dooley, Krzysztof Kozlowski, Maxime Coquelin, Rob Herring,
	devicetree, linux-arm-kernel, linux-stm32

Add LTDC (Lcd-tft Display Controller) support.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---

 arch/arm/boot/dts/stm32f746.dtsi | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm/boot/dts/stm32f746.dtsi b/arch/arm/boot/dts/stm32f746.dtsi
index dc868e6da40e..9c4ba0b7f239 100644
--- a/arch/arm/boot/dts/stm32f746.dtsi
+++ b/arch/arm/boot/dts/stm32f746.dtsi
@@ -507,6 +507,16 @@ pwm {
 			};
 		};
 
+		ltdc: display-controller@40016800 {
+			compatible = "st,stm32-ltdc";
+			reg = <0x40016800 0x200>;
+			interrupts = <88>, <89>;
+			resets = <&rcc STM32F7_APB2_RESET(LTDC)>;
+			clocks = <&rcc 1 CLK_LCD>;
+			clock-names = "lcd";
+			status = "disabled";
+		};
+
 		pwrcfg: power-config@40007000 {
 			compatible = "st,stm32-power-config", "syscon";
 			reg = <0x40007000 0x400>;
-- 
2.32.0


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

* [PATCH 2/6] ARM: dts: stm32: add pin map for LTDC on stm32f7
  2023-06-01 17:03 [PATCH 0/6] Add display support on the stm32f746-disco board Dario Binacchi
  2023-06-01 17:03 ` [PATCH 1/6] ARM: dts: stm32: add ltdc support on stm32f746 MCU Dario Binacchi
@ 2023-06-01 17:03 ` Dario Binacchi
  2023-06-01 17:03 ` [PATCH 3/6] ARM: dts: stm32: support display on stm32f746-disco board Dario Binacchi
  2023-06-01 17:03 ` [PATCH 4/6] dt-bindings: display: simple: add Rocktech RK043FN48H Dario Binacchi
  3 siblings, 0 replies; 6+ messages in thread
From: Dario Binacchi @ 2023-06-01 17:03 UTC (permalink / raw)
  To: linux-kernel
  Cc: Amarula patchwork, michael, Dario Binacchi, Alexandre Torgue,
	Conor Dooley, Krzysztof Kozlowski, Maxime Coquelin, Rob Herring,
	devicetree, linux-arm-kernel, linux-stm32

Add pin configurations for using LTDC (LCD-tft Display Controller) on
stm32f746-disco board.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---

 arch/arm/boot/dts/stm32f7-pinctrl.dtsi | 35 ++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/arch/arm/boot/dts/stm32f7-pinctrl.dtsi b/arch/arm/boot/dts/stm32f7-pinctrl.dtsi
index 9f65403295ca..f3f90b9bcd61 100644
--- a/arch/arm/boot/dts/stm32f7-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32f7-pinctrl.dtsi
@@ -365,6 +365,41 @@ pins2 {
 					bias-pull-up;
 				};
 			};
+
+
+			ltdc_pins_a: ltdc-pins-a-0 {
+				pins {
+					pinmux = <STM32_PINMUX('E', 4, AF14)>, /* LCD_B0 */
+						 <STM32_PINMUX('G',12, AF9)>,  /* LCD_B4 */
+						 <STM32_PINMUX('I', 9, AF14)>, /* LCD_VSYNC */
+						 <STM32_PINMUX('I',10, AF14)>, /* LCD_HSYNC */
+						 <STM32_PINMUX('I',14, AF14)>, /* LCD_CLK */
+						 <STM32_PINMUX('I',15, AF14)>, /* LCD_R0 */
+						 <STM32_PINMUX('J', 0, AF14)>, /* LCD_R1 */
+						 <STM32_PINMUX('J', 1, AF14)>, /* LCD_R2 */
+						 <STM32_PINMUX('J', 2, AF14)>, /* LCD_R3 */
+						 <STM32_PINMUX('J', 3, AF14)>, /* LCD_R4 */
+						 <STM32_PINMUX('J', 4, AF14)>, /* LCD_R5 */
+						 <STM32_PINMUX('J', 5, AF14)>, /* LCD_R6 */
+						 <STM32_PINMUX('J', 6, AF14)>, /* LCD_R7 */
+						 <STM32_PINMUX('J', 7, AF14)>, /* LCD_G0 */
+						 <STM32_PINMUX('J', 8, AF14)>, /* LCD_G1 */
+						 <STM32_PINMUX('J', 9, AF14)>, /* LCD_G2 */
+						 <STM32_PINMUX('J',10, AF14)>, /* LCD_G3 */
+						 <STM32_PINMUX('J',11, AF14)>, /* LCD_G4 */
+						 <STM32_PINMUX('J',13, AF14)>, /* LCD_B1 */
+						 <STM32_PINMUX('J',14, AF14)>, /* LCD_B2 */
+						 <STM32_PINMUX('J',15, AF14)>, /* LCD_B3 */
+						 <STM32_PINMUX('K', 0, AF14)>, /* LCD_G5 */
+						 <STM32_PINMUX('K', 1, AF14)>, /* LCD_G6 */
+						 <STM32_PINMUX('K', 2, AF14)>, /* LCD_G7 */
+						 <STM32_PINMUX('K', 4, AF14)>, /* LCD_B5 */
+						 <STM32_PINMUX('K', 5, AF14)>, /* LCD_B6 */
+						 <STM32_PINMUX('K', 6, AF14)>, /* LCD_B7 */
+						 <STM32_PINMUX('K', 7, AF14)>; /* LCD_DE */
+					slew-rate = <2>;
+				};
+			};
 		};
 	};
 };
-- 
2.32.0


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

* [PATCH 3/6] ARM: dts: stm32: support display on stm32f746-disco board
  2023-06-01 17:03 [PATCH 0/6] Add display support on the stm32f746-disco board Dario Binacchi
  2023-06-01 17:03 ` [PATCH 1/6] ARM: dts: stm32: add ltdc support on stm32f746 MCU Dario Binacchi
  2023-06-01 17:03 ` [PATCH 2/6] ARM: dts: stm32: add pin map for LTDC on stm32f7 Dario Binacchi
@ 2023-06-01 17:03 ` Dario Binacchi
  2023-06-01 17:03 ` [PATCH 4/6] dt-bindings: display: simple: add Rocktech RK043FN48H Dario Binacchi
  3 siblings, 0 replies; 6+ messages in thread
From: Dario Binacchi @ 2023-06-01 17:03 UTC (permalink / raw)
  To: linux-kernel
  Cc: Amarula patchwork, michael, Dario Binacchi, Alexandre Torgue,
	Conor Dooley, Krzysztof Kozlowski, Maxime Coquelin, Rob Herring,
	devicetree, linux-arm-kernel, linux-stm32

Add support to Rocktech RK043FN48H display on stm32f746-disco board.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---

 arch/arm/boot/dts/stm32f746-disco.dts | 51 +++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/arch/arm/boot/dts/stm32f746-disco.dts b/arch/arm/boot/dts/stm32f746-disco.dts
index c11616ed5fc6..cda423b6a874 100644
--- a/arch/arm/boot/dts/stm32f746-disco.dts
+++ b/arch/arm/boot/dts/stm32f746-disco.dts
@@ -60,10 +60,41 @@ memory@c0000000 {
 		reg = <0xC0000000 0x800000>;
 	};
 
+	reserved-memory {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		linux,cma {
+			compatible = "shared-dma-pool";
+			no-map;
+			size = <0x80000>;
+			linux,dma-default;
+		};
+	};
+
 	aliases {
 		serial0 = &usart1;
 	};
 
+	backlight: backlight {
+		compatible = "gpio-backlight";
+		gpios = <&gpiok 3 GPIO_ACTIVE_HIGH>;
+		status = "okay";
+	};
+
+	panel_rgb: panel-rgb {
+		compatible = "rocktech,rk043fn48h";
+		backlight = <&backlight>;
+		enable-gpios = <&gpioi 12 GPIO_ACTIVE_HIGH>;
+		status = "okay";
+		port {
+			panel_in_rgb: endpoint {
+				remote-endpoint = <&ltdc_out_rgb>;
+			};
+		};
+	};
+
 	usbotg_hs_phy: usb-phy {
 		#phy-cells = <0>;
 		compatible = "usb-nop-xceiv";
@@ -99,6 +130,26 @@ &i2c1 {
 	status = "okay";
 };
 
+&dma1 {
+	status = "okay";
+};
+
+&dma2 {
+	status = "okay";
+};
+
+&ltdc {
+	pinctrl-0 = <&ltdc_pins_a>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	port {
+		ltdc_out_rgb: endpoint {
+			remote-endpoint = <&panel_in_rgb>;
+		};
+	};
+};
+
 &sdio1 {
 	status = "okay";
 	vmmc-supply = <&mmc_vcard>;
-- 
2.32.0


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

* [PATCH 4/6] dt-bindings: display: simple: add Rocktech RK043FN48H
  2023-06-01 17:03 [PATCH 0/6] Add display support on the stm32f746-disco board Dario Binacchi
                   ` (2 preceding siblings ...)
  2023-06-01 17:03 ` [PATCH 3/6] ARM: dts: stm32: support display on stm32f746-disco board Dario Binacchi
@ 2023-06-01 17:03 ` Dario Binacchi
  2023-06-01 18:15   ` Conor Dooley
  3 siblings, 1 reply; 6+ messages in thread
From: Dario Binacchi @ 2023-06-01 17:03 UTC (permalink / raw)
  To: linux-kernel
  Cc: Amarula patchwork, michael, Dario Binacchi, Conor Dooley,
	Daniel Vetter, David Airlie, Krzysztof Kozlowski, Neil Armstrong,
	Rob Herring, Sam Ravnborg, Thierry Reding, devicetree, dri-devel

Add compatible to panel-simple for Rocktech Displays Limited
RK043FN48H 4.3" 480x272 LCD-TFT panel.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---

 .../devicetree/bindings/display/panel/panel-simple.yaml         | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
index 01560fe226dd..bd6a92d2b41c 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
@@ -280,6 +280,8 @@ properties:
       - rocktech,rk101ii01d-ct
         # Rocktech Display Ltd. RK070ER9427 800(RGB)x480 TFT LCD panel
       - rocktech,rk070er9427
+        # Rocktech Display Ltd. RK043FN48H 4.3" 480x272 LCD-TFT panel
+      - rocktech,rk043fn48h
         # Samsung 13.3" FHD (1920x1080 pixels) eDP AMOLED panel
       - samsung,atna33xc20
         # Samsung 12.2" (2560x1600 pixels) TFT LCD panel
-- 
2.32.0


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

* Re: [PATCH 4/6] dt-bindings: display: simple: add Rocktech RK043FN48H
  2023-06-01 17:03 ` [PATCH 4/6] dt-bindings: display: simple: add Rocktech RK043FN48H Dario Binacchi
@ 2023-06-01 18:15   ` Conor Dooley
  0 siblings, 0 replies; 6+ messages in thread
From: Conor Dooley @ 2023-06-01 18:15 UTC (permalink / raw)
  To: Dario Binacchi
  Cc: linux-kernel, Amarula patchwork, michael, Conor Dooley,
	Daniel Vetter, David Airlie, Krzysztof Kozlowski, Neil Armstrong,
	Rob Herring, Sam Ravnborg, Thierry Reding, devicetree, dri-devel

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

On Thu, Jun 01, 2023 at 07:03:18PM +0200, Dario Binacchi wrote:
> Add compatible to panel-simple for Rocktech Displays Limited
> RK043FN48H 4.3" 480x272 LCD-TFT panel.
> 
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> ---
> 
>  .../devicetree/bindings/display/panel/panel-simple.yaml         | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> index 01560fe226dd..bd6a92d2b41c 100644
> --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> @@ -280,6 +280,8 @@ properties:
>        - rocktech,rk101ii01d-ct
>          # Rocktech Display Ltd. RK070ER9427 800(RGB)x480 TFT LCD panel
>        - rocktech,rk070er9427
> +        # Rocktech Display Ltd. RK043FN48H 4.3" 480x272 LCD-TFT panel
> +      - rocktech,rk043fn48h

I was going to ask why not alphanumerically, but clearly things are not
in that order to begin with ¯\_(ツ)_/¯
Acked-by: Conor Dooley <conor.dooley@microchip.com>

Cheers,
Conor.

>          # Samsung 13.3" FHD (1920x1080 pixels) eDP AMOLED panel
>        - samsung,atna33xc20
>          # Samsung 12.2" (2560x1600 pixels) TFT LCD panel
> -- 
> 2.32.0
> 

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

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

end of thread, other threads:[~2023-06-01 18:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-01 17:03 [PATCH 0/6] Add display support on the stm32f746-disco board Dario Binacchi
2023-06-01 17:03 ` [PATCH 1/6] ARM: dts: stm32: add ltdc support on stm32f746 MCU Dario Binacchi
2023-06-01 17:03 ` [PATCH 2/6] ARM: dts: stm32: add pin map for LTDC on stm32f7 Dario Binacchi
2023-06-01 17:03 ` [PATCH 3/6] ARM: dts: stm32: support display on stm32f746-disco board Dario Binacchi
2023-06-01 17:03 ` [PATCH 4/6] dt-bindings: display: simple: add Rocktech RK043FN48H Dario Binacchi
2023-06-01 18:15   ` Conor Dooley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox