openwrt/package/boot/uboot-imx6/Makefile

85 lines
1.6 KiB
Makefile
Raw Normal View History

#
# Copyright (C) 2013-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_VERSION:=2018.03
PKG_RELEASE:=1
PKG_HASH:=7e7477534409d5368eb1371ffde6820f0f79780a1a1f676161c48442cb303dfd
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
define U-Boot/Default
BUILD_TARGET:=imx6
UBOOT_IMAGE:=u-boot.imx
endef
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: Vladimir Vid <vladimir.vid@sartura.hr>
2018-07-09 09:09:53 +00:00
define U-Boot/mx6cuboxi
NAME:=SolidRun Cubox-i boards
UBOOT_IMAGE:=SPL u-boot.img
UBOOT_MAKE_FLAGS:=SPL u-boot.img
BUILD_DEVICES:=cubox-i
HIDDEN:=1
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: Vladimir Vid <vladimir.vid@sartura.hr>
2018-07-09 09:09:53 +00:00
endef
define U-Boot/mx6sabresd
NAME:=SABRE i.MX6Quad board
endef
define U-Boot/nitrogen6dl
NAME:=Nitrogen6x i.MX6Dual-Lite 1GB board
endef
define U-Boot/nitrogen6dl2g
NAME:=Nitrogen6x i.MX6Dual-Lite 2GB board
endef
define U-Boot/nitrogen6q
NAME:=Nitrogen6x/SABRE Lite (MX6Q/1GB)
endef
define U-Boot/nitrogen6q2g
NAME:=Nitrogen6x i.MX6Quad 2GB board
endef
define U-Boot/nitrogen6s
NAME:=Nitrogen6x i.MX6Solo 512MB board
endef
define U-Boot/nitrogen6s1g
NAME:=Nitrogen6x i.MX6Solo 1GB board
endef
define U-Boot/wandboard
NAME:=Wandboard Dual Lite/Quad/Solo
BUILD_DEVICES:=wandboard
endef
UBOOT_TARGETS := \
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: Vladimir Vid <vladimir.vid@sartura.hr>
2018-07-09 09:09:53 +00:00
mx6cuboxi \
mx6sabresd \
nitrogen6dl \
nitrogen6dl2g \
nitrogen6q \
nitrogen6q2g \
nitrogen6s \
nitrogen6s1g \
wandboard
UBOOT_MAKE_FLAGS += u-boot.imx
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(foreach img,$(UBOOT_IMAGE), \
$(CP) $(PKG_BUILD_DIR)/$(img) $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-$(img); \
)
endef
$(eval $(call BuildPackage/U-Boot))