Skip to contentSkip to conversation

arm64: Initial patch-set for APM X-Gene SOC family

PATCH Superseded Vinayak Kale 4 participants 10 messages Apr 23, 2013

Subsystems (3)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

v2 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:

-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 |   27 ++++++++
 arch/arm64/boot/dts/apm-storm.dtsi  |  116 +++++++++++++++++++++++++++++++++++
 arch/arm64/configs/defconfig        |    4 +
 arch/arm64/include/asm/cputype.h    |    3 +
 6 files changed, 158 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
#1 lore raw

PATCH v2 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
index 43b0e9f..16d0198 100644
@@ -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
#2 lore raw

PATCH v2 2/4 arm64: Enable APM X-Gene SOC family in the defconfig

In reply to Vinayak Kale

This 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
index 09bef29..7dfad0a 100644
@@ -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
#3 lore raw

PATCH v2 3/4 arm64: Add defines for APM ARMv8 implementation

In reply to Vinayak Kale

This 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
index cf27494..5fe138e 100644
@@ -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
#4 lore raw

PATCH v2 4/4 arm64: Add initial DTS for APM X-Gene Storm SOC and APM Mustang board

In reply to Vinayak Kale

This patch adds initial DTS files required for APM Mustang board.

---
 arch/arm64/boot/dts/Makefile        |    1 +
 arch/arm64/boot/dts/apm-mustang.dts |   27 ++++++++
 arch/arm64/boot/dts/apm-storm.dtsi  |  116 +++++++++++++++++++++++++++++++++++
 3 files changed, 144 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
