Lines Matching +full:quartz +full:- +full:load +full:- +full:femtofarads
1 // SPDX-License-Identifier: GPL-2.0
9 #include <linux/clk-provider.h>
18 #include <dt-bindings/clock/renesas,r9a08g045-vbattb.h>
33 * struct vbattb_clk - VBATTB clock data structure
58 return -EINVAL; in vbattb_clk_validate_load_capacitance()
72 dev_err(dev, "Failed to de-assert reset!"); in vbattb_clk_action()
78 of_clk_del_provider(dev->of_node); in vbattb_clk_action()
83 struct device_node *np = pdev->dev.of_node; in vbattb_clk_probe()
87 struct device *dev = &pdev->dev; in vbattb_clk_probe()
98 of_property_read_u32(np, "quartz-load-femtofarads", &of_lc); in vbattb_clk_probe()
106 return -ENOMEM; in vbattb_clk_probe()
110 return -ENOMEM; in vbattb_clk_probe()
111 clk_data->num = num_clks; in vbattb_clk_probe()
113 vbclk->base = devm_platform_ioremap_resource(pdev, 0); in vbattb_clk_probe()
114 if (IS_ERR(vbclk->base)) in vbattb_clk_probe()
115 return PTR_ERR(vbclk->base); in vbattb_clk_probe()
140 spin_lock_init(&vbclk->lock); in vbattb_clk_probe()
144 vbclk->base + VBATTB_SOSCCR2, in vbattb_clk_probe()
146 CLK_GATE_SET_TO_DISABLE, &vbclk->lock); in vbattb_clk_probe()
149 clk_data->hws[VBATTB_XC] = hw; in vbattb_clk_probe()
154 clk_data->hws[VBATTB_XBYP] = hw; in vbattb_clk_probe()
156 parent_hws[0] = clk_data->hws[VBATTB_XC]; in vbattb_clk_probe()
157 parent_hws[1] = clk_data->hws[VBATTB_XBYP]; in vbattb_clk_probe()
159 vbclk->base + VBATTB_BKSCCR, in vbattb_clk_probe()
161 1, 0, &vbclk->lock); in vbattb_clk_probe()
164 clk_data->hws[VBATTB_MUX] = hw; in vbattb_clk_probe()
166 /* Set load capacitance before registering the VBATTCLK clock. */ in vbattb_clk_probe()
167 scoped_guard(spinlock, &vbclk->lock) { in vbattb_clk_probe()
168 u32 val = readl_relaxed(vbclk->base + VBATTB_XOSCCR); in vbattb_clk_probe()
172 writel_relaxed(val, vbclk->base + VBATTB_XOSCCR); in vbattb_clk_probe()
177 vbclk->base + VBATTB_XOSCCR, in vbattb_clk_probe()
179 &vbclk->lock); in vbattb_clk_probe()
183 clk_data->hws[VBATTB_VBATTCLK] = hw; in vbattb_clk_probe()
189 { .compatible = "renesas,r9a08g045-vbattb" },
196 .name = "renesas-vbattb-clk",