]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/clk/at91/pmc.c
Merge remote-tracking branch 'clk/clk-next'
[karo-tx-linux.git] / drivers / clk / at91 / pmc.c
index d1844f1f37292a79bac681d9037141586b4ba203..8476b570779b2d2b04ce1b4283eec0688febd4d3 100644 (file)
@@ -206,6 +206,14 @@ static const struct at91_pmc_caps at91sam9x5_caps = {
                          AT91_PMC_MOSCRCS | AT91_PMC_CFDEV,
 };
 
+static const struct at91_pmc_caps sama5d2_caps = {
+       .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_MCKRDY |
+                         AT91_PMC_LOCKU | AT91_PMC_PCK0RDY |
+                         AT91_PMC_PCK1RDY | AT91_PMC_PCK2RDY |
+                         AT91_PMC_MOSCSELS | AT91_PMC_MOSCRCS |
+                         AT91_PMC_CFDEV | AT91_PMC_GCKRDY,
+};
+
 static const struct at91_pmc_caps sama5d3_caps = {
        .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_MCKRDY |
                          AT91_PMC_LOCKU | AT91_PMC_PCK0RDY |
@@ -368,6 +376,12 @@ static const struct of_device_id pmc_clk_ids[] __initconst = {
                .compatible = "atmel,sama5d4-clk-h32mx",
                .data = of_sama5d4_clk_h32mx_setup,
        },
+#endif
+#if defined(CONFIG_HAVE_AT91_GENERATED_CLK)
+       {
+               .compatible = "atmel,sama5d2-clk-generated",
+               .data = of_sama5d2_clk_generated_setup,
+       },
 #endif
        { /*sentinel*/ }
 };
@@ -436,6 +450,13 @@ static void __init of_at91sam9x5_pmc_setup(struct device_node *np)
 CLK_OF_DECLARE(at91sam9x5_clk_pmc, "atmel,at91sam9x5-pmc",
               of_at91sam9x5_pmc_setup);
 
+static void __init of_sama5d2_pmc_setup(struct device_node *np)
+{
+       of_at91_pmc_setup(np, &sama5d2_caps);
+}
+CLK_OF_DECLARE(sama5d2_clk_pmc, "atmel,sama5d2-pmc",
+              of_sama5d2_pmc_setup);
+
 static void __init of_sama5d3_pmc_setup(struct device_node *np)
 {
        of_at91_pmc_setup(np, &sama5d3_caps);