Lines Matching +full:am654 +full:- +full:ehrpwm +full:- +full:tbclk
1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) 2020 Texas Instruments Incorporated - https://www.ti.com/
6 #include <linux/clk-provider.h>
37 return regmap_write_bits(priv->regmap, priv->reg, priv->idx,
38 priv->idx);
45 regmap_write_bits(priv->regmap, priv->reg, priv->idx, 0);
53 regmap_read(priv->regmap, priv->reg, &val);
55 return !!(val & priv->idx);
76 return ERR_PTR(-ENOMEM);
80 name = kasprintf(GFP_KERNEL, "%s:%s", data->name, parent_name);
86 init.name = data->name;
92 priv->regmap = regmap;
93 priv->reg = data->offset;
94 priv->idx = BIT(data->bit_idx);
95 priv->hw.init = &init;
97 ret = devm_clk_hw_register(dev, &priv->hw);
105 return &priv->hw;
118 struct device *dev = &pdev->dev;
126 return -EINVAL;
138 for (p = data; p->name; p++)
141 num_parents = of_clk_get_parent_count(dev->of_node);
142 if (of_device_is_compatible(dev->of_node, "ti,am62-audio-refclk") &&
144 return dev_err_probe(dev, -EINVAL,
151 return -ENOMEM;
153 hw_data->num = num_clks;
155 parent_name = of_clk_get_parent_name(dev->of_node, 0);
157 hw_data->hws[i] = ti_syscon_gate_clk_register(dev, regmap,
160 if (IS_ERR(hw_data->hws[i]))
167 hw_data->hws[0]);
215 .compatible = "ti,am654-ehrpwm-tbclk",
219 .compatible = "ti,am64-epwm-tbclk",
223 .compatible = "ti,am62-epwm-tbclk",
227 .compatible = "ti,am62-audio-refclk",
237 .name = "ti-syscon-gate-clk",
244 MODULE_DESCRIPTION("Syscon backed gate-clock driver");