]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/rockchip: dsi2: add support rk3576
authorGuochun Huang <hero.huang@rock-chips.com>
Mon, 7 Jul 2025 16:49:02 +0000 (18:49 +0200)
committerHeiko Stuebner <heiko@sntech.de>
Fri, 22 Aug 2025 21:13:11 +0000 (23:13 +0200)
Add the necessary specific bits to support the rk3576-variant of the
DW-DSI2 controller.

Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
[adapted from the vendor-kernel for mainline]
Reviewed-by: Andy Yan <andy.yan@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20250707164906.1445288-10-heiko@sntech.de
drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c

index cdd490778756f67be69a5c4319b30520c42cdec8..0aea764e29b2c38d9e82a3bde0cb6fe3428dcc55 100644 (file)
@@ -437,6 +437,15 @@ static void dw_mipi_dsi2_rockchip_remove(struct platform_device *pdev)
        dw_mipi_dsi2_remove(dsi2->dmd);
 }
 
+static const struct dsigrf_reg rk3576_dsi_grf_reg_fields[MAX_FIELDS] = {
+       [TXREQCLKHS_EN]         = { 0x0028, 1,  1 },
+       [GATING_EN]             = { 0x0028, 0,  0 },
+       [IPI_SHUTDN]            = { 0x0028, 3,  3 },
+       [IPI_COLORM]            = { 0x0028, 2,  2 },
+       [IPI_COLOR_DEPTH]       = { 0x0028, 8, 11 },
+       [IPI_FORMAT]            = { 0x0028, 4,  7 },
+};
+
 static const struct dsigrf_reg rk3588_dsi0_grf_reg_fields[MAX_FIELDS] = {
        [TXREQCLKHS_EN]         = { 0x0000, 11, 11 },
        [GATING_EN]             = { 0x0000, 10, 10 },
@@ -455,6 +464,15 @@ static const struct dsigrf_reg rk3588_dsi1_grf_reg_fields[MAX_FIELDS] = {
        [IPI_FORMAT]            = { 0x0004,  0,  3 },
 };
 
+static const struct rockchip_dw_dsi2_chip_data rk3576_chip_data[] = {
+       {
+               .reg = 0x27d80000,
+               .grf_regs = rk3576_dsi_grf_reg_fields,
+               .max_bit_rate_per_lane = 2500000ULL,
+       },
+       { /* sentinel */ }
+};
+
 static const struct rockchip_dw_dsi2_chip_data rk3588_chip_data[] = {
        {
                .reg = 0xfde20000,
@@ -470,6 +488,9 @@ static const struct rockchip_dw_dsi2_chip_data rk3588_chip_data[] = {
 
 static const struct of_device_id dw_mipi_dsi2_rockchip_dt_ids[] = {
        {
+               .compatible = "rockchip,rk3576-mipi-dsi2",
+               .data = &rk3576_chip_data,
+       }, {
                .compatible = "rockchip,rk3588-mipi-dsi2",
                .data = &rk3588_chip_data,
        },