aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/linux/at91/base-files/etc/board.d/02_network2
-rw-r--r--target/linux/at91/image/sama7.mk57
-rw-r--r--target/linux/at91/image/uboot-env.txt7
3 files changed, 62 insertions, 4 deletions
diff --git a/target/linux/at91/base-files/etc/board.d/02_network b/target/linux/at91/base-files/etc/board.d/02_network
index 3e11f40b32..857417c7fd 100644
--- a/target/linux/at91/base-files/etc/board.d/02_network
+++ b/target/linux/at91/base-files/etc/board.d/02_network
@@ -8,7 +8,7 @@ board_config_update
case "$(board_name)" in
-atmel,sama5d3-xplained)
+atmel,sama5d3-xplained|microchip,sama7g5ek)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
;;
diff --git a/target/linux/at91/image/sama7.mk b/target/linux/at91/image/sama7.mk
new file mode 100644
index 0000000000..bf1704dfb3
--- /dev/null
+++ b/target/linux/at91/image/sama7.mk
@@ -0,0 +1,57 @@
+
+define Device/default-nand
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ SUBPAGESIZE := 2048
+ MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB -c 2048
+endef
+
+define Build/at91-sdcard
+ $(if $(findstring ext4,$@), \
+ rm -f $@.boot
+ mkfs.fat -C $@.boot $(FAT32_BLOCKS)
+
+ mcopy -i $@.boot \
+ $(KDIR)/$(DEVICE_NAME)-fit-zImage.itb \
+ ::$(DEVICE_NAME)-fit.itb
+
+ mcopy -i $@.boot \
+ $(BIN_DIR)/u-boot-$(DEVICE_DTS:at91-%=%)_mmc1/u-boot.bin \
+ ::u-boot.bin
+
+ mcopy -i $@.boot \
+ $(BIN_DIR)/at91bootstrap-$(DEVICE_DTS:at91-%=%)sd_uboot/at91bootstrap.bin \
+ ::BOOT.bin
+
+ $(CP) uboot-env.txt $@-uboot-env.txt
+ sed -i '2d;3d' $@-uboot-env.txt
+ sed -i '2i board='"$(DEVICE_NAME)"'' $@-uboot-env.txt
+ sed -i '3i board_name='"$(firstword $(SUPPORTED_DEVICES))"'' $@-uboot-env.txt
+
+ mkenvimage -s 0x4000 -o $@-uboot.env $@-uboot-env.txt
+
+ mcopy -i $@.boot $@-uboot.env ::uboot.env
+
+ ./gen_at91_sdcard_img.sh \
+ $@.img \
+ $@.boot \
+ $(KDIR)/root.ext4 \
+ $(AT91_SD_BOOT_PARTSIZE) \
+ $(CONFIG_TARGET_ROOTFS_PARTSIZE)
+
+ gzip -nc9 $@.img > $@
+
+ rm -f $@.img $@.boot $@-uboot.env $@-uboot-env.txt)
+endef
+
+define Device/microchip_sama7g5-ek
+ $(Device/evaluation-dtb)
+ DEVICE_VENDOR := Microchip
+ DEVICE_MODEL := SAMA7G5-EK
+ DEVICE_DTS := at91-sama7g5ek
+ SUPPORTED_DEVICES := microchip,sama7g5ek
+ KERNEL_SIZE := 6144k
+ KERNEL_LOADADDR := 0x62000000
+ $(Device/evaluation-sdimage)
+endef
+TARGET_DEVICES += microchip_sama7g5-ek
diff --git a/target/linux/at91/image/uboot-env.txt b/target/linux/at91/image/uboot-env.txt
index 9cdccc9a2f..14f983d039 100644
--- a/target/linux/at91/image/uboot-env.txt
+++ b/target/linux/at91/image/uboot-env.txt
@@ -4,10 +4,11 @@ board_name=atmel,at91sam9x25ek
bootargs=console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait rootfstype=ext4
bootargsd2=console=ttyS0,115200 earlyprintk root=/dev/mmcblk1p2 rw rootwait rootfstype=ext4
bootargsxx=console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait rootfstype=ext4
-bootcmd=run setbootargs; run fatload_mmc; bootm 0x21000000
+bootcmd=run setloadaddr; run setbootargs; run fatload_mmc; bootm ${loadaddr}
bootdelay=1
-fatload_mmc=if test ${board_name} = atmel,sama5d2-xplained || test ${board_name} = atmel,sama5d27-som1-ek; then fatload mmc 1:1 0x21000000 ${board}-fit.itb; else fatload mmc 0:1 0x21000000 ${board}-fit.itb; fi
-setbootargs=if test ${board_name} = atmel,sama5d2-xplained || test ${board_name} = atmel,sama5d27-som1-ek; then setenv bootargs ${bootargsd2}; else setenv bootargs ${bootargsxx}; fi
+fatload_mmc=if test ${board_name} = atmel,sama5d2-xplained || test ${board_name} = atmel,sama5d27-som1-ek || test ${board_name} = microchip,sama7g5ek; then fatload mmc 1:1 ${loadaddr} ${board}-fit.itb; else fatload mmc 0:1 ${loadaddr} ${board}-fit.itb; fi
+setbootargs=if test ${board_name} = atmel,sama5d2-xplained || test ${board_name} = atmel,sama5d27-som1-ek || test ${board_name} = microchip,sama7g5ek; then setenv bootargs ${bootargsd2}; else setenv bootargs ${bootargsxx}; fi
+setloadaddr=if test ${board_name} = microchip,sama7g5ek; then setenv loadaddr 0x63000000; else setenv loadaddr 0x21000000; fi
ethact=gmac0
stderr=serial
stdin=serial