Hi Wenyou,

On 10/28/2015 13:25 PM, Yang, Wenyou wrote:
@@ -173,3 +174,67 @@ void at91_periph_clk_disable(int id)
> >
> >       writel(regval, &pmc->pcr);
> >   }
> >+
> >+void at91_enable_periph_generated_clk(u32 id) {
> >+      struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC;
> >+      u32 regval, status;
> >+      u32 timeout = 1000;
> >+
> >+      if (id > AT91_PMC_PCR_PID_MASK)
> >+              return;
> >+
> >+      writel(id, &pmc->pcr);
> >+      regval = readl(&pmc->pcr);
> >+      regval &= ~AT91_PMC_PCR_GCKCSS;
> >+      regval &= ~AT91_PMC_PCR_GCKDIV;
> >+      regval |= AT91_PMC_PCR_GCKCSS_PLLA_CLK |
> >+                AT91_PMC_PCR_CMD_WRITE |
> >+                AT91_PMC_PCR_GCKDIV_(1) |
> >+                AT91_PMC_PCR_GCKEN;
>
>You hard code the GCKCSS and GCKDIV. Would it be OK for all peripheral which
>need this kind of clock? Can you make it as a parameter?
As you know,  our use-case is not complex, it is only used for one or two 
peripherals for now,
So to make it simple, use hard-code.

Maybe we will improve it in the future, but now it is enough.

I think if this can be dealt now, that will be better.

Anyway, thank you for your advice.

You are welcome.

Best Regards,
Bo Shen
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to