Jump to content

martinayotte

Members
  • Posts

    3892
  • Joined

  • Last visited

Posts posted by martinayotte

  1. I've been using Dynamic Overlay to load SPIs into the DTS. There is no need to do any modprobe, since the Kernel will load it automatically when DTS is updated.

    mkdir /sys/kernel/config/device-tree/overlays/spi
    cat spidev-enable.dtbo > /sys/kernel/config/device-tree/overlays/spi/dtbo
    

     

     

    // Enable the spidev interface
    /dts-v1/;
    /plugin/;

    / {
        compatible = "allwinner,sun8i-h3";

        fragment@0 {
        target-path = "/aliases";
        __overlay__ {
                /* Path to the SPI controller nodes */
                spi0 = "/soc@01c00000/spi@01c68000";
                spi1 = "/soc@01c00000/spi@01c69000";
            };
        };
        fragment@1 {
            target = <&spi0>;
            __overlay__ {
                pinctrl-names = "default";
                pinctrl-0 = <&spi0_pins_a>, <&spi0_cs0_pins_a>;
                status = "okay";
                #address-cells = <1>;
                #size-cells = <0>;
                spidev@0 {
                    compatible = "spidev";
                    reg = <0x0>;
                    spi-max-frequency = <1000000>;
                };
            };
        };
        fragment@2 {
            target = <&spi1>;
            __overlay__ {
                pinctrl-names = "default";
                pinctrl-0 = <&spi1_pins_a>, <&spi1_cs0_pins_a>;
                status = "okay";
                #address-cells = <1>;
                #size-cells = <0>;
                spidev@0 {
                    compatible = "spidev";
                    reg = <0x0>;
                    spi-max-frequency = <1000000>;
                };
            };
        };
    };

     

  2. All Armbian images are using a U-Boot that is EXT4 aware, so SD images has only one EXT4 partition.

     

    As Pieter said, checking the debug serial output will help to figure where it is choking.

    Tip: attach a ttl-usb cable between your orange pi and your pc and watch what happens on boot.

  3. For those who are interested, here are some DT Overlay samples.

     

    i2c-enable.dts :

     

     

    // Enable the i2c interface
    /dts-v1/;
    /plugin/;

    / {
        compatible = "allwinner,sun8i-h3";

        fragment@0 {
        target-path = "/aliases";
        __overlay__ {
                /* Path to the i2c2 controller node */
                i2c0 = "/soc@01c00000/i2c@01c2ac00";
                i2c1 = "/soc@01c00000/i2c@01c2b000";
                i2c2 = "/soc@01c00000/i2c@01c2b400";
            };
        };
        fragment@1 {
            target = <&i2c0>;
            __overlay__ {
                status = "okay";
            };
        };
        fragment@2 {
            target = <&i2c1>;
            __overlay__ {
                clock-frequency = <400000>;
    //            clock-frequency = <100000>;
                status = "okay";
            };
        };
        fragment@3 {
            target = <&i2c2>;
            __overlay__ {
                status = "okay";
            };
        };
    };

     

     

    spidev-enable.dts :

     

     

    // Enable the spidev interface
    /dts-v1/;
    /plugin/;

    / {
        compatible = "allwinner,sun8i-h3";

        fragment@0 {
        target-path = "/aliases";
        __overlay__ {
                /* Path to the SPI controller nodes */
                spi0 = "/soc@01c00000/spi@01c68000";
                spi1 = "/soc@01c00000/spi@01c69000";
            };
        };
        fragment@1 {
            target = <&spi0>;
            __overlay__ {
                pinctrl-names = "default";
                pinctrl-0 = <&spi0_pins_a>, <&spi0_cs0_pins_a>;
                status = "okay";
                #address-cells = <1>;
                #size-cells = <0>;
                spidev@0 {
                    compatible = "spidev";
                    reg = <0x0>;
                    spi-max-frequency = <1000000>;
                };
            };
        };
        fragment@2 {
            target = <&spi1>;

            __overlay__ {
                pinctrl-names = "default";
                pinctrl-0 = <&spi1_pins_a>,
                        <&spi1_cs0_pins_a>;
                status = "okay";
                #address-cells = <1>;
                #size-cells = <0>;

                spidev@1{
                    compatible = "spidev";
                    reg = <0>;
                    spi-max-frequency = <1000000>;
                };
            };
        };
    };

     

  4. For those who are interested, here are some DT Overlay samples.

     

    i2c-enable.dts :

     

     

    // Enable the i2c interface
    /dts-v1/;
    /plugin/;

    / {
        compatible = "allwinner,sun8i-h3";

        fragment@0 {
        target-path = "/aliases";
        __overlay__ {
                /* Path to the i2c2 controller node */
                i2c0 = "/soc@01c00000/i2c@01c2ac00";
                i2c1 = "/soc@01c00000/i2c@01c2b000";
                i2c2 = "/soc@01c00000/i2c@01c2b400";
            };
        };
        fragment@1 {
            target = <&i2c0>;
            __overlay__ {
                status = "okay";
            };
        };
        fragment@2 {
            target = <&i2c1>;
            __overlay__ {
                clock-frequency = <400000>;
    //            clock-frequency = <100000>;
                status = "okay";
            };
        };
        fragment@3 {
            target = <&i2c2>;
            __overlay__ {
                status = "okay";
            };
        };
    };

     

     

    spidev-enable.dts :

     

     

    // Enable the spidev interface
    /dts-v1/;
    /plugin/;

    / {
        compatible = "allwinner,sun8i-h3";

        fragment@0 {
        target-path = "/aliases";
        __overlay__ {
                /* Path to the SPI controller nodes */
                spi0 = "/soc@01c00000/spi@01c68000";
                spi1 = "/soc@01c00000/spi@01c69000";
            };
        };
        fragment@1 {
            target = <&spi0>;
            __overlay__ {
                pinctrl-names = "default";
                pinctrl-0 = <&spi0_pins_a>, <&spi0_cs0_pins_a>;
                status = "okay";
                #address-cells = <1>;
                #size-cells = <0>;
                spidev@0 {
                    compatible = "spidev";
                    reg = <0x0>;
                    spi-max-frequency = <1000000>;
                };
            };
        };
        fragment@2 {
            target = <&spi1>;

            __overlay__ {
                pinctrl-names = "default";
                pinctrl-0 = <&spi1_pins_a>,
                        <&spi1_cs0_pins_a>;
                status = "okay";
                #address-cells = <1>;
                #size-cells = <0>;

                spidev@1{
                    compatible = "spidev";
                    reg = <0>;
                    spi-max-frequency = <1000000>;
                };
            };
        };
    };

     

  5. HI TKaiser,

    Ok, until recently (my last build on Aug 20th), we were still using the orange-pi-4.6, so I will take a look.

    In fact, for the sunxi-dev, I've already done the change by simply using the same patch done for 4.8 into 4.7.

    So, I'm currently doing a new build, if it is the same case, I will commit the things needed : delete or disabling the old 4.6.x and copy the 4.8 into a 4.7.x.

     

    EDIT : We are still using orange-pi-4.6 in the sun8i-dev config, but I gave a try switching it to orange-pi-4.7.

    I will commit those changes soon. I hope the switch from 4.6.x to 4.7.x won't cause any other patch issues.

    (For the schedutil governor, I'm not fluent with those pieces ... What we have to do exactly ?)

  6. Hi Zador,

    Patches need to be updated for kernel 4.7, I disabled them since they weren't applied cleanly.  :(

    No worries, I've used the 4.8 version I've already done in sunxi-dev and it works, so I will submit PR in few minutes.

    The only thing that would be appreciated is to let authors know when such things are disactivated instead of leaving them figure out several days later :unsure:

     

    single press of reset button booted it further to u-boot prompt.

    And second boot attempt loaded u-boot after first try, without resetting the board.

    It is still doesn't work for me as a workaround.

    But it is working is the SRAM Stack patch is unpatched. So, I've prepared the unpatch_sun50i_sram_stack_issue.patch for my next PR.

     

    I missed address part in some ext4load/fatload commands while merging legacy and mainline boot scripts, should be fixed now.

    Yes, thanks for that fix. No more need to manually type the boot.cmd in u-boot shell ... ;)

     

    EDIT : PR done ! (and since Igor gave me github rights, PR merged ...)

    I've also added a /proc/cpuinfo patch to allow compatibility of RPi.GPIO-PineA64 against the older Longsleep kernel, by adding Processor/Hardware entries.

  7. Hi Zador,

    Thanks for the hints,

    I've recompiled with having this patch Reverted : https://github.com/linux-sunxi/u-boot-sunxi/commit/1a83fb4a17d959d7b037999ab7ed7e62429abe34

    U-Boot is now comes up, but with errors about ethernet, and fallback to prompt.

    It seems that it doesn't look at the boot.scr.

    It complains about "Unrecognized filesystem" but when prompt come up, I can easily do "ls mmc 0 /boot" ont the Ext4.

    It is like it doesn't know Ext4 until getting to the prompt.

    So, I've copy/paste boot.cmd commands, and it boot succesfully, but it is a tedious task on every reboot :P

     

    Here are the ethernet errors (BTW, all forums are different : how to make this output as spoiler ?) :

     

     

    HELLO! BOOT0 is starting!
    boot0 commit : 045061a8bb2580cb3fa02e301f52a015040c158f
     
    boot0 version : 4.0.0
    set pll start
    set pll end
    rtc[0] value = 0x00000000
    rtc[1] value = 0x00000000
    rtc[2] value = 0x00000000
    rtc[3] value = 0x00000000
    rtc[4] value = 0x00000000
    rtc[5] value = 0x00000000
    DRAM driver version: V1.1
    rsb_send_initseq: rsb clk 400Khz -> 3Mhz
    PMU: AXP81X
    ddr voltage = 1500 mv
    DRAM Type = 3 (2:DDR2,3:DDR3,6:LPDDR2,7:LPDDR3)
    DRAM clk = 672 MHz
    DRAM zq value: 003b3bbb
    DRAM single rank full DQ OK
    DRAM size = 2048 MB
    DRAM init ok
    dram size =2048
    card boot number = 0, boot0 copy = 0
    card no is 0
    sdcard 0 line count 4
    [mmc]: mmc driver ver 2015-05-08 20:06
    [mmc]: sdc0 spd mode error, 2
    [mmc]: Wrong media type 0x00000000
    [mmc]: ***Try SD card 0***
    [mmc]: HSSDR52/SDR25 4 bit
    [mmc]: 50000000 Hz
    [mmc]: 15193 MB
    [mmc]: ***SD/MMC 0 init OK!!!***
    sdcard 0 init ok
    The size of uboot is 00068000.
    sum=064d2b8c
    src_sum=064d2b8c
    Succeed in loading uboot from sdmmc flash.
    boot0: start load other image
    boot0: Loading BL3-1
    Loading file 0 at address 0x40000000,size 0x00000200 success
    boot0: Loading scp
    Loading file 2 at address 0x00040000,size 0x0000c200 success
    set arisc reset to de-assert state
    Ready to disable icache.
    Jump to secend Boot.
    NOTICE:  BL3-1: Running in SRAM A2 (@0x44000)
    NOTICE:  Configuring SPC Controller
    NOTICE:  BL3-1: v1.0(debug):f11ecb4
    NOTICE:  BL3-1: Built : 20:02:40, Aug 19 2016
    NOTICE:  Configuring AXP PMIC
    NOTICE:  PMIC: already configured for RSB
    NOTICE:  PMIC: setup successful
    INFO:    BL3-1: Initializing runtime services
    INFO:    BL3-1: Preparing for EL3 exit to normal world
    INFO:    BL3-1: Next image address: 0x4a000000, SPSR: 0x3c9
    
    
    U-Boot 2016.09-rc1-g793fd86-dirty (Aug 19 2016 - 20:02:42 -0400) Allwinner Technology
    
    CPU:   Allwinner A64 (SUN50I)
    Model: Pine64+
    DRAM:  2 GiB
    MMC:   SUNXI SD/MMC: 0
    *** Warning - bad CRC, using default environment
    
    In:    serial
    Out:   serial
    Err:   serial
    Net:   phy interface7
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    starting USB...
    No controllers found
    Hit any key to stop autoboot:  0 
    switch to partitions #0, OK
    mmc0 is current device
    Scanning mmc 0:1...
    Found U-Boot script /boot/boot.scr
    1574 bytes read in 175 ms (7.8 KiB/s)
    ## Executing script at 4fc00000
    ext4load - load binary file from a Ext4 filesystem
    
    Usage:
    ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]]
        - load binary file 'filename' from 'dev' on 'interface'
          to address 'addr' from ext4 filesystem
    ** Unrecognized filesystem type **
    ext4load - load binary file from a Ext4 filesystem
    
    Usage:
    ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]]
        - load binary file 'filename' from 'dev' on 'interface'
          to address 'addr' from ext4 filesystem
    ext4load - load binary file from a Ext4 filesystem
    
    Usage:
    ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]]
        - load binary file 'filename' from 'dev' on 'interface'
          to address 'addr' from ext4 filesystem
    ** Unrecognized filesystem type **
    ext4load - load binary file from a Ext4 filesystem
    
    Usage:
    ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]]
        - load binary file 'filename' from 'dev' on 'interface'
          to address 'addr' from ext4 filesystem
    ext4load - load binary file from a Ext4 filesystem
    
    Usage:
    ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]]
        - load binary file 'filename' from 'dev' on 'interface'
          to address 'addr' from ext4 filesystem
    ** Unrecognized filesystem type **
    ext4load - load binary file from a Ext4 filesystem
    
    Usage:
    ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]]
        - load binary file 'filename' from 'dev' on 'interface'
          to address 'addr' from ext4 filesystem
    ext4load - load binary file from a Ext4 filesystem
    
    Usage:
    ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]]
        - load binary file 'filename' from 'dev' on 'interface'
          to address 'addr' from ext4 filesystem
    ** Unrecognized filesystem type **
    ext4load - load binary file from a Ext4 filesystem
    
    Usage:
    ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]]
        - load binary file 'filename' from 'dev' on 'interface'
          to address 'addr' from ext4 filesystem
    Bad Linux ARM64 Image magic!
    SCRIPT FAILED: continuing...
    starting USB...
    No controllers found
    USB is stopped. Please issue 'usb start' first.
    starting USB...
    No controllers found
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    missing environment variable: pxeuuid
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    missing environment variable: bootfile
    Retrieving file: pxelinux.cfg/00000000
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    missing environment variable: bootfile
    Retrieving file: pxelinux.cfg/0000000
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    missing environment variable: bootfile
    Retrieving file: pxelinux.cfg/000000
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    missing environment variable: bootfile
    Retrieving file: pxelinux.cfg/00000
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    missing environment variable: bootfile
    Retrieving file: pxelinux.cfg/0000
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    missing environment variable: bootfile
    Retrieving file: pxelinux.cfg/000
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    missing environment variable: bootfile
    Retrieving file: pxelinux.cfg/00
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    missing environment variable: bootfile
    Retrieving file: pxelinux.cfg/0
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    missing environment variable: bootfile
    Retrieving file: pxelinux.cfg/default-arm-sunxi
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    missing environment variable: bootfile
    Retrieving file: pxelinux.cfg/default-arm
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    missing environment variable: bootfile
    Retrieving file: pxelinux.cfg/default
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    Config file not found
    starting USB...
    No controllers found
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    No ethernet found.
    phy interface7
    mdio_register: non unique device name 'ethernet@01c30000'
    
    Error: ethernet@01c30000 address not set.
    => <INTERRUPT>
    => 
    
    => setenv bootargs "console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 panic=10 consoleblank=0 enforcing=0 loglevel=7"
    => ext4load mmc 0 ${fdt_addr_r} /boot/dtb/allwinner/${fdtfile}
    11661 bytes read in 243 ms (45.9 KiB/s)
    => ext4load mmc 0 ${ramdisk_addr_r} /boot/uInitrd
    2910499 bytes read in 391 ms (7.1 MiB/s)
    => ext4load mmc 0 ${kernel_addr_r} /boot/Image
    12530176 bytes read in 999 ms (12 MiB/s)
    => booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
    
    

     

     

    Those few manual copy/paste lines at the end making the boot process occurred successfully ...

     

    (on a SideNote, I'm seeing that my DT ConfigFS patches are not apply in this PineA64 flavor, I will have to dig that too ...

     

    Grrrr ! first investigation is that you disabled it 3 days ago : https://github.com/igorpecovnik/lib/commit/735dee1d4da978331ed018c948938b2473f9c90e

     

    Could tell me what was wrong there ? ... And please, send notice when such thing occurs ... :angry: )

  8. I've decided to give a try for a Mainline PineA64 Armbian Full Image build.

     

    Unfortenately, it seems that U-Boot is not in good shape, it stall right at the beginning without even trying to load kernel :

    HELLO! BOOT0 is starting!
    boot0 commit : 045061a8bb2580cb3fa02e301f52a015040c158f
     
    boot0 version : 4.0.0
    set pll start
    set pll end
    rtc[0] value = 0x00000000
    rtc[1] value = 0x00000000
    rtc[2] value = 0x00000000
    rtc[3] value = 0x00000000
    rtc[4] value = 0x00000000
    rtc[5] value = 0x00000000
    DRAM driver version: V1.1
    rsb_send_initseq: rsb clk 400Khz -> 3Mhz
    PMU: AXP81X
    ddr voltage = 1500 mv
    DRAM Type = 3 (2:DDR2,3:DDR3,6:LPDDR2,7:LPDDR3)
    DRAM clk = 672 MHz
    DRAM zq value: 003b3bbb
    DRAM single rank full DQ OK
    DRAM size = 2048 MB
    DRAM init ok
    dram size =2048
    card boot number = 0, boot0 copy = 0
    card no is 0
    sdcard 0 line count 4
    [mmc]: mmc driver ver 2015-05-08 20:06
    [mmc]: sdc0 spd mode error, 2
    [mmc]: Wrong media type 0x00000000
    [mmc]: ***Try SD card 0***
    [mmc]: HSSDR52/SDR25 4 bit
    [mmc]: 50000000 Hz
    [mmc]: 29664 MB
    [mmc]: ***SD/MMC 0 init OK!!!***
    sdcard 0 init ok
    The size of uboot is 00068000.
    sum=ab1a8b8a
    src_sum=ab1a8b8a
    Succeed in loading uboot from sdmmc flash.
    boot0: start load other image
    boot0: Loading BL3-1
    Loading file 0 at address 0x40000000,size 0x00000200 success
    boot0: Loading scp
    Loading file 2 at address 0x00040000,size 0x0000b200 success
    set arisc reset to de-assert state
    Ready to disable icache.
    Jump to secend Boot.
    NOTICE:  BL3-1: Running in SRAM A2 (@0x44000)
    NOTICE:  Configuring SPC Controller
    NOTICE:  BL3-1: v1.0(debug):f11ecb4
    NOTICE:  BL3-1: Built : 14:12:39, Aug 19 2016
    NOTICE:  Configuring AXP PMIC
    NOTICE:  PMIC: already configured for RSB
    NOTICE:  PMIC: setup successful
    INFO:    BL3-1: Initializing runtime services
    INFO:    BL3-1: Preparing for EL3 exit to normal world
    INFO:    BL3-1: Next image address: 0x4a000000, SPSR: 0x3c9
    
    

    Any body can explain that stall ?

    Notes : the kernel build itself is Ok, because I've taken an already working Pine64 image and placed the new Kernel in it and it is booting and working properly.

     

  9. To be able to boot from eMMC while the SDCard is still inserted, you will need to have a custom U-Boot that doesn't look at SDCard/mmc0 device at all.

    Standard U-Boot always consider the SDCard as the primary boot devices while eMMC is only a fallback when no SDCard present.

     

    Another possible workaround is that you still have the /boot partition on the SDCard, but having it configured to use eMMC as the RootFS, so that SDCard space will be almost recovered for data.

    To do that, simply boot from eMMC without any SDCard, then insert a copy of your previous SDCard, format the partition, and re-copy the /boot from eMMC to SDCard.

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines