]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/rockchip: hdmi: add RK3368 controller variant
authorHeiko Stuebner <heiko.stuebner@cherry.de>
Tue, 21 Oct 2025 07:42:47 +0000 (09:42 +0200)
committerHeiko Stuebner <heiko@sntech.de>
Mon, 15 Dec 2025 13:55:26 +0000 (14:55 +0100)
The RK3368 has only one VOP, so there is no source selection happening
and the controller uses an internal PHY for the HDMI output.

Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Reviewed-by: Andy Yan <andyshrk@163.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20251021074254.87065-3-heiko@sntech.de
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c

index 727cdf768161a55aa12a9aeba172a8f462da01a0..0dc1eb5d2ae390f465b6e4b2df88730fd8b75e15 100644 (file)
@@ -467,6 +467,19 @@ static const struct dw_hdmi_plat_data rk3328_hdmi_drv_data = {
        .use_drm_infoframe = true,
 };
 
+static struct rockchip_hdmi_chip_data rk3368_chip_data = {
+       .lcdsel_grf_reg = -1,
+};
+
+static const struct dw_hdmi_plat_data rk3368_hdmi_drv_data = {
+       .mode_valid = dw_hdmi_rockchip_mode_valid,
+       .mpll_cfg   = rockchip_mpll_cfg,
+       .cur_ctr    = rockchip_cur_ctr,
+       .phy_config = rockchip_phy_config,
+       .phy_data = &rk3368_chip_data,
+       .use_drm_infoframe = true,
+};
+
 static struct rockchip_hdmi_chip_data rk3399_chip_data = {
        .lcdsel_grf_reg = RK3399_GRF_SOC_CON20,
        .lcdsel_big = FIELD_PREP_WM16_CONST(RK3399_HDMI_LCDC_SEL, 0),
@@ -507,6 +520,9 @@ static const struct of_device_id dw_hdmi_rockchip_dt_ids[] = {
        { .compatible = "rockchip,rk3328-dw-hdmi",
          .data = &rk3328_hdmi_drv_data
        },
+       { .compatible = "rockchip,rk3368-dw-hdmi",
+        .data = &rk3368_hdmi_drv_data
+       },
        { .compatible = "rockchip,rk3399-dw-hdmi",
          .data = &rk3399_hdmi_drv_data
        },