Skip to contentSkip to conversation

arm/arm64: Alpine patches for 4.6

PATCH New Antoine Tenart 2 participants 10 messages Feb 25, 2016 – Feb 27, 2016

Subsystems (6)
lore
Share & tools
lore
#0 lore raw

cover arm/arm64: Alpine patches for 4.6

Hi Arnd, Olof and Kevin,

Here are the Alpine patches for 4.6. As seen with Olof these patches are sent to you as a series as there are only 7 of them. I'll get my gpg key signed and setup a git tree somewhere for next time.

The first 3 patches introduce a basic arm64 Alpine support, by adding the Alpine v2 EVP board. The last 4 patches add an MSIX node in both Alpine v1 (arm) and Alpine v2 (arm64) dtsi and select the Alpine MSI controller driver.

Thanks!

Antoine

Antoine Tenart (7):
arm64: add Alpine SoC family
arm64: dts: add the Alpine v2 EVP
arm64: defconfig: enable the Alpine family
arm64: dts: alpine: add the MSIX node in the Alpine v2 dtsi
ARM: dts: alpine: add the MSIX node
arm64: alpine: select the Alpine MSI controller driver
ARM: alpine: select the Alpine MSI controller driver

 arch/arm/boot/dts/alpine.dtsi            |  10 ++
 arch/arm/mach-alpine/Kconfig             |   1 +
 arch/arm64/Kconfig.platforms             |   7 +
 arch/arm64/boot/dts/Makefile             |   1 +
 arch/arm64/boot/dts/al/Makefile          |   5 +
 arch/arm64/boot/dts/al/alpine-v2-evp.dts |  53 +++++++
 arch/arm64/boot/dts/al/alpine-v2.dtsi    | 236 +++++++++++++++++++++++++++++++
 arch/arm64/configs/defconfig             |   1 +
 8 files changed, 314 insertions(+)
 create mode 100644 arch/arm64/boot/dts/al/Makefile
 create mode 100644 arch/arm64/boot/dts/al/alpine-v2-evp.dts
 create mode 100644 arch/arm64/boot/dts/al/alpine-v2.dtsi
Signature · 1 line
2.7.1
#1 lore raw

PATCH 1/7 arm64: add Alpine SoC family

This patch introduces ARCH_ALPINE to add the support of the Alpine SoC family for the arm64 architecture.

---
 arch/arm64/Kconfig.platforms | 6 ++++++
 1 file changed, 6 insertions(+)
arch/arm64/Kconfig.platforms +6 -0
index 21074f674bde..bfbefa3e0dbe 100644
@@ -1,5 +1,11 @@
 menu "Platform selection"
 
+config ARCH_ALPINE
+	bool "Annapurna Labs Alpine platform"
+	help
+	  This enables support for the Annapurna Labs Alpine
+	  Soc family.
+
 config ARCH_BCM_IPROC
 	bool "Broadcom iProc SoC Family"
 	help
Signature · 1 line
2.7.1
#2 lore raw

PATCH 2/7 arm64: dts: add the Alpine v2 EVP

In reply to Antoine Tenart

This patch adds the initial support for the Alpine v2 EVP board from Annapurna Labs (Amazon).

---
 arch/arm64/boot/dts/Makefile             |   1 +
 arch/arm64/boot/dts/al/Makefile          |   5 +
 arch/arm64/boot/dts/al/alpine-v2-evp.dts |  53 ++++++++
 arch/arm64/boot/dts/al/alpine-v2.dtsi    | 226 +++++++++++++++++++++++++++++++
 4 files changed, 285 insertions(+)
 create mode 100644 arch/arm64/boot/dts/al/Makefile
 create mode 100644 arch/arm64/boot/dts/al/alpine-v2-evp.dts
 create mode 100644 arch/arm64/boot/dts/al/alpine-v2.dtsi
arch/arm64/boot/dts/Makefile +1 -0
index f832b8a7453a..fd80617a9c6f 100644
@@ -1,3 +1,4 @@
+dts-dirs += al
 dts-dirs += altera
 dts-dirs += amd
 dts-dirs += apm
arch/arm64/boot/dts/al/Makefile new file +5 -0
new file mode 100644
index 000000000000..8a6cde4f9b23
@@ -0,0 +1,5 @@
+dtb-$(CONFIG_ARCH_ALPINE)	+= alpine-v2-evp.dtb
+
+always		:= $(dtb-y)
+subdir-y	:= $(dts-dirs)
+clean-files	:= *.dtb
arch/arm64/boot/dts/al/alpine-v2-evp.dts new file +53 -0

53 lines not on this page · raw message

arch/arm64/boot/dts/al/alpine-v2.dtsi new file +226 -0

226 lines not on this page · raw message

Signature · 1 line
2.7.1
#3 lore raw

PATCH 3/7 arm64: defconfig: enable the Alpine family

In reply to Antoine Tenart

Enable the Alpine SoC family in the arm64 defconfig.

---
 arch/arm64/configs/defconfig | 1 +
 1 file changed, 1 insertion(+)
arch/arm64/configs/defconfig +1 -0
index 18ca9fb9e65f..10387947a164 100644
@@ -31,6 +31,7 @@ CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
 # CONFIG_BLK_DEV_BSG is not set
 # CONFIG_IOSCHED_DEADLINE is not set
+CONFIG_ARCH_ALPINE=y
 CONFIG_ARCH_BCM_IPROC=y
 CONFIG_ARCH_BERLIN=y
 CONFIG_ARCH_EXYNOS7=y
Signature · 1 line
2.7.1
#4 lore raw

PATCH 4/7 arm64: dts: alpine: add the MSIX node in the Alpine v2 dtsi

In reply to Antoine Tenart

