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 ++++++++++++++++++++++++++ target/config/Config.in.kernelversion | 4 ++-- 4 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 target/aarch64/kernel/raspberry-pi3-64 create mode 100644 target/aarch64/systems/raspberry-pi3-64 (limited to 'target') 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) + diff --git a/target/config/Config.in.kernelversion b/target/config/Config.in.kernelversion index fe135aa5b..60c1be2cf 100644 --- a/target/config/Config.in.kernelversion +++ b/target/config/Config.in.kernelversion @@ -232,7 +232,7 @@ config ADK_TARGET_KERNEL_GIT_REPO_NAME config ADK_TARGET_KERNEL_GIT string "git version" depends on ADK_TARGET_KERNEL_VERSION_GIT - default "cd6413a82a66de6ecce828ce67df4f6e3290ea86" if ADK_TARGET_BOARD_BCM28XX + default "72134397d72079a533c8fc742701fdc7f5ae7c5b" if ADK_TARGET_BOARD_BCM28XX default "6a2f2e4198eaff63ee75f6085ce9f966c47b4441" if ADK_TARGET_ARCH_LM32 default "1d008423ab5fd12459f53342e4d17585ec63cfe4" if ADK_TARGET_SYSTEM_KINETIS_K70 default "902739f3353150ac9eb69ad995098f3079d862a3" if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG @@ -242,7 +242,7 @@ config ADK_TARGET_KERNEL_GIT config ADK_TARGET_KERNEL_GIT_VER string "kernel version" depends on ADK_TARGET_KERNEL_VERSION_GIT - default "4.9.17" if ADK_TARGET_BOARD_BCM28XX + default "4.9.22" if ADK_TARGET_BOARD_BCM28XX default "3.14.79" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 default "4.4.37" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK default "2.6.33" if ADK_TARGET_SYSTEM_KINETIS_K70 -- cgit v1.2.3