From 910cee4c6dd1362574acf182419b5d2d2625ee06 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 16 Apr 2017 18:11:26 +0200 Subject: add rpi3 aarch64 sample, not yet fully working --- target/aarch64/Makefile | 21 ++++++++++++++++++++- target/aarch64/kernel/raspberry-pi3-64 | 10 ++++++++++ target/aarch64/systems/raspberry-pi3-64 | 26 ++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 target/aarch64/kernel/raspberry-pi3-64 create mode 100644 target/aarch64/systems/raspberry-pi3-64 (limited to 'target/aarch64') diff --git a/target/aarch64/Makefile b/target/aarch64/Makefile index 34a2b8ecd..c96264c39 100644 --- a/target/aarch64/Makefile +++ b/target/aarch64/Makefile @@ -20,6 +20,10 @@ endif ifeq ($(ADK_TARGET_FS),archive) targethelp: @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)" +ifeq ($(ADK_TARGET_BOARD_BCM28XX),y) + @echo "Use following command to install it on SD card:" + @echo "sudo ./scripts/install.sh $(ADK_TARGET_SYSTEM) /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)" +endif ifeq ($(ADK_TARGET_QEMU),y) @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}' @echo "Use following command to create a QEMU Image:" @@ -57,9 +61,24 @@ kernel-strip: kernel-install: kernel-strip @cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(TARGET_KERNEL) +dtb-install: +ifeq ($(ADK_TARGET_BOARD_BCM28XX),y) + env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \ + dtbs $(MAKE_TRACE) + mkdir -p $(FW_DIR)/overlays + for x in $(LINUX_DIR)/arch/arm64/boot/dts/overlays/*.dtbo; do \ + [[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/arm64/boot/dts/overlays/*.dtbo $(FW_DIR)/overlays; \ + break; \ + done + for x in $(LINUX_DIR)/arch/arm64/boot/dts/broadcom/*.dtb; do \ + [[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/arm64/boot/dts/broadcom/*.dtb $(FW_DIR); \ + break; \ + done +endif + # filesystem specific targets ifeq ($(ADK_TARGET_FS),archive) -imageinstall: $(FW_DIR)/$(ROOTFSTARBALL) targethelp +imageinstall: dtb-install $(FW_DIR)/$(ROOTFSTARBALL) targethelp endif ifeq ($(ADK_TARGET_FS),initramfs) imageinstall: kernel-install $(FW_DIR)/$(INITRAMFS) targethelp diff --git a/target/aarch64/kernel/raspberry-pi3-64 b/target/aarch64/kernel/raspberry-pi3-64 new file mode 100644 index 000000000..6d9ace351 --- /dev/null +++ b/target/aarch64/kernel/raspberry-pi3-64 @@ -0,0 +1,10 @@ +CONFIG_ARM64=y +CONFIG_ARCH_BCM2835=y +CONFIG_BRCM_CHAR_DRIVERS=y +CONFIG_BCM2708_VCMEM=y +CONFIG_BCM_VCIO=y +CONFIG_BCMA=y +CONFIG_MAILBOX=y +CONFIG_BCM2835_MBOX=y +CONFIG_RASPBERRYPI_POWER=y +CONFIG_RASPBERRYPI_FIRMWARE=y diff --git a/target/aarch64/systems/raspberry-pi3-64 b/target/aarch64/systems/raspberry-pi3-64 new file mode 100644 index 000000000..03f1d755d --- /dev/null +++ b/target/aarch64/systems/raspberry-pi3-64 @@ -0,0 +1,26 @@ +config ADK_TARGET_SYSTEM_RASPBERRY_PI3_64 + bool "Raspberry PI 3 (AARCH64)" + depends on ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_CPU_AARCH64_CORTEX_A53 + select ADK_TARGET_BOARD_BCM28XX + 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_SMP + select ADK_TARGET_WITH_NET + select ADK_TARGET_WITH_NETDEVICE + select ADK_TARGET_WITH_WIFI + select ADK_TARGET_WITH_BLOCK + select ADK_TARGET_WITH_SOUND + select ADK_TARGET_WITH_SDIO + select ADK_PACKAGE_BCM28XX_BOOTLOADER + select ADK_TARGET_WITH_ROOT_RW + select ADK_TARGET_KERNEL_IMAGE + help + Raspberry PI 3 (AARCH64) + -- cgit v1.2.3