Following the addition of the Alpine MSIX controller driver, add the corresponding node in the Alpine v2 device tree.

---
 arch/arm64/boot/dts/al/alpine-v2.dtsi | 10 ++++++++++
 1 file changed, 10 insertions(+)
arch/arm64/boot/dts/al/alpine-v2.dtsi +10 -0
index c021e077343b..5b7bef684256 100644
@@ -139,6 +139,16 @@
 			/* 32 bit non prefetchable memory space */
 			ranges = <0x2000000 0x0 0xfe000000 0x0 0xfe000000 0x0 0x1000000>;
 			bus-range = <0x00 0x00>;
+			msi-parent = <&msix>;
+		};
+
+		msix: msix at fbe00000 {
+			compatible = "al,alpine-msix";
+			reg = <0x0 0xfbe00000 0x0 0x100000>;
+			interrupt-controller;
+			msi-controller;
+			al,msi-base-spi = <160>;
+			al,msi-num-spis = <160>;
 		};
 
 		io-fabric {
Signature · 1 line
2.7.1
#5 lore raw

PATCH 5/7 ARM: dts: alpine: add the MSIX node

In reply to Antoine Tenart

With the newly available MSIX driver for Alpine, add the corresponding node in the Alpine device tree.

---
 arch/arm/boot/dts/alpine.dtsi | 10 ++++++++++
 1 file changed, 10 insertions(+)
arch/arm/boot/dts/alpine.dtsi +10 -0
index 9af2d60e9a7f..db8752fc480e 100644
@@ -155,6 +155,16 @@
 			ranges = <0x02000000 0x0 0xfe000000 0x0 0xfe000000 0x0 0x1000000>;
 
 			bus-range = <0x00 0x00>;
+			msi-parent = <&msix>;
+		};
+
+		msix: msix at fbe00000 {
+			compatible = "al,alpine-msix";
+			reg = <0x0 0xfbe00000 0x0 0x100000>;
+			interrupt-controller;
+			msi-controller;
+			al,msi-base-spi = <96>;
+			al,msi-num-spis = <64>;
 		};
 	};
 };
Signature · 1 line
2.7.1
#6 lore raw

PATCH 6/7 arm64: alpine: select the Alpine MSI controller driver

In reply to Antoine Tenart

Select the Alpine MSI controller driver when using an Alpine platform.

---
 arch/arm64/Kconfig.platforms | 1 +
 1 file changed, 1 insertion(+)
arch/arm64/Kconfig.platforms +1 -0
index bfbefa3e0dbe..6761e12e5e13 100644
@@ -2,6 +2,7 @@ menu "Platform selection"
 
 config ARCH_ALPINE
 	bool "Annapurna Labs Alpine platform"
+	select ALPINE_MSI
 	help
 	  This enables support for the Annapurna Labs Alpine
 	  Soc family.
Signature · 1 line
2.7.1
#7 lore raw

PATCH 7/7 ARM: alpine: select the Alpine MSI controller driver

In reply to Antoine Tenart

Select the Alpine MSI controller driver when using an Alpine platform.

---
 arch/arm/mach-alpine/Kconfig | 1 +
 1 file changed, 1 insertion(+)
arch/arm/mach-alpine/Kconfig +1 -0
index 5c2d54f59f53..b41838a58ae4 100644
@@ -1,6 +1,7 @@
 config ARCH_ALPINE
 	bool "Annapurna Labs Alpine platform"
 	depends on ARCH_MULTI_V7
+	select ALPINE_MSI
 	select ARM_AMBA
 	select ARM_GIC
 	select GENERIC_IRQ_CHIP
Signature · 1 line
2.7.1
maintainer
#8 lore raw

cover arm/arm64: Alpine patches for 4.6

In reply to Antoine Tenart
Quoted 10 lines · On Thursday 25 February 2016 11:14:50 Antoine Tenart wrote:

Hi Arnd, Olof and Kevin,

Here are the Alpine patches for 4.6. As seen with Olof these patches are sent to you as a series as there are only 7 of them. I'll get my gpg key signed and setup a git tree somewhere for next time.

The first 3 patches introduce a basic arm64 Alpine support, by adding the Alpine v2 EVP board. The last 4 patches add an MSIX node in both Alpine v1 (arm) and Alpine v2 (arm64) dtsi and select the Alpine MSI controller driver.

Applied the patches to the next/dt, next/dt64, next/arm64 and next/soc branches, respectively. I did not see any strong dependencies between the patches, so they are now out of order (depending how Linus pulls our branches). Please check if that's ok and if I missed anything.

They should show up in the for-next branch of arm-soc once I've done some basic testing tonight.

Arnd

#9 lore raw

cover arm/arm64: Alpine patches for 4.6

Arnd,

Quoted 11 lines · Arnd Bergmann
Quoted 9 lines · On Thursday 25 February 2016 11:14:50 Antoine Tenart wrote:

Here are the Alpine patches for 4.6. As seen with Olof these patches are sent to you as a series as there are only 7 of them. I'll get my gpg key signed and setup a git tree somewhere for next time.

The first 3 patches introduce a basic arm64 Alpine support, by adding the Alpine v2 EVP board. The last 4 patches add an MSIX node in both Alpine v1 (arm) and Alpine v2 (arm64) dtsi and select the Alpine MSI controller driver.

Quoted 4 lines

Applied the patches to the next/dt, next/dt64, next/arm64 and next/soc branches, respectively. I did not see any strong dependencies between the patches, so they are now out of order (depending how Linus pulls our branches). Please check if that's ok and if I missed anything.

You're right, there are no strong dependencies between the patches.

Thanks!

Antoine

Signature · 10 lines
Antoine T?nart, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160227/1905af9b/attachment.sig>