]> git.sur5r.net Git - u-boot/commitdiff
USB: ehci-atmel: use pcr to enable or disable clock
authorBo Shen <voice.shen@atmel.com>
Wed, 6 Aug 2014 09:24:57 +0000 (17:24 +0800)
committerAndreas Bießmann <andreas.devel@googlemail.com>
Thu, 18 Sep 2014 22:11:21 +0000 (00:11 +0200)
If the SoC has pcr, we use pcr (peripheral control register)
to enable or disable clock.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
drivers/usb/host/ehci-atmel.c

index 9ffe5010be959270f6e483d8572bff4141a0d475..9a8f004ecebc99fbcf6278ba6d2b716484ebb00c 100644 (file)
@@ -40,7 +40,11 @@ int ehci_hcd_init(int index, enum usb_init_type init,
        }
 
        /* Enable USB Host clock */
+#ifdef CPU_HAS_PCR
+       at91_periph_clk_enable(ATMEL_ID_UHPHS);
+#else
        writel(1 << ATMEL_ID_UHPHS, &pmc->pcer);
+#endif
 
        *hccr = (struct ehci_hccr *)ATMEL_BASE_EHCI;
        *hcor = (struct ehci_hcor *)((uint32_t)*hccr +
@@ -55,7 +59,11 @@ int ehci_hcd_stop(int index)
        ulong start_time, tmp_time;
 
        /* Disable USB Host Clock */
+#ifdef CPU_HAS_PCR
+       at91_periph_clk_disable(ATMEL_ID_UHPHS);
+#else
        writel(1 << ATMEL_ID_UHPHS, &pmc->pcdr);
+#endif
 
        start_time = get_timer(0);
        /* Disable UTMI PLL */