index 68457e9..c52bdb0 100644
@@ -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 +27 -0
new file mode 100644
index 0000000..625322c
@@ -0,0 +1,27 @@
+/*
+ * 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 = "mustang";
+
+	chosen {
+		linux,stdout-path = &serial0;
+	};
+
+	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
#5 lore raw

PATCH v2 4/4 arm64: Add initial DTS for APM X-Gene Storm SOC and APM Mustang board

Quoted 9 lines · Vinayak Kale

This patch adds initial DTS files required for APM Mustang board.

---
 arch/arm64/boot/dts/Makefile        |    1 +
 arch/arm64/boot/dts/apm-mustang.dts |   27 ++++++++
 arch/arm64/boot/dts/apm-storm.dtsi  |  116 +++++++++++++++++++++++++++++++++++

Well, you renamed the files, but did not address any of my other comments.

Quoted 27 lines
 3 files changed, 144 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
index 68457e9..c52bdb0 100644
@@ -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 +7 -0
new file mode 100644
index 0000000..625322c
@@ -0,0 +1,27 @@
+/*
+ * 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

arch/arm64/boot/dts/apm-mustang.dts line 17

Quoted 10 lines
arch/arm64/boot/dts/apm-mustang.dts new file +10 -0
+ * 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 = "mustang";

This should/can be a more descriptive string.

You need a compatible field for the board.

arch/arm64/boot/dts/apm-mustang.dts line 20

Quoted 3 lines
arch/arm64/boot/dts/apm-mustang.dts new file +3 -0
+
+	chosen {
+		linux,stdout-path = &serial0;

See my prior comment.

Quoted 16 lines
arch/arm64/boot/dts/apm-mustang.dts new file +7 -0
+	};
+
+	memory {
+		device_type = "memory";
+		reg = < 0x1 0x00000000 0x0 0x80000000 >; /* Updated by bootloader */
+	};
+};
arch/arm64/boot/dts/apm-storm.dtsi new file +3 -0
new file mode 100644
index 0000000..d3f3f5d
@@ -0,0 +1,116 @@
+/*
+ * dts file for AppliedMicro (APM) X-Gene Storm SOC
+ *

arch/arm64/boot/dts/apm-storm.dtsi line 13

Quoted 10 lines
arch/arm64/boot/dts/apm-storm.dtsi new file +10 -0
+ * 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.
+ */
+
+/ {
+	compatible = "apm,xgene,storm", "apm,xgene";

This still needs documentation. "apm,xgene-storm" would be more in line with convention. apm,xgene collides with the cpu name. Is xgene the soc or cpu core? Use the soc name here.

Rob

Quoted 104 lines
arch/arm64/boot/dts/apm-storm.dtsi new file +103 -0
+	interrupt-parent = <&gic>;
+	#address-cells = <2>;
+	#size-cells = <2>;
+
+	cpus {
+		#address-cells = <2>;
+		#size-cells = <0>;
+
+		cpu at 000 {
+			device_type = "cpu";
+			compatible = "apm,xgene", "arm,armv8";
+			reg = <0x0 0x000>;
+			enable-method = "spin-table";
+			cpu-release-addr = <0x1 0x0000fff8>;
+		};
+		cpu at 001 {
+			device_type = "cpu";
+			compatible = "apm,xgene", "arm,armv8";
+			reg = <0x0 0x001>;
+			enable-method = "spin-table";
+			cpu-release-addr = <0x1 0x0000fff8>;
+		};
+		cpu at 100 {
+			device_type = "cpu";
+			compatible = "apm,xgene", "arm,armv8";
+			reg = <0x0 0x100>;
+			enable-method = "spin-table";
+			cpu-release-addr = <0x1 0x0000fff8>;
+		};
+		cpu at 101 {
+			device_type = "cpu";
+			compatible = "apm,xgene", "arm,armv8";
+			reg = <0x0 0x101>;
+			enable-method = "spin-table";
+			cpu-release-addr = <0x1 0x0000fff8>;
+		};
+		cpu at 200 {
+			device_type = "cpu";
+			compatible = "apm,xgene", "arm,armv8";
+			reg = <0x0 0x200>;
+			enable-method = "spin-table";
+			cpu-release-addr = <0x1 0x0000fff8>;
+		};
+		cpu at 201 {
+			device_type = "cpu";
+			compatible = "apm,xgene", "arm,armv8";
+			reg = <0x0 0x201>;
+			enable-method = "spin-table";
+			cpu-release-addr = <0x1 0x0000fff8>;
+		};
+		cpu at 300 {
+			device_type = "cpu";
+			compatible = "apm,xgene", "arm,armv8";
+			reg = <0x0 0x300>;
+			enable-method = "spin-table";
+			cpu-release-addr = <0x1 0x0000fff8>;
+		};
+		cpu at 301 {
+			device_type = "cpu";
+			compatible = "apm,xgene", "arm,armv8";
+			reg = <0x0 0x301>;
+			enable-method = "spin-table";
+			cpu-release-addr = <0x1 0x0000fff8>;
+		};
+	};
+
+	gic: interrupt-controller at 78010000 {
+		compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
+		#interrupt-cells = <3>;
+		interrupt-controller;
+		reg = <0x0 0x78010000 0x0 0x1000>,	/* GIC Dist */
+		      <0x0 0x78020000 0x0 0x1000>,	/* GIC CPU */
+		      <0x0 0x78040000 0x0 0x2000>,	/* GIC VCPU Control */
+		      <0x0 0x78060000 0x0 0x2000>;	/* GIC VCPU */
+		interrupts = <1 9 0xf04>;	/* GIC Maintenence IRQ */
+	};
+
+	timer {
+		compatible = "arm,armv8-timer";
+		interrupts = <1 0 0xff01>,	/* Secure Phys IRQ */
+			     <1 13 0xff01>,	/* Non-secure Phys IRQ */
+			     <1 14 0xff01>,	/* Virt IRQ */
+			     <1 15 0xff01>;	/* Hyp IRQ */
+		clock-frequency = <50000000>;
+	};
+
+	soc {
+		compatible = "simple-bus";
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		serial0: serial at 1c020000 {
+			device_type = "serial";
+			compatible = "ns16550";
+			reg = <0 0x1c020000 0x0 0x1000>;
+			reg-shift = <2>;
+			clock-frequency = <10000000>; /* Updated by bootloader */
+			interrupt-parent = <&gic>;
+			interrupts = <0x0 0x4c 0x4>;
+		};
+	};
+};
#6 lore raw

