]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
pmdomain: imx93-blk-ctrl: mask DSI and PXP PD domain register on i.MX91
authorJoy Zou <joy.zou@nxp.com>
Wed, 6 Aug 2025 11:41:18 +0000 (19:41 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 19 Aug 2025 09:50:46 +0000 (11:50 +0200)
The i.MX91 is derived from i.MX93, but there is no DSI and PXP in i.MX91,
Add skip_mask in struct imx93_blk_ctrl_data, then skip DSI and PXP for
i.MX91 Soc.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20250806114119.1948624-11-joy.zou@nxp.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/pmdomain/imx/imx93-blk-ctrl.c

index 1dcb84593e01689d23b95a67f48b933938e68565..e094fe5a42bf646c712f3eca4e66a313fa5a914c 100644 (file)
@@ -86,6 +86,7 @@ struct imx93_blk_ctrl_domain {
 
 struct imx93_blk_ctrl_data {
        const struct imx93_blk_ctrl_domain_data *domains;
+       u32 skip_mask;
        int num_domains;
        const char * const *clk_names;
        int num_clks;
@@ -250,6 +251,8 @@ static int imx93_blk_ctrl_probe(struct platform_device *pdev)
                int j;
 
                domain->data = data;
+               if (bc_data->skip_mask & BIT(i))
+                       continue;
 
                for (j = 0; j < data->num_clks; j++)
                        domain->clks[j].id = data->clk_names[j];
@@ -422,6 +425,15 @@ static const char * const media_blk_clk_names[] = {
        "axi", "apb", "nic"
 };
 
+static const struct imx93_blk_ctrl_data imx91_media_blk_ctl_dev_data = {
+       .domains = imx93_media_blk_ctl_domain_data,
+       .skip_mask = BIT(IMX93_MEDIABLK_PD_MIPI_DSI) | BIT(IMX93_MEDIABLK_PD_PXP),
+       .num_domains = ARRAY_SIZE(imx93_media_blk_ctl_domain_data),
+       .clk_names = media_blk_clk_names,
+       .num_clks = ARRAY_SIZE(media_blk_clk_names),
+       .reg_access_table = &imx93_media_blk_ctl_access_table,
+};
+
 static const struct imx93_blk_ctrl_data imx93_media_blk_ctl_dev_data = {
        .domains = imx93_media_blk_ctl_domain_data,
        .num_domains = ARRAY_SIZE(imx93_media_blk_ctl_domain_data),
@@ -432,6 +444,9 @@ static const struct imx93_blk_ctrl_data imx93_media_blk_ctl_dev_data = {
 
 static const struct of_device_id imx93_blk_ctrl_of_match[] = {
        {
+               .compatible = "fsl,imx91-media-blk-ctrl",
+               .data = &imx91_media_blk_ctl_dev_data
+       }, {
                .compatible = "fsl,imx93-media-blk-ctrl",
                .data = &imx93_media_blk_ctl_dev_data
        }, {