added alarm/uboot-macchiatobin

This commit is contained in:
Kevin Mihelich 2018-04-03 00:27:04 +00:00
parent 7fb7c8a80c
commit 393d3e8578
7 changed files with 280 additions and 0 deletions

View file

@ -0,0 +1,25 @@
From cf823a1df66cc258afe1f2c870b4cbd182489f97 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Sun, 25 Feb 2018 12:28:01 -0700
Subject: [PATCH] ATF toolchain fixes
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 5b67763e..5571a9c0 100644
--- a/Makefile
+++ b/Makefile
@@ -246,7 +246,7 @@ TF_CFLAGS += -nostdinc -ffreestanding -Wall \
-std=c99 -c -Os \
$(TF_CFLAGS_$(ARCH)) \
${DEFINES} ${INCLUDES}
-TF_CFLAGS += -ffunction-sections -fdata-sections
+TF_CFLAGS += -ffunction-sections -fdata-sections -fno-stack-protector -fno-pie
LDFLAGS += --fatal-warnings -O1
LDFLAGS += --gc-sections
--
2.14.1

View file

@ -0,0 +1,25 @@
From bacc2b70d8b7258bb4c07c8ac1c490c604d6efb4 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Sun, 25 Feb 2018 12:28:30 -0700
Subject: [PATCH] DDR toolchain fixes
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 7c70d75..83bdb5e 100755
--- a/Makefile
+++ b/Makefile
@@ -253,7 +253,7 @@ INCLUDE += $(PLAT_INCLUDES)
MV_DDR_LIBNAME = mv_ddr_lib.a
MV_DDR_LIB = $(OBJ_DIR)/$(MV_DDR_LIBNAME)
-CFLAGS = -Wall -Werror -Os -ffreestanding -mlittle-endian -g -gdwarf-2 -nostdinc
+CFLAGS = -Wall -Werror -Os -ffreestanding -mlittle-endian -g -gdwarf-2 -nostdinc -fno-stack-protector -fno-pie
# PLATFORM is set in ble/ble.mk
CFLAGS += -march=armv8-a -fpie $(INCLUDE)
CFLAGS += -DMV_DDR_ATF -DCONFIG_APN806
--
2.14.1

View file

