[PATCH 2/2] bsp/lm4f120: new BSP to support TI LM4F120 XL LaunchPad board
Karel Gardas
karel.gardas at centrum.cz
Mon Aug 19 21:45:16 UTC 2013
On 08/19/13 10:40 PM, Eugeniy Meshcheryakov wrote:
> Hi,
>
>> uint32_t rcc = syscon->rcc;
>> + uint32_t rcc2 = syscon->rcc2;
>>
>> rcc = (rcc& ~SYSCONRCC_USESYSDIV) | SYSCONRCC_BYPASS;
>> + rcc2 |= SYSCONRCC2_BYPASS2;
>> +
>> + syscon->rcc = rcc;
>> + syscon->rcc2 = rcc2;
>> +
>> + rcc&= SYSCONRCC_MOSCDIS;
>> syscon->rcc = rcc;
>> + lm3s69xx_syscon_delay_3x_clocks(524288);
>>
>> rcc = (rcc& ~(SYSCONRCC_PWRDN | SYSCONRCC_XTAL_MSK | SYSCONRCC_OSCSRC_MSK))
>> | SYSCONRCC_XTAL(LM3S69XX_XTAL_CONFIG) | SYSCONRCC_OSCSRC_MOSC;
>> - syscon->rcc = rcc;
>> + rcc2 = (rcc2& ~(SYSCONRCC2_PWRDN2 | SYSCONRCC2_USERCC2 | SYSCONRCC2_OSCSRC2_MSK))
>> + | SYSCONRCC2_USERCC2 | SYSCONRCC2_OSCSRC2_MSK;
> ^^^^^^^^^^^^^^^^^^
> Here is one more problem. You are using RCC2 unconditionally, so I think
> you do not need most of the code that uses RCC here.
This was intentional since I've not been sure if your MCUs support RCC2.
Now I see, they should... (i.e. being Fure and DustDevil classes)
> I think the problem
> you saw was because you were overwritting settings made to RCC by
> writing to RCC2 or other way around. Please use only RCC2 here, except
> maybe for bits that are in RCC but not in RCC2. But then be careful with
> cached values of registers. Especially you do not have to set clock
> divisor value in RCC.
OK, I'll try to rewrite this part.
Thanks for the review!
Karel
More information about the devel
mailing list