diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2017-09-27 04:03:04 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2017-09-28 04:24:56 +0200 |
commit | d5938587a989bffab750f778406e5e46a4df18c5 (patch) | |
tree | e1176773171fe21918b7b73b0abbfc6c370669b9 | |
parent | ad1377105ce1148d5de599d82c6f622bec44e832 (diff) |
add phytec wega sample
-rw-r--r-- | mk/rootfs.mk | 4 | ||||
-rwxr-xr-x | scripts/install.sh | 34 | ||||
-rw-r--r-- | target/arm/Makefile | 16 | ||||
-rw-r--r-- | target/arm/kernel/phytec-wega | 6 | ||||
-rw-r--r-- | target/arm/systems/phytec-wega | 21 | ||||
-rw-r--r-- | target/config/Config.in.kernelcfg | 2 | ||||
-rw-r--r-- | target/config/Config.in.kernelversion | 7 | ||||
-rw-r--r-- | target/config/Config.in.runtime | 1 | ||||
-rw-r--r-- | target/linux/config/Config.in.serial | 6 |
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" |