Lines Matching +full:starfive +full:- +full:jh7100
1 // SPDX-License-Identifier: GPL-2.0
3 * StarFive JH7100 Audio Clock Driver
9 #include <linux/clk-provider.h>
16 #include <dt-bindings/clock/starfive-jh7100-audio.h>
18 #include "clk-starfive-jh71x0.h"
93 priv = devm_kzalloc(&pdev->dev, struct_size(priv, reg, JH7100_AUDCLK_END), GFP_KERNEL);
95 return -ENOMEM;
97 spin_lock_init(&priv->rmw_lock);
98 priv->num_reg = JH7100_AUDCLK_END;
99 priv->dev = &pdev->dev;
100 priv->base = devm_platform_ioremap_resource(pdev, 0);
101 if (IS_ERR(priv->base))
102 return PTR_ERR(priv->base);
114 struct jh71x0_clk *clk = &priv->reg[idx];
121 parents[i].hw = &priv->reg[pidx].hw;
130 clk->hw.init = &init;
131 clk->idx = idx;
132 clk->max_div = max & JH71X0_CLK_DIV_MASK;
134 ret = devm_clk_hw_register(priv->dev, &clk->hw);
139 return devm_of_clk_add_hw_provider(priv->dev, jh71x0_clk_get, priv);
143 { .compatible = "starfive,jh7100-audclk" },
151 .name = "clk-starfive-jh7100-audio",
158 MODULE_DESCRIPTION("StarFive JH7100 audio clock driver");