arm64: Initial patch-set for APM X-Gene SOC family
v3 cover arm64: Initial patch-set for APM X-Gene SOC family
These are initial patches for APM X-Gene SOC family.
This patch-set is based on soc-armv8-model branch of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64.git
Changelog:
-V3:
* added compatible field for board in dts file
* made the model name string more descriptive in dts file
* fixed the compatible field for cpu nodes in dts file
* removed 'arm,cortex-a9-gic' fallback string from compatible field of gic node in dts file
-V2:
* set NR_CPUS in arch/arm64/Kconfig based on selected targets
* use default defconfig instead of xgene_defconfig
* added 'apm-' prefix to dts filenames
* fixed #address-cells in /cpus node in dts file
* fixed cpu node naming under /cpus node in dts file
* fixed serial device node name in dts file
-V1: Initial post
Vinayak Kale (4):
arm64: Add Kconfig option for APM X-Gene SOC family
arm64: Enable APM X-Gene SOC family in the defconfig
arm64: Add defines for APM ARMv8 implementation
arm64: Add initial DTS for APM X-Gene Storm SOC and APM Mustang board
arch/arm64/Kconfig | 7 ++ arch/arm64/boot/dts/Makefile | 1 + arch/arm64/boot/dts/apm-mustang.dts | 26 ++++++++ arch/arm64/boot/dts/apm-storm.dtsi | 116 +++++++++++++++++++++++++++++++++++ arch/arm64/configs/defconfig | 4 + arch/arm64/include/asm/cputype.h | 3 + 6 files changed, 157 insertions(+), 0 deletions(-) create mode 100644 arch/arm64/boot/dts/apm-mustang.dts create mode 100644 arch/arm64/boot/dts/apm-storm.dtsi
Signature · 1 line
1.7.4.1
PATCH v3 1/4 arm64: Add Kconfig option for APM X-Gene SOC family
This patch adds arm64/Kconfig option for APM X-Gene SOC family.
--- arch/arm64/Kconfig | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
arch/arm64/Kconfig +7 -0
@@ -114,6 +114,11 @@ config ARCH_VEXPRESS This enables support for the ARMv8 software model (Versatile Express). +config ARCH_XGENE + bool "AppliedMicro X-Gene SOC Family" + help + This enables support for AppliedMicro X-Gene SOC Family + endmenu menu "Bus support"
@@ -153,6 +158,8 @@ config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 depends on SMP + # These have to remain sorted largest to smallest + default "8" if ARCH_XGENE default "4" source kernel/Kconfig.preempt
Signature · 1 line
1.7.4.1
Catalin Marinas
maintainerPATCH v3 1/4 arm64: Add Kconfig option for APM X-Gene SOC family
Hi Vinayak,
Quoted 26 lines · Vinayak Kale
This patch adds arm64/Kconfig option for APM X-Gene SOC family.
Signed-off-by Kumar Sankaran <[email protected]>Signed-off-by Loc Ho <[email protected]>Signed-off-by Feng Kan <[email protected]>--- arch/arm64/Kconfig | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)arch/arm64/Kconfig +5
-0@@ -114,6 +114,11 @@ config ARCH_VEXPRESS This enables support for the ARMv8 software model (Versatile Express). +config ARCH_XGENE + bool "AppliedMicro X-Gene SOC Family" + help + This enables support for AppliedMicro X-Gene SOC Family + endmenu menu "Bus support"
arch/arm64/Kconfig config NR_CPUS · line 163
Quoted 6 lines
arch/arm64/Kconfig +2
-0@@ -153,6 +158,8 @@ config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 depends on SMP + # These have to remain sorted largest to smallest + default "8" if ARCH_XGENE default "4"
For ARCH_VEXPRESS I was planning to get rid of the Kconfig entry and just select the drivers in the defconfig file (once some other patches get merged). Do you have any dependencies on ARCH_XGENE apart from what's here?
Signature · 1 line
Catalin
PATCH v3 1/4 arm64: Add Kconfig option for APM X-Gene SOC family
Hi Catalin,
Quoted 27 lines · Catalin Marinas
Hi Vinayak,
Quoted 24 lines · Vinayak Kale
This patch adds arm64/Kconfig option for APM X-Gene SOC family.
Signed-off-by Kumar Sankaran <[email protected]>Signed-off-by Loc Ho <[email protected]>Signed-off-by Feng Kan <[email protected]>--- arch/arm64/Kconfig | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)arch/arm64/Kconfig +5
-0@@ -114,6 +114,11 @@ config ARCH_VEXPRESS This enables support for the ARMv8 software model (Versatile Express). +config ARCH_XGENE + bool "AppliedMicro X-Gene SOC Family" + help + This enables support for AppliedMicro X-Gene SOC Family + endmenu
Quoted 14 lines
arch/arm64/Kconfig config NR_CPUS · line 163
Quoted 8 lines
arch/arm64/Kconfig +2
-0menu "Bus support"@@ -153,6 +158,8 @@ config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 depends on SMP + # These have to remain sorted largest to smallest + default "8" if ARCH_XGENE default "4"For
ARCH_VEXPRESSI was planning to get rid of theKconfigentry and just select the drivers in the defconfig file (once some other patches get merged). Do you have any dependencies onARCH_XGENEapart from what's here?
Apart from here, we do have dependency on ARCH_XGENE:
1) To select XGENE SoC specific dtb compilation
2) Use this to forcefully select certain platform drivers such as Clock.
Quoted 2 lines
--
Catalin
-Vinayak
Catalin Marinas
maintainerPATCH v3 1/4 arm64: Add Kconfig option for APM X-Gene SOC family
Quoted 43 lines · Vinayak Kale
Quoted 27 lines · Catalin Marinas
Hi Vinayak,
Quoted 24 lines · Vinayak Kale
This patch adds arm64/Kconfig option for APM X-Gene SOC family.
Signed-off-by Kumar Sankaran <[email protected]>Signed-off-by Loc Ho <[email protected]>Signed-off-by Feng Kan <[email protected]>--- arch/arm64/Kconfig | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)arch/arm64/Kconfig +5
-0@@ -114,6 +114,11 @@ config ARCH_VEXPRESS This enables support for the ARMv8 software model (Versatile Express). +config ARCH_XGENE + bool "AppliedMicro X-Gene SOC Family" + help + This enables support for AppliedMicro X-Gene SOC Family + endmenuQuoted 13 lines
arch/arm64/Kconfig config NR_CPUS · line 163
Quoted 8 lines
arch/arm64/Kconfig +2
-0menu "Bus support"@@ -153,6 +158,8 @@ config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 depends on SMP + # These have to remain sorted largest to smallest + default "8" if ARCH_XGENE default "4"For
ARCH_VEXPRESSI was planning to get rid of theKconfigentry and just select the drivers in the defconfig file (once some other patches get merged). Do you have any dependencies onARCH_XGENEapart from what's here?
Quoted 2 lines
Apart from here, we do have dependency on
ARCH_XGENE:
1) To select XGENE SoC specific dtb compilation
We can build all of them.
Quoted 1 line
2) Use this to forcefully select certain platform drivers such as Clock.
The vexpress-related clocks etc. will simply depend on ARM64 (patches going upstream) and we enable them in defconfig. Can you do the same for X-Gene?
Signature · 1 line
Catalin
PATCH v3 1/4 arm64: Add Kconfig option for APM X-Gene SOC family
Hi,
Yes... We will do the same if there is no concern with the growing number of drivers.
-Loc
Quoted 57 lines · Catalin Marinas
Quoted 43 lines · Vinayak Kale
Quoted 27 lines · Catalin Marinas
Hi Vinayak,
Quoted 24 lines · Vinayak Kale
This patch adds arm64/Kconfig option for APM X-Gene SOC family.
Signed-off-by Kumar Sankaran <[email protected]>Signed-off-by Loc Ho <[email protected]>Signed-off-by Feng Kan <[email protected]>--- arch/arm64/Kconfig | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)arch/arm64/Kconfig +5
-0@@ -114,6 +114,11 @@ config ARCH_VEXPRESS This enables support for the ARMv8 software model (Versatile Express). +config ARCH_XGENE + bool "AppliedMicro X-Gene SOC Family" + help + This enables support for AppliedMicro X-Gene SOC Family + endmenuQuoted 13 lines
arch/arm64/Kconfig config NR_CPUS · line 163
Quoted 8 lines
arch/arm64/Kconfig +2
-0menu "Bus support"@@ -153,6 +158,8 @@ config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 depends on SMP + # These have to remain sorted largest to smallest + default "8" if ARCH_XGENE default "4"For
ARCH_VEXPRESSI was planning to get rid of theKconfigentry and just select the drivers in the defconfig file (once some other patches get merged). Do you have any dependencies onARCH_XGENEapart from what's here?Quoted 2 lines
Apart from here, we do have dependency on
ARCH_XGENE:
1) To select XGENE SoC specific dtb compilationWe can build all of them.
Quoted 1 line
2) Use this to forcefully select certain platform drivers such as Clock.
The vexpress-related clocks etc. will simply depend on ARM64 (patches going upstream) and we enable them in defconfig. Can you do the same for X-Gene?
--
Catalin
PATCH v3 2/4 arm64: Enable APM X-Gene SOC family in the defconfig
In reply to Vinayak KaleThis patch enables APM X-Gene SOC family in the defconfig. It also enables 8250 serial driver needed by X-Gene SOC family.
--- arch/arm64/configs/defconfig | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
arch/arm64/configs/defconfig +4 -0
@@ -23,6 +23,7 @@ CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y # CONFIG_BLK_DEV_BSG is not set # CONFIG_IOSCHED_DEADLINE is not set +CONFIG_ARCH_XGENE=y CONFIG_SMP=y CONFIG_PREEMPT_VOLUNTARY=y CONFIG_CMDLINE="console=ttyAMA0"
@@ -52,6 +53,9 @@ CONFIG_INPUT_EVDEV=y # CONFIG_SERIO_I8042 is not set # CONFIG_SERIO_SERPORT is not set CONFIG_LEGACY_PTY_COUNT=16 +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_OF_PLATFORM=y # CONFIG_HW_RANDOM is not set # CONFIG_HWMON is not set CONFIG_FB=y
Signature · 1 line
1.7.4.1
PATCH v3 3/4 arm64: Add defines for APM ARMv8 implementation
In reply to Vinayak KaleThis patch adds defines for APM CPU implementer ID and APM CPU part numbers in asm/cputype.h
--- arch/arm64/include/asm/cputype.h | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
arch/arm64/include/asm/cputype.h +3 -0
@@ -37,11 +37,14 @@ })#define ARM_CPU_IMP_ARM 0x41 +#define ARM_CPU_IMP_APM 0x50#define ARM_CPU_PART_AEM_V8 0xD0F0#define ARM_CPU_PART_FOUNDATION 0xD000#define ARM_CPU_PART_CORTEX_A57 0xD070 +#define APM_CPU_PART_POTENZA 0x0000 +#ifndef __ASSEMBLY__/*
Signature · 1 line
1.7.4.1
PATCH v3 4/4 arm64: Add initial DTS for APM X-Gene Storm SOC and APM Mustang board
In reply to Vinayak KaleThis patch adds initial DTS files required for APM Mustang board.
--- arch/arm64/boot/dts/Makefile | 1 + arch/arm64/boot/dts/apm-mustang.dts | 26 ++++++++ arch/arm64/boot/dts/apm-storm.dtsi | 116 +++++++++++++++++++++++++++++++++++ 3 files changed, 143 insertions(+), 0 deletions(-) create mode 100644 arch/arm64/boot/dts/apm-mustang.dts create mode 100644 arch/arm64/boot/dts/apm-storm.dtsi
arch/arm64/boot/dts/Makefile +1 -0
@@ -1,4 +1,5 @@ dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb foundation-v8.dtb +dtb-$(CONFIG_ARCH_XGENE) += apm-mustang.dtb targets += dtbs targets += $(dtb-y)
arch/arm64/boot/dts/apm-mustang.dts new file +26 -0
@@ -0,0 +1,26 @@ +/* + * dts file for AppliedMicro (APM) Mustang Board + * + * Copyright (C) 2013, Applied Micro Circuits Corporation + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + */ + +/dts-v1/; + +/include/ "apm-storm.dtsi" + +/ { + model = "APM X-Gene Mustang board"; + compatible = "apm,mustang", "apm,xgene-storm"; + + chosen { }; + + memory { + device_type = "memory"; + reg = < 0x1 0x00000000 0x0 0x80000000 >; /* Updated by bootloader */ + }; +};
arch/arm64/boot/dts/apm-storm.dtsi new file +116 -0
116 lines not on this page · raw message
Signature · 1 line
1.7.4.1