Skip to contentSkip to conversation

board: add support for ARM Juno r0 and r1 Development Boards

PATCH Superseded Joao Pinto 2 participants 3 messages Feb 3, 2016 – Feb 4, 2016

v8 of 10 Superseded Latest is v10 →

lore
Share & tools
lore

Joao Pinto

author
#0 lore raw

PATCH v8 1/1 board: add support for ARM Juno r0 and r1 Development Boards

The Juno ARM Development Platform (ADP) is a software development platform for ARMv8-A, it includes the Juno Versatile Express board and an ARMv8-A reference software port available through Linaro.

---
Changes v6 -> v8 (Liviu Dudau):
- Add support for Juno r0
- Documentation updated with boot parameter configuration
- Created a buildroot defconfig for each Juno model
Changes v6 -> v7 (Arnout Vandecappelle):
- Commit id was updated
- Custom image name was removed from buildroot' defconfig
Changes v5 -> v6 (Arnout Vandecappelle):
- replace Juno r1 for Juno (applicable to r0 and r1)
- some configs were removed from defconfig
Changes v4 -> v5:
-Added changelog to the patch
Changes v3 -> v4(Thomas Petazzoni):
-The kernel' arm64 defconfig lacks a considerable amount of configuration items regarding the Juno board, and that is the reason of this custom kernel configuration file.
-The ARM Juno needs a kernel image called Image, and that it the reason why BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM is being used. -A new readme.txt was produced.

 board/arm/juno/linux-juno-defconfig | 161 ++++++++++++++++++++++++++++++++++++
 board/arm/juno/readme.txt           |  99 ++++++++++++++++++++++
 configs/arm_juno_r0_defconfig       |  14 ++++
 configs/arm_juno_r1_defconfig       |  14 ++++
 4 files changed, 288 insertions(+)
 create mode 100644 board/arm/juno/linux-juno-defconfig
 create mode 100644 board/arm/juno/readme.txt
 create mode 100644 configs/arm_juno_r0_defconfig
 create mode 100644 configs/arm_juno_r1_defconfig
board/arm/juno/linux-juno-defconfig new file +161 -0
new file mode 100644
index 0000000..873c7fb
@@ -0,0 +1,161 @@
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_FHANDLE=y
+CONFIG_AUDIT=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_MEMCG=y
+CONFIG_MEMCG_SWAP=y
+CONFIG_MEMCG_KMEM=y
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_SCHED_AUTOGROUP=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_PROFILING=y
+CONFIG_JUMP_LABEL=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_ARCH_VEXPRESS=y
+CONFIG_PCI=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_NR_CPUS=6
+CONFIG_PREEMPT=y
+CONFIG_KSM=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_CMA=y
+CONFIG_CMDLINE="console=ttyAMA0"
+CONFIG_COMPAT=y
+CONFIG_CPU_IDLE=y
+CONFIG_ARM_CPUIDLE=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
+CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
+CONFIG_ARM_DT_BL_CPUFREQ=y
+CONFIG_ARM_SCPI_CPUFREQ=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_BPF_JIT=y
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_AHCI_XGENE=y
+CONFIG_PATA_PLATFORM=y
+CONFIG_PATA_OF_PLATFORM=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=y
+CONFIG_SKY2=y
+CONFIG_SMC91X=y
+CONFIG_SMSC911X=y
+CONFIG_INPUT_EVDEV=y
+CONFIG_SERIO_AMBAKMI=y
+CONFIG_LEGACY_PTY_COUNT=16
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_SERIAL_XILINX_PS_UART=y
+CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+CONFIG_I2C_SLAVE=y
+CONFIG_SPI=y
+CONFIG_SPI_PL022=y
+CONFIG_PTP_1588_CLOCK=m
+CONFIG_GPIO_PL061=y
+CONFIG_GPIO_XGENE=y
+CONFIG_POWER_RESET_XGENE=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_VEXPRESS=m
+CONFIG_DRM=y
+CONFIG_DRM_I2C_NXP_TDA998X=y
+CONFIG_DRM_ARM=y
+CONFIG_DRM_HDLCD=y
+CONFIG_DRM_VIRTUAL_HDLCD=y
+CONFIG_FB_ARMCLCD=y
+CONFIG_LOGO=y
+CONFIG_USB=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_ISP1760=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_ULPI=y
+CONFIG_MMC=y
+CONFIG_MMC_ARMMMCI=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SPI=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_EFI=y
+CONFIG_RTC_DRV_PL030=y
+CONFIG_RTC_DRV_PL031=y
+CONFIG_DMADEVICES=y
+CONFIG_PL330_DMA=y
+CONFIG_COMMON_CLK_SCPI=y
+CONFIG_ARM_TIMER_SP804=y
+CONFIG_MAILBOX=y
+CONFIG_ARM_MHU=y
+CONFIG_PHY_XGENE=y
+CONFIG_ARM_SCPI_PROTOCOL=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+CONFIG_QUOTA=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+CONFIG_CUSE=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_HUGETLBFS=y
+CONFIG_EFIVAR_FS=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=y
+CONFIG_DYNAMIC_DEBUG=y
+CONFIG_DEBUG_INFO=y
+CONFIG_DEBUG_FS=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOCKUP_DETECTOR=y
+CONFIG_SECURITY=y
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_ARM64_CRYPTO=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=y
+CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_GHASH_ARM64_CE=y
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
board/arm/juno/readme.txt new file +99 -0