PATCH v2 4/4 arm64: Add initial DTS for APM X-Gene Storm SOC and APM Mustang board

Quoted 53 lines · Rob Herring
Quoted 9 lines · Vinayak Kale

This patch adds initial DTS files required for APM Mustang board.

---
 arch/arm64/boot/dts/Makefile        |    1 +
 arch/arm64/boot/dts/apm-mustang.dts |   27 ++++++++
 arch/arm64/boot/dts/apm-storm.dtsi  |  116 +++++++++++++++++++++++++++++++++++

Well, you renamed the files, but did not address any of my other comments.

Quoted 27 lines
 3 files changed, 144 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
index 68457e9..c52bdb0 100644
@@ -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 +7 -0
new file mode 100644
index 0000000..625322c
@@ -0,0 +1,27 @@
+/*
+ * 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

arch/arm64/boot/dts/apm-mustang.dts line 17

Quoted 10 lines
arch/arm64/boot/dts/apm-mustang.dts new file +10 -0
+ * 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 = "mustang";

This should/can be a more descriptive string.

Quoted 2 lines

You need a compatible field for the board.

Okay.

Quoted 28 lines

arch/arm64/boot/dts/apm-mustang.dts line 20

Quoted 3 lines
arch/arm64/boot/dts/apm-mustang.dts new file +3 -0
+
+     chosen {
+             linux,stdout-path = &serial0;

See my prior comment.

Quoted 22 lines
arch/arm64/boot/dts/apm-mustang.dts new file +7 -0
+     };
+
+     memory {
+             device_type = "memory";
+             reg = < 0x1 0x00000000 0x0 0x80000000 >; /* Updated by bootloader */
+     };
+};
arch/arm64/boot/dts/apm-storm.dtsi new file +9 -0
new file mode 100644
index 0000000..d3f3f5d
@@ -0,0 +1,116 @@
+/*
+ * dts file for AppliedMicro (APM) X-Gene Storm SOC
+ *
+ * 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.
Quoted 9 lines

arch/arm64/boot/dts/apm-storm.dtsi line 13

Quoted 4 lines
arch/arm64/boot/dts/apm-storm.dtsi new file +4 -0
+ */
+
+/ {
+     compatible = "apm,xgene,storm", "apm,xgene";

This still needs documentation. "apm,xgene-storm" would be more in line with convention. apm,xgene collides with the cpu name. Is xgene the soc or cpu core? Use the soc name here.

Potenza is the cpu name, xgene-storm being the soc. I'll change here accordingly, also will fix the cpu name.
For devicetree bindings documentation, currently there is no directory for arm64. We will add the documentation later along with subseqeunt soc patches as this is intial patch-set.

Quoted 98 lines

Rob

Quoted 96 lines
arch/arm64/boot/dts/apm-storm.dtsi new file +96 -0
+     interrupt-parent = <&gic>;
+     #address-cells = <2>;
+     #size-cells = <2>;
+
+     cpus {
+             #address-cells = <2>;
+             #size-cells = <0>;
+
+             cpu at 000 {
+                     device_type = "cpu";
+                     compatible = "apm,xgene", "arm,armv8";
+                     reg = <0x0 0x000>;
+                     enable-method = "spin-table";
+                     cpu-release-addr = <0x1 0x0000fff8>;
+             };
+             cpu at 001 {
+                     device_type = "cpu";
+                     compatible = "apm,xgene", "arm,armv8";
+                     reg = <0x0 0x001>;
+                     enable-method = "spin-table";
+                     cpu-release-addr = <0x1 0x0000fff8>;
+             };
+             cpu at 100 {
+                     device_type = "cpu";
+                     compatible = "apm,xgene", "arm,armv8";
+                     reg = <0x0 0x100>;
+                     enable-method = "spin-table";
+                     cpu-release-addr = <0x1 0x0000fff8>;
+             };
+             cpu at 101 {
+                     device_type = "cpu";
+                     compatible = "apm,xgene", "arm,armv8";
+                     reg = <0x0 0x101>;
+                     enable-method = "spin-table";
+                     cpu-release-addr = <0x1 0x0000fff8>;
+             };
+             cpu at 200 {
+                     device_type = "cpu";
+                     compatible = "apm,xgene", "arm,armv8";
+                     reg = <0x0 0x200>;
+                     enable-method = "spin-table";
+                     cpu-release-addr = <0x1 0x0000fff8>;
+             };
+             cpu at 201 {
+                     device_type = "cpu";
+                     compatible = "apm,xgene", "arm,armv8";
+                     reg = <0x0 0x201>;
+                     enable-method = "spin-table";
+                     cpu-release-addr = <0x1 0x0000fff8>;
+             };
+             cpu at 300 {
+                     device_type = "cpu";
+                     compatible = "apm,xgene", "arm,armv8";
+                     reg = <0x0 0x300>;
+                     enable-method = "spin-table";
+                     cpu-release-addr = <0x1 0x0000fff8>;
+             };
+             cpu at 301 {
+                     device_type = "cpu";
+                     compatible = "apm,xgene", "arm,armv8";
+                     reg = <0x0 0x301>;
+                     enable-method = "spin-table";
+                     cpu-release-addr = <0x1 0x0000fff8>;
+             };
+     };
+
+     gic: interrupt-controller at 78010000 {
+             compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
+             #interrupt-cells = <3>;
+             interrupt-controller;
+             reg = <0x0 0x78010000 0x0 0x1000>,      /* GIC Dist */
+                   <0x0 0x78020000 0x0 0x1000>,      /* GIC CPU */
+                   <0x0 0x78040000 0x0 0x2000>,      /* GIC VCPU Control */
+                   <0x0 0x78060000 0x0 0x2000>;      /* GIC VCPU */
+             interrupts = <1 9 0xf04>;       /* GIC Maintenence IRQ */
+     };
+
+     timer {
+             compatible = "arm,armv8-timer";
+             interrupts = <1 0 0xff01>,      /* Secure Phys IRQ */
+                          <1 13 0xff01>,     /* Non-secure Phys IRQ */
+                          <1 14 0xff01>,     /* Virt IRQ */
+                          <1 15 0xff01>;     /* Hyp IRQ */
+             clock-frequency = <50000000>;
+     };
+
+     soc {
+             compatible = "simple-bus";
+             #address-cells = <2>;
+             #size-cells = <2>;
+             ranges;
+
+             serial0: serial at 1c020000 {
+                     device_type = "serial";
+                     compatible = "ns16550";
+                     reg = <0 0x1c020000 0x0 0x1000>;
Quoted 9 lines

arch/arm64/boot/dts/apm-storm.dtsi line 116

Quoted 8 lines
arch/arm64/boot/dts/apm-storm.dtsi new file +7 -0
+                     reg-shift = <2>;
+                     clock-frequency = <10000000>; /* Updated by bootloader */
+                     interrupt-parent = <&gic>;
+                     interrupts = <0x0 0x4c 0x4>;
+             };
+     };
+};

