• Vladimir Vid's avatar
    imx6: Initial support for SolidRun CuBox-i devices based on i.MX6 processors... · 6cda4f68
    Vladimir Vid authored
    
    imx6: Initial support for SolidRun CuBox-i devices based on i.MX6 processors (i1, i2, i2eX, and i4Pro).
    
    - Specifications -
    
    CuBox i1:
    - SoC: i.MX6 Solo
    - Cores: 1
    - Memory Size: 512MB
    - GPU: GC880
    - Wifi/Bluetooth: Optional
    - USB 2.0 ports: 2
    - Ethernet: 10/100/1000 Mbps
    
    CuBox i2 | i2eX:
    - SoC: i.MX6 Dual Lite
    - Cores: 2
    - Memory Size: 1GB
    - GPU: GC2000
    - Wifi/Bluetooth: Optional
    - USB 2.0 ports: 2
    - Ethernet: 10/100/1000 Mbps
    
    CuBox i4Pro | i4x4:
    - SoC: i.MX6 Quad
    - Cores: 4
    - Memory Size: 2/4 GB
    - GPU: GC2000
    - Wifi/Bluetooth: Build In
    - USB 2.0 ports: 2
    - Ethernet: 10/100/1000 Mbps
    
    Built-in u-boot requires SPL (secondary program loader) to be present on the SD-card regardless of the image type which will be loaded.
    SPL is generated by the u-boot-mx6cuboxi package which is preselected by the target device and can be found in bin/u-boot-mx6cuboxi directory.
    
    Flashing the SPL:
    dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=4
    dd if=bin/targets/imx6/generic/u-boot-mx6cuboxi/SPL of=/dev/mmcblk0 bs=1K seek=1
    
    Preparing the firmware on the SD-card:
    (echo o; echo n; echo p; echo 1; echo ''; echo ''; echo w) | fdisk /dev/mmcblk0
    mkfs.ext4 /dev/mmcblk0p1
    mount /dev/mmcblk0p1 /mnt
    tar -xzf bin/targets/imx6/generic/openwrt-imx6-device-cubox-i-rootfs.tar.gz -C /mnt/
    mkdir -p /mnt/boot
    cp bin/targets/imx6/generic/{*-uImage,*.dtb,*.scr} /mnt/boot/
    
    Generated u-boot.img needs to be placed on the first partition:
    cp bin/targets/imx6/generic/u-boot-mx6cuboxi/u-boot.img /mnt/
    
    To boot from the SD card:
    
    Boot script which sets mmc/dtb parameters and boots the board is automatically sourced.
    If this does not work for any reason:
    mmc dev 0; load mmc 0:1 $scriptaddr boot/boot.scr; source $scriptaddr
    
    Currently imx6dl-cubox-i.dtb (Dual Lite) and imx6q-cubox-i.dtb (Quad) device trees are available.
    
    Tested on i4Pro, MMC, USB (+ HiD), HDMI and ethernet ports are working.
    Wireless and bluetooth are broken ATM. According to SolidRun forums, BCM4329/BCM4330 firmware is used which works fine on older kernels.
    Signed-off-by: default avatarVladimir Vid <vladimir.vid@sartura.hr>
    6cda4f68