Commit 42dc425f authored by Wei Fang's avatar Wei Fang Committed by Abel Vesa
Browse files

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: default avatarWei Fang <wei.fang@nxp.com>
Reviewed-by: default avatarPeng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/20240829011849.364987-4-wei.fang@nxp.com


Signed-off-by: default avatarAbel Vesa <abel.vesa@linaro.org>
parent b4f62001
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -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,
		.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);