summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2017-09-27 04:03:04 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2017-09-28 04:24:56 +0200
commitd5938587a989bffab750f778406e5e46a4df18c5 (patch)
treee1176773171fe21918b7b73b0abbfc6c370669b9
parentad1377105ce1148d5de599d82c6f622bec44e832 (diff)
add phytec wega sample
-rw-r--r--mk/rootfs.mk4
-rwxr-xr-xscripts/install.sh34
-rw-r--r--target/arm/Makefile16
-rw-r--r--target/arm/kernel/phytec-wega6
-rw-r--r--target/arm/systems/phytec-wega21
-rw-r--r--target/config/Config.in.kernelcfg2
-rw-r--r--target/config/Config.in.kernelversion7
-rw-r--r--target/config/Config.in.runtime1
-rw-r--r--target/linux/config/Config.in.serial6
9 files changed, 88 insertions, 9 deletions
diff --git a/mk/rootfs.mk b/mk/rootfs.mk
index d4d2e0f04..492d9e3c4 100644
--- a/mk/rootfs.mk
+++ b/mk/rootfs.mk
@@ -31,6 +31,10 @@ ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB4XX),y)
MTDDEV:= root=/dev/mtdblock7
endif
+ifeq ($(ADK_TARGET_SYSTEM_PHYTEC_WEGA),y)
+BLOCKDEV:= root=/dev/mmcblk0p2
+endif
+
ifeq ($(ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20),y)
BLOCKDEV:= root=/dev/mmcblk0p2
endif
diff --git a/scripts/install.sh b/scripts/install.sh
index 4a77511d6..e843e66a4 100755
--- a/scripts/install.sh
+++ b/scripts/install.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
#-
-# Copyright © 2010-2016
+# Copyright © 2010-2017
# Waldemar Brodkorb <wbx@openadk.org>
# Thorsten Glaser <tg@mirbsd.org>
#
@@ -144,7 +144,7 @@ tgt=$2
src=$3
case $target {
-(banana-pro|orange-pi0|pcengines-apu|raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|solidrun-imx6|solidrun-clearfog|default) ;;
+(banana-pro|orange-pi0|pcengines-apu|phytec-wega|raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|solidrun-imx6|solidrun-clearfog|default) ;;
(*)
print -u2 "Unknown target '$target', exiting"
exit 1 ;;
@@ -167,7 +167,7 @@ case $ostype {
basedev=$tgt
rootpart=${basedev}s1
datapart=${basedev}s2
- if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 ]]; then
+ if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = phytec-wega ]]; then
bootpart=${basedev}s1
rootpart=${basedev}s2
datapart=${basedev}s3
@@ -176,9 +176,11 @@ case $ostype {
function mount_fs {
}
function umount_fs {
+ (( quiet )) || print "Unmounting filesystem on ${1}..."
diskutil unmount "$1"
}
function create_fs {
+ (( quiet )) || print "Creating filesystem on ${2}..."
if [[ $3 = ext4 ]]; then
fstype=UFSD_EXTFS4
fi
@@ -208,9 +210,11 @@ case $ostype {
match=\'${basedev}${partitionsep}\''+([0-9])'
function mount_fs {
+ (( quiet )) || print "Mounting filesystem on ${1}..."
mount -t "$3" "$1" "$2"
}
function umount_fs {
+ (( quiet )) || print "Unmounting filesystem on ${1}..."
umount "$1"
}
function create_fs {
@@ -263,7 +267,7 @@ syspartno=0
# data - flexible (parameter)
# system - everything else
-if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 ]]; then
+if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = phytec-wega ]]; then
syspartno=1
bootfssz=100
if (( grub )); then
@@ -320,7 +324,7 @@ fi
#(( partofs = ((coreendsec / secs) + 1) * secs ))
# we just use 2048 all the time, since some loaders are longer
partofs=2048
-if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 ]]; then
+if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = phytec-wega ]]; then
(( spartofs = partofs + (100 * 2048) ))
else
spartofs=$partofs
@@ -431,7 +435,7 @@ if (( datafssz )); then
dd of="$T/firsttrack" conv=notrunc bs=1 seek=$((0x1CE)) 2>/dev/null
fi
-if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 ]]; then
+if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = phytec-wega ]]; then
# move system and data partition from #0/#1 to #1/#2
dd if="$T/firsttrack" bs=1 skip=$((0x1BE)) count=32 of="$T/x" 2>/dev/null
dd of="$T/firsttrack" conv=notrunc bs=1 seek=$((0x1CE)) if="$T/x" 2>/dev/null
@@ -527,6 +531,9 @@ case $target {
(raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64)
(( noformat )) || create_fs "$bootpart" ADKBOOT vfat
;;
+(phytec-wega)
+ (( noformat )) || create_fs "$bootpart" ADKBOOT ext4
+ ;;
}
(( noformat )) || create_fs "$rootpart" ADKROOT ext4
@@ -541,7 +548,7 @@ if (( datafssz )); then
((keep)) || create_fs "$datapart" ADKDATA ext4
((keep)) || tune_fs "$datapart"
case $target {
- (raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64)
+ (raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|phytec-wega)
echo "/dev/mmcblk0p3 /data ext4 rw 0 0" >> "$R"/etc/fstab
;;
(banana-pro|orange-pi0|solidrun-imx6|solidrun-clearfog)
@@ -550,6 +557,7 @@ if (( datafssz )); then
}
fi
+(( quiet )) || print Finishing up with bootloader and kernel ...
case $target {
(raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64)
mount_fs "$bootpart" "$B" vfat
@@ -569,6 +577,18 @@ case $target {
done
umount_fs "$B"
;;
+(phytec-wega)
+ mount_fs "$bootpart" "$B" ext4
+ for x in "$R"/boot/*; do
+ [[ -e "$x" ]] && mv -f "$R"/boot/* "$B/"
+ break
+ done
+ for x in "$fwdir"/*.dtb; do
+ [[ -e "$x" ]] && cp "$fwdir"/*.dtb "$B/"
+ break
+ done
+ umount_fs "$B"
+ ;;
(solidrun-clearfog)
for x in "$fwdir"/*.dtb; do
[[ -e "$x" ]] && cp "$fwdir"/*.dtb "$R/boot/"
diff --git a/target/arm/Makefile b/target/arm/Makefile
index 783bb3040..0965f60be 100644
--- a/target/arm/Makefile
+++ b/target/arm/Makefile
@@ -72,6 +72,17 @@ else
@echo "sudo ./scripts/install.sh $(ADK_TARGET_SYSTEM) /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
endif
endif
+ifeq ($(ADK_TARGET_SYSTEM_PHYTEC_WEGA),y)
+ @echo "Use following command to install it on SD card:"
+ @echo "sudo ./scripts/install.sh phytec-wega /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "Use following command to install with a writable data partition"
+ @echo "sudo ./scripts/install.sh -d 256 phytec-wega /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo
+ @echo "To boot from SD card do following in barebox bootloader:"
+ @echo "mount /dev/mmc0.0 /mnt"
+ @echo "bootm -o /mnt/am335x-wega-rdk.dtb /mnt/kernel"
+ @echo
+endif
ifeq ($(ADK_TARGET_SYSTEM_BANANA_PRO),y)
@echo "Use following command to install it on SD card:"
@echo "sudo ./scripts/install.sh banana-pro /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
@@ -170,6 +181,11 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB)$(ADK_TARGET_SYSTEM_QEMU_ARM_VERS
env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
dtbs $(MAKE_TRACE)
endif
+ifeq ($(ADK_TARGET_SYSTEM_PHYTEC_WEGA),y)
+ env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
+ am335x-wega-rdk.dtb
+ cp $(LINUX_DIR)/arch/arm/boot/dts/am335x-wega-rdk.dtb ${TARGET_DIR}/boot
+endif
ifeq ($(ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK),y)
env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
am335x-boneblack.dtb
diff --git a/target/arm/kernel/phytec-wega b/target/arm/kernel/phytec-wega
new file mode 100644
index 000000000..d909d394b
--- /dev/null
+++ b/target/arm/kernel/phytec-wega
@@ -0,0 +1,6 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_SOC_AM33XX=y
+CONFIG_SOC_HAS_OMAP2_SDRC=y
+CONFIG_ARM_APPENDED_DTB=y
+CONFIG_ARM_ATAG_DTB_COMPAT=y
diff --git a/target/arm/systems/phytec-wega b/target/arm/systems/phytec-wega
new file mode 100644
index 000000000..7617627ba
--- /dev/null
+++ b/target/arm/systems/phytec-wega
@@ -0,0 +1,21 @@
+config ADK_TARGET_SYSTEM_PHYTEC_WEGA
+ bool "Phytec Wega"
+ depends on ADK_TARGET_OS_LINUX
+ depends on ADK_TARGET_LITTLE_ENDIAN
+ select ADK_TARGET_CPU_ARM_CORTEX_A8
+ select ADK_TARGET_WITH_VGA
+ select ADK_TARGET_WITH_SERIAL
+ select ADK_TARGET_WITH_CPU_FREQ
+ select ADK_TARGET_WITH_USB
+ select ADK_TARGET_WITH_INPUT
+ select ADK_TARGET_WITH_SD
+ select ADK_TARGET_WITH_I2C
+ select ADK_TARGET_WITH_SPI
+ select ADK_TARGET_WITH_NET
+ select ADK_TARGET_WITH_NETDEVICE
+ select ADK_TARGET_WITH_BLOCK
+ select ADK_TARGET_KERNEL_ZIMAGE
+ select ADK_TARGET_KERNEL_WITH_COMPRESSION
+ help
+ Phytec Wega
+
diff --git a/target/config/Config.in.kernelcfg b/target/config/Config.in.kernelcfg
index 95065fbf0..464bd173d 100644
--- a/target/config/Config.in.kernelcfg
+++ b/target/config/Config.in.kernelcfg
@@ -5,6 +5,7 @@ choice
prompt "Kernel configuration" if !ADK_TARGET_CHOOSE_ARCH
depends on ADK_TARGET_OS_LINUX
default ADK_TARGET_KERNEL_USE_DEFCONFIG if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK && ADK_TARGET_KERNEL_VERSION_GIT
+default ADK_TARGET_KERNEL_USE_DEFCONFIG if ADK_TARGET_SYSTEM_PHYTEC_WEGA && ADK_TARGET_KERNEL_VERSION_GIT
default ADK_TARGET_KERNEL_USE_DEFCONFIG if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG && ADK_TARGET_KERNEL_VERSION_GIT
config ADK_TARGET_KERNEL_USE_MINICONFIG
@@ -35,6 +36,7 @@ config ADK_TARGET_KERNEL_DEFCONFIG
default "10m50_defconfig" if ADK_TARGET_SYSTEM_QEMU_NIOS2
default "orca_defconfig" if ADK_TARGET_SYSTEM_ANDES_AG101P
default "bb.org_defconfig" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
+ default "am335x_phytec_defconfig" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
default "j2_defconfig" if ADK_TARGET_SYSTEM_NUMATO_MIMASV2
default "sunxi_defconfig" if ADK_TARGET_SYSTEM_ORANGE_PI0
default "edosk2674_defconfig" if ADK_TARGET_SYSTEM_HITACHI_EDOSK2674
diff --git a/target/config/Config.in.kernelversion b/target/config/Config.in.kernelversion
index 7d6c0dc36..1a77c3db2 100644
--- a/target/config/Config.in.kernelversion
+++ b/target/config/Config.in.kernelversion
@@ -9,6 +9,7 @@ default ADK_TARGET_KERNEL_VERSION_GIT if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default ADK_TARGET_KERNEL_VERSION_GIT if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
default ADK_TARGET_KERNEL_VERSION_GIT if ADK_TARGET_SYSTEM_KINETIS_K70
default ADK_TARGET_KERNEL_VERSION_GIT if ADK_TARGET_SYSTEM_ADSP_BF537
+default ADK_TARGET_KERNEL_VERSION_GIT if ADK_TARGET_SYSTEM_PHYTEC_WEGA
default ADK_TARGET_KERNEL_VERSION_GIT if ADK_TARGET_ARCH_CSKY
default ADK_TARGET_KERNEL_VERSION_GIT if ADK_TARGET_ARCH_LM32
default ADK_TARGET_KERNEL_VERSION_GIT if ADK_TARGET_ARCH_RISCV32
@@ -25,6 +26,7 @@ config ADK_TARGET_KERNEL_VERSION_GIT
depends on !ADK_TARGET_ARCH_NDS32
select ADK_HOST_NEED_LZOP if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
select ADK_HOST_NEED_LZOP if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
+ select ADK_HOST_NEED_LZ4 if ADK_TARGET_SYSTEM_PHYTEC_WEGA && ADK_TARGET_KERNEL_VERSION_GIT
select ADK_TARGET_KERNEL_IMAGE if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
select ADK_TARGET_KERNEL_IMAGE if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
@@ -218,6 +220,7 @@ config ADK_TARGET_KERNEL_GIT_REPO
default "https://github.com/SolidRun/linux-fslc.git" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
default "https://github.com/SolidRun/linux-armada38x.git" if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default "https://github.com/beagleboard/linux.git" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
+ default "https://git.phytec.de/git/linux-ti.git" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
default "https://github.com/m-labs/linux-milkymist.git" if ADK_TARGET_ARCH_LM32
default "https://github.com/c-sky/linux-4.9.y.git" if ADK_TARGET_ARCH_CSKY
default "https://github.com/riscv/riscv-linux.git" if ADK_TARGET_ARCH_RISCV32 || ADK_TARGET_ARCH_RISCV64
@@ -235,6 +238,7 @@ config ADK_TARGET_KERNEL_GIT_REPO_NAME
default "ad" if ADK_TARGET_SYSTEM_ADSP_BF537
default "bb" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
default "emcraft" if ADK_TARGET_SYSTEM_KINETIS_K70
+ default "phytec" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
default "clearfog" if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default "fslc" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
default "linus"
@@ -251,6 +255,7 @@ config ADK_TARGET_KERNEL_GIT
default "902739f3353150ac9eb69ad995098f3079d862a3" if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default "c85fbc86c61a8c8fd45ab1fe3d1bdd2df12f7962" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
default "8624998967676862843aed1f8ee2141e98987f81" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
+ default "v4.4.52-phy" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
config ADK_TARGET_KERNEL_GIT_VER
string "kernel version"
@@ -258,12 +263,14 @@ config ADK_TARGET_KERNEL_GIT_VER
default "4.9.13" if ADK_TARGET_ARCH_CSKY
default "4.9.37" if ADK_TARGET_BOARD_BCM28XX
default "4.4.37" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
+ default "4.4.52" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
default "2.6.33" if ADK_TARGET_SYSTEM_KINETIS_K70
default "3.14.79" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
config ADK_TARGET_KERNEL_GIT_TYPE
string
depends on ADK_TARGET_KERNEL_VERSION_GIT
+ default "branch" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
default "hash"
config ADK_TARGET_KERNEL_NO_MIRROR
diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime
index 03daaa24f..db3eaa110 100644
--- a/target/config/Config.in.runtime
+++ b/target/config/Config.in.runtime
@@ -368,6 +368,7 @@ config ADK_RUNTIME_CONSOLE_SERIAL_DEVICE
default "ttyPS0" if ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ
default "ttysclp0" if ADK_TARGET_SYSTEM_QEMU_S390
default "ttyO2" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
+ default "ttyO0" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
default "ttyS4" if ADK_TARGET_SYSTEM_IMGTEC_CI20
default "ttyS0"
diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial
index d32efe085..6f3510879 100644
--- a/target/linux/config/Config.in.serial
+++ b/target/linux/config/Config.in.serial
@@ -273,11 +273,13 @@ config ADK_KERNEL_SERIAL_OMAP
select ADK_KERNEL_SERIAL_8250
select ADK_KERNEL_SERIAL_8250_CONSOLE
select ADK_KERNEL_SERIAL_OMAP_CONSOLE
- depends on ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
+ depends on ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK \
+ || ADK_TARGET_SYSTEM_PHYTEC_WEGA
default y if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
+ default y if ADK_TARGET_SYSTEM_PHYTEC_WEGA
default n
help
- Serial driver for Beaglebone Black
+ Serial driver for TI OMAP Boards.
config ADK_KERNEL_SERIAL_UARTLITE
bool "uartlite serial driver"