.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID],
        .clkr.hw.init = &(struct clk_init_data){
                .name = "gcc_gpll0_out_even",
-               .parent_data = &(const struct clk_parent_data){
-                       .hw = &gcc_gpll0.clkr.hw,
+               .parent_hws = (const struct clk_hw*[]){
+                       &gcc_gpll0.clkr.hw,
                },
                .num_parents = 1,
                .ops = &clk_alpha_pll_postdiv_lucid_5lpe_ops,
        .width = 4,
        .clkr.hw.init = &(struct clk_init_data) {
                .name = "gcc_usb30_prim_mock_utmi_postdiv_clk_src",
-               .parent_data = &(const struct clk_parent_data){
-                       .hw = &gcc_usb30_prim_mock_utmi_clk_src.clkr.hw,
+               .parent_hws = (const struct clk_hw*[]){
+                       &gcc_usb30_prim_mock_utmi_clk_src.clkr.hw,
                },
                .num_parents = 1,
                .flags = CLK_SET_RATE_PARENT,
        .width = 4,
        .clkr.hw.init = &(struct clk_init_data) {
                .name = "gcc_usb30_sec_mock_utmi_postdiv_clk_src",
-               .parent_data = &(const struct clk_parent_data){
-                       .hw = &gcc_usb30_sec_mock_utmi_clk_src.clkr.hw,
+               .parent_hws = (const struct clk_hw*[]){
+                       &gcc_usb30_sec_mock_utmi_clk_src.clkr.hw,
                },
                .num_parents = 1,
                .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_aggre_ufs_card_axi_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_card_axi_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_card_axi_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(1),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_aggre_ufs_card_axi_hw_ctl_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_card_axi_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_card_axi_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_aggre_ufs_phy_axi_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_phy_axi_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_phy_axi_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(1),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_aggre_ufs_phy_axi_hw_ctl_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_phy_axi_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_phy_axi_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_aggre_usb3_prim_axi_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_usb30_prim_master_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_usb30_prim_master_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_aggre_usb3_sec_axi_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_usb30_sec_master_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_usb30_sec_master_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_cfg_noc_usb3_prim_axi_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_usb30_prim_master_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_usb30_prim_master_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_cfg_noc_usb3_sec_axi_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_usb30_sec_master_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_usb30_sec_master_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_gp1_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_gp1_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_gp1_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_gp2_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_gp2_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_gp2_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_gp3_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_gp3_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_gp3_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(15),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_gpu_gpll0_clk_src",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_gpll0.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_gpll0.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(16),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_gpu_gpll0_div_clk_src",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_gpll0_out_even.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_gpll0_out_even.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(22),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_pcie0_phy_rchng_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_pcie_0_phy_rchng_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_pcie_0_phy_rchng_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(23),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_pcie1_phy_rchng_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_pcie_1_phy_rchng_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_pcie_1_phy_rchng_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(3),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_pcie_0_aux_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_pcie_0_aux_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_pcie_0_aux_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(4),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_pcie_0_pipe_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_pcie_0_pipe_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_pcie_0_pipe_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(29),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_pcie_1_aux_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_pcie_1_aux_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_pcie_1_aux_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(30),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_pcie_1_pipe_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_pcie_1_pipe_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_pcie_1_pipe_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_pdm2_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_pdm2_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_pdm2_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(10),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap0_s0_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap0_s0_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap0_s0_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(11),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap0_s1_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap0_s1_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap0_s1_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(12),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap0_s2_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap0_s2_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap0_s2_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(13),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap0_s3_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap0_s3_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap0_s3_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(14),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap0_s4_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap0_s4_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap0_s4_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(15),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap0_s5_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap0_s5_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap0_s5_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(16),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap0_s6_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap0_s6_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap0_s6_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(17),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap0_s7_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap0_s7_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap0_s7_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(22),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap1_s0_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap1_s0_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap1_s0_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(23),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap1_s1_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap1_s1_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap1_s1_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(24),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap1_s2_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap1_s2_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap1_s2_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(25),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap1_s3_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap1_s3_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap1_s3_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(26),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap1_s4_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap1_s4_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap1_s4_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(27),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap1_s5_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap1_s5_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap1_s5_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(4),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap2_s0_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap2_s0_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap2_s0_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(5),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap2_s1_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap2_s1_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap2_s1_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(6),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap2_s2_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap2_s2_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap2_s2_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(7),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap2_s3_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap2_s3_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap2_s3_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(8),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap2_s4_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap2_s4_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap2_s4_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(9),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_qupv3_wrap2_s5_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_qupv3_wrap2_s5_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_qupv3_wrap2_s5_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_sdcc2_apps_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_sdcc2_apps_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_sdcc2_apps_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_sdcc4_apps_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_sdcc4_apps_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_sdcc4_apps_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_card_axi_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_card_axi_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_card_axi_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(1),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_card_axi_hw_ctl_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_card_axi_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_card_axi_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_card_ice_core_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_card_ice_core_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_card_ice_core_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(1),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_card_ice_core_hw_ctl_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_card_ice_core_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_card_ice_core_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_card_phy_aux_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_card_phy_aux_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_card_phy_aux_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(1),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_card_phy_aux_hw_ctl_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_card_phy_aux_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_card_phy_aux_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_card_rx_symbol_0_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_card_rx_symbol_0_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_card_rx_symbol_0_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_card_rx_symbol_1_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_card_rx_symbol_1_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_card_rx_symbol_1_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_card_tx_symbol_0_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_card_tx_symbol_0_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_card_tx_symbol_0_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_card_unipro_core_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_card_unipro_core_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_card_unipro_core_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(1),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_card_unipro_core_hw_ctl_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_card_unipro_core_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_card_unipro_core_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_phy_axi_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_phy_axi_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_phy_axi_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(1),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_phy_axi_hw_ctl_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_phy_axi_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_phy_axi_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_phy_ice_core_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_phy_ice_core_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_phy_ice_core_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(1),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_phy_ice_core_hw_ctl_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_phy_ice_core_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_phy_ice_core_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_phy_phy_aux_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_phy_phy_aux_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_phy_phy_aux_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(1),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_phy_phy_aux_hw_ctl_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_phy_phy_aux_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_phy_phy_aux_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_phy_rx_symbol_0_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_phy_rx_symbol_0_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_phy_rx_symbol_0_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_phy_rx_symbol_1_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_phy_rx_symbol_1_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_phy_rx_symbol_1_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_phy_tx_symbol_0_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_phy_tx_symbol_0_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_phy_tx_symbol_0_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_phy_unipro_core_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_phy_unipro_core_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_phy_unipro_core_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(1),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_ufs_phy_unipro_core_hw_ctl_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_ufs_phy_unipro_core_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_ufs_phy_unipro_core_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_usb30_prim_master_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_usb30_prim_master_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_usb30_prim_master_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_usb30_prim_mock_utmi_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw =
-                       &gcc_usb30_prim_mock_utmi_postdiv_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_usb30_prim_mock_utmi_postdiv_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_usb30_sec_master_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_usb30_sec_master_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_usb30_sec_master_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_usb30_sec_mock_utmi_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw =
-                       &gcc_usb30_sec_mock_utmi_postdiv_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_usb30_sec_mock_utmi_postdiv_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_usb3_prim_phy_aux_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_usb3_prim_phy_aux_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_usb3_prim_phy_aux_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_usb3_prim_phy_com_aux_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_usb3_prim_phy_aux_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_usb3_prim_phy_aux_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_usb3_prim_phy_pipe_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_usb3_prim_phy_pipe_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_usb3_prim_phy_pipe_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_usb3_sec_phy_aux_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_usb3_sec_phy_aux_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_usb3_sec_phy_aux_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_usb3_sec_phy_com_aux_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_usb3_sec_phy_aux_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_usb3_sec_phy_aux_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,
                .enable_mask = BIT(0),
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_usb3_sec_phy_pipe_clk",
-                       .parent_data = &(const struct clk_parent_data){
-                               .hw = &gcc_usb3_sec_phy_pipe_clk_src.clkr.hw,
+                       .parent_hws = (const struct clk_hw*[]){
+                               &gcc_usb3_sec_phy_pipe_clk_src.clkr.hw,
                        },
                        .num_parents = 1,
                        .flags = CLK_SET_RATE_PARENT,