@ -0,0 +1,122 @@
From e3d5a4003a0d24aba8600300fbbe6b6b75d21464 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Sun, 25 Feb 2018 12:20:18 -0700
Subject: [PATCH] arch linux arm modifications
---
configs/mvebu_mcbin-88f8040_defconfig | 1 +
drivers/usb/eth/r8152.c | 4 +--
include/configs/mvebu_armada-common.h | 61 ++++++++++++++---------------------
3 files changed, 27 insertions(+), 39 deletions(-)
diff --git a/configs/mvebu_mcbin-88f8040_defconfig b/configs/mvebu_mcbin-88f8040_defconfig
index 8932ceac3c..b85e318e37 100644
--- a/configs/mvebu_mcbin-88f8040_defconfig
+++ b/configs/mvebu_mcbin-88f8040_defconfig
@@ -84,3 +84,4 @@ CONFIG_USB_XHCI_HCD=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_STORAGE=y
CONFIG_SMBIOS_MANUFACTURER=""
+CONFIG_MVEBU_MMC_BOOT
diff --git a/drivers/usb/eth/r8152.c b/drivers/usb/eth/r8152.c
index ed441f3243..e09351b0d2 100644
--- a/drivers/usb/eth/r8152.c
+++ b/drivers/usb/eth/r8152.c
@@ -26,7 +26,7 @@ struct r8152_dongle {
unsigned short product;
};
-static const struct r8152_dongle const r8152_dongles[] = {
+static const struct r8152_dongle r8152_dongles[] = {
/* Realtek */
{ 0x0bda, 0x8050 },
{ 0x0bda, 0x8152 },
@@ -59,7 +59,7 @@ struct r8152_version {
bool gmii;
};
-static const struct r8152_version const r8152_versions[] = {
+static const struct r8152_version r8152_versions[] = {
{ 0x4c00, RTL_VER_01, 0 },
{ 0x4c10, RTL_VER_02, 0 },
{ 0x5c00, RTL_VER_03, 1 },
diff --git a/include/configs/mvebu_armada-common.h b/include/configs/mvebu_armada-common.h
index c406a7aa1b..de084959bc 100644
--- a/include/configs/mvebu_armada-common.h
+++ b/include/configs/mvebu_armada-common.h
@@ -34,43 +34,7 @@
#define CONFIG_HAS_ETH1
#define CONFIG_HAS_ETH2
#define CONFIG_ETHPRIME "eth0"
-#define CONFIG_ROOTPATH "/srv/nfs/" /* Default Dir for NFS */
-#define CONFIG_EXTRA_ENV_SETTINGS "kernel_addr=0x5000000\0" \
- "initrd_addr=0xa00000\0" \
- "initrd_size=0x2000000\0" \
- "fdt_addr=0x4f00000\0" \
- "loadaddr=0x5000000\0" \
- "fdt_high=0xffffffffffffffff\0" \
- "hostname=marvell\0" \
- "ramfs_addr=0x8000000\0" \
- "ramfs_name=-\0" \
- "fdt_name=fdt.dtb\0" \
- "netdev=eth0\0" \
- "ethaddr=00:51:82:11:22:00\0" \
- "eth1addr=00:51:82:11:22:01\0" \
- "eth2addr=00:51:82:11:22:02\0" \
- "eth3addr=00:51:82:11:22:03\0" \
- "image_name=Image\0" \
- "get_ramfs=if test \"${ramfs_name}\"" \
- " != \"-\"; then setenv " \
- "ramfs_addr 0x8000000; " \
- "tftpboot $ramfs_addr " \
- "$ramfs_name; else setenv " \
- "ramfs_addr -;fi\0" \
- "get_images=tftpboot $kernel_addr " \
- "$image_name; tftpboot " \
- "$fdt_addr $fdt_name; " \
- "run get_ramfs\0" \
- "console=" CONFIG_DEFAULT_CONSOLE "\0"\
- "root=root=/dev/nfs rw\0" \
- "set_bootargs=setenv bootargs $console"\
- " $root ip=$ipaddr:$serverip:" \
- "$gatewayip:$netmask:$hostname"\
- ":$netdev:none nfsroot="\
- "$serverip:$rootpath " \
- "$extra_params"
-#define CONFIG_BOOTCOMMAND "run get_images; run set_bootargs; " \
- "booti $kernel_addr $ramfs_addr $fdt_addr"
+
#define CONFIG_ENV_OVERWRITE /* ethaddr can be reprogrammed */
/*
* For booting Linux, the board info and command line data
@@ -175,4 +139,27 @@
*/
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10
+#include <config_distro_defaults.h>
+
+#define BOOT_TARGET_DEVICES(func) \
+ func(MMC, mmc, 1) \
+ func(MMC, mmc, 0) \
+ func(USB, usb, 0) \
+ func(SCSI, scsi, 0)
+
+#include <config_distro_bootcmd.h>
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "scriptaddr=0x4d00000\0" \
+ "pxefile_addr_r=0x4e00000\0" \
+ "fdt_addr_r=0x4f00000\0" \
+ "kernel_addr_r=0x5000000\0" \
+ "ramdisk_addr_r=0x8000000\0" \
+ "fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
+ "eth1addr=00:51:82:11:22:01\0" \
+ "eth2addr=00:51:82:11:22:02\0" \
+ "eth3addr=00:51:82:11:22:03\0" \
+ "ethaddr=00:51:82:11:22:00\0" \
+ BOOTENV
+
#endif /* _CONFIG_MVEBU_ARMADA_H */
--
2.14.1

View file

@ -0,0 +1,64 @@
# U-Boot: MACCHIATObin
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>
buildarch=8
pkgname=uboot-macchiatobin
pkgver=2017.03
pkgrel=1
pkgdesc="U-Boot for MACCHIATObin"
arch=('aarch64')
url='http://www.denx.de/wiki/U-Boot/WebHome'
license=('GPL' 'custom')
install=$pkgname.install
backup=('boot/boot.txt' 'boot/boot.scr')
makedepends=('bc' 'dtc145' 'git')
options=('!strip')
source=('git+https://github.com/MarvellEmbeddedProcessors/u-boot-marvell#branch=u-boot-2017.03-armada-17.10'
'git+https://github.com/MarvellEmbeddedProcessors/binaries-marvell#branch=binaries-marvell-armada-17.10'
'git+https://github.com/MarvellEmbeddedProcessors/atf-marvell#branch=atf-v1.3-armada-17.10'
'git+https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell#branch=mv_ddr-armada-17.10'
'0001-arch-linux-arm-modifications.patch'
'0001-ATF-toolchain-fixes.patch'
'0001-DDR-toolchain-fixes.patch'
'boot.txt'
'mkscr')
md5sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'77079375821a6af000ab0ab9c5007539'
'd00628523a4fc02898d0115dd9f11d29'
'9fd32c9b80e6773f4188c8b95539a281'
'7eabc1489d5248f4a7809eb2c0d189be'
'021623a04afd29ac3f368977140cfbfd')
prepare() {
unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
cd u-boot-marvell
patch -p1 -i ../0001-arch-linux-arm-modifications.patch
cd ../atf-marvell
patch -p1 -i ../0001-ATF-toolchain-fixes.patch
cd ../mv-ddr-marvell
patch -p1 -i ../0001-DDR-toolchain-fixes.patch
}
build() {
cd u-boot-marvell
make mvebu_mcbin-88f8040_defconfig
echo 'CONFIG_IDENT_STRING=" Arch Linux ARM"' >> .config
make
cd ..
export BL33=$(pwd)/u-boot-marvell/u-boot.bin
export SCP_BL2=$(pwd)/binaries-marvell/mrvl_scp_bl2_8040.img
export DDR_PATH=$(pwd)/mv-ddr-marvell
cd atf-marvell
make USE_COHERENT_MEM=0 LOG_LEVEL=20 MV_DDR_PATH=${DDR_PATH} PLAT=a80x0_mcbin all fip
}
package() {
install -Dpt "${pkgdir}"/boot atf-marvell/build/a80x0_mcbin/release/flash-image.bin mkscr boot.txt
u-boot-marvell/tools/mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d boot.txt "${pkgdir}"/boot/boot.scr
}

View file

@ -0,0 +1,15 @@
# After modifying, run ./mkscr
test -n "${distro_bootpart}" || setenv distro_bootpart 1
part uuid ${devtype} ${devnum}:${distro_bootpart} uuid
setenv bootargs "console=ttyS0,115200 root=PARTUUID=${uuid} rw rootwait earlycon"
if load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} /boot/Image; then
if load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} /boot/dtbs/marvell/${fdtfile}; then
if load ${devtype} ${devnum}:${distro_bootpart} ${ramdisk_addr_r} /boot/initramfs-linux.img; then
booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r};
else
booti ${kernel_addr_r} - ${fdt_addr_r};
fi;
fi;
fi

9
alarm/uboot-macchiatobin/mkscr Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
if [[ ! -x /usr/bin/mkimage ]]; then
echo "mkimage not found. Please install uboot-tools:"
echo " pacman -S uboot-tools"
exit 1
fi
mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d boot.txt boot.scr

View file

@ -0,0 +1,20 @@
flash_uboot() {
dev="/dev/mmcblk1"
echo "A new U-Boot version needs to be flashed onto ${dev}."
echo "Do you want to do this now? [y|N]"
read -r shouldwe
if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then
dd if=/boot/flash-image.bin of=${dev} seek=4096 conv=fdatasync,notrunc
else
echo "You can do this later by reinstalling the package."
fi
}
post_install() {
flash_uboot
}
post_upgrade() {
flash_uboot
}