2024-01-11 11:32:00

by Dario Binacchi

[permalink] [raw]
Subject: [PATCH v7 0/5] Add display support for stm32f769-disco board

The series adds display support for the stm32f769-disco board. It has been
tested on hardware revisions MB1225-B03 and MB1166-A09. This required
modifications to the nt35510 driver that have already been applied.

Changes in v7:
- Replace .dts with .dtb in the Makefile

Changes in v6:
- Drop patches
- [5/8] dt-bindings: nt35510: add compatible for FRIDA FRD400B25025-A-CTK
- [7/8] drm/panel: nt35510: move hardwired parameters to configuration
- [8/8] drm/panel: nt35510: support FRIDA FRD400B25025-A-CTK
because applied by the maintainer Linus Walleij

Changes in v5:
- Replace GPIOD_ASIS with GPIOD_OUT_HIGH in the call to devm_gpiod_get_optional().

Changes in v2:
- Add Acked-by tag of Conor Dooley
- Change the status of panel_backlight node to "disabled"
- Delete backlight property from panel0 node.
- Re-write the patch [8/8] "drm/panel: nt35510: support FRIDA FRD400B25025-A-CTK"
in the same style as the original driver.

Dario Binacchi (5):
dt-bindings: mfd: stm32f7: Add binding definition for DSI
ARM: dts: stm32: add DSI support on stm32f769
ARM: dts: stm32: rename mmc_vcard to vcc-3v3 on stm32f769-disco
ARM: dts: stm32: add display support on stm32f769-disco
ARM: dts: add stm32f769-disco-mb1225-revb03-mb1166-reva09

arch/arm/boot/dts/st/Makefile | 1 +
...f769-disco-mb1225-revb03-mb1166-reva09.dts | 18 +++++
arch/arm/boot/dts/st/stm32f769-disco.dts | 78 ++++++++++++++++++-
arch/arm/boot/dts/st/stm32f769.dtsi | 21 +++++
include/dt-bindings/mfd/stm32f7-rcc.h | 1 +
5 files changed, 115 insertions(+), 4 deletions(-)
create mode 100644 arch/arm/boot/dts/st/stm32f769-disco-mb1225-revb03-mb1166-reva09.dts
create mode 100644 arch/arm/boot/dts/st/stm32f769.dtsi

--
2.43.0



2024-01-11 11:32:23

by Dario Binacchi

[permalink] [raw]
Subject: [PATCH v7 2/5] ARM: dts: stm32: add DSI support on stm32f769

Add support for MIPI DSI Host controller. Since MIPI DSI is not
available on stm32f746, the patch adds the "stm32f769.dtsi" file
containing the dsi node inside.

Signed-off-by: Dario Binacchi <[email protected]>
---

(no changes since v1)

arch/arm/boot/dts/st/stm32f769.dtsi | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 arch/arm/boot/dts/st/stm32f769.dtsi

diff --git a/arch/arm/boot/dts/st/stm32f769.dtsi b/arch/arm/boot/dts/st/stm32f769.dtsi
new file mode 100644
index 000000000000..e09184f7079c
--- /dev/null
+++ b/arch/arm/boot/dts/st/stm32f769.dtsi
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2023 Dario Binacchi <[email protected]>
+ */
+
+#include "stm32f746.dtsi"
+
+/ {
+ soc {
+ dsi: dsi@40016c00 {
+ compatible = "st,stm32-dsi";
+ reg = <0x40016c00 0x800>;
+ interrupts = <98>;
+ clocks = <&rcc 1 CLK_F769_DSI>, <&clk_hse>;
+ clock-names = "pclk", "ref";
+ resets = <&rcc STM32F7_APB2_RESET(DSI)>;
+ reset-names = "apb";
+ status = "disabled";
+ };
+ };
+};
--
2.43.0


2024-01-11 11:32:38

by Dario Binacchi

[permalink] [raw]
Subject: [PATCH v7 3/5] ARM: dts: stm32: rename mmc_vcard to vcc-3v3 on stm32f769-disco

In the schematics of document UM2033, the power supply for the micro SD
card is the same 3v3 voltage that is used to power other devices on the
board. By generalizing the name of the voltage regulator, it can be
referenced by other nodes in the device tree without creating
misunderstandings.

This patch is preparatory for future developments.

Signed-off-by: Dario Binacchi <[email protected]>
---

(no changes since v1)

arch/arm/boot/dts/st/stm32f769-disco.dts | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/st/stm32f769-disco.dts b/arch/arm/boot/dts/st/stm32f769-disco.dts
index 5d12ae25b327..8632bd866272 100644
--- a/arch/arm/boot/dts/st/stm32f769-disco.dts
+++ b/arch/arm/boot/dts/st/stm32f769-disco.dts
@@ -92,9 +92,9 @@ usbotg_hs_phy: usb-phy {
clock-names = "main_clk";
};

