Эх сурвалжийг харах

add u-boot update for hummingboardrd, add some basic infrastructure

Waldemar Brodkorb 10 жил өмнө
parent
commit
9f31eaf9da

+ 4 - 6
package/u-boot-imx6/Makefile

@@ -4,17 +4,15 @@
 include $(ADK_TOPDIR)/rules.mk
 
 PKG_NAME:=		u-boot-imx6
-PKG_VERSION:=		20140416
+PKG_VERSION:=		20140819
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		f2a5f697670c340eef8074f6a5f26476
-PKG_DESCR:=		bootloader for imx6 (cubox-i)
+PKG_MD5SUM:=		41ae410a775e336c81a9a22ce836a74f
+PKG_DESCR:=		bootloader for imx6 (cubox-i/hummingboard)
 PKG_SECTION:=		base/boot
 PKG_URL:=		https://github.com/SolidRun/u-boot-imx6.git
 PKG_SITES:=		http://openadk.org/distfiles/
 
-DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.xz
-
-PKG_SYSTEM_DEPENDS:=	cubox-i
+PKG_SYSTEM_DEPENDS:=	cubox-i hummingboard
 
 include $(ADK_TOPDIR)/mk/package.mk
 

+ 20 - 17
package/u-boot-imx6/patches/patch-include_configs_mx6_cubox-i_h

@@ -1,5 +1,5 @@
---- u-boot-imx6-20140416.orig/include/configs/mx6_cubox-i.h	2014-04-17 15:53:51.000000000 +0200
-+++ u-boot-imx6-20140416/include/configs/mx6_cubox-i.h	2014-06-30 12:44:38.808082044 +0200
+--- u-boot-imx6-20140819.orig/include/configs/mx6_cubox-i.h	2014-08-19 09:42:57.000000000 +0200
++++ u-boot-imx6-20140819/include/configs/mx6_cubox-i.h	2014-08-19 13:26:15.775439757 +0200
 @@ -158,7 +158,7 @@
          "script=boot.scr\0" \
          "bootfile=auto\0" \
@@ -18,30 +18,33 @@
          "update_sd_firmware_filename=u-boot.imx\0" \
          "update_sd_firmware=" \
                  "if test ${ip_dyn} = yes; then " \
-@@ -212,19 +212,19 @@
+@@ -217,7 +217,7 @@
          "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \
                  "env import -t ${loadaddr} ${filesize};\0" \
-         "autobootfdt=echo Booting ${boot_file}; " \
--                "if test ${boot_file} = zImage; then " \
-+                "if test ${boot_file} = kernel; then " \
- 		    "bootz ${loadaddr} - ${fdt_addr}; " \
- 		"else " \
- 		    "bootm ${loadaddr} - ${fdt_addr}; " \
- 		"fi;\0 " \
          "autoboot=echo Booting ${boot_file}; " \
 -		"if test ${boot_file} = zImage; then " \
 +		"if test ${boot_file} = kernel; then " \
- 		    "bootz; " \
+ 		    "bootz ${loadaddr} ${ramdisk_addr} ${fdt_addr}; " \
  		"else " \
- 		    "bootm; " \
- 		"fi;\0 " \
- 	"bootit=setenv boot_file ${bootfile}; " \
+ 		    "bootm ${loadaddr} ${ramdisk_addr} ${fdt_addr}; " \
+@@ -232,14 +232,14 @@
+ 		"else " \
+ 		    "setenv ramdisk_addr -; " \
+                 "fi; " \
 -                "if test ${boot_file} = zImage; then " \
 +                "if test ${boot_file} = kernel; then " \
                      "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
                          "if run loadfdt; then " \
-                             "run autobootfdt; " \
-@@ -260,7 +260,7 @@
+ 			    "echo Loaded ${fdt_file}; " \
+                         "else " \
+ 			    "setenv fdt_addr; " \
+                             "if test ${boot_fdt} = try; then " \
+-                                  "echo WARN: Cannot load the DTB and boot file is type zImage;" \
++                                  "echo WARN: Cannot load the DTB and boot file is type kernel;" \
+                                   "echo if you have not appended a dtb to the file it may;" \
+                                   "echo hang after displaying Starting kernel...;" \
+                                   "echo ;" \
+@@ -269,7 +269,7 @@
                      "setenv get_cmd tftp; " \
                  "fi; " \
                  "if test ${bootfile} = auto; then " \
@@ -50,7 +53,7 @@
                       "if ${get_cmd} ${bootfile}; then " \
                           "run bootit; " \
                       "else " \
-@@ -286,7 +286,7 @@
+@@ -295,7 +295,7 @@
  			   "fi; " \
                             "if test ${bootfile} = auto; then " \
                                     "setenv origbootfile auto; " \

+ 14 - 2
target/arm/Makefile

