Lines Matching +full:system +full:- +full:clock +full:- +full:fixed

1 // SPDX-License-Identifier: GPL-2.0
3 * Marvell Armada AP806 System Controller
7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
11 #define pr_fmt(fmt) "ap806-system-controller: " fmt
14 #include <linux/clk-provider.h>
99 return -EINVAL; in ap806_get_sar_clocks()
123 return -EINVAL; in ap807_get_sar_clocks()
134 struct device *dev = &pdev->dev; in ap806_syscon_common_probe()
135 struct device_node *np = dev->of_node; in ap806_syscon_common_probe()
154 if (of_device_is_compatible(pdev->dev.of_node, in ap806_syscon_common_probe()
155 "marvell,ap806-clock")) { in ap806_syscon_common_probe()
157 } else if (of_device_is_compatible(pdev->dev.of_node, in ap806_syscon_common_probe()
158 "marvell,ap807-clock")) { in ap806_syscon_common_probe()
162 return -EINVAL; in ap806_syscon_common_probe()
175 name = ap_cp_unique_name(dev, syscon_node, "pll-cluster-0"); in ap806_syscon_common_probe()
183 name = ap_cp_unique_name(dev, syscon_node, "pll-cluster-1"); in ap806_syscon_common_probe()
191 /* Fixed clock is always 1200 Mhz */ in ap806_syscon_common_probe()
192 fixedclk_name = ap_cp_unique_name(dev, syscon_node, "fixed"); in ap806_syscon_common_probe()
200 /* MSS Clock is fixed clock divided by 6 */ in ap806_syscon_common_probe()
209 /* SDIO(/eMMC) Clock is fixed clock divided by 3 */ in ap806_syscon_common_probe()
219 /* AP-DCLK(HCLK) Clock is DDR clock divided by 2 */ in ap806_syscon_common_probe()
220 name = ap_cp_unique_name(dev, syscon_node, "ap-dclk"); in ap806_syscon_common_probe()
251 dev_warn(&pdev->dev, FW_WARN "Using legacy device tree binding\n"); in ap806_syscon_legacy_probe()
252 dev_warn(&pdev->dev, FW_WARN "Update your device tree:\n"); in ap806_syscon_legacy_probe()
253 dev_warn(&pdev->dev, FW_WARN in ap806_syscon_legacy_probe()
256 return ap806_syscon_common_probe(pdev, pdev->dev.of_node); in ap806_syscon_legacy_probe()
262 return ap806_syscon_common_probe(pdev, pdev->dev.of_node->parent); in ap806_clock_probe()
266 { .compatible = "marvell,ap806-system-controller", },
273 .name = "marvell-ap806-system-controller",
281 { .compatible = "marvell,ap806-clock", },
282 { .compatible = "marvell,ap807-clock", },
289 .name = "marvell-ap806-clock",