On Mon, Aug 22, 2016 at 6:15 PM, Stephen Warren <[email protected]> wrote:
>
> On 08/22/2016 08:37 AM, vinoth eswaran wrote:
>>
>> Hello Developers,
>>
>>   Currently I am working on an embedded project using Tegra Jetson Tk1
>> board. The Linux Kernel version is 4.7 and the u-boot version is v2016.05.
>> I am building a customised Linux kernel and u-boot to have the fastest boot
>> time possible.
>>
>> During Kernel startup I am seeing some error messages related to CPU clock
>> frequencies like,
>>
>> [    0.000000] Tegra clk 127: register failed with -17
>>
>> [    4.275805] cpufreq: cpufreq_online: CPU0: Running at unlisted freq:
>> 696000 KHz
>> [    4.275845] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency
>> changed to: 714000 KHz
>>
>> On seeing the bootchart I have a feeling that the cpu clock frequency might
>> be low - as lot of drivers are taking more time than usual, so I now wish
>> to know what frequency does the cpu cores are running on during boot time.
>> I am not clear on who is responsible(u-boot/kernel) for setting up the cpu
>> clock frequency during the boot time.
>>
>> In u-boot which modules do I need to look to get information about cpu
>> frequency being set.
>
>
> This all happens on SoC-specific code; take a look at arch/arm/mach-tegra/.
>
> I don't immediately see anything that sets a particular clock rate for the 
> CPU, so I'm not sure what clock rate the CPU runs at for Tega124. I'm CC'ing 
> Tom Warren in case he can recall. If you "#define DEBUG" in 
> arch/arm/mach-tegra/clock.c, then clock_init() will print out the PLL clock 
> rates. However, I can't guarantee it'll print the correct rates; it's debug 
> code that was added early on (i.e. prior to Tegra124 support being added) so 
> it's possible it hasn't been updated to get the correct answer on more recent 
> SoCs. Oh, and IIRC the CPU can run on either PLL_X or some other PLL. You'd 
> need to check which clock source is in use by reading the CAR registers; see 
> the TRM for details of the CAR.
>
> Also note that the memory controller clock likely boots at a non-maximal 
> rate. This is controlled by the BCT.
>
> Typically both the CPU clock and memory controller clock run at non-maximal 
> rates at boot time, and hence during U-Boot. That's because using higher 
> rates may (a) require PMIC programming, and (b) not be safe without active 
> thermal management. I don't remember which frequency/voltage combinations are 
> legal/tested/thermally-safe. If you need more details here, the NVIDIA L4T 
> web forums are the best place to get answers; visit 
> http://developer.nvidia.com/embedded-computing the follow the community link, 
> then follow the forum link.
>
> Once the kernel boots, it is responsible for any clock management. If 
> higher-than-default clocks are required, the kernel is responsible for 
> selecting these.

After enabling the debug messages in clock.c and tegra124/clock.c I am
seeing the following messages during u-boot start up.

get_pll: Invalid PLL 6
Osc = 12000000
CLKM = 12000000
PLLC = 88000000
PLLM = 924000000
PLLP = 408000000
PLLU = 960000000
PLLD = 925000000
PLLX = 0
PLLP 5801980c is correct
periph 47, rate=6400000, reg=60006128 = 7e
Requested clock rate 6400000 not honored (got 6375000)
periph 47, rate=166400000, reg=60006128 = 3
Requested clock rate 166400000 not honored (got 163200000)
MC:   board_mmc_init called
board_mmc_init: init MMC
periph 15, rate=20000000, reg=60006164 = 27
Requested clock rate 20000000 not honored (got 19902439)
periph 69, rate=20000000, reg=600061bc = 27
Requested clock rate 20000000 not honored (got 19902439)
Tegra SD/MMC: 0, Tegra SD/MMC: 1
periph 15, rate=375000, reg=60006164 = 86
periph 15, rate=375000, reg=60006164 = 86
periph 15, rate=48000000, reg=60006164 = f

I am seeing lot of requested clock rates are not honored, which I
assume to be meaning unable to set to the requested clock frequency
and other frequencies being set.
which is the frequency it is currently running on?

Thanks & Regards,
Vinothkumar
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to