@@ -53,6 +53,11 @@ ifeq ($(ADK_TARGET_SYSTEM_CUBOX_I),y)
 	@echo "Use following command to install it on SD card:"
 	@echo "sudo ./scripts/install-cubox.sh /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL) $(FW_DIR)"
 
+endif
+ifeq ($(ADK_TARGET_SYSTEM_HUMMINGBOARD),y)
+	@echo "Use following command to install it on SD card:"
+	@echo "sudo ./scripts/install-cubox.sh /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL) $(FW_DIR)"
+
 endif
 endif
 ifeq ($(ADK_TARGET_FS),initramfs)
@@ -85,15 +90,22 @@ kernel-install: kernel-strip
 	@cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
 
 dtb-install:
+ifeq ($(ADK_TARGET_SYSTEM_CUBOX_I),y)
 	env $(KERNEL_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKE_OPTS) \
 		-j${ADK_MAKE_JOBS} imx6q-cubox-i.dtb imx6dl-cubox-i.dtb $(MAKE_TRACE)
 	$(CP) $(LINUX_DIR)/arch/arm/boot/dts/imx6*-cubox-i.dtb \
 		$(FW_DIR)
-
+endif
+ifeq ($(ADK_TARGET_SYSTEM_HUMMINGBOARD),y)
+	env $(KERNEL_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKE_OPTS) \
+		-j${ADK_MAKE_JOBS} imx6dl-hummingboard.dtb $(MAKE_TRACE)
+	$(CP) $(LINUX_DIR)/arch/arm/boot/dts/imx6*-hummingboard.dtb \
+		$(FW_DIR)
+endif
 
 # filesystem specific targets
 ifeq ($(ADK_TARGET_FS),archive)
-ifeq ($(ADK_TARGET_SYSTEM_CUBOX_I),y)
+ifeq ($(ADK_TARGET_SYSTEM_CUBOX_I)$(ADK_TARGET_SYSTEM_HUMMINGBOARD),y)
 imageinstall: dtb-install $(FW_DIR)/$(ROOTFSTARBALL) targethelp
 else
 imageinstall: $(FW_DIR)/$(ROOTFSTARBALL) targethelp

+ 18 - 0
target/arm/kernel/hummingboard

@@ -0,0 +1,18 @@
+CONFIG_ARM=y
+CONFIG_ARM_PATCH_PHYS_VIRT=y
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_MXC=y
+CONFIG_ARCH_MX6=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_SOC_IMX6SL=y
+CONFIG_LOCAL_TIMERS=y
+CONFIG_MXC_DEBUG_BOARD=y
+CONFIG_KUSER_HELPERS=y
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+CONFIG_PCI_IMX6=y
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_ATAGS=y
+CONFIG_CMDLINE_FORCE=y

+ 28 - 0
target/arm/systems/hummingboard

@@ -0,0 +1,28 @@
+config ADK_TARGET_SYSTEM_HUMMINGBOARD
+	bool "HummingBoard"
+	select ADK_arm
+	select ADK_little
+	select ADK_eabihf
+	select ADK_fpu_neon
+	select ADK_hummingboard
+	select ADK_CPU_CORTEX_A9
+	select ADK_TARGET_CPU_WITH_FPU
+	select ADK_TARGET_WITH_VGA
+	select ADK_TARGET_WITH_CPU_FREQ
+	select ADK_TARGET_WITH_USB
+	select ADK_TARGET_WITH_SD
+	select ADK_TARGET_WITH_I2C
+	select ADK_TARGET_WITH_SPI
+	select ADK_TARGET_WITH_RTC
+	select ADK_TARGET_WITH_SDIO
+	select ADK_TARGET_WITH_SOUND
+	select ADK_TARGET_WITH_LEDS
+	select ADK_TARGET_WITH_SMP
+	select ADK_TARGET_WITH_WATCHDOG
+	select ADK_TARGET_WITH_WIFI
+	select ADK_TARGET_KERNEL_ZIMAGE
+	select ADK_TARGET_WITH_ROOT_RW
+	select ADK_PACKAGE_U_BOOT_IMX6
+	help
+	  Solidrun HummingBoard
+

+ 1 - 0
target/config/Config.in.kernel

@@ -57,6 +57,7 @@ config ADK_TARGET_KERNEL_MINICONFIG
 	default "vbox-x86" if ADK_TARGET_SYSTEM_VBOX_X86
 	default "ibm-x40" if ADK_TARGET_SYSTEM_IBM_X40
 	default "cubox-i" if ADK_TARGET_SYSTEM_CUBOX_I
+	default "hummingboard" if ADK_TARGET_SYSTEM_HUMMINGBOARD
 	default "raspberry-pi" if ADK_TARGET_SYSTEM_RASPBERRY_PI
 	default "sharp-zaurus" if ADK_TARGET_SYSTEM_SHARP_ZAURUS
 	default "lemote-yeelong" if ADK_TARGET_SYSTEM_LEMOTE_YEELONG