- mmc_vcard: mmc_vcard {
+ vcc_3v3: vcc_3v3 {
compatible = "regulator-fixed";
- regulator-name = "mmc_vcard";
+ regulator-name = "vcc_3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
@@ -128,7 +128,7 @@ &rtc {

&sdio2 {
status = "okay";
- vmmc-supply = <&mmc_vcard>;
+ vmmc-supply = <&vcc_3v3>;
cd-gpios = <&gpioi 15 GPIO_ACTIVE_LOW>;
broken-cd;
pinctrl-names = "default", "opendrain", "sleep";
--
2.43.0


2024-01-11 11:32:51

by Dario Binacchi

[permalink] [raw]
Subject: [PATCH v7 4/5] ARM: dts: stm32: add display support on stm32f769-disco

The patch adds display support on the stm32f769-disco board.

Signed-off-by: Dario Binacchi <[email protected]>
---

(no changes since v1)

arch/arm/boot/dts/st/stm32f769-disco.dts | 72 +++++++++++++++++++++++-
1 file changed, 71 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/st/stm32f769-disco.dts b/arch/arm/boot/dts/st/stm32f769-disco.dts
index 8632bd866272..d1eb5f9c78bf 100644
--- a/arch/arm/boot/dts/st/stm32f769-disco.dts
+++ b/arch/arm/boot/dts/st/stm32f769-disco.dts
@@ -41,7 +41,7 @@
*/

/dts-v1/;
-#include "stm32f746.dtsi"
+#include "stm32f769.dtsi"
#include "stm32f769-pinctrl.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
@@ -60,6 +60,19 @@ memory@c0000000 {
reg = <0xC0000000 0x1000000>;
};

+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ linux,dma {
+ compatible = "shared-dma-pool";
+ linux,dma-default;
+ no-map;
+ size = <0x100000>;
+ };
+ };
+
aliases {
serial0 = &usart1;
};
@@ -85,6 +98,13 @@ button-0 {
};
};

+ panel_backlight: panel-backlight {
+ compatible = "gpio-backlight";
+ gpios = <&gpioi 14 GPIO_ACTIVE_HIGH>;
+ default-on;
+ status = "okay";
+ };
+
usbotg_hs_phy: usb-phy {
#phy-cells = <0>;
compatible = "usb-nop-xceiv";
@@ -114,6 +134,46 @@ &clk_hse {
clock-frequency = <25000000>;
};

+&dsi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ dsi_in: endpoint {
+ remote-endpoint = <&ltdc_out_dsi>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ dsi_out: endpoint {
+ remote-endpoint = <&dsi_panel_in>;
+ };
+ };
+ };
+
+ panel0: panel-dsi@0 {
+ compatible = "orisetech,otm8009a";
+ reg = <0>; /* dsi virtual channel (0..3) */
+ reset-gpios = <&gpioj 15 GPIO_ACTIVE_LOW>;
+ power-supply = <&vcc_3v3>;
+ backlight = <&panel_backlight>;
+ status = "okay";
+
+ port {
+ dsi_panel_in: endpoint {
+ remote-endpoint = <&dsi_out>;
+ };
+ };
+ };
+};
+
&i2c1 {
pinctrl-0 = <&i2c1_pins_b>;
pinctrl-names = "default";
@@ -122,6 +182,16 @@ &i2c1 {
status = "okay";
};

+&ltdc {
+ status = "okay";
+
+ port {
+ ltdc_out_dsi: endpoint@0 {
+ remote-endpoint = <&dsi_in>;
+ };
+ };
+};
+
&rtc {
status = "okay";
};
--
2.43.0


2024-01-11 11:36:33

by Dario Binacchi

[permalink] [raw]
Subject: [PATCH v7 1/5] dt-bindings: mfd: stm32f7: Add binding definition for DSI

Add binding definition for MIPI DSI Host controller.

Signed-off-by: Dario Binacchi <[email protected]>
Acked-by: Conor Dooley <[email protected]>

---

(no changes since v2)

Changes in v2:
- Add Acked-by tag of Conor Dooley

include/dt-bindings/mfd/stm32f7-rcc.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/include/dt-bindings/mfd/stm32f7-rcc.h b/include/dt-bindings/mfd/stm32f7-rcc.h
index 8d73a9c51e2b..a4e4f9271395 100644
--- a/include/dt-bindings/mfd/stm32f7-rcc.h
+++ b/include/dt-bindings/mfd/stm32f7-rcc.h
@@ -108,6 +108,7 @@
#define STM32F7_RCC_APB2_SAI1 22
#define STM32F7_RCC_APB2_SAI2 23
#define STM32F7_RCC_APB2_LTDC 26
+#define STM32F7_RCC_APB2_DSI 27

#define STM32F7_APB2_RESET(bit) (STM32F7_RCC_APB2_##bit + (0x24 * 8))
#define STM32F7_APB2_CLOCK(bit) (STM32F7_RCC_APB2_##bit + 0xA0)
--
2.43.0


2024-01-11 11:38:21

by Dario Binacchi

[permalink] [raw]
Subject: [PATCH v7 5/5] ARM: dts: add stm32f769-disco-mb1225-revb03-mb1166-reva09

As reported in the section 8.3 (i. e. Board revision history) of document
UM2033 (i. e. Discovery kit with STM32F769NI MCU) these are the changes
related to the board revisions addressed by the patch:
- Board MB1225 revision B-03:
- Memory MICRON MT48LC4M32B2B5-6A replaced by ISSI IS42S32400F-6BL
- Board MB1166 revision A-09:
- LCD FRIDA FRD397B25009-D-CTK replaced by FRIDA FRD400B25025-A-CTK

The patch only adds the DTS support for the new display which belongs to
to the Novatek NT35510-based panel family.

Signed-off-by: Dario Binacchi <[email protected]>

---

Changes in v7:
- Replace .dts with .dtb in the Makefile

Changes in v6:
- Drop patches
- [5/8] dt-bindings: nt35510: add compatible for FRIDA FRD400B25025-A-CTK
- [7/8] drm/panel: nt35510: move hardwired parameters to configuration
- [8/8] drm/panel: nt35510: support FRIDA FRD400B25025-A-CTK
because applied by the maintainer Linus Walleij

Changes in v5:
- Replace GPIOD_ASIS with GPIOD_OUT_HIGH in the call to devm_gpiod_get_optional().

Changes in v2:
- Change the status of panel_backlight node to "disabled"
- Delete backlight property from panel0 node.
- Re-write the patch [8/8] "drm/panel: nt35510: support FRIDA FRD400B25025-A-CTK"
in the same style as the original driver.

arch/arm/boot/dts/st/Makefile | 1 +
...2f769-disco-mb1225-revb03-mb1166-reva09.dts | 18 ++++++++++++++++++
2 files changed, 19 insertions(+)
create mode 100644 arch/arm/boot/dts/st/stm32f769-disco-mb1225-revb03-mb1166-reva09.dts

diff --git a/arch/arm/boot/dts/st/Makefile b/arch/arm/boot/dts/st/Makefile
index 7892ad69b441..aa5b50d7ac61 100644
--- a/arch/arm/boot/dts/st/Makefile
+++ b/arch/arm/boot/dts/st/Makefile
@@ -23,6 +23,7 @@ dtb-$(CONFIG_ARCH_STM32) += \
stm32f469-disco.dtb \
stm32f746-disco.dtb \
stm32f769-disco.dtb \
+ stm32f769-disco-mb1225-revb03-mb1166-reva09.dtb \
stm32429i-eval.dtb \
stm32746g-eval.dtb \
stm32h743i-eval.dtb \
diff --git a/arch/arm/boot/dts/st/stm32f769-disco-mb1225-revb03-mb1166-reva09.dts b/arch/arm/boot/dts/st/stm32f769-disco-mb1225-revb03-mb1166-reva09.dts
new file mode 100644
index 000000000000..014cac192375
--- /dev/null
+++ b/arch/arm/boot/dts/st/stm32f769-disco-mb1225-revb03-mb1166-reva09.dts
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2023 Dario Binacchi <[email protected]>
+ */
+
+#include "stm32f769-disco.dts"
+
+&panel_backlight {
+ status = "disabled";
+};
+
+&panel0 {
+ compatible = "frida,frd400b25025", "novatek,nt35510";
+ vddi-supply = <&vcc_3v3>;
+ vdd-supply = <&vcc_3v3>;
+ /delete-property/backlight;
+ /delete-property/power-supply;
+};
--
2.43.0


2024-01-11 11:40:37

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v7 1/5] dt-bindings: mfd: stm32f7: Add binding definition for DSI

On Thu, 11 Jan 2024, Dario Binacchi wrote:

> Add binding definition for MIPI DSI Host controller.
>
> Signed-off-by: Dario Binacchi <[email protected]>
> Acked-by: Conor Dooley <[email protected]>
>
> ---
>
> (no changes since v2)
>
> Changes in v2:
> - Add Acked-by tag of Conor Dooley
>
> include/dt-bindings/mfd/stm32f7-rcc.h | 1 +
> 1 file changed, 1 insertion(+)

Acked-by: Lee Jones <[email protected]>

> diff --git a/include/dt-bindings/mfd/stm32f7-rcc.h b/include/dt-bindings/mfd/stm32f7-rcc.h
> index 8d73a9c51e2b..a4e4f9271395 100644
> --- a/include/dt-bindings/mfd/stm32f7-rcc.h
> +++ b/include/dt-bindings/mfd/stm32f7-rcc.h
> @@ -108,6 +108,7 @@
> #define STM32F7_RCC_APB2_SAI1 22
> #define STM32F7_RCC_APB2_SAI2 23
> #define STM32F7_RCC_APB2_LTDC 26
> +#define STM32F7_RCC_APB2_DSI 27
>
> #define STM32F7_APB2_RESET(bit) (STM32F7_RCC_APB2_##bit + (0x24 * 8))
> #define STM32F7_APB2_CLOCK(bit) (STM32F7_RCC_APB2_##bit + 0xA0)
> --
> 2.43.0
>

--
Lee Jones [李琼斯]

2024-01-11 14:26:49

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH v7 5/5] ARM: dts: add stm32f769-disco-mb1225-revb03-mb1166-reva09

