From patchwork Fri Dec 2 11:51:09 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Harkin X-Patchwork-Id: 86281 Delivered-To: patch@linaro.org Received: by 10.140.20.101 with SMTP id 92csp215896qgi; Fri, 2 Dec 2016 03:51:57 -0800 (PST) X-Received: by 10.194.171.104 with SMTP id at8mr38213129wjc.159.1480679517778; Fri, 02 Dec 2016 03:51:57 -0800 (PST) Return-Path: Received: from theia.denx.de (theia.denx.de. [85.214.87.163]) by mx.google.com with ESMTP id w3si4802292wjd.161.2016.12.02.03.51.57; Fri, 02 Dec 2016 03:51:57 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 85.214.87.163 as permitted sender) client-ip=85.214.87.163; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 85.214.87.163 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE dis=NONE) header.from=linaro.org Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 7A668B385B; Fri, 2 Dec 2016 12:51:45 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UQ5euglk3ruH; Fri, 2 Dec 2016 12:51:45 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id B2C11B383F; Fri, 2 Dec 2016 12:51:37 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id CF085A7581 for ; Fri, 2 Dec 2016 12:51:29 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TtIypgBoJ6VU for ; Fri, 2 Dec 2016 12:51:29 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by theia.denx.de (Postfix) with ESMTPS id 9E67BA7580 for ; Fri, 2 Dec 2016 12:51:25 +0100 (CET) Received: by mail-wm0-f42.google.com with SMTP id g23so14415364wme.1 for ; Fri, 02 Dec 2016 03:51:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=MCF5HU2zr2SQoaVzvP21xyJuEy6ZXXkKPv59stS0kGA=; b=IjurzX3Z0pI+F3/zO+lVLYO3gH+VuLLojW7wdfzPfMbeYXA/LMqCl2neF3pQIcDlU1 r9Kod+CdTSgYhUTucrGyeTf9glJoVet6MmkyOj8FUodI/h3Ng/bGYwqJEso1n0XgT36t 6o/lwZrp4A/8jo25fxoppVW9/41d0OtgFcN6c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=MCF5HU2zr2SQoaVzvP21xyJuEy6ZXXkKPv59stS0kGA=; b=bgWUrtn6VEC2xvQOwuRNNydcMEjx85aajz1lVGhZLXQK4/Gp52QboLTSgh2yIkd3jQ whXU8GB4k8Tqdos3XAIj2s0IB4Vn912R2tr1zH6D4xdRomezV2AKEmnsacgKgUGnkb0D cIoWu8HftTQ5YN7DLQmEqXbWK6H7rqto/tNG+TWN6sFuOphOgB9vtcRUJ6qXl4wWF737 E4voeDjLwb+C3tcffgRaK+VyYOXmWcuGKpzCYG4wkkalyBiRpRW5ejLH/ClvFSXllYee 0mgb4R0LmMD01gTZ3TIcDJUVMyfqf3AD8Es9teZvbqvJg1kbik5ocfjVsNZaos5/AvfZ hugg== X-Gm-Message-State: AKaTC00cYVkvEmDb0Fn50nsFwXitbe97meGSEasAdZ7yck8lO2t2zDCDsOqOrzKiLpOkB2TU X-Received: by 10.28.163.5 with SMTP id m5mr2651760wme.98.1480679484540; Fri, 02 Dec 2016 03:51:24 -0800 (PST) Received: from vbox.cambridge.arm.com (82-69-54-187.dsl.in-addr.zen.co.uk. [82.69.54.187]) by smtp.gmail.com with ESMTPSA id gk6sm5128068wjc.46.2016.12.02.03.51.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 02 Dec 2016 03:51:23 -0800 (PST) From: Ryan Harkin To: u-boot@lists.denx.de Date: Fri, 2 Dec 2016 11:51:09 +0000 Message-Id: <1480679469-27065-3-git-send-email-ryan.harkin@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1480679469-27065-1-git-send-email-ryan.harkin@linaro.org> References: <1480679469-27065-1-git-send-email-ryan.harkin@linaro.org> Cc: Tom Rini , David Feng , Albert Aribaud , Marc Zyngier , Andre Przywara , Soby Mathew Subject: [U-Boot] [RFC PATCH 2/2] Add vexpress_aemv8a_aarch32 variant X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" The ARM AEMv8 FVP model can be run in Aarch64 or Aarch32 mode. Aarch32 support is enable per-CPU when launching the model, eg: -C cluster0.cpu0.CONFIG64=0 This patch adds a new defconfig and some variant specific selections in vexpress_armv8a.h. This patch is co-authored with Soby Mathew . Signed-off-by: Ryan Harkin --- arch/arm/Kconfig | 10 ++++++++++ board/armltd/vexpress64/Kconfig | 2 +- configs/vexpress_aemv8a_aarch32_defconfig | 30 ++++++++++++++++++++++++++++++ include/configs/vexpress_aemv8a.h | 28 ++++++++++++++++++++++++++-- 4 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 configs/vexpress_aemv8a_aarch32_defconfig -- 1.9.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 6475a21..59e22aa 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -647,6 +647,16 @@ config TARGET_VEXPRESS64_BASE_FVP select ARM64 select SEMIHOSTING +config TARGET_VEXPRESS_AEMV8_AARCH32 + bool "Support Versatile Express ARMv8a 32-bit FVP BASE model booting from DRAM" + select CPU_V7 + select ARMV8_AARCH32 + help + This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides + the default config to allow the user to load the images directly into + DRAM using model parameters rather than by using semi-hosting to load + the files from the host filesystem. + config TARGET_VEXPRESS64_BASE_FVP_DRAM bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM" select ARM64 diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig index e05f353..06c1ce1 100644 --- a/board/armltd/vexpress64/Kconfig +++ b/board/armltd/vexpress64/Kconfig @@ -1,4 +1,4 @@ -if TARGET_VEXPRESS64_BASE_FVP || TARGET_VEXPRESS64_JUNO || TARGET_VEXPRESS64_BASE_FVP_DRAM +if TARGET_VEXPRESS64_BASE_FVP || TARGET_VEXPRESS64_JUNO || TARGET_VEXPRESS64_BASE_FVP_DRAM || TARGET_VEXPRESS_AEMV8_AARCH32 config SYS_BOARD default "vexpress64" diff --git a/configs/vexpress_aemv8a_aarch32_defconfig b/configs/vexpress_aemv8a_aarch32_defconfig new file mode 100644 index 0000000..109bae5 --- /dev/null +++ b/configs/vexpress_aemv8a_aarch32_defconfig @@ -0,0 +1,30 @@ +CONFIG_ARM=y +CONFIG_TARGET_VEXPRESS_AEMV8_AARCH32=y +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_IDENT_STRING=" vexpress_aemv8a" +CONFIG_BOOTDELAY=1 +# CONFIG_DISPLAY_CPUINFO is not set +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="VExpress32# " +# CONFIG_CMD_CONSOLE is not set +# CONFIG_CMD_IMLS is not set +# CONFIG_CMD_XIMG is not set +# CONFIG_CMD_EDITENV is not set +# CONFIG_CMD_ENV_EXISTS is not set +CONFIG_CMD_MEMTEST=y +# CONFIG_CMD_LOADS is not set +CONFIG_CMD_ARMFLASH=y +# CONFIG_CMD_FPGA is not set +# CONFIG_CMD_ITEST is not set +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_DHCP=y +# CONFIG_CMD_NFS is not set +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y +CONFIG_CMD_CACHE=y +# CONFIG_CMD_MISC is not set +CONFIG_CMD_FAT=y +CONFIG_DM=y +CONFIG_DM_SERIAL=y +CONFIG_OF_LIBFDT=y diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h index c9841cd..5cab39a 100644 --- a/include/configs/vexpress_aemv8a.h +++ b/include/configs/vexpress_aemv8a.h @@ -16,12 +16,17 @@ #endif #define CONFIG_REMAKE_ELF - #define CONFIG_SUPPORT_RAW_INITRD +#ifdef CONFIG_ARMV8_AARCH32 +#define CONFIG_SYS_HZ_CLOCK 24000000 +#define CONFIG_SYS_ARCH_TIMER +#define CONFIG_SKIP_LOWLEVEL_INIT +#endif /* Link Definitions */ #if defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP) || \ - defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP_DRAM) + defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP_DRAM) || \ + defined(CONFIG_TARGET_VEXPRESS_AEMV8_AARCH32) /* ATF loads u-boot here for BASE_FVP model */ #define CONFIG_SYS_TEXT_BASE 0x88000000 #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x03f00000) @@ -259,6 +264,25 @@ #define CONFIG_BOOTCOMMAND "booti $kernel_addr $initrd_addr $fdt_addr" +#elif CONFIG_TARGET_VEXPRESS_AEMV8_AARCH32 +#define CONFIG_EXTRA_ENV_SETTINGS \ + "kernel_addr=0x80080000\0" \ + "initrd_addr=0x84000000\0" \ + "fdt_addr=0x82000000\0" \ + "fdt_high=0xffffffff\0" \ + "initrd_high=0xffffffff\0" + +#define CONFIG_BOOTARGS "console=ttyAMA0 earlycon=pl011,"\ + "0x1c090000 debug user_debug=31 "\ + "systemd.log_target=null "\ + "androidboot.hardware=fvpbase "\ + "root=/dev/vda2 rw "\ + "rootwait "\ + "loglevel=9" + +#define CONFIG_BOOTCOMMAND "bootm $kernel_addr $initrd_addr $fdt_addr" + + #endif /* Monitor Command Prompt */