Thanks
-Vinayak

reviewer
#7 lore raw

PATCH v2 4/4 arm64: Add initial DTS for APM X-Gene Storm SOC and APM Mustang board

In reply to Vinayak Kale

Hi,

Quoted 76 lines · Vinayak Kale

This patch adds initial DTS files required for APM Mustang board.

---
 arch/arm64/boot/dts/Makefile        |    1 +
 arch/arm64/boot/dts/apm-mustang.dts |   27 ++++++++
 arch/arm64/boot/dts/apm-storm.dtsi  |  116 +++++++++++++++++++++++++++++++++++
 3 files changed, 144 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
index 68457e9..c52bdb0 100644
@@ -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 +27 -0
new file mode 100644
index 0000000..625322c
@@ -0,0 +1,27 @@
+/*
+ * 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 = "mustang";
+
+	chosen {
+		linux,stdout-path = &serial0;
+	};
+
+	memory {
+		device_type = "memory";
+		reg = < 0x1 0x00000000 0x0 0x80000000 >; /* Updated by bootloader */
+	};
+};
arch/arm64/boot/dts/apm-storm.dtsi new file +14 -0
new file mode 100644
index 0000000..d3f3f5d
@@ -0,0 +1,116 @@
+/*
+ * dts file for AppliedMicro (APM) X-Gene Storm SOC
+ *
+ * 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.
+ */
+
+/ {
+	compatible = "apm,xgene,storm", "apm,xgene";
+	interrupt-parent = <&gic>;

arch/arm64/boot/dts/apm-storm.dtsi line 24

Quoted 10 lines
arch/arm64/boot/dts/apm-storm.dtsi new file +10 -0
+	#address-cells = <2>;
+	#size-cells = <2>;
+
+	cpus {
+		#address-cells = <2>;
+		#size-cells = <0>;
+
+		cpu at 000 {
+			device_type = "cpu";
+			compatible = "apm,xgene", "arm,armv8";

You've used the "apm,xgene" compatible string for both the CPU and the board.

In PATCH 3, you added APM_CPU_PART_POTENZA, so presumably "apm,potenza" makes more sense as the CPU compatible string?

Thanks,
Mark.

#8 lore raw

PATCH v2 4/4 arm64: Add initial DTS for APM X-Gene Storm SOC and APM Mustang board

Quoted 92 lines · Mark Rutland

Hi,

Quoted 76 lines · Vinayak Kale

This patch adds initial DTS files required for APM Mustang board.

---
 arch/arm64/boot/dts/Makefile        |    1 +
 arch/arm64/boot/dts/apm-mustang.dts |   27 ++++++++
 arch/arm64/boot/dts/apm-storm.dtsi  |  116 +++++++++++++++++++++++++++++++++++
 3 files changed, 144 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
index 68457e9..c52bdb0 100644
@@ -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 +27 -0
new file mode 100644
index 0000000..625322c
@@ -0,0 +1,27 @@
+/*
+ * 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 = "mustang";
+
+     chosen {
+             linux,stdout-path = &serial0;
+     };
+
+     memory {
+             device_type = "memory";
+             reg = < 0x1 0x00000000 0x0 0x80000000 >; /* Updated by bootloader */
+     };
+};
arch/arm64/boot/dts/apm-storm.dtsi new file +14 -0
new file mode 100644
index 0000000..d3f3f5d
@@ -0,0 +1,116 @@
+/*
+ * dts file for AppliedMicro (APM) X-Gene Storm SOC
+ *
+ * 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.
+ */
+
+/ {
+     compatible = "apm,xgene,storm", "apm,xgene";
+     interrupt-parent = <&gic>;

arch/arm64/boot/dts/apm-storm.dtsi line 24

Quoted 10 lines
arch/arm64/boot/dts/apm-storm.dtsi new file +10 -0
+     #address-cells = <2>;
+     #size-cells = <2>;
+
+     cpus {
+             #address-cells = <2>;
+             #size-cells = <0>;
+
+             cpu at 000 {
+                     device_type = "cpu";
+                     compatible = "apm,xgene", "arm,armv8";

You've used the "apm,xgene" compatible string for both the CPU and the board.

Quoted 3 lines

In PATCH 3, you added APM_CPU_PART_POTENZA, so presumably "apm,potenza" makes more sense as the CPU compatible string?

Yes, will fix this. Thanks

Quoted 2 lines

Thanks,
Mark.

Thanks
-Vinayak

maintainer
#9 lore raw

v2 cover arm64: Initial patch-set for APM X-Gene SOC family

In reply to Vinayak Kale

Hi Vinayak,

Quoted 3 lines · Vinayak Kale

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

The patches look ok to me but let's see if there are any other comments on the dts files.

Since we go with a common defconfig, I'll drop the vexpress_defconfig as well. There are dependencies on GIC and some other vexpress patches to go into mainline before I can push my soc-armv8-model changes. I'll queue your patches for 3.11 (after this merging window).

Thanks.

Signature · 1 line
Catalin