On Thu, Jan 11, 2024 at 12:31 PM Dario Binacchi
<[email protected]> wrote:

> As reported in the section 8.3 (i. e. Board revision history) of document
> UM2033 (i. e. Discovery kit with STM32F769NI MCU) these are the changes
> related to the board revisions addressed by the patch:
> - Board MB1225 revision B-03:
> - Memory MICRON MT48LC4M32B2B5-6A replaced by ISSI IS42S32400F-6BL
> - Board MB1166 revision A-09:
> - LCD FRIDA FRD397B25009-D-CTK replaced by FRIDA FRD400B25025-A-CTK
>
> The patch only adds the DTS support for the new display which belongs to
> to the Novatek NT35510-based panel family.
>
> Signed-off-by: Dario Binacchi <[email protected]>

Looks good to me!
Reviewed-by: Linus Walleij <[email protected]>

Yours,
Linus Walleij

2024-01-11 14:28:50

by Raphael Gallais-Pou

[permalink] [raw]
Subject: Re: [PATCH v7 5/5] ARM: dts: add stm32f769-disco-mb1225-revb03-mb1166-reva09


On 1/11/24 12:31, Dario Binacchi wrote:
> As reported in the section 8.3 (i. e. Board revision history) of document
> UM2033 (i. e. Discovery kit with STM32F769NI MCU) these are the changes
> related to the board revisions addressed by the patch:
> - Board MB1225 revision B-03:
> - Memory MICRON MT48LC4M32B2B5-6A replaced by ISSI IS42S32400F-6BL
> - Board MB1166 revision A-09:
> - LCD FRIDA FRD397B25009-D-CTK replaced by FRIDA FRD400B25025-A-CTK
>
> The patch only adds the DTS support for the new display which belongs to
> to the Novatek NT35510-based panel family.
>
> Signed-off-by: Dario Binacchi <[email protected]>
>
Hi Dario,


