[PATCH 05/10] ARM i.MX25: Enable all needed clocks during startup

Roberto Nibali rnibali at gmail.com
Mon Oct 8 17:18:17 EDT 2012


>> > +                       base + CCM_CGCR0);
>> > +
>> > +       writel((1 << 5) | (1 << 6) | (1 << 7) | (1 << 8) | (1 << 13) | (1 << 14) |
>> > +                       (1 << 15) | (1 << 19) | (1 << 20) | (1 << 21) | (1 << 22) |
>> > +                       (1 << 26) | (1 << 29) | (1 << 31),
>> > +                       base + CCM_CGCR1);
>> > +
>> > +       writel((1 << 0) | (1 << 1) | (1 << 2) | (1 << 10) | (1 << 13) | (1 << 14) |
>> > +                       (1 << 15) | (1 << 16) | (1 << 17) | (1 << 18),
>> > +                       base + CCM_CGCR2);
>>
>> Quite a change from writing 0x15692B58 (sum) to CGCR0, enabling PER
>> clocks esdhc1, esdhc2, i2c, nfc, owire, sim1, ssi1, and AHB clocks
>> ata, emi, esdhc1, esdhc2, lcdc, sdma, usbotg, to now enabling the
>> following clocks:
>>
>> PER: esdhc1, esdhc2, i2c, nfc, owire, pwm(!), uart (!)
>> AHB: emi, esdhc1, esdhc2, fec, lcdc, usbotg
>>
>> Why not enable all clocks (i.e. sim1, sim2, ssi1, ssi2)? Maybe because
>> we have no drivers (yet)?
>
> I really hope we do not get sound support in barebox...

Famous last words ... some marketing executive will find a reason to
do so in the future ;).

On a more serious note, I have in the past worked as a freelancer on a
project where they used sim1 and sim2, albeit there was no
functionality implemented into the boot loader. So I reckon your clock
enable selection is fine as is.

>> Or does it not matter, because each platform
>> driver is required to set the clocks anyway in the init routine?
>
> No, the strategy I want to follow is that we enable all necessary clocks
> for barebox during startup. Barebox normally does not run long enough to
> waste a significant amount og energy. The kernel will turn of the
> unneeded clocks anyway, so I think it's just not worth the effort (and
> binary size) to add proper clk gate support.

Fair enough.

>> IPG: cspi1, cspi2, cspi3, esdhc1, esdhc2, fec, gpt1, gpt2, gpt3, gpt4,
>> iim, LCDC_EN, pwm1, pwm2, pwm3, pwm4, spba, tsc, uart1, uart2, uart3,
>> uart4, uart5.
>
> Ok, can add this.

Cheers
Roberto



More information about the barebox mailing list