openwrt/target/linux/d1/patches-6.1/0007-drm-sun4i-Add-support-for-D1-HDMI.patch
Zoltan HERPAI 99545b4bb1 d1: add new target
This target adds support for the Allwinner D1 RISC-V based SoCs.

 - RISC-V single-core T-Head C906 (RV64GCV)
 - Tensilica HiFi4 DSP
 - DDR2/DDR3 support
 - 10/100/1000M ethernet
 - usual peripherals like USB2, SPI, I2C, PWM, etc.

Four boards are supported:
 - Dongshan Nezha STU
    - 512Mb RAM
    - ethernet

 - LicheePi RV Dock
    - 512Mb RAM
    - wireless-only (RTL8723DS)

 - MangoPi MQ-Pro
    - 512Mb RAM
    - there are pads available for an SPI flash
    - wireless-only (RTL8723DS)

 - Nezha D1
    - 512Mb/1Gb/2Gb RAM
    - 256Mb NAND flash
    - ethernet, wireless

Installation:
Standard SD-card installation via dd-ing the generated image to
an SD-card of at least 256Mb.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-02-29 16:50:22 +01:00

53 lines
1.8 KiB
Diff

From 75dc74ecc1bf5e270659c6c78877053b50e6ae19 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Wed, 30 Mar 2022 21:24:21 -0500
Subject: [PATCH 007/117] drm/sun4i: Add support for D1 HDMI
D1's HDMI controller contains some platform integration changes.
It now has no external TMDS clock. The controller also supports HDCP
without an external clock or reset.
While the maximum HDMI frequency is not explicity stated, the BSP PHY
driver provides PLL configurations only up to 297 MHz, so use that as
the max frequency.
Signed-off-by: Samuel Holland <samuel@sholland.org>
---
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
--- a/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c
+++ b/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c
@@ -133,7 +133,7 @@ static int sun8i_dw_hdmi_bind(struct dev
return dev_err_probe(dev, PTR_ERR(hdmi->rst_ctrl),
"Could not get ctrl reset control\n");
- hdmi->clk_tmds = devm_clk_get(dev, "tmds");
+ hdmi->clk_tmds = devm_clk_get_optional(dev, "tmds");
if (IS_ERR(hdmi->clk_tmds))
return dev_err_probe(dev, PTR_ERR(hdmi->clk_tmds),
"Couldn't get the tmds clock\n");
@@ -246,6 +246,11 @@ static const struct sun8i_dw_hdmi_quirks
.mode_valid = sun8i_dw_hdmi_mode_valid_a83t,
};
+static const struct sun8i_dw_hdmi_quirks sun20i_d1_quirks = {
+ .mode_valid = sun8i_dw_hdmi_mode_valid_a83t,
+ .use_drm_infoframe = true,
+};
+
static const struct sun8i_dw_hdmi_quirks sun50i_h6_quirks = {
.mode_valid = sun8i_dw_hdmi_mode_valid_h6,
.use_drm_infoframe = true,
@@ -257,6 +262,10 @@ static const struct of_device_id sun8i_d
.data = &sun8i_a83t_quirks,
},
{
+ .compatible = "allwinner,sun20i-d1-dw-hdmi",
+ .data = &sun20i_d1_quirks,
+ },
+ {
.compatible = "allwinner,sun50i-h6-dw-hdmi",
.data = &sun50i_h6_quirks,
},