Browse Source

more h8300 work, add u-boot

Waldemar Brodkorb 7 years ago
parent
commit
2e10cd9c43

+ 66 - 0
package/u-boot-h8300/Makefile

@@ -0,0 +1,66 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:=		u-boot
+PKG_VERSION:=		h8300
+PKG_GIT:=		branch
+PKG_RELEASE:=		1
+PKG_DESCR:=		portable bootloader
+PKG_SECTION:=		base/boot
+HOST_BUILDDEP:=		libressl-host dtc-host
+PKG_BUILDDEP:=		u-boot-h8300-host
+PKG_SITES:=		git://git.pf.osdn.jp/gitroot/y/ys/ysato/uboot.git
+
+
+PKG_SYSTEM_DEPENDS:=	hitachi-edosk2674
+
+include $(ADK_TOPDIR)/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,U_BOOT,u-boot,$(PKG_VERSION)-$(PKG_RELEASE)))
+$(eval $(call PKG_template,U_BOOT,u-boot,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+UBOOT:=			u-boot.bin
+CONFIG:=		clearfog_defconfig
+
+HOST_MAKE_FLAGS+=	HOSTCFLAGS="$(HOST_CPPFLAGS) $(HOST_CFLAGS)" \
+			HOSTLDFLAGS="$(HOST_LDFLAGS) -ldl"
+HOST_STYLE:=		manual
+CONFIG_STYLE:=		manual
+BUILD_STYLE:=		manual
+INSTALL_STYLE:=		manual
+
+host-build:
+	(cd $(WRKBUILD) && env $(HOST_MAKE_ENV) $(MAKE) -f $(MAKE_FILE) \
+		$(HOST_MAKE_FLAGS) sandbox_defconfig )
+	(cd $(WRKBUILD) && env $(HOST_MAKE_ENV) $(MAKE) -f $(MAKE_FILE) \
+		$(HOST_MAKE_FLAGS) tools $(MAKE_TRACE) )
+
+u-boot-hostinstall:
+	$(INSTALL_BIN) $(WRKBUILD)/tools/mk{,env}image \
+		$(STAGING_HOST_DIR)/usr/bin
+
+do-configure:
+	(cd $(WRKBUILD) && $(MAKE) $(CONFIG))
+
+do-build:
+	(cd $(WRKBUILD) && env \
+		PATH='$(HOST_PATH)' \
+		CROSS_COMPILE='$(TARGET_CROSS)' \
+		GCC_HONOUR_COPTS=s $(MAKE))
+ifneq ($(OS_FOR_BUILD),Darwin)
+	(cd $(WRKBUILD) && env \
+		PATH='$(HOST_PATH)' \
+		CROSS_COMPILE='$(TARGET_CROSS)' \
+		GCC_HONOUR_COPTS=s $(MAKE) env)
+endif
+
+u-boot-install:
+	$(CP) $(WRKBUILD)/$(UBOOT) $(FW_DIR)
+	$(INSTALL_DIR) $(IDIR_U_BOOT)/etc
+	$(CP) ./files/fw_env.config $(IDIR_U_BOOT)/etc
+
+include $(ADK_TOPDIR)/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk

+ 1 - 1
scripts/prereq.sh

@@ -660,7 +660,7 @@ if [ $host_build_m4 -eq 1 ]; then
   printf "\t%s\n" "select ADK_HOST_BUILD_M4" >> $topdir/target/config/Config.in.prereq
 fi
 if [ $host_build_mkimage -eq 1 ]; then
-  printf "\t%s\n" "select ADK_HOST_BUILD_U_BOOT" >> $topdir/target/config/Config.in.prereq
+  printf "\t%s\n" "select ADK_HOST_NEED_U_BOOT" >> $topdir/target/config/Config.in.prereq
 fi
 if [ $host_build_mksh -eq 1 ]; then
   printf "\t%s\n" "select ADK_HOST_BUILD_MKSH" >> $topdir/target/config/Config.in.prereq

+ 4 - 0
target/config/Config.in.kernelfmt

@@ -16,6 +16,9 @@ config ADK_TARGET_KERNEL_IMAGE
 config ADK_TARGET_KERNEL_UIMAGE
 	bool
 
+config ADK_TARGET_KERNEL_UIMAGEBIN
+	bool
+
 config ADK_TARGET_KERNEL_BZIMAGE
 	bool
 
@@ -31,6 +34,7 @@ config ADK_TARGET_KERNEL_XIPIMAGE
 config ADK_TARGET_KERNEL
 	string
 	default "uImage" if ADK_TARGET_KERNEL_UIMAGE
+	default "uImage.bin" if ADK_TARGET_KERNEL_UIMAGEBIN
 	default "zImage" if ADK_TARGET_KERNEL_ZIMAGE
 	default "Image" if ADK_TARGET_KERNEL_IMAGE
 	default "linux.bin" if ADK_TARGET_KERNEL_LINUXBIN

+ 12 - 0
target/config/Config.in.tools

@@ -93,6 +93,14 @@ config ADK_HOST_BUILD_GREP
 
 config ADK_HOST_BUILD_U_BOOT
 	bool
+	depends on !ADK_TARGET_ARCH_H8300
+	default y if ADK_HOST_NEED_UBOOT
+	default n
+
+config ADK_HOST_BUILD_U_BOOT_H8300
+	bool
+	depends on ADK_TARGET_ARCH_H8300
+	default y if ADK_HOST_NEED_UBOOT
 	default n
 
 config ADK_HOST_BUILD_OPENOCD
@@ -275,6 +283,10 @@ config ADK_HOST_BUILD_KMOD
 	bool
 	default n
 
+config ADK_HOST_NEED_U_BOOT
+	bool
+	default n
+
 source "target/config/Config.in.prereq"
 
 config ADK_COMPRESSION_TOOL

+ 9 - 1
target/h8300/Makefile

@@ -6,10 +6,14 @@ include $(ADK_TOPDIR)/mk/kernel-build.mk
 include $(ADK_TOPDIR)/mk/image.mk
 
 KERNEL:=$(LINUX_DIR)/vmlinux
+OSTRIP:=-R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id
+ifeq ($(ADK_TARGET_KERNEL_ZIMAGE),y)
+KERNEL:=$(LINUX_DIR)/arch/h8300/boot/zImage
+OSTRIP:=
+endif
 ifeq ($(ADK_TARGET_KERNEL_VMLINUX_SREC),y)
 KERNEL:=$(LINUX_DIR)/arch/h8300/boot/vmlinux.srec
 endif
-OSTRIP:=-R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id
 
 # target helper text
 ifeq ($(ADK_TARGET_FS),initramfs)
@@ -43,7 +47,11 @@ targethelp:
 endif
 
 kernel-strip:
+ifneq ($(OSTRIP),)
 	$(TARGET_CROSS)objcopy $(OSTRIP) -S $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
+else
+	@cp $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
+endif
 
 kernel-install: kernel-strip
 	@cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(TARGET_KERNEL)

+ 2 - 1
target/h8300/systems/hitachi-edosk2674

@@ -2,8 +2,9 @@ config ADK_TARGET_SYSTEM_HITACHI_EDOSK2674
 	bool "Hitachi EDOSK2674"
 	select ADK_TARGET_CPU_H8S
 	select ADK_TARGET_PACKAGE_TXZ
-	select ADK_TARGET_KERNEL_VMLINUX_SREC
 	select ADK_TARGET_KERNEL_WITH_COMPRESSION
+	select ADK_HOST_BUILD_U_BOOT_H8300
+	select ADK_TARGET_KERNEL_UIMAGEBIN
 	help
 	  Hitachi EDOSK2674 H8S development board.