[U-Boot] [PATCH v2] arm: at91: clock: Add the generated clock support

Bo Shen voice.shen at gmail.com
Thu Oct 29 05:06:01 CET 2015


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


More information about the U-Boot mailing list