Reviewed-by: Raphael Gallais-Pou <[email protected]>


Regards,

Raphaël


2024-01-11 14:56:19

by Raphael Gallais-Pou

[permalink] [raw]
Subject: Re: [PATCH v7 3/5] ARM: dts: stm32: rename mmc_vcard to vcc-3v3 on stm32f769-disco


On 1/11/24 12:31, Dario Binacchi wrote:
> In the schematics of document UM2033, the power supply for the micro SD
> card is the same 3v3 voltage that is used to power other devices on the
> board. By generalizing the name of the voltage regulator, it can be
> referenced by other nodes in the device tree without creating
> misunderstandings.
>
> This patch is preparatory for future developments.
>
> Signed-off-by: Dario Binacchi <[email protected]>

Hi Dario,


Reviewed-by: Raphael Gallais-Pou <[email protected]>


Regards,

Raphaël


2024-01-12 12:55:46

by Raphael Gallais-Pou

[permalink] [raw]
Subject: Re: [PATCH v7 1/5] dt-bindings: mfd: stm32f7: Add binding definition for DSI


On 1/11/24 12:31, Dario Binacchi wrote:
> Add binding definition for MIPI DSI Host controller.
>
> Signed-off-by: Dario Binacchi <[email protected]>
> Acked-by: Conor Dooley <[email protected]>
>
> ---

Hi,

Reviewed-by: Raphael Gallais-Pou <[email protected]>

Regards,

Raphaël