Lines Matching +full:s5pv210 +full:- +full:i2s
1 // SPDX-License-Identifier: GPL-2.0-only
10 * Driver for Audio Subsystem Clock Controller of S5PV210-compatible SoCs.
15 #include <linux/clk-provider.h>
21 #include <dt-bindings/clock/s5pv210-audss.h>
74 reg_base = devm_ioremap_resource(&pdev->dev, res); in s5pv210_audss_clk_probe()
76 dev_err(&pdev->dev, "failed to map audss registers\n"); in s5pv210_audss_clk_probe()
80 clk_data = devm_kzalloc(&pdev->dev, in s5pv210_audss_clk_probe()
85 return -ENOMEM; in s5pv210_audss_clk_probe()
87 clk_data->num = AUDSS_MAX_CLKS; in s5pv210_audss_clk_probe()
88 clk_table = clk_data->hws; in s5pv210_audss_clk_probe()
90 hclk = devm_clk_get(&pdev->dev, "hclk"); in s5pv210_audss_clk_probe()
92 dev_err(&pdev->dev, "failed to get hclk clock\n"); in s5pv210_audss_clk_probe()
96 pll_in = devm_clk_get(&pdev->dev, "fout_epll"); in s5pv210_audss_clk_probe()
98 dev_err(&pdev->dev, "failed to get fout_epll clock\n"); in s5pv210_audss_clk_probe()
102 sclk_audio = devm_clk_get(&pdev->dev, "sclk_audio0"); in s5pv210_audss_clk_probe()
104 dev_err(&pdev->dev, "failed to get sclk_audio0 clock\n"); in s5pv210_audss_clk_probe()
108 /* iiscdclk0 is an optional external I2S codec clock */ in s5pv210_audss_clk_probe()
109 cdclk = devm_clk_get(&pdev->dev, "iiscdclk0"); in s5pv210_audss_clk_probe()
110 pll_ref = devm_clk_get(&pdev->dev, "xxti"); in s5pv210_audss_clk_probe()
165 for (i = 0; i < clk_data->num; i++) { in s5pv210_audss_clk_probe()
167 dev_err(&pdev->dev, "failed to register clock %d\n", i); in s5pv210_audss_clk_probe()
173 ret = of_clk_add_hw_provider(pdev->dev.of_node, of_clk_hw_onecell_get, in s5pv210_audss_clk_probe()
176 dev_err(&pdev->dev, "failed to add clock provider\n"); in s5pv210_audss_clk_probe()
187 for (i = 0; i < clk_data->num; i++) { in s5pv210_audss_clk_probe()
196 { .compatible = "samsung,s5pv210-audss-clock", },
202 .name = "s5pv210-audss-clk",