aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/boot/uboot-imx6/Makefile7
-rwxr-xr-xtarget/linux/imx6/base-files/etc/board.d/02_network1
-rwxr-xr-xtarget/linux/imx6/base-files/lib/imx6.sh5
-rw-r--r--target/linux/imx6/image/Makefile16
-rw-r--r--target/linux/imx6/image/bootscript-cubox26
5 files changed, 55 insertions, 0 deletions
diff --git a/package/boot/uboot-imx6/Makefile b/package/boot/uboot-imx6/Makefile
index 613a5338ef..dd3a996736 100644
--- a/package/boot/uboot-imx6/Makefile
+++ b/package/boot/uboot-imx6/Makefile
@@ -20,6 +20,12 @@ define U-Boot/Default
UBOOT_IMAGE:=u-boot.imx
endef
+define U-Boot/mx6cuboxi
+ NAME:=SolidRun Cubox-i boards
+ UBOOT_IMAGE:=SPL u-boot.img
+ UBOOT_MAKE_FLAGS:=SPL u-boot.img
+endef
+
define U-Boot/mx6sabresd
NAME:=SABRE i.MX6Quad board
endef
@@ -54,6 +60,7 @@ define U-Boot/wandboard
endef
UBOOT_TARGETS := \
+ mx6cuboxi \
mx6sabresd \
nitrogen6dl \
nitrogen6dl2g \
diff --git a/target/linux/imx6/base-files/etc/board.d/02_network b/target/linux/imx6/base-files/etc/board.d/02_network
index 3f269dfae8..6ec667346d 100755
--- a/target/linux/imx6/base-files/etc/board.d/02_network
+++ b/target/linux/imx6/base-files/etc/board.d/02_network
@@ -10,6 +10,7 @@ board=$(board_name)
board_config_update
case "$board" in
+cubox-i |\
*gw51xx |\
*gw52xx |\
*gw5904)
diff --git a/target/linux/imx6/base-files/lib/imx6.sh b/target/linux/imx6/base-files/lib/imx6.sh
index e211f54e54..1bf1439523 100755
--- a/target/linux/imx6/base-files/lib/imx6.sh
+++ b/target/linux/imx6/base-files/lib/imx6.sh
@@ -54,6 +54,11 @@ imx6_board_detect() {
name="gw5904"
;;
+ "SolidRun Cubox-i Solo/DualLite" |\
+ "SolidRun Cubox-i Dual/Quad")
+ name="cubox-i"
+ ;;
+
"Wandboard i.MX6 Dual Lite Board")
name="wandboard"
;;
diff --git a/target/linux/imx6/image/Makefile b/target/linux/imx6/image/Makefile
index cef08f227e..540692d817 100644
--- a/target/linux/imx6/image/Makefile
+++ b/target/linux/imx6/image/Makefile
@@ -51,6 +51,13 @@ define Build/bootfs.tar.gz
-czvf $@ .
endef
+define Build/boot-scr
+ mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
+ -n '$(DEVICE_ID) OpenWrt bootscript' \
+ -d ./bootscript-$(DEVICE_NAME) \
+ $(BIN_DIR)/boot.scr
+endef
+
#################################################
# Devices
#################################################
@@ -123,4 +130,13 @@ define Device/wandboard
endef
TARGET_DEVICES += wandboard
+define Device/cubox-i
+ KERNEL := kernel-bin | install-dtb | boot-scr
+ DEVICE_NAME := cubox
+ DEVICE_TITLE := SolidRun CuBox-i
+ DEVICE_PACKAGES := u-boot-mx6cuboxi kmod-drm-imx kmod-drm-imx-hdmi kmod-usb-hid
+ DEVICE_DTS := imx6q-cubox-i imx6dl-cubox-i
+endef
+TARGET_DEVICES += cubox-i
+
$(eval $(call BuildImage))
diff --git a/target/linux/imx6/image/bootscript-cubox b/target/linux/imx6/image/bootscript-cubox
new file mode 100644
index 0000000000..b639590720
--- /dev/null
+++ b/target/linux/imx6/image/bootscript-cubox
@@ -0,0 +1,26 @@
+echo "CuBox OpenWrt Boot script"
+
+# Set console variable for both UART and HDMI
+setenv console console=ttymxc0,115200 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32
+
+# Find correct dtb
+if test ${board_name} = CUBOXI && test ${board_rev} = MX6DL; then
+ setenv fdt_name imx6dl.dtb;
+elif test ${board_name} = CUBOXI && test ${board_rev} = MX6Q; then
+ setenv fdt_name imx6q-cubox-i.dtb;
+fi
+
+# Set correct devtype and partition
+if test ${devtype} != mmc; then setenv devtype mmc; fi
+if mmc dev 0; then
+ setenv mmcdev 0
+elif mmc dev 1; then
+ setenv mmcdev 1
+fi
+
+# Boot from the SD card is supported at the moment
+setenv bootargs "${console} root=/dev/mmcblk1p1 rw rootwait"
+mmc dev ${mmcdev}
+load ${devtype} ${mmcdev}:${devplist} ${kernel_addr_r} /boot/openwrt-imx6-cubox-i-uImage
+load ${devtype} ${mmcdev}:${devplist} ${fdt_addr_r} /boot/openwrt-imx6-${fdt_name}
+bootz ${kernel_addr_r} - ${fdt_addr_r}