This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM1808: Kernel upgrade: AM1808 using linux kernel 4.19(OMAPL138_SDK )

Part Number: AM1808
Other Parts Discussed in Thread: OMAPL138,

Hi Expert,

The lastest release(2013) Linux version is 2.6 in TI website, now we need to update linux kernel, the solution is using linux 4.19 which is from OMAPL138 Linux PSDK (ti-processor-sdk-linux-omapl138-lcdk-06.03.00.106 ), we finished some migration on dts file and remove DSP related node/configuration, rebuild the kernel, after download the kernel into our board, it shows:

cpufreq: __target_index: Failed to change cpu frequency: -22

Description:

hardware environment:

1: UBL : AM1808’s UBL

2: u-boot: u-boot2013.01.01

3: PC: ubuntu18.04

4: SDK: ti-processor-sdk-linux-omapl138-lcdk-06.03.00.106

5: board: Customized board using AM1808E ZWT (456)

Code changes:(just kernel code in ti-processor-sdk-linux-omapl138-lcdk-06.03.00.106)

change device tree file:

1 arch/arm/boot/dts/da850-lcdk.dts:

comment three node: dsp_memory_region,sound and &dsp.

2 arch/arm/boot/dts/da850.dtsi:

comment two node: aliases and dsp: dsp@11800000 .

Others:

no change

Phenomenon:

When board start up and into uboot,download kernel , ramdisk and dtb into DDR by tftpboot command,and using bootm kernelAddr ramdiskAddr dtbAddr to start kernel,and kernel can start up and entry ramdisk, but it always show:

quary with command: cat /sys/devices/systrm/cpu/cpu0/cpufreq/

current running frequency (cpuinfo_cur_freq): 384MHZ

max support frequency (cpuinfo_max_freq ): 300MHZ

min support frequency ( cpuinfo_min_freq ):96MHZ

scaling_cur_freq: 96MHZ

kernel configuration:

Questions:

1, We used AM1808 UBL + uboot2013.01.01 + OAMPL138 Linux kernel, Is there any possible problem with this method? For example, UBoot version doesn't match with Kernel.

2, The AM1808 chip max freq is 456M . The cpuinfo_max_freq(300M) is the configured maximum OPP to operate from the Linux kernel, right? If yes, how to understand chip current running freq cpuinfo_cur_freq(384M) is larger than maximum OPP cpuinfo_max_freq (300M)? We  will  check and configure maximum OPP to operate as 456M from the Linux kernel then to see the result.

3,   How should we do to change the MAX?For example, to make CPU work in max freq,  Below are 3 methods we will try and any comments are welcome, 

a."# echo 384000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq"    

b. choose the maximum OPP to operate at from the Linux kernel

c.  u-boot> setenv maxcpuclk 456000000

Thanks very much.

  • Duplicate to this thread: https://e2e.ti.com/support/microcontrollers/other/f/908/t/933655

    Hi, Tom,

    I posted initial answers to the other thread, and will have all responses posted in that thread since they are duplicates. I'll need to do more research to reply some of the questions. 

    I'll close this thread.

    Rex

  • Hi Expert,

    we did the test according  to three ways:

    a."# echo 384000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq"    

    b. choose the maximum OPP to operate at from the Linux kernel

    c.  u-boot> setenv maxcpuclk 456000000

    the result is failed,Detailed as follows:

    a."# echo 384000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq"   

    ofcause, we changed the scaling_max_freq before set scaling_min_freq, and after set scaling_min_freq,The phenomenon is as follows

    It will loop out the print prompt,and stop after enter a command,we checked the frequency information:

    cpufreq max: 300000

    cpufreq min: 96000

    cpufreq cur: 384000

    scale max:300000

    scale min:300000

    scale cur:300000

    it looks wrong data.

    b,u-boot> setenv maxcpuclk 456000000

    after enter u-boot and setenv maxcpuclk 456000000,then when use bootm command,it failed to load kernel (stop after init random )as follow:

    c. choose the maximum OPP to operate at from the Linux kernel

    I just configure the kernel like this:

    but I cannot find Select Maximum option after second step( ti-processor-sdk-linux-omapl138-lcdk-06.03.00.106 SDK):

    Thanks very much.

  • Hi, Tab,

    Please use the following thread for all communication instead of having 2 so that all posts are captured in one thread which will be easier to search for future customers.

    https://e2e.ti.com/support/microcontrollers/other/f/908/t/933655

    I'll have this thread closed.

    Rex