> Subject: [PATCH v2 3/4] clk: imx95: enable the clock of NETCMIX block > control > > The NETCMIX block control consists of registers for configuration of > peripherals in the NETC domain, so enable the clock of NETCMIX to > support the configuration. > > Signed-off-by: Wei Fang <wei.fang@xxxxxxx> > --- > V2: > Add RMII reference clock mux for ENETC0 and ENETC1. > --- > drivers/clk/imx/clk-imx95-blk-ctl.c | 30 > +++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/drivers/clk/imx/clk-imx95-blk-ctl.c b/drivers/clk/imx/clk- > imx95-blk-ctl.c > index 74f595f9e5e3..19a62da74be4 100644 > --- a/drivers/clk/imx/clk-imx95-blk-ctl.c > +++ b/drivers/clk/imx/clk-imx95-blk-ctl.c > @@ -248,6 +248,35 @@ static const struct imx95_blk_ctl_dev_data > dispmix_csr_dev_data = { > .clk_reg_offset = 0, > }; > > +static const struct imx95_blk_ctl_clk_dev_data > netxmix_clk_dev_data[] = { > + [IMX95_CLK_NETCMIX_ENETC0_RMII] = { > + .name = "enetc0_rmii_sel", > + .parent_names = (const char *[]){"ext_enetref", > "enetref"}, > + .num_parents = 2, > + .reg = 4, > + .bit_idx = 5, > + .bit_width = 1, > + .type = CLK_MUX, > + .flags = CLK_SET_RATE_NO_REPARENT | > CLK_SET_RATE_PARENT, > + }, > + [IMX95_CLK_NETCMIX_ENETC1_RMII] = { > + .name = "enetc1_rmii_sel", > + .parent_names = (const char *[]){"ext_enetref", > "enetref"}, > + .num_parents = 2, > + .reg = 4, Both the entry use reg address 4, use a lock to protect? Regards, Peng. > + .bit_idx = 10, > + .bit_width = 1, > + .type = CLK_MUX, > + .flags = CLK_SET_RATE_NO_REPARENT | > CLK_SET_RATE_PARENT, > + }, > +}; > + > +static const struct imx95_blk_ctl_dev_data netcmix_dev_data = { > + .num_clks = ARRAY_SIZE(netxmix_clk_dev_data), > + .clk_dev_data = netxmix_clk_dev_data, > + .clk_reg_offset = 0, > +}; > + > static int imx95_bc_probe(struct platform_device *pdev) { > struct device *dev = &pdev->dev; > @@ -419,6 +448,7 @@ static const struct of_device_id > imx95_bc_of_match[] = { > { .compatible = "nxp,imx95-lvds-csr", .data = > &lvds_csr_dev_data }, > { .compatible = "nxp,imx95-display-csr", .data = > &dispmix_csr_dev_data }, > { .compatible = "nxp,imx95-vpu-csr", .data = > &vpublk_dev_data }, > + { .compatible = "nxp,imx95-netcmix-blk-ctrl", .data = > +&netcmix_dev_data}, > { /* Sentinel */ }, > }; > MODULE_DEVICE_TABLE(of, imx95_bc_of_match); > -- > 2.34.1