},
 };
 
+static const struct mfd_cell sun8i_a23_prcm_subdevs[] = {
+       {
+               .name = "sun8i-a23-apb0-clk",
+               .of_compatible = "allwinner,sun8i-a23-apb0-clk",
+               .num_resources = ARRAY_SIZE(sun6i_a31_apb0_clk_res),
+               .resources = sun6i_a31_apb0_clk_res,
+       },
+       {
+               .name = "sun6i-a31-apb0-gates-clk",
+               .of_compatible = "allwinner,sun8i-a23-apb0-gates-clk",
+               .num_resources = ARRAY_SIZE(sun6i_a31_apb0_gates_clk_res),
+               .resources = sun6i_a31_apb0_gates_clk_res,
+       },
+       {
+               .name = "sun6i-a31-apb0-clock-reset",
+               .of_compatible = "allwinner,sun6i-a31-clock-reset",
+               .num_resources = ARRAY_SIZE(sun6i_a31_apb0_rstc_res),
+               .resources = sun6i_a31_apb0_rstc_res,
+       },
+};
+
 static const struct prcm_data sun6i_a31_prcm_data = {
        .nsubdevs = ARRAY_SIZE(sun6i_a31_prcm_subdevs),
        .subdevs = sun6i_a31_prcm_subdevs,
 };
 
+static const struct prcm_data sun8i_a23_prcm_data = {
+       .nsubdevs = ARRAY_SIZE(sun8i_a23_prcm_subdevs),
+       .subdevs = sun8i_a23_prcm_subdevs,
+};
+
 static const struct of_device_id sun6i_prcm_dt_ids[] = {
        {
                .compatible = "allwinner,sun6i-a31-prcm",
                .data = &sun6i_a31_prcm_data,
        },
+       {
+               .compatible = "allwinner,sun8i-a23-prcm",
+               .data = &sun8i_a23_prcm_data,
+       },
        { /* sentinel */ },
 };