99 lines not on this page · raw message

configs/arm_juno_r0_defconfig new file +14 -0
new file mode 100644
index 0000000..94cfe32
@@ -0,0 +1,14 @@
+BR2_aarch64=y
+BR2_KERNEL_HEADERS_VERSION=y
+BR2_DEFAULT_KERNEL_VERSION="4.2.2"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_2=y
+BR2_TARGET_GENERIC_HOSTNAME="juno-buildroot"
+BR2_TARGET_GENERIC_ISSUE="Welcome to SNPS Juno by Buildroot"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="http://git.linaro.org/landing-teams/working/arm/kernel.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="0d752ce2de3057e12e220d104beb02744147be4f"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/arm/juno/linux-juno-defconfig"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/juno"
configs/arm_juno_r1_defconfig new file +14 -0
new file mode 100644
index 0000000..5094ee7
@@ -0,0 +1,14 @@
+BR2_aarch64=y
+BR2_KERNEL_HEADERS_VERSION=y
+BR2_DEFAULT_KERNEL_VERSION="4.2.2"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_2=y
+BR2_TARGET_GENERIC_HOSTNAME="juno-buildroot"
+BR2_TARGET_GENERIC_ISSUE="Welcome to SNPS Juno by Buildroot"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="http://git.linaro.org/landing-teams/working/arm/kernel.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="0d752ce2de3057e12e220d104beb02744147be4f"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/arm/juno/linux-juno-defconfig"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/juno-r1"
Signature · 1 line
1.8.1.5
#1 lore raw

PATCH v9 1/1 board: add support for ARM Juno r0 and r1 Development Boards

Joao,

Quoted 5 lines · Joao Pinto

The Juno ARM Development Platform (ADP) is a software development platform for ARMv8-A, it includes the Juno Versatile Express board and an ARMv8-A reference software port available through Linaro.

I am not sure why your v9 does not appear in patchwork, but v8 does. Anyway, this is still not good, because the kernel commit your defconfig uses no longer exists in the Linaro Git repository, so the download fails:

Quoted 1 line
Quoted 1 line
Quoted 1 line

linux 0d752ce2de3057e12e220d104beb02744147be4f Downloading

Doing full clone
Cloning into bare repository 'linux-0d752ce2de3057e12e220d104beb02744147be4f'...
fatal: not a tree object

It works for you because you have the tarball'ed kernel in your $(BR2_DL_DIR), but it won't work for anyone else.

You should make sure to use a commit in a branch that the Linaro developers will not rebase, otherwise the commit will disappear in the future.

Also, another problem of your submission is that you're adding two defconfigs, while there's no reason to do so. The only difference between the two is the Device Tree to be built. And we can perfectly build two Device Trees in a single defconfig.

So could you apply the attached patch on top of yours (which addresses this problem), and squash it with your commit ?

Thanks!

Thomas

Signature · 10 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-configs-merge-ARM-Juno-configs.patch
Type: text/x-patch
Size: 3505 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160204/c655172c/attachment-0001.bin>
author
#2 lore raw

PATCH v9 1/1 board: add support for ARM Juno r0 and r1 Development Boards

Hi Thomas,

I will check it and send a v10 today. Thanks for the buildroot' defconfig tip.

Joao

Quoted 38 lines · Thomas Petazzoni

Joao,

Quoted 5 lines · Joao Pinto

The Juno ARM Development Platform (ADP) is a software development platform for ARMv8-A, it includes the Juno Versatile Express board and an ARMv8-A reference software port available through Linaro.

I am not sure why your v9 does not appear in patchwork, but v8 does. Anyway, this is still not good, because the kernel commit your defconfig uses no longer exists in the Linaro Git repository, so the download fails:

Quoted 1 line
Quoted 1 line
Quoted 1 line

linux 0d752ce2de3057e12e220d104beb02744147be4f Downloading

Doing full clone
Cloning into bare repository 'linux-0d752ce2de3057e12e220d104beb02744147be4f'...
fatal: not a tree object

It works for you because you have the tarball'ed kernel in your $(BR2_DL_DIR), but it won't work for anyone else.

You should make sure to use a commit in a branch that the Linaro developers will not rebase, otherwise the commit will disappear in the future.

Also, another problem of your submission is that you're adding two defconfigs, while there's no reason to do so. The only difference between the two is the Device Tree to be built. And we can perfectly build two Device Trees in a single defconfig.

So could you apply the attached patch on top of yours (which addresses this problem), and squash it with your commit ?

Thanks!

Thomas