* [PATCH v6 0/6] Add display support for the MT8365-EVK board
@ 2025-01-09 10:37 amergnat
2025-01-09 10:37 ` [PATCH v6 1/6] dt-bindings: display: mediatek: dpi: add power-domains example amergnat
` (6 more replies)
0 siblings, 7 replies; 15+ messages in thread
From: amergnat @ 2025-01-09 10:37 UTC (permalink / raw)
To: Chun-Kuang Hu, Philipp Zabel, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno,
Jitao Shi, CK Hu, Catalin Marinas, Will Deacon, Simona Vetter,
Simona Vetter
Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
linux-arm-kernel, Alexandre Mergnat, Fabien Parent
The purpose of this series is to add the display support for the mt8365-evk.
This is the list of HWs / IPs support added:
- Connectors (HW):
- HDMI
- MIPI DSI (Mobile Industry Processor Interface Display Serial Interface)
- HDMI bridge (it66121)
- DSI pannel (startek,kd070fhfid015)
- SoC display blocks (IP):
- OVL0 (Overlay)
- RDMA0 (Data Path Read DMA)
- Color0
- CCorr0 (Color Correction)
- AAL0 (Adaptive Ambient Light)
- GAMMA0
- Dither0
- DSI0 (Display Serial Interface)
- RDMA1 (Data Path Read DMA)
- DPI0 (Display Parallel Interface)
The Mediatek DSI, DPI and DRM drivers are also improved.
The series is rebased on top of Angelo's series [1] to
use the OF graphs support.
Regards,
Alex
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
Changes in v6:
- Fix DPI binding: remove the duplicated property (power-domains).
- Squash defconfig commit.
- Fix the property order in the DTS.
- Link to v5: https://lore.kernel.org/r/20231023-display-support-v5-0-3905f1e4b835@baylibre.com
Changes in v5:
- Patch merged, then removed from the series:
- dt-bindings: display: mediatek: rdma: add compatible for MT8365 SoC
- dt-bindings: display: mediatek: ovl: add compatible for MT8365 SoC
- dt-bindings: display: mediatek: gamma: add compatible for MT8365 SoC
- dt-bindings: display: mediatek: dpi: add compatible for MT8365
- dt-bindings: display: mediatek: dsi: add compatible for MT8365 SoC
- dt-bindings: display: mediatek: dither: add compatible for MT8365 SoC
- dt-bindings: display: mediatek: color: add compatible for MT8365 SoC
- dt-bindings: display: mediatek: ccorr: add compatible for MT8365 SoC
- dt-bindings: display: mediatek: aal: add compatible for MT8365 SoC
- Enable STARTEK KD070FHFID015 panel in the defconfig.
- Rebase on top of 6.13-rc6.
- Link to v4: https://lore.kernel.org/all/20231023-display-support-v4-0-ed82eb168fb1@baylibre.com
Changes in v4:
- Patch merged, then removed from the series:
- dt-bindings: display: mediatek: dpi: add power-domains property
- dt-bindings: pwm: mediatek,pwm-disp: add compatible for mt8365 SoC
- clk: mediatek: mt8365-mm: fix DPI0 parent
- Remove mediatek,mt8365-dpi compatible from mtk_drm_drv.c because it
use the mt8192's data. It's a miss.
- Add MT8365 OF graphs support, remove the hardcoded display path and
rebase on top of Angelo's series [1].
- Link to v3: https://lore.kernel.org/r/20231023-display-support-v3-0-53388f3ed34b@baylibre.com
Changes in v3:
- Drop "drm/mediatek: add mt8365 dpi support" because it's the same
config as mt8192 SoC
- Drop "dt-bindings: pwm: mediatek,pwm-disp: add power-domains property"
because an equivalent patch has been merge already.
- Add DPI clock fix in a separate commit.
- Improve DTS(I) readability.
- Link to v2: https://lore.kernel.org/r/20231023-display-support-v2-0-33ce8864b227@baylibre.com
Changes in v2:
- s/binding/compatible/ in commit messages/titles.
- Improve commit messages as Conor suggest.
- pwm-disp: Set power domain property for MT8365. This one is optionnal
and can be used for other SoC.
- Fix mediatek,dsi.yaml issue.
- Remove the extra clock in the DPI node/driver and fix the dpi clock
parenting to be consistent with the DPI clock assignement.
- Link to v1: https://lore.kernel.org/r/20231023-display-support-v1-0-5c860ed5c33b@baylibre.com
[1] https://lore.kernel.org/lkml/20240516081104.83458-1-angelogioacchino.delregno@collabora.com/
---
Alexandre Mergnat (4):
drm/mediatek: dsi: Improves the DSI lane setup robustness
arm64: defconfig: enable display support for mt8365-evk
arm64: dts: mediatek: add display blocks support for the MT8365 SoC
arm64: dts: mediatek: add display support for mt8365-evk
Fabien Parent (2):
dt-bindings: display: mediatek: dpi: add power-domains example
drm/mediatek: add MT8365 SoC support
.../bindings/display/mediatek/mediatek,dpi.yaml | 2 +
arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 236 +++++++++++++++
arch/arm64/boot/dts/mediatek/mt8365.dtsi | 336 +++++++++++++++++++++
arch/arm64/configs/defconfig | 2 +
drivers/gpu/drm/mediatek/mtk_drm_drv.c | 8 +
drivers/gpu/drm/mediatek/mtk_dsi.c | 2 +
6 files changed, 586 insertions(+)
---
base-commit: 9d89551994a430b50c4fffcb1e617a057fa76e20
change-id: 20231023-display-support-c6418b30e419
Best regards,
--
Alexandre Mergnat <amergnat@baylibre.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v6 1/6] dt-bindings: display: mediatek: dpi: add power-domains example
2025-01-09 10:37 [PATCH v6 0/6] Add display support for the MT8365-EVK board amergnat
@ 2025-01-09 10:37 ` amergnat
2025-01-09 10:37 ` [PATCH v6 2/6] drm/mediatek: dsi: Improves the DSI lane setup robustness Alexandre Mergnat
` (5 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: amergnat @ 2025-01-09 10:37 UTC (permalink / raw)
To: Chun-Kuang Hu, Philipp Zabel, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno,
Jitao Shi, CK Hu, Catalin Marinas, Will Deacon, Simona Vetter,
Simona Vetter
Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
linux-arm-kernel, Alexandre Mergnat, Fabien Parent
From: Fabien Parent <fparent@baylibre.com>
DPI is part of the display / multimedia block in MediaTek SoCs, and
always have a power-domain (at least in the upstream device-trees).
Add the power-domains property to the binding example.
Fixes: 9273cf7d3942 ("dt-bindings: display: mediatek: convert the dpi bindings to yaml")
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: CK Hu <ck.hu@mediatek.com>
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
index 0f1e556dc8ef..d5ee52ea479b 100644
--- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
@@ -116,11 +116,13 @@ examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/mt8173-clk.h>
+ #include <dt-bindings/power/mt8173-power.h>
dpi: dpi@1401d000 {
compatible = "mediatek,mt8173-dpi";
reg = <0x1401d000 0x1000>;
interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8173_POWER_DOMAIN_MM>;
clocks = <&mmsys CLK_MM_DPI_PIXEL>,
<&mmsys CLK_MM_DPI_ENGINE>,
<&apmixedsys CLK_APMIXED_TVDPLL>;
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v6 2/6] drm/mediatek: dsi: Improves the DSI lane setup robustness
2025-01-09 10:37 [PATCH v6 0/6] Add display support for the MT8365-EVK board amergnat
2025-01-09 10:37 ` [PATCH v6 1/6] dt-bindings: display: mediatek: dpi: add power-domains example amergnat
@ 2025-01-09 10:37 ` Alexandre Mergnat
2025-01-09 10:37 ` [PATCH v6 3/6] drm/mediatek: add MT8365 SoC support amergnat
` (4 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: Alexandre Mergnat @ 2025-01-09 10:37 UTC (permalink / raw)
To: Chun-Kuang Hu, Philipp Zabel, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno,
Jitao Shi, CK Hu, Catalin Marinas, Will Deacon, Simona Vetter,
Simona Vetter
Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
linux-arm-kernel, Alexandre Mergnat
Currently, mtk_dsi_lane_ready (which setup the DSI lane) is triggered
before mtk_dsi_poweron. lanes_ready flag toggle to true during
mtk_dsi_lane_ready function, and the DSI module is set up during
mtk_dsi_poweron.
Later, during panel driver init, mtk_dsi_lane_ready is triggered but does
nothing because lanes are considered ready. Unfortunately, when the panel
driver try to communicate, the DSI returns a timeout.
The solution found here is to put lanes_ready flag to false after the DSI
module setup into mtk_dsi_poweron to init the DSI lanes after the power /
setup of the DSI module.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
drivers/gpu/drm/mediatek/mtk_dsi.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
index e61b9bc68e9a..dcf0d93881b5 100644
--- a/drivers/gpu/drm/mediatek/mtk_dsi.c
+++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
@@ -724,6 +724,8 @@ static int mtk_dsi_poweron(struct mtk_dsi *dsi)
mtk_dsi_config_vdo_timing(dsi);
mtk_dsi_set_interrupt_enable(dsi);
+ dsi->lanes_ready = false;
+
return 0;
err_disable_engine_clk:
clk_disable_unprepare(dsi->engine_clk);
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v6 3/6] drm/mediatek: add MT8365 SoC support
2025-01-09 10:37 [PATCH v6 0/6] Add display support for the MT8365-EVK board amergnat
2025-01-09 10:37 ` [PATCH v6 1/6] dt-bindings: display: mediatek: dpi: add power-domains example amergnat
2025-01-09 10:37 ` [PATCH v6 2/6] drm/mediatek: dsi: Improves the DSI lane setup robustness Alexandre Mergnat
@ 2025-01-09 10:37 ` amergnat
2025-01-09 10:37 ` [PATCH v6 4/6] arm64: defconfig: enable display support for mt8365-evk Alexandre Mergnat
` (3 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: amergnat @ 2025-01-09 10:37 UTC (permalink / raw)
To: Chun-Kuang Hu, Philipp Zabel, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno,
Jitao Shi, CK Hu, Catalin Marinas, Will Deacon, Simona Vetter,
Simona Vetter
Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
linux-arm-kernel, Alexandre Mergnat, Fabien Parent
From: Fabien Parent <fparent@baylibre.com>
Add DRM support for MT8365 SoC.
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
drivers/gpu/drm/mediatek/mtk_drm_drv.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index 0829ceb9967c..5471ef744cc1 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -328,6 +328,10 @@ static const struct mtk_mmsys_driver_data mt8195_vdosys1_driver_data = {
.min_height = 1,
};
+static const struct mtk_mmsys_driver_data mt8365_mmsys_driver_data = {
+ .mmsys_dev_num = 1,
+};
+
static const struct of_device_id mtk_drm_of_ids[] = {
{ .compatible = "mediatek,mt2701-mmsys",
.data = &mt2701_mmsys_driver_data},
@@ -355,6 +359,8 @@ static const struct of_device_id mtk_drm_of_ids[] = {
.data = &mt8195_vdosys0_driver_data},
{ .compatible = "mediatek,mt8195-vdosys1",
.data = &mt8195_vdosys1_driver_data},
+ { .compatible = "mediatek,mt8365-mmsys",
+ .data = &mt8365_mmsys_driver_data},
{ }
};
MODULE_DEVICE_TABLE(of, mtk_drm_of_ids);
@@ -751,6 +757,8 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = {
.data = (void *)MTK_DISP_MUTEX },
{ .compatible = "mediatek,mt8195-disp-mutex",
.data = (void *)MTK_DISP_MUTEX },
+ { .compatible = "mediatek,mt8365-disp-mutex",
+ .data = (void *)MTK_DISP_MUTEX },
{ .compatible = "mediatek,mt8173-disp-od",
.data = (void *)MTK_DISP_OD },
{ .compatible = "mediatek,mt2701-disp-ovl",
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v6 4/6] arm64: defconfig: enable display support for mt8365-evk
2025-01-09 10:37 [PATCH v6 0/6] Add display support for the MT8365-EVK board amergnat
` (2 preceding siblings ...)
2025-01-09 10:37 ` [PATCH v6 3/6] drm/mediatek: add MT8365 SoC support amergnat
@ 2025-01-09 10:37 ` Alexandre Mergnat
2025-01-09 11:06 ` AngeloGioacchino Del Regno
2025-01-10 7:38 ` Krzysztof Kozlowski
2025-01-09 10:37 ` [PATCH v6 5/6] arm64: dts: mediatek: add display blocks support for the MT8365 SoC Alexandre Mergnat
` (2 subsequent siblings)
6 siblings, 2 replies; 15+ messages in thread
From: Alexandre Mergnat @ 2025-01-09 10:37 UTC (permalink / raw)
To: Chun-Kuang Hu, Philipp Zabel, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno,
Jitao Shi, CK Hu, Catalin Marinas, Will Deacon, Simona Vetter,
Simona Vetter
Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
linux-arm-kernel, Alexandre Mergnat
Enable the DRM HDMI connector support.
Enable the MIPI-DSI display Startek KD070FHFID015 panel.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
arch/arm64/configs/defconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index c62831e61586..1e2963a13500 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -897,9 +897,11 @@ CONFIG_DRM_PANEL_NOVATEK_NT36672E=m
CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20=m
CONFIG_DRM_PANEL_SITRONIX_ST7703=m
+CONFIG_DRM_PANEL_STARTEK_KD070FHFID015=m
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
CONFIG_DRM_PANEL_VISIONOX_VTDR6130=m
CONFIG_DRM_FSL_LDB=m
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_LONTIUM_LT8912B=m
CONFIG_DRM_LONTIUM_LT9611=m
CONFIG_DRM_LONTIUM_LT9611UXC=m
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v6 5/6] arm64: dts: mediatek: add display blocks support for the MT8365 SoC
2025-01-09 10:37 [PATCH v6 0/6] Add display support for the MT8365-EVK board amergnat
` (3 preceding siblings ...)
2025-01-09 10:37 ` [PATCH v6 4/6] arm64: defconfig: enable display support for mt8365-evk Alexandre Mergnat
@ 2025-01-09 10:37 ` Alexandre Mergnat
2025-01-09 11:06 ` AngeloGioacchino Del Regno
2025-01-09 10:37 ` [PATCH v6 6/6] arm64: dts: mediatek: add display support for mt8365-evk Alexandre Mergnat
2025-01-09 14:40 ` [PATCH v6 0/6] Add display support for the MT8365-EVK board Rob Herring (Arm)
6 siblings, 1 reply; 15+ messages in thread
From: Alexandre Mergnat @ 2025-01-09 10:37 UTC (permalink / raw)
To: Chun-Kuang Hu, Philipp Zabel, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno,
Jitao Shi, CK Hu, Catalin Marinas, Will Deacon, Simona Vetter,
Simona Vetter
Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
linux-arm-kernel, Alexandre Mergnat
- Add aliases for each display components to help display drivers.
- Add the Display Pulse Width Modulation (DISP_PWM) to provide PWM signals
for the LED driver of mobile LCM.
- Add the MIPI Display Serial Interface (DSI) PHY support. (up to 4-lane
output)
- Add the display mutex support.
- Add the following display component support:
- OVL0 (Overlay)
- RDMA0 (Data Path Read DMA)
- Color0
- CCorr0 (Color Correction)
- AAL0 (Adaptive Ambient Light)
- GAMMA0
- Dither0
- DSI0 (Display Serial Interface)
- RDMA1 (Data Path Read DMA)
- DPI0 (Display Parallel Interface)
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
arch/arm64/boot/dts/mediatek/mt8365.dtsi | 336 +++++++++++++++++++++++++++++++
1 file changed, 336 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8365.dtsi b/arch/arm64/boot/dts/mediatek/mt8365.dtsi
index 9c91fe8ea0f9..fdd570ca2d20 100644
--- a/arch/arm64/boot/dts/mediatek/mt8365.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8365.dtsi
@@ -10,6 +10,7 @@
#include <dt-bindings/clock/mediatek,mt8365-clk.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/memory/mediatek,mt8365-larb-port.h>
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/power/mediatek,mt8365-power.h>
@@ -19,6 +20,19 @@ / {
#address-cells = <2>;
#size-cells = <2>;
+ aliases {
+ aal0 = &aal0;
+ ccorr0 = &ccorr0;
+ color0 = &color0;
+ dither0 = &dither0;
+ dpi0 = &dpi0;
+ dsi0 = &dsi0;
+ gamma0 = &gamma0;
+ ovl0 = &ovl0;
+ rdma0 = &rdma0;
+ rdma1 = &rdma1;
+ };
+
cpus {
#address-cells = <1>;
#size-cells = <0>;
@@ -608,6 +622,15 @@ spi: spi@1100a000 {
status = "disabled";
};
+ disp_pwm: pwm@1100e000 {
+ compatible = "mediatek,mt8365-disp-pwm", "mediatek,mt8183-disp-pwm";
+ reg = <0 0x1100e000 0 0x1000>;
+ clock-names = "main", "mm";
+ clocks = <&topckgen CLK_TOP_DISP_PWM_SEL>, <&infracfg CLK_IFR_DISP_PWM>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ #pwm-cells = <2>;
+ };
+
i2c3: i2c@1100f000 {
compatible = "mediatek,mt8365-i2c", "mediatek,mt8168-i2c";
reg = <0 0x1100f000 0 0xa0>, <0 0x11000200 0 0x80>;
@@ -704,6 +727,15 @@ ethernet: ethernet@112a0000 {
status = "disabled";
};
+ mipi_tx0: dsi-phy@11c00000 {
+ compatible = "mediatek,mt8365-mipi-tx", "mediatek,mt8183-mipi-tx";
+ reg = <0 0x11c00000 0 0x800>;
+ clock-output-names = "mipi_tx0_pll";
+ clocks = <&clk26m>;
+ #clock-cells = <0>;
+ #phy-cells = <0>;
+ };
+
u3phy: t-phy@11cc0000 {
compatible = "mediatek,mt8365-tphy", "mediatek,generic-tphy-v2";
#address-cells = <1>;
@@ -731,6 +763,26 @@ mmsys: syscon@14000000 {
compatible = "mediatek,mt8365-mmsys", "syscon";
reg = <0 0x14000000 0 0x1000>;
#clock-cells = <1>;
+ port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mmsys_main: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&ovl0_in>;
+ };
+ mmsys_ext: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <&rdma1_in>;
+ };
+ };
+ };
+
+ mutex: mutex@14001000 {
+ compatible = "mediatek,mt8365-disp-mutex";
+ reg = <0 0x14001000 0 0x1000>;
+ interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
};
smi_common: smi@14002000 {
@@ -756,6 +808,290 @@ larb0: larb@14003000 {
mediatek,larb-id = <0>;
};
+ ovl0: ovl@1400b000 {
+ compatible = "mediatek,mt8365-disp-ovl", "mediatek,mt8192-disp-ovl";
+ reg = <0 0x1400b000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_OVL0>;
+ interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_LOW>;
+ iommus = <&iommu M4U_PORT_DISP_OVL0>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ ovl0_in: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&mmsys_main>;
+ };
+ };
+
+ port@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ ovl0_out: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&rdma0_in>;
+ };
+ };
+ };
+ };
+
+ rdma0: rdma@1400d000 {
+ compatible = "mediatek,mt8365-disp-rdma", "mediatek,mt8183-disp-rdma";
+ reg = <0 0x1400d000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_RDMA0>;
+ interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_LOW>;
+ iommus = <&iommu M4U_PORT_DISP_RDMA0>;
+ mediatek,rdma-fifo-size = <5120>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ rdma0_in: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&ovl0_out>;
+ };
+ };
+
+ port@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ rdma0_out: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&color0_in>;
+ };
+ };
+ };
+ };
+
+ color0: color@1400f000 {
+ compatible = "mediatek,mt8365-disp-color", "mediatek,mt8173-disp-color";
+ reg = <0 0x1400f000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_COLOR0>;
+ interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ color0_in: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&rdma0_out>;
+ };
+ };
+
+ port@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ color0_out: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&ccorr0_in>;
+ };
+ };
+ };
+ };
+
+ ccorr0: ccorr@14010000 {
+ compatible = "mediatek,mt8365-disp-ccorr", "mediatek,mt8183-disp-ccorr";
+ reg = <0 0x14010000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_CCORR0>;
+ interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ ccorr0_in: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&color0_out>;
+ };
+ };
+
+ port@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ ccorr0_out: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&aal0_in>;
+ };
+ };
+ };
+ };
+
+ aal0: aal@14011000 {
+ compatible = "mediatek,mt8365-disp-aal", "mediatek,mt8183-disp-aal";
+ reg = <0 0x14011000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_AAL0>;
+ interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ aal0_in: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&ccorr0_out>;
+ };
+ };
+
+ port@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ aal0_out: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&gamma0_in>;
+ };
+ };
+ };
+ };
+
+ gamma0: gamma@14012000 {
+ compatible = "mediatek,mt8365-disp-gamma", "mediatek,mt8183-disp-gamma";
+ reg = <0 0x14012000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_GAMMA0>;
+ interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ gamma0_in: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&aal0_out>;
+ };
+ };
+
+ port@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ gamma0_out: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&dither0_in>;
+ };
+ };
+ };
+ };
+
+ dither0: dither@14013000 {
+ compatible = "mediatek,mt8365-disp-dither", "mediatek,mt8183-disp-dither";
+ reg = <0 0x14013000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_DITHER0>;
+ interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ dither0_in: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&gamma0_out>;
+ };
+ };
+
+ port@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ dither0_out: endpoint@0 {
+ reg = <0>;
+ };
+ };
+ };
+ };
+
+ dsi0: dsi@14014000 {
+ compatible = "mediatek,mt8365-dsi", "mediatek,mt8183-dsi";
+ reg = <0 0x14014000 0 0x1000>;
+ clock-names = "engine", "digital", "hs";
+ clocks = <&mmsys CLK_MM_MM_DSI0>,
+ <&mmsys CLK_MM_DSI0_DIG_DSI>,
+ <&mipi_tx0>;
+ interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_LOW>;
+ phy-names = "dphy";
+ phys = <&mipi_tx0>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ };
+
+ rdma1: rdma@14016000 {
+ compatible = "mediatek,mt8365-disp-rdma", "mediatek,mt8183-disp-rdma";
+ reg = <0 0x14016000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_RDMA1>;
+ interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>;
+ iommus = <&iommu M4U_PORT_DISP_RDMA1>;
+ mediatek,rdma-fifo-size = <2048>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ rdma1_in: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <&mmsys_ext>;
+ };
+ };
+
+ port@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ rdma1_out: endpoint@1 {
+ reg = <1>;
+ };
+ };
+ };
+ };
+
+ dpi0: dpi@14018000 {
+ compatible = "mediatek,mt8365-dpi", "mediatek,mt8192-dpi";
+ reg = <0 0x14018000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_DPI0_DPI0>,
+ <&mmsys CLK_MM_MM_DPI0>,
+ <&apmixedsys CLK_APMIXED_LVDSPLL>;
+ clock-names = "pixel", "engine", "pll";
+ interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ status = "disabled";
+ };
+
camsys: syscon@15000000 {
compatible = "mediatek,mt8365-imgsys", "syscon";
reg = <0 0x15000000 0 0x1000>;
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v6 6/6] arm64: dts: mediatek: add display support for mt8365-evk
2025-01-09 10:37 [PATCH v6 0/6] Add display support for the MT8365-EVK board amergnat
` (4 preceding siblings ...)
2025-01-09 10:37 ` [PATCH v6 5/6] arm64: dts: mediatek: add display blocks support for the MT8365 SoC Alexandre Mergnat
@ 2025-01-09 10:37 ` Alexandre Mergnat
2025-01-09 11:06 ` AngeloGioacchino Del Regno
2025-01-09 11:17 ` Sjoerd Simons
2025-01-09 14:40 ` [PATCH v6 0/6] Add display support for the MT8365-EVK board Rob Herring (Arm)
6 siblings, 2 replies; 15+ messages in thread
From: Alexandre Mergnat @ 2025-01-09 10:37 UTC (permalink / raw)
To: Chun-Kuang Hu, Philipp Zabel, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno,
Jitao Shi, CK Hu, Catalin Marinas, Will Deacon, Simona Vetter,
Simona Vetter
Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
linux-arm-kernel, Alexandre Mergnat
MIPI DSI:
- Add "vsys_lcm_reg" regulator support and setup the "mt6357_vsim1_reg",
to power the pannel plugged to the DSI connector.
- Setup the Display Parallel Interface.
- Add the startek kd070fhfid015 pannel support.
HDMI:
- Add HDMI connector support.
- Add the "ite,it66121" HDMI bridge support, driven by I2C1.
- Setup the Display Parallel Interface.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 236 ++++++++++++++++++++++++++++
1 file changed, 236 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8365-evk.dts b/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
index 7d90112a7e27..70bd49a9d02f 100644
--- a/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
@@ -27,6 +27,21 @@ chosen {
stdout-path = "serial0:921600n8";
};
+ connector {
+ compatible = "hdmi-connector";
+ label = "hdmi";
+ type = "d";
+
+ port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ hdmi_connector_in: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&hdmi_connector_out>;
+ };
+ };
+ };
+
firmware {
optee {
compatible = "linaro,optee-tz";
@@ -104,6 +119,16 @@ sound: sound {
pinctrl-5 = <&aud_mosi_on_pins>;
mediatek,platform = <&afe>;
};
+
+ vsys_lcm_reg: regulator-vsys-lcm {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpio = <&pio 129 GPIO_ACTIVE_HIGH>;
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <5000000>;
+ regulator-name = "vsys_lcm";
+ };
+
};
&afe {
@@ -131,6 +156,88 @@ &cpu3 {
sram-supply = <&mt6357_vsram_proc_reg>;
};
+&dither0_out {
+ remote-endpoint = <&dsi0_in>;
+};
+
+&dpi0 {
+ pinctrl-0 = <&dpi_default_pins>;
+ pinctrl-1 = <&dpi_idle_pins>;
+ pinctrl-names = "default", "sleep";
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ dpi0_in: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <&rdma1_out>;
+ };
+ };
+
+ port@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ dpi0_out: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <&it66121_in>;
+ };
+ };
+ };
+};
+
+&dsi0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ panel@0 {
+ compatible = "startek,kd070fhfid015";
+ reg = <0>;
+ enable-gpios = <&pio 67 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&pio 20 GPIO_ACTIVE_HIGH>;
+ iovcc-supply = <&mt6357_vsim1_reg>;
+ power-supply = <&vsys_lcm_reg>;
+
+ port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ panel_in: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+ };
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ dsi0_in: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&dither0_out>;
+ };
+ };
+
+ port@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ dsi0_out: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
+};
+
ðernet {
pinctrl-0 = <ðernet_pins>;
pinctrl-names = "default";
@@ -161,6 +268,56 @@ &i2c0 {
status = "okay";
};
+&i2c1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-div = <2>;
+ clock-frequency = <100000>;
+ pinctrl-0 = <&i2c1_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ it66121_hdmi: hdmi@4c {
+ compatible = "ite,it66121";
+ reg = <0x4c>;
+ #sound-dai-cells = <0>;
+ interrupt-parent = <&pio>;
+ interrupts = <68 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&ite_pins>;
+ pinctrl-names = "default";
+ reset-gpios = <&pio 69 GPIO_ACTIVE_LOW>;
+ vcn18-supply = <&mt6357_vsim2_reg>;
+ vcn33-supply = <&mt6357_vibr_reg>;
+ vrf12-supply = <&mt6357_vrf12_reg>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ it66121_in: endpoint@0 {
+ reg = <0>;
+ bus-width = <12>;
+ remote-endpoint = <&dpi0_out>;
+ };
+ };
+
+ port@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ hdmi_connector_out: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
+ };
+ };
+};
+
&mmc0 {
assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL>;
assigned-clocks = <&topckgen CLK_TOP_MSDC50_0_SEL>;
@@ -205,6 +362,11 @@ &mt6357_pmic {
mediatek,micbias1-microvolt = <1700000>;
};
+&mt6357_vsim1_reg {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+};
+
&pio {
aud_default_pins: audiodefault-pins {
clk-dat-pins {
@@ -267,6 +429,49 @@ clk-dat-pins {
};
};
+ dpi_default_pins: dpi-default-pins {
+ pins {
+ pinmux = <MT8365_PIN_0_GPIO0__FUNC_DPI_D0>,
+ <MT8365_PIN_1_GPIO1__FUNC_DPI_D1>,
+ <MT8365_PIN_2_GPIO2__FUNC_DPI_D2>,
+ <MT8365_PIN_3_GPIO3__FUNC_DPI_D3>,
+ <MT8365_PIN_4_GPIO4__FUNC_DPI_D4>,
+ <MT8365_PIN_5_GPIO5__FUNC_DPI_D5>,
+ <MT8365_PIN_6_GPIO6__FUNC_DPI_D6>,
+ <MT8365_PIN_7_GPIO7__FUNC_DPI_D7>,
+ <MT8365_PIN_8_GPIO8__FUNC_DPI_D8>,
+ <MT8365_PIN_9_GPIO9__FUNC_DPI_D9>,
+ <MT8365_PIN_10_GPIO10__FUNC_DPI_D10>,
+ <MT8365_PIN_11_GPIO11__FUNC_DPI_D11>,
+ <MT8365_PIN_12_GPIO12__FUNC_DPI_DE>,
+ <MT8365_PIN_13_GPIO13__FUNC_DPI_VSYNC>,
+ <MT8365_PIN_14_GPIO14__FUNC_DPI_CK>,
+ <MT8365_PIN_15_GPIO15__FUNC_DPI_HSYNC>;
+ drive-strength = <4>;
+ };
+ };
+
+ dpi_idle_pins: dpi-idle-pins {
+ pins {
+ pinmux = <MT8365_PIN_0_GPIO0__FUNC_GPIO0>,
+ <MT8365_PIN_1_GPIO1__FUNC_GPIO1>,
+ <MT8365_PIN_2_GPIO2__FUNC_GPIO2>,
+ <MT8365_PIN_3_GPIO3__FUNC_GPIO3>,
+ <MT8365_PIN_4_GPIO4__FUNC_GPIO4>,
+ <MT8365_PIN_5_GPIO5__FUNC_GPIO5>,
+ <MT8365_PIN_6_GPIO6__FUNC_GPIO6>,
+ <MT8365_PIN_7_GPIO7__FUNC_GPIO7>,
+ <MT8365_PIN_8_GPIO8__FUNC_GPIO8>,
+ <MT8365_PIN_9_GPIO9__FUNC_GPIO9>,
+ <MT8365_PIN_10_GPIO10__FUNC_GPIO10>,
+ <MT8365_PIN_11_GPIO11__FUNC_GPIO11>,
+ <MT8365_PIN_12_GPIO12__FUNC_GPIO12>,
+ <MT8365_PIN_13_GPIO13__FUNC_GPIO13>,
+ <MT8365_PIN_14_GPIO14__FUNC_GPIO14>,
+ <MT8365_PIN_15_GPIO15__FUNC_GPIO15>;
+ };
+ };
+
ethernet_pins: ethernet-pins {
phy_reset_pins {
pinmux = <MT8365_PIN_133_TDM_TX_DATA1__FUNC_GPIO133>;
@@ -308,6 +513,33 @@ pins {
};
};
+ i2c1_pins: i2c1-pins {
+ pins {
+ pinmux = <MT8365_PIN_59_SDA1__FUNC_SDA1_0>,
+ <MT8365_PIN_60_SCL1__FUNC_SCL1_0>;
+ bias-pull-up;
+ };
+ };
+
+ ite_pins: ite-pins {
+ irq_ite_pins {
+ pinmux = <MT8365_PIN_68_CMDAT0__FUNC_GPIO68>;
+ input-enable;
+ bias-pull-up;
+ };
+
+ pwr_pins {
+ pinmux = <MT8365_PIN_70_CMDAT2__FUNC_GPIO70>,
+ <MT8365_PIN_71_CMDAT3__FUNC_GPIO71>;
+ output-high;
+ };
+
+ rst_ite_pins {
+ pinmux = <MT8365_PIN_69_CMDAT1__FUNC_GPIO69>;
+ output-high;
+ };
+ };
+
mmc0_default_pins: mmc0-default-pins {
clk-pins {
pinmux = <MT8365_PIN_99_MSDC0_CLK__FUNC_MSDC0_CLK>;
@@ -463,6 +695,10 @@ &pwm {
status = "okay";
};
+&rdma1_out {
+ remote-endpoint = <&dpi0_in>;
+};
+
&ssusb {
dr_mode = "otg";
maximum-speed = "high-speed";
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v6 6/6] arm64: dts: mediatek: add display support for mt8365-evk
2025-01-09 10:37 ` [PATCH v6 6/6] arm64: dts: mediatek: add display support for mt8365-evk Alexandre Mergnat
@ 2025-01-09 11:06 ` AngeloGioacchino Del Regno
2025-01-09 11:17 ` Sjoerd Simons
1 sibling, 0 replies; 15+ messages in thread
From: AngeloGioacchino Del Regno @ 2025-01-09 11:06 UTC (permalink / raw)
To: Alexandre Mergnat, Chun-Kuang Hu, Philipp Zabel,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
Jitao Shi, CK Hu, Catalin Marinas, Will Deacon, Simona Vetter,
Simona Vetter
Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
linux-arm-kernel
Il 09/01/25 11:37, Alexandre Mergnat ha scritto:
> MIPI DSI:
> - Add "vsys_lcm_reg" regulator support and setup the "mt6357_vsim1_reg",
> to power the pannel plugged to the DSI connector.
> - Setup the Display Parallel Interface.
> - Add the startek kd070fhfid015 pannel support.
>
> HDMI:
> - Add HDMI connector support.
> - Add the "ite,it66121" HDMI bridge support, driven by I2C1.
> - Setup the Display Parallel Interface.
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v6 5/6] arm64: dts: mediatek: add display blocks support for the MT8365 SoC
2025-01-09 10:37 ` [PATCH v6 5/6] arm64: dts: mediatek: add display blocks support for the MT8365 SoC Alexandre Mergnat
@ 2025-01-09 11:06 ` AngeloGioacchino Del Regno
0 siblings, 0 replies; 15+ messages in thread
From: AngeloGioacchino Del Regno @ 2025-01-09 11:06 UTC (permalink / raw)
To: Alexandre Mergnat, Chun-Kuang Hu, Philipp Zabel,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
Jitao Shi, CK Hu, Catalin Marinas, Will Deacon, Simona Vetter,
Simona Vetter
Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
linux-arm-kernel
Il 09/01/25 11:37, Alexandre Mergnat ha scritto:
> - Add aliases for each display components to help display drivers.
> - Add the Display Pulse Width Modulation (DISP_PWM) to provide PWM signals
> for the LED driver of mobile LCM.
> - Add the MIPI Display Serial Interface (DSI) PHY support. (up to 4-lane
> output)
> - Add the display mutex support.
> - Add the following display component support:
> - OVL0 (Overlay)
> - RDMA0 (Data Path Read DMA)
> - Color0
> - CCorr0 (Color Correction)
> - AAL0 (Adaptive Ambient Light)
> - GAMMA0
> - Dither0
> - DSI0 (Display Serial Interface)
> - RDMA1 (Data Path Read DMA)
> - DPI0 (Display Parallel Interface)
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v6 4/6] arm64: defconfig: enable display support for mt8365-evk
2025-01-09 10:37 ` [PATCH v6 4/6] arm64: defconfig: enable display support for mt8365-evk Alexandre Mergnat
@ 2025-01-09 11:06 ` AngeloGioacchino Del Regno
2025-01-10 7:38 ` Krzysztof Kozlowski
1 sibling, 0 replies; 15+ messages in thread
From: AngeloGioacchino Del Regno @ 2025-01-09 11:06 UTC (permalink / raw)
To: Alexandre Mergnat, Chun-Kuang Hu, Philipp Zabel,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
Jitao Shi, CK Hu, Catalin Marinas, Will Deacon, Simona Vetter,
Simona Vetter
Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
linux-arm-kernel
Il 09/01/25 11:37, Alexandre Mergnat ha scritto:
> Enable the DRM HDMI connector support.
> Enable the MIPI-DSI display Startek KD070FHFID015 panel.
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> ---
> arch/arm64/configs/defconfig | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
> index c62831e61586..1e2963a13500 100644
> --- a/arch/arm64/configs/defconfig
> +++ b/arch/arm64/configs/defconfig
> @@ -897,9 +897,11 @@ CONFIG_DRM_PANEL_NOVATEK_NT36672E=m
> CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
> CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20=m
> CONFIG_DRM_PANEL_SITRONIX_ST7703=m
> +CONFIG_DRM_PANEL_STARTEK_KD070FHFID015=m
> CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
> CONFIG_DRM_PANEL_VISIONOX_VTDR6130=m
> CONFIG_DRM_FSL_LDB=m
> +CONFIG_DRM_DISPLAY_CONNECTOR=m
> CONFIG_DRM_LONTIUM_LT8912B=m
> CONFIG_DRM_LONTIUM_LT9611=m
> CONFIG_DRM_LONTIUM_LT9611UXC=m
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v6 6/6] arm64: dts: mediatek: add display support for mt8365-evk
2025-01-09 10:37 ` [PATCH v6 6/6] arm64: dts: mediatek: add display support for mt8365-evk Alexandre Mergnat
2025-01-09 11:06 ` AngeloGioacchino Del Regno
@ 2025-01-09 11:17 ` Sjoerd Simons
1 sibling, 0 replies; 15+ messages in thread
From: Sjoerd Simons @ 2025-01-09 11:17 UTC (permalink / raw)
To: Alexandre Mergnat, Chun-Kuang Hu, Philipp Zabel,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Jitao Shi, CK Hu, Catalin Marinas,
Will Deacon, Simona Vetter, Simona Vetter
Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
linux-arm-kernel
On Thu, 2025-01-09 at 11:37 +0100, Alexandre Mergnat wrote:
> MIPI DSI:
> - Add "vsys_lcm_reg" regulator support and setup the
> "mt6357_vsim1_reg",
> to power the pannel plugged to the DSI connector.
> - Setup the Display Parallel Interface.
> - Add the startek kd070fhfid015 pannel support.
>
> HDMI:
> - Add HDMI connector support.
> - Add the "ite,it66121" HDMI bridge support, driven by I2C1.
> - Setup the Display Parallel Interface.
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 236
> ++++++++++++++++++++++++++++
> 1 file changed, 236 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
> b/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
> index 7d90112a7e27..70bd49a9d02f 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
> +++ b/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
> [...]
> @@ -131,6 +156,88 @@ &cpu3 {
> sram-supply = <&mt6357_vsram_proc_reg>;
> };
>
> +&dither0_out {
> + remote-endpoint = <&dsi0_in>;
> +};
> +
> +&dpi0 {
> + pinctrl-0 = <&dpi_default_pins>;
> + pinctrl-1 = <&dpi_idle_pins>;
> + pinctrl-names = "default", "sleep";
Would be good to document that these pins clash with ethernet support,
similar to what is done in the ethernet node. Also some notes on what
nodes to enable/disable when selecting either ethernet or hdmi output
would be appreciated :)
--
Sjoerd Simons <sjoerd@collabora.com>
Collabora
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v6 0/6] Add display support for the MT8365-EVK board
2025-01-09 10:37 [PATCH v6 0/6] Add display support for the MT8365-EVK board amergnat
` (5 preceding siblings ...)
2025-01-09 10:37 ` [PATCH v6 6/6] arm64: dts: mediatek: add display support for mt8365-evk Alexandre Mergnat
@ 2025-01-09 14:40 ` Rob Herring (Arm)
6 siblings, 0 replies; 15+ messages in thread
From: Rob Herring (Arm) @ 2025-01-09 14:40 UTC (permalink / raw)
To: amergnat
Cc: David Airlie, Chun-Kuang Hu, Maarten Lankhorst, CK Hu,
Matthias Brugger, Philipp Zabel, AngeloGioacchino Del Regno,
Fabien Parent, Thomas Zimmermann, Simona Vetter, Conor Dooley,
Jitao Shi, Catalin Marinas, dri-devel, devicetree, linux-kernel,
Simona Vetter, linux-arm-kernel, Will Deacon, linux-mediatek,
Maxime Ripard, Krzysztof Kozlowski
On Thu, 09 Jan 2025 11:37:53 +0100, amergnat@baylibre.com wrote:
> The purpose of this series is to add the display support for the mt8365-evk.
>
> This is the list of HWs / IPs support added:
> - Connectors (HW):
> - HDMI
> - MIPI DSI (Mobile Industry Processor Interface Display Serial Interface)
> - HDMI bridge (it66121)
> - DSI pannel (startek,kd070fhfid015)
> - SoC display blocks (IP):
> - OVL0 (Overlay)
> - RDMA0 (Data Path Read DMA)
> - Color0
> - CCorr0 (Color Correction)
> - AAL0 (Adaptive Ambient Light)
> - GAMMA0
> - Dither0
> - DSI0 (Display Serial Interface)
> - RDMA1 (Data Path Read DMA)
> - DPI0 (Display Parallel Interface)
>
> The Mediatek DSI, DPI and DRM drivers are also improved.
>
> The series is rebased on top of Angelo's series [1] to
> use the OF graphs support.
>
> Regards,
> Alex
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> Changes in v6:
> - Fix DPI binding: remove the duplicated property (power-domains).
> - Squash defconfig commit.
> - Fix the property order in the DTS.
> - Link to v5: https://lore.kernel.org/r/20231023-display-support-v5-0-3905f1e4b835@baylibre.com
>
> Changes in v5:
> - Patch merged, then removed from the series:
> - dt-bindings: display: mediatek: rdma: add compatible for MT8365 SoC
> - dt-bindings: display: mediatek: ovl: add compatible for MT8365 SoC
> - dt-bindings: display: mediatek: gamma: add compatible for MT8365 SoC
> - dt-bindings: display: mediatek: dpi: add compatible for MT8365
> - dt-bindings: display: mediatek: dsi: add compatible for MT8365 SoC
> - dt-bindings: display: mediatek: dither: add compatible for MT8365 SoC
> - dt-bindings: display: mediatek: color: add compatible for MT8365 SoC
> - dt-bindings: display: mediatek: ccorr: add compatible for MT8365 SoC
> - dt-bindings: display: mediatek: aal: add compatible for MT8365 SoC
> - Enable STARTEK KD070FHFID015 panel in the defconfig.
> - Rebase on top of 6.13-rc6.
> - Link to v4: https://lore.kernel.org/all/20231023-display-support-v4-0-ed82eb168fb1@baylibre.com
>
> Changes in v4:
> - Patch merged, then removed from the series:
> - dt-bindings: display: mediatek: dpi: add power-domains property
> - dt-bindings: pwm: mediatek,pwm-disp: add compatible for mt8365 SoC
> - clk: mediatek: mt8365-mm: fix DPI0 parent
> - Remove mediatek,mt8365-dpi compatible from mtk_drm_drv.c because it
> use the mt8192's data. It's a miss.
> - Add MT8365 OF graphs support, remove the hardcoded display path and
> rebase on top of Angelo's series [1].
> - Link to v3: https://lore.kernel.org/r/20231023-display-support-v3-0-53388f3ed34b@baylibre.com
>
> Changes in v3:
> - Drop "drm/mediatek: add mt8365 dpi support" because it's the same
> config as mt8192 SoC
> - Drop "dt-bindings: pwm: mediatek,pwm-disp: add power-domains property"
> because an equivalent patch has been merge already.
> - Add DPI clock fix in a separate commit.
> - Improve DTS(I) readability.
> - Link to v2: https://lore.kernel.org/r/20231023-display-support-v2-0-33ce8864b227@baylibre.com
>
> Changes in v2:
> - s/binding/compatible/ in commit messages/titles.
> - Improve commit messages as Conor suggest.
> - pwm-disp: Set power domain property for MT8365. This one is optionnal
> and can be used for other SoC.
> - Fix mediatek,dsi.yaml issue.
> - Remove the extra clock in the DPI node/driver and fix the dpi clock
> parenting to be consistent with the DPI clock assignement.
> - Link to v1: https://lore.kernel.org/r/20231023-display-support-v1-0-5c860ed5c33b@baylibre.com
>
> [1] https://lore.kernel.org/lkml/20240516081104.83458-1-angelogioacchino.delregno@collabora.com/
>
> ---
> Alexandre Mergnat (4):
> drm/mediatek: dsi: Improves the DSI lane setup robustness
> arm64: defconfig: enable display support for mt8365-evk
> arm64: dts: mediatek: add display blocks support for the MT8365 SoC
> arm64: dts: mediatek: add display support for mt8365-evk
>
> Fabien Parent (2):
> dt-bindings: display: mediatek: dpi: add power-domains example
> drm/mediatek: add MT8365 SoC support
>
> .../bindings/display/mediatek/mediatek,dpi.yaml | 2 +
> arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 236 +++++++++++++++
> arch/arm64/boot/dts/mediatek/mt8365.dtsi | 336 +++++++++++++++++++++
> arch/arm64/configs/defconfig | 2 +
> drivers/gpu/drm/mediatek/mtk_drm_drv.c | 8 +
> drivers/gpu/drm/mediatek/mtk_dsi.c | 2 +
> 6 files changed, 586 insertions(+)
> ---
> base-commit: 9d89551994a430b50c4fffcb1e617a057fa76e20
> change-id: 20231023-display-support-c6418b30e419
>
> Best regards,
> --
> Alexandre Mergnat <amergnat@baylibre.com>
>
>
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/mediatek/' for 20231023-display-support-v6-0-c6af4f34f4d8@baylibre.com:
arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dtb: switch@31: 'interrupts' is a dependency of 'interrupt-controller'
from schema $id: http://devicetree.org/schemas/net/dsa/mediatek,mt7530.yaml#
arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku16.dtb: /soc/audio-controller@11220000/mt8183-afe-pcm: failed to match any schema with compatible: ['mediatek,mt8183-audio']
arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku16.dtb: vcodec@17020000: 'assigned-clocks' is a required property
arch/arm64/boot/dts/mediatek/mt7622-rfb1.dtb: pinctrl@10211000: reg: [[0, 270602240, 0, 4096], [0, 268455936, 0, 4096]] is too long
from schema $id: http://devicetree.org/schemas/pinctrl/mediatek,mt7622-pinctrl.yaml#
arch/arm64/boot/dts/mediatek/mt8173-elm.dtb: pwm@1401f000: compatible: 'oneOf' conditional failed, one must be fixed:
['mediatek,mt8173-disp-pwm', 'mediatek,mt6595-disp-pwm'] is too long
'mediatek,mt8173-disp-pwm' is not one of ['mediatek,mt6795-disp-pwm', 'mediatek,mt8167-disp-pwm']
'mediatek,mt8173-disp-pwm' is not one of ['mediatek,mt8186-disp-pwm', 'mediatek,mt8188-disp-pwm', 'mediatek,mt8192-disp-pwm', 'mediatek,mt8195-disp-pwm', 'mediatek,mt8365-disp-pwm']
'mediatek,mt8173-disp-pwm' was expected
'mediatek,mt8183-disp-pwm' was expected
from schema $id: http://devicetree.org/schemas/pwm/mediatek,pwm-disp.yaml#
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-kenzo.dtb: /soc/audio-controller@11220000/mt8183-afe-pcm: failed to match any schema with compatible: ['mediatek,mt8183-audio']
arch/arm64/boot/dts/mediatek/mt8195-demo.dtb: charger: usb-otg-vbus-regulator: Unevaluated properties are not allowed ('regulator-compatible' was unexpected)
from schema $id: http://devicetree.org/schemas/power/supply/mt6360_charger.yaml#
arch/arm64/boot/dts/mediatek/mt6797-x20-dev.dtb: i2c@1100e000: Unevaluated properties are not allowed ('id' was unexpected)
from schema $id: http://devicetree.org/schemas/i2c/i2c-mt65xx.yaml#
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku6.dtb: /soc/audio-controller@11220000/mt8183-afe-pcm: failed to match any schema with compatible: ['mediatek,mt8183-audio']
arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu-sku22.dtb: /soc/audio-controller@11220000: failed to match any schema with compatible: ['mediatek,mt8183-audiosys', 'syscon']
arch/arm64/boot/dts/mediatek/mt8186-corsola-tentacruel-sku262148.dtb: dp-bridge@5c: 'extcon' is a required property
from schema $id: http://devicetree.org/schemas/display/bridge/ite,it6505.yaml#
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v6 4/6] arm64: defconfig: enable display support for mt8365-evk
2025-01-09 10:37 ` [PATCH v6 4/6] arm64: defconfig: enable display support for mt8365-evk Alexandre Mergnat
2025-01-09 11:06 ` AngeloGioacchino Del Regno
@ 2025-01-10 7:38 ` Krzysztof Kozlowski
2025-01-10 9:47 ` Alexandre Mergnat
1 sibling, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2025-01-10 7:38 UTC (permalink / raw)
To: Alexandre Mergnat, Chun-Kuang Hu, Philipp Zabel,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Jitao Shi, CK Hu, Catalin Marinas,
Will Deacon, Simona Vetter, Simona Vetter
Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
linux-arm-kernel
On 09/01/2025 11:37, Alexandre Mergnat wrote:
> Enable the DRM HDMI connector support.
> Enable the MIPI-DSI display Startek KD070FHFID015 panel.
Why? It was in previous commit, now its missing.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v6 4/6] arm64: defconfig: enable display support for mt8365-evk
2025-01-10 7:38 ` Krzysztof Kozlowski
@ 2025-01-10 9:47 ` Alexandre Mergnat
2025-01-10 11:32 ` Krzysztof Kozlowski
0 siblings, 1 reply; 15+ messages in thread
From: Alexandre Mergnat @ 2025-01-10 9:47 UTC (permalink / raw)
To: Krzysztof Kozlowski, Chun-Kuang Hu, Philipp Zabel,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Jitao Shi, CK Hu, Catalin Marinas,
Will Deacon, Simona Vetter, Simona Vetter
Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
linux-arm-kernel
On 10/01/2025 08:38, Krzysztof Kozlowski wrote:
> On 09/01/2025 11:37, Alexandre Mergnat wrote:
>> Enable the DRM HDMI connector support.
>> Enable the MIPI-DSI display Startek KD070FHFID015 panel.
>
> Why? It was in previous commit, now its missing.
What is missing ? Don't you asked me to squash the defconfig commit ?
>
> Best regards,
> Krzysztof
--
Regards,
Alexandre
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v6 4/6] arm64: defconfig: enable display support for mt8365-evk
2025-01-10 9:47 ` Alexandre Mergnat
@ 2025-01-10 11:32 ` Krzysztof Kozlowski
0 siblings, 0 replies; 15+ messages in thread
From: Krzysztof Kozlowski @ 2025-01-10 11:32 UTC (permalink / raw)
To: Alexandre Mergnat, Chun-Kuang Hu, Philipp Zabel,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Jitao Shi, CK Hu, Catalin Marinas,
Will Deacon, Simona Vetter, Simona Vetter
Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
linux-arm-kernel
On 10/01/2025 10:47, Alexandre Mergnat wrote:
>
>
> On 10/01/2025 08:38, Krzysztof Kozlowski wrote:
>> On 09/01/2025 11:37, Alexandre Mergnat wrote:
>>> Enable the DRM HDMI connector support.
>>> Enable the MIPI-DSI display Startek KD070FHFID015 panel.
>>
>> Why? It was in previous commit, now its missing.
>
> What is missing ? Don't you asked me to squash the defconfig commit ?
Missing is the answer to "why". Squashing was half of the comment.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-01-10 11:35 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-09 10:37 [PATCH v6 0/6] Add display support for the MT8365-EVK board amergnat
2025-01-09 10:37 ` [PATCH v6 1/6] dt-bindings: display: mediatek: dpi: add power-domains example amergnat
2025-01-09 10:37 ` [PATCH v6 2/6] drm/mediatek: dsi: Improves the DSI lane setup robustness Alexandre Mergnat
2025-01-09 10:37 ` [PATCH v6 3/6] drm/mediatek: add MT8365 SoC support amergnat
2025-01-09 10:37 ` [PATCH v6 4/6] arm64: defconfig: enable display support for mt8365-evk Alexandre Mergnat
2025-01-09 11:06 ` AngeloGioacchino Del Regno
2025-01-10 7:38 ` Krzysztof Kozlowski
2025-01-10 9:47 ` Alexandre Mergnat
2025-01-10 11:32 ` Krzysztof Kozlowski
2025-01-09 10:37 ` [PATCH v6 5/6] arm64: dts: mediatek: add display blocks support for the MT8365 SoC Alexandre Mergnat
2025-01-09 11:06 ` AngeloGioacchino Del Regno
2025-01-09 10:37 ` [PATCH v6 6/6] arm64: dts: mediatek: add display support for mt8365-evk Alexandre Mergnat
2025-01-09 11:06 ` AngeloGioacchino Del Regno
2025-01-09 11:17 ` Sjoerd Simons
2025-01-09 14:40 ` [PATCH v6 0/6] Add display support for the MT8365-EVK board Rob Herring (Arm)
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).