New Buildroot Release fsimx6-B2020.04 prebuild binaries not working on armstoneA9

  • Dear F&S support team,


    I'm configuring an own kernel based on the fsimx6-B2020.04 release. It is working with a few errors (explained later below).

    While trying to find out if these errors also are in the precompiled binaries of this release I found out that these are not working for me on armstoneA9.


    uboot-fsimx6-B2020.04.nb0

    armstonea9dl-B2020.04.dtb

    zImage-fsimx6-B2020.04


    The boot process stops at "Starting kernel..."


    Any idea?

    Hint: My kernel is 3.7 MB uImage - the precompiled is 5.7 MB zImage.



    And here the errors when running my own kernel based on the B2020.04 release:


    The concern is about the lines:

    Code
    1. clk: failed to reparent cko to ssi1: -22
    2. clk: failed to reparent cko2_sel to cko2: -22
    3. clk: couldn't set ssi1_sel clk rate to 24576000 (-22), current rate: 786432000
    4. clk: failed to reparent cko to ssi1: -22
    5. clk: failed to reparent cko2_sel to cko2: -22
    6. clk: couldn't set ssi1_sel clk rate to 24576000 (-22), current rate: 786432000

    and line

    Code
    1. ldb-bl: disabling

    So far everything is running on the device (RGB display / analog touchscreen).

    The backlight on PWM1 (Pin 32) is not running for now (maybe ldb-bl: disabling) ?


    Thanks in advance for any hint.

  • The default loadaddr has changed from kernel 4.1 (fsimx6-V3.1) to 4.9 (fsimx6-B2020.04). Now it is 11000000 (previously 10800000) and the device tree is loaded to 12000000 (previously 11000000). When you still have the old settings, you most probably did not erase the U-Boot environment when upgrading U-Boot. Issue the following commands in U-Boot


    nand erase.part UBootEnv

    reset


    Now you should have the correct default settings and the kernel will boot. Of course if you had set some own variables, you have to do this again now.


    The reason for this change is that the new kernel image uses more space when unzipped. With the old settings, it will overwrite the device tree that is stored behind it, which causes the kernel to fail. This is why it still works with your kernel that is slightly smaller.


    Thanks for pointing out the problem with the clock settings. This is in fact a bad setting in the armstonea9qdl.dtsi device tree. I have attached a small patch that will fix this. Apply to the source code with the following command

    Code
    1. patch -p1 < 0001-Fix-audio-clock-settings-in-armstonea9qdl.dtsi.patch

    Please note the less-than character for input redirection.


    Your F&S Support Team

  • Thanks.


    Resetting the UBootEnv fixed the kernel size problem and the audio clock patch fixed the errors.


    Now I'm still dealing with the non working PWM1 backlight on pin 32. What does the following kernel message mean?

    Code
    1. ldb-bl: disabling

    Here my device tree part:

    Code
    1. /* LVDS backlight PWM on LVDS connector and backlight connector */
    2. backlight_ldb {
    3.     compatible = "pwm-backlight";
    4.     power-supply = <&reg_ldb_bl>;
    5.     pwms = <&pwm1 0 500000 PWM_POLARITY_INVERTED>;
    6.     brightness-levels = <1 0 60 63 66 69 73 77 82 87 93 100 107 114 121 128 135 142 149 156 163 170 177 184 191 198 205 215 225 235 245 255>;
    7.     default-brightness-level = <31>;
    8.     fb-names = "ldb0", "ldb1";
    9. };