Browse Source

add basic clearfog support

Waldemar Brodkorb 7 years ago
parent
commit
0fc2c05139

+ 8 - 1
package/u-boot/Makefile

@@ -16,7 +16,7 @@ PKG_SITES:=		ftp://ftp.denx.de/pub/u-boot/
 
 DISTFILES:=		$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 
-PKG_SYSTEM_DEPENDS:=	beaglebone-black raspberry-pi raspberry-pi2 atmel-ngw100 banana-pro solidrun-imx6
+PKG_SYSTEM_DEPENDS:=	beaglebone-black raspberry-pi raspberry-pi2 atmel-ngw100 banana-pro solidrun-imx6 solidrun-clearfog
 
 include $(ADK_TOPDIR)/mk/host.mk
 include $(ADK_TOPDIR)/mk/package.mk
@@ -25,6 +25,10 @@ $(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
+ifeq ($(ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG),y)
+CONFIG:=		clearfog_defconfig
+UBOOT:=			u-boot-spl.kwb
+endif
 ifeq ($(ADK_TARGET_SYSTEM_SOLIDRUN_IMX6),y)
 CONFIG:=		mx6cuboxi_defconfig
 UBOOT:=			u-boot.img
@@ -94,6 +98,9 @@ endif
 ifeq ($(ADK_TARGET_SYSTEM_BANANA_PRO),y)
 	$(INSTALL_BIN) ./files/boot.script.bpi $(FW_DIR)
 endif
+ifeq ($(ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG),y)
+	$(INSTALL_BIN) ./files/boot.script.clearfog $(FW_DIR)
+endif
 ifeq ($(ADK_TARGET_SYSTEM_SOLIDRUN_IMX6),y)
 	$(INSTALL_BIN) $(WRKBUILD)/SPL $(FW_DIR)
 	$(INSTALL_BIN) ./files/boot.script.imx6 $(FW_DIR)

+ 4 - 0
package/u-boot/files/boot.script.clearfog

@@ -0,0 +1,4 @@
+setenv bootargs 'console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait'
+ext2load mmc 0:1 0x01800000 /boot/armada-388-clearfog.dtb
+ext2load mmc 0:1 0x02000000 /boot/kernel
+bootz 0x02000000 - 0x01800000

+ 20 - 0
package/u-boot/patches/patch-include_configs_clearfog_h

@@ -0,0 +1,20 @@
+--- u-boot-2016.09.orig/include/configs/clearfog.h	2016-09-12 16:05:51.000000000 +0200
++++ u-boot-2016.09/include/configs/clearfog.h	2016-11-08 05:49:59.000000000 +0100
+@@ -7,6 +7,8 @@
+ #ifndef _CONFIG_CLEARFOG_H
+ #define _CONFIG_CLEARFOG_H
+ 
++#include <config_distro_defaults.h>
++
+ /*
+  * High Level Configuration Options (easy to change)
+  */
+@@ -151,6 +153,8 @@
+ #endif
+ #endif
+ 
++#include <config_distro_bootcmd.h>
++
+ /*
+  * mv-common.h should be defined after CMD configs since it used them
+  * to enable certain macros

+ 15 - 3
scripts/install.sh

@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 #-
-# Copyright © 2010-2015
+# Copyright © 2010-2016
 #	Waldemar Brodkorb <wbx@openadk.org>
 #	Thorsten Glaser <tg@mirbsd.org>
 #
@@ -144,7 +144,7 @@ tgt=$2
 src=$3
 
 case $target {
-(banana-pro|pcengines-apu|raspberry-pi|raspberry-pi2|raspberry-pi3|solidrun-imx6|default) ;;
+(banana-pro|pcengines-apu|raspberry-pi|raspberry-pi2|raspberry-pi3|solidrun-imx6|solidrun-clearfog|default) ;;
 (*)
 	print -u2 "Unknown target '$target', exiting"
 	exit 1 ;;
@@ -508,6 +508,9 @@ case $target {
 (banana-pro)
 	dd if="$fwdir/u-boot-sunxi-with-spl.bin" of="$tgt" bs=1024 seek=8 > /dev/null 2>&1
 	;;
+(solidrun-clearfog)
+	dd if="$fwdir/u-boot-spl.kwb" of="$tgt" bs=512 seek=1 > /dev/null 2>&1
+	;;
 (solidrun-imx6)
 	dd if="$fwdir/SPL" of="$tgt" bs=1024 seek=1 > /dev/null 2>&1
 	dd if="$fwdir/u-boot.img" of="$tgt" bs=1024 seek=69 > /dev/null 2>&1
@@ -532,7 +535,7 @@ if (( datafssz )); then
 	(raspberry-pi|raspberry-pi2|raspberry-pi3)
 		echo "/dev/mmcblk0p3	/data	ext4	rw	0	0" >> "$R"/etc/fstab 
 	;;
-	(banana-pro|solidrun-imx6)
+	(banana-pro|solidrun-imx6|solidrun-clearfog)
 		echo "/dev/mmcblk0p2	/data	ext4	rw	0	0" >> "$R"/etc/fstab
 	;;
 	}
@@ -556,6 +559,15 @@ case $target {
 	done
 	umount_fs "$B"
 	;;
+(solidrun-clearfog)
+	for x in "$fwdir"/*.dtb; do
+		[[ -e "$x" ]] && cp "$fwdir"/*.dtb "$R/boot/"
+		break
+	done
+	mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
+		-n "SolidrunClearfog" \
+		-d $fwdir/boot.script.clearfog $R/boot/boot.scr.uimg
+	;;
 (solidrun-imx6)
 	for x in "$fwdir"/*.dtb; do
 		[[ -e "$x" ]] && cp "$fwdir"/*.dtb "$R/boot/"

+ 5 - 1
target/arm/Makefile

@@ -60,7 +60,7 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9)$(ADK_TARGET_SYSTEM_QEMU_ARM_VERS
 	@echo "Start qemu with following options:"
 	@echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${ADK_TARGET_CPU_ARCH}.img'
 endif
-ifeq ($(ADK_TARGET_BOARD_BCM28XX)$(ADK_TARGET_SYSTEM_SOLIDRUN_IMX6),y)
+ifeq ($(ADK_TARGET_BOARD_BCM28XX)$(ADK_TARGET_SYSTEM_SOLIDRUN_IMX6)$(ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG),y)
 ifeq ($(ADK_APPLIANCE_KODI),y)
 	@echo "Use following command to install with a writable data partition"
 	@echo "sudo ./scripts/install.sh -d 256 $(ADK_TARGET_SYSTEM) /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
@@ -184,6 +184,10 @@ endif
 ifeq ($(ADK_TARGET_SYSTEM_SOLIDRUN_IMX6),y)
 	env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
 		imx6q-cubox-i.dtb imx6dl-cubox-i.dtb imx6dl-hummingboard.dtb imx6q-hummingboard.dtb $(MAKE_TRACE)
+endif
+ifeq ($(ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG),y)
+	env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
+		armada-388-clearfog.dtb $(MAKE_TRACE)
 endif
 	for x in $(LINUX_DIR)/arch/arm/boot/dts/*.dtb; do \
 		[[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/arm/boot/dts/*.dtb $(FW_DIR); \

+ 10 - 0
target/arm/kernel/solidrun-clearfog

@@ -0,0 +1,10 @@
+CONFIG_ARM=y
+CONFIG_ARM_PATCH_PHYS_VIRT=y
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_MVEBU=y
+CONFIG_MACH_ARMADA_370=y
+CONFIG_MACH_ARMADA_375=y
+CONFIG_MACH_ARMADA_380=y
+CONFIG_MACH_ARMADA_XP=y
+CONFIG_PCI_MVEBU=y
+

+ 27 - 0
target/arm/systems/solidrun-clearfog

@@ -0,0 +1,27 @@
+config ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
+	bool "Solidrun Clearfog Embedded Systems"
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_CORTEX_A9
+	select ADK_TARGET_WITH_SMP
+	select ADK_TARGET_WITH_VGA
+	select ADK_TARGET_WITH_SERIAL
+	select ADK_TARGET_WITH_PCI
+	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_SOUND
+	select ADK_TARGET_WITH_LEDS
+	select ADK_TARGET_WITH_NET
+	select ADK_TARGET_WITH_NETDEVICE
+	select ADK_TARGET_WITH_BLOCK
+	select ADK_TARGET_WITH_WATCHDOG
+	select ADK_TARGET_KERNEL_WITH_COMPRESSION
+	select ADK_TARGET_KERNEL_ZIMAGE if !ADK_TARGET_KERNEL_VERSION_FSLC
+	select ADK_TARGET_WITH_ROOT_RW
+	select ADK_PACKAGE_U_BOOT
+	help
+	  Solidrun Clearfog Embedded Systems.
+	  http://www.solid-run.com
+

+ 2 - 0
target/config/Config.in.kernelcfg

@@ -9,6 +9,7 @@ config ADK_TARGET_KERNEL_USE_MINICONFIG
 	bool "Use mini.config from OpenADK"
 	depends on !ADK_TARGET_KERNEL_VERSION_RPI \
 		&& !ADK_TARGET_KERNEL_VERSION_FSLC \
+		&& !ADK_TARGET_KERNEL_VERSION_CLEARFOG \
 		&& !ADK_TARGET_KERNEL_VERSION_BB
 
 config ADK_TARGET_KERNEL_USE_DEFCONFIG
@@ -27,6 +28,7 @@ config ADK_TARGET_KERNEL_DEFCONFIG
 	default "bcm2709_defconfig" if ADK_TARGET_SYSTEM_RASPBERRY_PI3
 	default "twr-k70f120m_defconfig" if ADK_TARGET_SYSTEM_KINETIS_K70
 	default "imx_v7_cbi_hb_defconfig" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
+	default "mvebu_extra_defconfig" if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
 	default "nsim_700_defconfig" if ADK_TARGET_SYSTEM_NSIM_ARCV1
 	default "nsim_hs_defconfig" if ADK_TARGET_SYSTEM_NSIM_ARCV2
 	default "10m50_defconfig" if ADK_TARGET_SYSTEM_QEMU_NIOS2

+ 8 - 0
target/config/Config.in.kernelversion

@@ -23,6 +23,11 @@ config ADK_TARGET_KERNEL_VERSION_FSLC
 	select ADK_TARGET_KERNEL_IMAGE
 	depends on ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
 
+config ADK_TARGET_KERNEL_VERSION_CLEARFOG
+	bool "linux-clearfog"
+	select ADK_TARGET_KERNEL_GIT
+	depends on ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
+
 config ADK_TARGET_KERNEL_VERSION_RPI
 	bool "linux-rpi"
 	select ADK_TARGET_KERNEL_GIT
@@ -177,6 +182,7 @@ config ADK_KERNEL_GITVER
 	default "git" if ADK_TARGET_KERNEL_VERSION_GIT
 	default "rpi" if ADK_TARGET_KERNEL_VERSION_RPI
 	default "fslc" if ADK_TARGET_KERNEL_VERSION_FSLC
+	default "clearfog" if ADK_TARGET_KERNEL_VERSION_CLEARFOG
 	default "bb" if ADK_TARGET_KERNEL_VERSION_BB
 
 config ADK_TARGET_KERNEL_GIT
@@ -187,10 +193,12 @@ config ADK_TARGET_KERNEL_REPO
 	depends on ADK_TARGET_KERNEL_VERSION_GIT \
 		|| ADK_TARGET_KERNEL_VERSION_RPI \
 		|| ADK_TARGET_KERNEL_VERSION_BB \
+		|| ADK_TARGET_KERNEL_VERSION_CLEARFOG \
 		|| ADK_TARGET_KERNEL_VERSION_FSLC
 	default "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git" if ADK_TARGET_KERNEL_VERSION_GIT
 	default "https://github.com/raspberrypi/linux.git" if ADK_TARGET_KERNEL_VERSION_RPI
 	default "https://github.com/SolidRun/linux-fslc.git" if ADK_TARGET_KERNEL_VERSION_FSLC
+	default "https://github.com/SolidRun/linux-armada38x" if ADK_TARGET_KERNEL_VERSION_CLEARFOG
 	default "https://github.com/beagleboard/linux.git" if ADK_TARGET_KERNEL_VERSION_BB
 	help
 	  GIT repository to use.

+ 3 - 1
target/linux/config/Config.in.serial

@@ -108,7 +108,8 @@ config ADK_KERNEL_SERIAL_8250
 		|| ADK_TARGET_SYSTEM_GENERIC_X86 \
 		|| ADK_TARGET_SYSTEM_GENERIC_X86_64 \
 		|| ADK_TARGET_SYSTEM_MIKROTIK_RB532 \
-		|| ADK_TARGET_SYSTEM_MIKROTIK_RB4XX
+		|| ADK_TARGET_SYSTEM_MIKROTIK_RB4XX \
+		|| ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
 	default y if ADK_TARGET_SYSTEM_XILINX_KINTEX7
 	default y if ADK_TARGET_SYSTEM_IMGTEC_CI20
 	default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
@@ -131,6 +132,7 @@ config ADK_KERNEL_SERIAL_8250
 	default y if ADK_TARGET_SYSTEM_GENERIC_X86_64
 	default y if ADK_TARGET_SYSTEM_MIKROTIK_RB532
 	default y if ADK_TARGET_SYSTEM_MIKROTIK_RB4XX
+	default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
 	default n
 	help
 	  Serial driver for 8250 UART chip.