linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform
@ 2018-06-26 16:26 Nishanth Menon
  2018-06-26 16:26 ` [PATCH V2 1/5] dt-bindings: arm: ti: Add bindings for AM654 SoC Nishanth Menon
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Nishanth Menon @ 2018-06-26 16:26 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Mark Rutland, Rob Herring
  Cc: Tony Lindgren, Russell King, Santosh Shilimkar, linux-kernel,
	devicetree, linux-arm-kernel, Nishanth Menon, Tero Kristo,
	Sekhar Nori, Olof Johansson, Arnd Bergmann, Sudeep Holla

Hi,

This is an minor update from V1 posted earlier:
	https://marc.info/?l=linux-kernel&m=152943745424138&w=2

The following series enables support for newest addition in TI's SoC
portfolio - AM654 SoC.

The series is based off v4.18-rc1, also available here:
https://github.com/nmenon/linux-2.6-playground/tree/upstream/v4.18-rc1/k3-1-am6-base

Key changes since RFC are indicated in respective patches:
* Pickedup Tony's Reviewed by
* Modified cbass nodes to indicate interconnect (patch #3 in the series)

Consolidated all patches (including all series) are available here:
https://github.com/nmenon/linux-2.6-playground/commits/upstream/v4.18-rc1/k3-am6-integ

Full Boot log (integrated of all series) is available here:
   https://pastebin.ubuntu.com/p/bBFmnzYtCd/

NOTE: The uart series is seperated out and we get operational console only
after that series is merged.

The AM654 SoC is a lead device of the K3 Multicore SoC architecture
platform, targeted for broad market and industrial control with aim to
meet the complex processing needs of modern embedded products.

The Linux development follows closely the 66AK2G SoC model in aarch64.

See AM65x Technical Reference Manual (SPRUID7, April 2018)
for further details: http://www.ti.com/lit/pdf/spruid7


Nishanth Menon (5):
  dt-bindings: arm: ti: Add bindings for AM654 SoC
  arm64: Add support for TI's K3 Multicore SoC architecture
  arm64: dts: ti: Add Support for AM654 SoC
  soc: ti: Add Support for AM654 SoC config option
  arm64: dts: ti: Add support for AM654 EVM base board

 Documentation/devicetree/bindings/arm/ti/k3.txt |  23 +++++
 MAINTAINERS                                     |   9 ++
 arch/arm64/Kconfig.platforms                    |   7 ++
 arch/arm64/boot/dts/Makefile                    |   1 +
 arch/arm64/boot/dts/ti/Makefile                 |   9 ++
 arch/arm64/boot/dts/ti/k3-am65-main.dtsi        |  31 +++++++
 arch/arm64/boot/dts/ti/k3-am65.dtsi             |  87 ++++++++++++++++++
 arch/arm64/boot/dts/ti/k3-am654-base-board.dts  |  36 ++++++++
 arch/arm64/boot/dts/ti/k3-am654.dtsi            | 115 ++++++++++++++++++++++++
 drivers/soc/ti/Kconfig                          |  14 +++
 10 files changed, 332 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/ti/k3.txt
 create mode 100644 arch/arm64/boot/dts/ti/Makefile
 create mode 100644 arch/arm64/boot/dts/ti/k3-am65-main.dtsi
 create mode 100644 arch/arm64/boot/dts/ti/k3-am65.dtsi
 create mode 100644 arch/arm64/boot/dts/ti/k3-am654-base-board.dts
 create mode 100644 arch/arm64/boot/dts/ti/k3-am654.dtsi

-- 
2.15.1


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH V2 1/5] dt-bindings: arm: ti: Add bindings for AM654 SoC
  2018-06-26 16:26 [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
@ 2018-06-26 16:26 ` Nishanth Menon
  2018-07-03 22:15   ` Rob Herring
  2018-06-26 16:26 ` [PATCH V2 2/5] arm64: Add support for TI's K3 Multicore SoC architecture Nishanth Menon
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 10+ messages in thread
From: Nishanth Menon @ 2018-06-26 16:26 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Mark Rutland, Rob Herring
  Cc: Tony Lindgren, Russell King, Santosh Shilimkar, linux-kernel,
	devicetree, linux-arm-kernel, Nishanth Menon, Tero Kristo,
	Sekhar Nori, Olof Johansson, Arnd Bergmann, Sudeep Holla

The AM654 SoC is a lead device of the K3 Multicore SoC architecture
platform, targeted for broad market and industrial control with aim to
meet the complex processing needs of modern embedded products.

Some highlights of this SoC are:
* Quad ARMv8 A53 cores split over two clusters
* GICv3 compliant GIC500
* Configurable L3 Cache and IO-coherent architecture
* Dual lock-step capable R5F uC for safety-critical applications
* High data throughput capable distributed DMA architecture under NAVSS
* Three Gigabit Industrial Communication Subsystems (ICSSG), each with dual
  PRUs and dual RTUs
* Hardware accelerator block containing AES/DES/SHA/MD5 called SA2UL
* Centralized System Controller for Security, Power, and Resource
  management.
* Dual ADCSS, eQEP/eCAP, eHRPWM, dual CAN-FD
* Flash subsystem with OSPI and Hyperbus interfaces
* Multimedia capability with CAL, DSS7-UL, SGX544, McASP
* Peripheral connectivity including USB3, PCIE, MMC/SD, GPMC, I2C, SPI,
  GPIO

See AM65x Technical Reference Manual (SPRUID7, April 2018)
for further details: http://www.ti.com/lit/pdf/spruid7

Reviewed-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
---
Changes since V1:
 * Picked up Tony's reviewed-by
 
V1: https://patchwork.kernel.org/patch/10475327/
previous RFC: https://patchwork.kernel.org/patch/10447643/

 Documentation/devicetree/bindings/arm/ti/k3.txt | 23 +++++++++++++++++++++++
 MAINTAINERS                                     |  7 +++++++
 2 files changed, 30 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/ti/k3.txt

diff --git a/Documentation/devicetree/bindings/arm/ti/k3.txt b/Documentation/devicetree/bindings/arm/ti/k3.txt
new file mode 100644
index 000000000000..6a059cabb2da
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/ti/k3.txt
@@ -0,0 +1,23 @@
+Texas Instruments K3 Multicore SoC architecture device tree bindings
+--------------------------------------------------------------------
+
+Platforms based on Texas Instruments K3 Multicore SoC architecture
+shall follow the following scheme:
+
+SoCs
+----
+
+Each device tree root node must specify which exact SoC in K3 Multicore SoC
+architecture it uses, using one of the following compatible values:
+
+- AM654
+  compatible = "ti,am654";
+
+Boards
+------
+
+In addition, each device tree root node must specify which one or more
+of the following board-specific compatible values:
+
+- AM654 EVM
+  compatible = "ti,am654-evm", "ti,am654";
diff --git a/MAINTAINERS b/MAINTAINERS
index 9d5eeff51b5f..fbd93eee41ae 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2087,6 +2087,13 @@ L:	linux-kernel@vger.kernel.org
 S:	Maintained
 F:	drivers/memory/*emif*
 
+ARM/TEXAS INSTRUMENTS K3 ARCHITECTURE
+M:	Tero Kristo <t-kristo@ti.com>
+M:	Nishanth Menon <nm@ti.com>
+L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+S:	Supported
+F:	Documentation/devicetree/bindings/arm/ti/k3.txt
+
 ARM/TEXAS INSTRUMENT KEYSTONE ARCHITECTURE
 M:	Santosh Shilimkar <ssantosh@kernel.org>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-- 
2.15.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH V2 2/5] arm64: Add support for TI's K3 Multicore SoC architecture
  2018-06-26 16:26 [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
  2018-06-26 16:26 ` [PATCH V2 1/5] dt-bindings: arm: ti: Add bindings for AM654 SoC Nishanth Menon
@ 2018-06-26 16:26 ` Nishanth Menon
  2018-06-26 16:26 ` [PATCH V2 3/5] arm64: dts: ti: Add Support for AM654 SoC Nishanth Menon
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Nishanth Menon @ 2018-06-26 16:26 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Mark Rutland, Rob Herring
  Cc: Tony Lindgren, Russell King, Santosh Shilimkar, linux-kernel,
	devicetree, linux-arm-kernel, Nishanth Menon, Tero Kristo,
	Sekhar Nori, Olof Johansson, Arnd Bergmann, Sudeep Holla

Add support for Texas Instrument's K3 Multicore SoC architecture
processors.

Reviewed-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
---
Changes since V1:
 * Picked up Tony's reviewed-by
 
V1: https://patchwork.kernel.org/patch/10475323/
RFC: https://patchwork.kernel.org/patch/10447633/

 arch/arm64/Kconfig.platforms | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index d5aeac351fc3..52df25bf4f8c 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -71,6 +71,13 @@ config ARCH_EXYNOS
 	help
 	  This enables support for ARMv8 based Samsung Exynos SoC family.
 
+config ARCH_K3
+	bool "Texas Instruments Inc. K3 multicore SoC architecture"
+	select PM_GENERIC_DOMAINS if PM
+	help
+	  This enables support for Texas Instruments' K3 multicore SoC
+	  architecture.
+
 config ARCH_LAYERSCAPE
 	bool "ARMv8 based Freescale Layerscape SoC family"
 	select EDAC_SUPPORT
-- 
2.15.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH V2 3/5] arm64: dts: ti: Add Support for AM654 SoC
  2018-06-26 16:26 [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
  2018-06-26 16:26 ` [PATCH V2 1/5] dt-bindings: arm: ti: Add bindings for AM654 SoC Nishanth Menon
  2018-06-26 16:26 ` [PATCH V2 2/5] arm64: Add support for TI's K3 Multicore SoC architecture Nishanth Menon
@ 2018-06-26 16:26 ` Nishanth Menon
  2018-06-26 16:26 ` [PATCH V2 4/5] soc: ti: Add Support for AM654 SoC config option Nishanth Menon
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Nishanth Menon @ 2018-06-26 16:26 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Mark Rutland, Rob Herring
  Cc: Tony Lindgren, Russell King, Santosh Shilimkar, linux-kernel,
	devicetree, linux-arm-kernel, Nishanth Menon, Tero Kristo,
	Sekhar Nori, Olof Johansson, Arnd Bergmann, Sudeep Holla

The AM654 SoC is a lead device of the K3 Multicore SoC architecture
platform, targeted for broad market and industrial control with aim to
meet the complex processing needs of modern embedded products.

Some highlights of this SoC are:
* Quad ARMv8 A53 cores split over two clusters
* GICv3 compliant GIC500
* Configurable L3 Cache and IO-coherent architecture
* Dual lock-step capable R5F uC for safety-critical applications
* High data throughput capable distributed DMA architecture under NAVSS
* Three Gigabit Industrial Communication Subsystems (ICSSG), each with dual
  PRUs and dual RTUs
* Hardware accelerator block containing AES/DES/SHA/MD5 called SA2UL
* Centralized System Controller for Security, Power, and Resource
  management.
* Dual ADCSS, eQEP/eCAP, eHRPWM, dual CAN-FD
* Flash subsystem with OSPI and Hyperbus interfaces
* Multimedia capability with CAL, DSS7-UL, SGX544, McASP
* Peripheral connectivity including USB3, PCIE, MMC/SD, GPMC, I2C, SPI,
  GPIO

See AM65x Technical Reference Manual (SPRUID7, April 2018)
for further details: http://www.ti.com/lit/pdf/spruid7

NOTE:
1. AM654 is the first of the device variants, hence we introduce a
   generic am65.dtsi.
2. We indicate the proper bus topology, the ranges are elaborated in
   each bus segment instead of using the top level ranges to make sure
   that peripherals in each segment use the address space accurately.
3. Peripherals in each bus segment is maintained in a separate dtsi
   allowing for reuse in different bus segment representation from a
   different core such as R5. This is also the reason for maintaining a
   1-1 address map in the ranges.
4. Cache descriptions follow the ARM64 standard description.

Further tweaks may be necessary as we introduce more complex devices,
but can be introduced in context of the device introduction.

Reviewed-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Benjamin Fair <b-fair@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
---
Changes since V1:
 * Picked up Tony's reviewed-by
 * s/cbass@/interconnect@/
 
V1: https://patchwork.kernel.org/patch/10475307/
RFC: https://patchwork.kernel.org/patch/10447719/ , https://patchwork.kernel.org/patch/10453659/

 MAINTAINERS                              |   1 +
 arch/arm64/boot/dts/ti/k3-am65-main.dtsi |  31 +++++++++
 arch/arm64/boot/dts/ti/k3-am65.dtsi      |  87 +++++++++++++++++++++++
 arch/arm64/boot/dts/ti/k3-am654.dtsi     | 115 +++++++++++++++++++++++++++++++
 4 files changed, 234 insertions(+)
 create mode 100644 arch/arm64/boot/dts/ti/k3-am65-main.dtsi
 create mode 100644 arch/arm64/boot/dts/ti/k3-am65.dtsi
 create mode 100644 arch/arm64/boot/dts/ti/k3-am654.dtsi

diff --git a/MAINTAINERS b/MAINTAINERS
index fbd93eee41ae..6785ceaf5b0b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2093,6 +2093,7 @@ M:	Nishanth Menon <nm@ti.com>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Supported
 F:	Documentation/devicetree/bindings/arm/ti/k3.txt
+F:	arch/arm64/boot/dts/ti/k3-*
 
 ARM/TEXAS INSTRUMENT KEYSTONE ARCHITECTURE
 M:	Santosh Shilimkar <ssantosh@kernel.org>
diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
new file mode 100644
index 000000000000..2409344df4fa
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
@@ -0,0 +1,31 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree Source for AM6 SoC Family Main Domain peripherals
+ *
+ * Copyright (C) 2016-2018 Texas Instruments Incorporated - http://www.ti.com/
+ */
+
+&cbass_main {
+	gic500: interrupt-controller@1800000 {
+		compatible = "arm,gic-v3";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+		#interrupt-cells = <3>;
+		interrupt-controller;
+		reg = <0x01800000 0x10000>,	/* GICD */
+		      <0x01880000 0x90000>;	/* GICR */
+		/*
+		 * vcpumntirq:
+		 * virtual CPU interface maintenance interrupt
+		 */
+		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
+
+		gic_its: gic-its@18200000 {
+			compatible = "arm,gic-v3-its";
+			reg = <0x01820000 0x10000>;
+			msi-controller;
+			#msi-cells = <1>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/ti/k3-am65.dtsi b/arch/arm64/boot/dts/ti/k3-am65.dtsi
new file mode 100644
index 000000000000..cede1fa0983c
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am65.dtsi
@@ -0,0 +1,87 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree Source for AM6 SoC Family
+ *
+ * Copyright (C) 2016-2018 Texas Instruments Incorporated - http://www.ti.com/
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	model = "Texas Instruments K3 AM654 SoC";
+	compatible = "ti,am654";
+	interrupt-parent = <&gic500>;
+	#address-cells = <2>;
+	#size-cells = <2>;
+
+	chosen { };
+
+	firmware {
+		optee {
+			compatible = "linaro,optee-tz";
+			method = "smc";
+		};
+
+		psci: psci {
+			compatible = "arm,psci-1.0";
+			method = "smc";
+		};
+	};
+
+	a53_timer0: timer-cl0-cpu0 {
+		compatible = "arm,armv8-timer";
+		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* cntpsirq */
+			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* cntpnsirq */
+			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* cntvirq */
+			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* cnthpirq */
+	};
+
+	pmu: pmu {
+		compatible = "arm,armv8-pmuv3";
+		/* Recommendation from GIC500 TRM Table A.3 */
+		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
+	};
+
+	cbass_main: interconnect@100000 {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0x00100000 0x00 0x00100000 0x00020000>, /* ctrl mmr */
+			 <0x00600000 0x00 0x00600000 0x00001100>, /* GPIO */
+			 <0x00900000 0x00 0x00900000 0x00012000>, /* serdes */
+			 <0x01000000 0x00 0x01000000 0x0af02400>, /* Most peripherals */
+			 <0x30800000 0x00 0x30800000 0x0bc00000>, /* MAIN NAVSS */
+			 /* MCUSS Range */
+			 <0x28380000 0x00 0x28380000 0x03880000>,
+			 <0x40200000 0x00 0x40200000 0x00900100>,
+			 <0x42040000 0x00 0x42040000 0x03ac2400>,
+			 <0x45100000 0x00 0x45100000 0x00c24000>,
+			 <0x46000000 0x00 0x46000000 0x00200000>,
+			 <0x47000000 0x00 0x47000000 0x00068400>;
+
+		cbass_mcu: interconnect@28380000 {
+			compatible = "simple-bus";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0x28380000 0x28380000 0x03880000>, /* MCU NAVSS*/
+				 <0x40200000 0x40200000 0x00900100>, /* First peripheral window */
+				 <0x42040000 0x42040000 0x03ac2400>, /* WKUP */
+				 <0x45100000 0x45100000 0x00c24000>, /* MMRs, remaining NAVSS */
+				 <0x46000000 0x46000000 0x00200000>, /* CPSW */
+				 <0x47000000 0x47000000 0x00068400>; /* OSPI space 1 */
+
+			cbass_wakeup: interconnect@42040000 {
+				compatible = "simple-bus";
+				#address-cells = <1>;
+				#size-cells = <1>;
+				/* WKUP  Basic peripherals */
+				ranges = <0x42040000 0x42040000 0x03ac2400>;
+			};
+		};
+	};
+};
+
+/* Now include the peripherals for each bus segments */
+#include "k3-am65-main.dtsi"
diff --git a/arch/arm64/boot/dts/ti/k3-am654.dtsi b/arch/arm64/boot/dts/ti/k3-am654.dtsi
new file mode 100644
index 000000000000..2affa6f6617e
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am654.dtsi
@@ -0,0 +1,115 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree Source for AM6 SoC family in Quad core configuration
+ *
+ * Copyright (C) 2016-2018 Texas Instruments Incorporated - http://www.ti.com/
+ */
+
+#include "k3-am65.dtsi"
+
+/ {
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		cpu-map {
+			cluster0: cluster0 {
+				core0 {
+					cpu = <&cpu0>;
+				};
+
+				core1 {
+					cpu = <&cpu1>;
+				};
+			};
+
+			cluster1: cluster1 {
+				core0 {
+					cpu = <&cpu2>;
+				};
+
+				core1 {
+					cpu = <&cpu3>;
+				};
+			};
+		};
+
+		cpu0: cpu@0 {
+			compatible = "arm,cortex-a53", "arm,armv8";
+			reg = <0x000>;
+			device_type = "cpu";
+			enable-method = "psci";
+			i-cache-size = <0x8000>;
+			i-cache-line-size = <64>;
+			i-cache-sets = <256>;
+			d-cache-size = <0x8000>;
+			d-cache-line-size = <64>;
+			d-cache-sets = <128>;
+			next-level-cache = <&L2_0>;
+		};
+
+		cpu1: cpu@1 {
+			compatible = "arm,cortex-a53", "arm,armv8";
+			reg = <0x001>;
+			device_type = "cpu";
+			enable-method = "psci";
+			i-cache-size = <0x8000>;
+			i-cache-line-size = <64>;
+			i-cache-sets = <256>;
+			d-cache-size = <0x8000>;
+			d-cache-line-size = <64>;
+			d-cache-sets = <128>;
+			next-level-cache = <&L2_0>;
+		};
+
+		cpu2: cpu@100 {
+			compatible = "arm,cortex-a53", "arm,armv8";
+			reg = <0x100>;
+			device_type = "cpu";
+			enable-method = "psci";
+			i-cache-size = <0x8000>;
+			i-cache-line-size = <64>;
+			i-cache-sets = <256>;
+			d-cache-size = <0x8000>;
+			d-cache-line-size = <64>;
+			d-cache-sets = <128>;
+			next-level-cache = <&L2_1>;
+		};
+
+		cpu3: cpu@101 {
+			compatible = "arm,cortex-a53", "arm,armv8";
+			reg = <0x101>;
+			device_type = "cpu";
+			enable-method = "psci";
+			i-cache-size = <0x8000>;
+			i-cache-line-size = <64>;
+			i-cache-sets = <256>;
+			d-cache-size = <0x8000>;
+			d-cache-line-size = <64>;
+			d-cache-sets = <128>;
+			next-level-cache = <&L2_1>;
+		};
+	};
+
+	L2_0: l2-cache0 {
+		compatible = "cache";
+		cache-level = <2>;
+		cache-size = <0x80000>;
+		cache-line-size = <64>;
+		cache-sets = <512>;
+		next-level-cache = <&msmc_l3>;
+	};
+
+	L2_1: l2-cache1 {
+		compatible = "cache";
+		cache-level = <2>;
+		cache-size = <0x80000>;
+		cache-line-size = <64>;
+		cache-sets = <512>;
+		next-level-cache = <&msmc_l3>;
+	};
+
+	msmc_l3: l3-cache0 {
+		compatible = "cache";
+		cache-level = <3>;
+	};
+};
-- 
2.15.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH V2 4/5] soc: ti: Add Support for AM654 SoC config option
  2018-06-26 16:26 [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
                   ` (2 preceding siblings ...)
  2018-06-26 16:26 ` [PATCH V2 3/5] arm64: dts: ti: Add Support for AM654 SoC Nishanth Menon
@ 2018-06-26 16:26 ` Nishanth Menon
  2018-06-26 16:26 ` [PATCH V2 5/5] arm64: dts: ti: Add support for AM654 EVM base board Nishanth Menon
  2018-07-18 18:04 ` [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
  5 siblings, 0 replies; 10+ messages in thread
From: Nishanth Menon @ 2018-06-26 16:26 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Mark Rutland, Rob Herring
  Cc: Tony Lindgren, Russell King, Santosh Shilimkar, linux-kernel,
	devicetree, linux-arm-kernel, Nishanth Menon, Tero Kristo,
	Sekhar Nori, Olof Johansson, Arnd Bergmann, Sudeep Holla

Add option to build AM6 SoC specific components

Reviewed-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Benjamin Fair <b-fair@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
---
Changes since V1:
 * Picked up Tony's reviewed-by
 
V1:https://patchwork.kernel.org/patch/10475305/
RFC: (new patch broken out from: https://patchwork.kernel.org/patch/10447719/)

 drivers/soc/ti/Kconfig | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/soc/ti/Kconfig b/drivers/soc/ti/Kconfig
index 92770d84a288..be4570baad96 100644
--- a/drivers/soc/ti/Kconfig
+++ b/drivers/soc/ti/Kconfig
@@ -1,3 +1,17 @@
+# 64-bit ARM SoCs from TI
+if ARM64
+
+if ARCH_K3
+
+config ARCH_K3_AM6_SOC
+	bool "K3 AM6 SoC"
+	help
+	  Enable support for TI's AM6 SoC Family support
+
+endif
+
+endif
+
 #
 # TI SOC drivers
 #
-- 
2.15.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH V2 5/5] arm64: dts: ti: Add support for AM654 EVM base board
  2018-06-26 16:26 [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
                   ` (3 preceding siblings ...)
  2018-06-26 16:26 ` [PATCH V2 4/5] soc: ti: Add Support for AM654 SoC config option Nishanth Menon
@ 2018-06-26 16:26 ` Nishanth Menon
  2018-07-18 18:04 ` [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
  5 siblings, 0 replies; 10+ messages in thread
From: Nishanth Menon @ 2018-06-26 16:26 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Mark Rutland, Rob Herring
  Cc: Tony Lindgren, Russell King, Santosh Shilimkar, linux-kernel,
	devicetree, linux-arm-kernel, Nishanth Menon, Tero Kristo,
	Sekhar Nori, Olof Johansson, Arnd Bergmann, Sudeep Holla

The EValuation Module(EVM) platform for AM654 consists of a
common Base board + one or more of daughter cards, which include:
a) "Personality Modules", which can be specific to a profile, such as
 ICSSG enabled or Multi-media (including audio).
b) SERDES modules, which may be 2 lane PCIe or two port PCIe + USB2
c) Camera daughter card
d) various display panels

Among other options. There are two basic configurations defined which
include an "EVM" configuration and "IDK" (Industrial development kit)
which differ in the specific combination of daughter cards that are
used.

To simplify support, we choose to support just the base board as the
core device tree file and all daughter cards would be expected to be
device tree overlays.

Reviewed-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
---
Changes since V1:
 * Picked up Tony's reviewed-by
 
V1: https://patchwork.kernel.org/patch/10475333/
RFC: https://patchwork.kernel.org/patch/10447741/

 MAINTAINERS                                    |  1 +
 arch/arm64/boot/dts/Makefile                   |  1 +
 arch/arm64/boot/dts/ti/Makefile                |  9 +++++++
 arch/arm64/boot/dts/ti/k3-am654-base-board.dts | 36 ++++++++++++++++++++++++++
 4 files changed, 47 insertions(+)
 create mode 100644 arch/arm64/boot/dts/ti/Makefile
 create mode 100644 arch/arm64/boot/dts/ti/k3-am654-base-board.dts

diff --git a/MAINTAINERS b/MAINTAINERS
index 6785ceaf5b0b..e9e916d1fb52 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2093,6 +2093,7 @@ M:	Nishanth Menon <nm@ti.com>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Supported
 F:	Documentation/devicetree/bindings/arm/ti/k3.txt
+F:	arch/arm64/boot/dts/ti/Makefile
 F:	arch/arm64/boot/dts/ti/k3-*
 
 ARM/TEXAS INSTRUMENT KEYSTONE ARCHITECTURE
diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
index 3543bc324553..4690364d584b 100644
--- a/arch/arm64/boot/dts/Makefile
+++ b/arch/arm64/boot/dts/Makefile
@@ -23,5 +23,6 @@ subdir-y += rockchip
 subdir-y += socionext
 subdir-y += sprd
 subdir-y += synaptics
+subdir-y += ti
 subdir-y += xilinx
 subdir-y += zte
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
new file mode 100644
index 000000000000..63e619d0b5b8
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+# Make file to build device tree binaries for boards based on
+# Texas Instruments Inc processors
+#
+# Copyright (C) 2016-2018 Texas Instruments Incorporated - http://www.ti.com/
+#
+
+dtb-$(CONFIG_ARCH_K3_AM6_SOC) += k3-am654-base-board.dtb
diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
new file mode 100644
index 000000000000..af6956fdc13f
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
@@ -0,0 +1,36 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2016-2018 Texas Instruments Incorporated - http://www.ti.com/
+ */
+
+/dts-v1/;
+
+#include "k3-am654.dtsi"
+
+/ {
+	compatible =  "ti,am654-evm", "ti,am654";
+	model = "Texas Instruments AM654 Base Board";
+
+	chosen {
+		stdout-path = "serial2:115200n8";
+		bootargs = "earlycon=ns16550a,mmio32,0x02800000";
+	};
+
+	memory@80000000 {
+		device_type = "memory";
+		/* 4G RAM */
+		reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
+		      <0x00000008 0x80000000 0x00000000 0x80000000>;
+	};
+
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+		secure_ddr: secure_ddr@9e800000 {
+			reg = <0 0x9e800000 0 0x01800000>; /* for OP-TEE */
+			alignment = <0x1000>;
+			no-map;
+		};
+	};
+};
-- 
2.15.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH V2 1/5] dt-bindings: arm: ti: Add bindings for AM654 SoC
  2018-06-26 16:26 ` [PATCH V2 1/5] dt-bindings: arm: ti: Add bindings for AM654 SoC Nishanth Menon
@ 2018-07-03 22:15   ` Rob Herring
  0 siblings, 0 replies; 10+ messages in thread
From: Rob Herring @ 2018-07-03 22:15 UTC (permalink / raw)
  To: Nishanth Menon
  Cc: Will Deacon, Catalin Marinas, Mark Rutland, devicetree,
	Arnd Bergmann, Tony Lindgren, Sudeep Holla, Sekhar Nori,
	linux-kernel, Russell King, Tero Kristo, Santosh Shilimkar,
	Olof Johansson, linux-arm-kernel

On Tue, Jun 26, 2018 at 11:26:11AM -0500, Nishanth Menon wrote:
> The AM654 SoC is a lead device of the K3 Multicore SoC architecture
> platform, targeted for broad market and industrial control with aim to
> meet the complex processing needs of modern embedded products.
> 
> Some highlights of this SoC are:
> * Quad ARMv8 A53 cores split over two clusters
> * GICv3 compliant GIC500
> * Configurable L3 Cache and IO-coherent architecture
> * Dual lock-step capable R5F uC for safety-critical applications
> * High data throughput capable distributed DMA architecture under NAVSS
> * Three Gigabit Industrial Communication Subsystems (ICSSG), each with dual
>   PRUs and dual RTUs
> * Hardware accelerator block containing AES/DES/SHA/MD5 called SA2UL
> * Centralized System Controller for Security, Power, and Resource
>   management.
> * Dual ADCSS, eQEP/eCAP, eHRPWM, dual CAN-FD
> * Flash subsystem with OSPI and Hyperbus interfaces
> * Multimedia capability with CAL, DSS7-UL, SGX544, McASP
> * Peripheral connectivity including USB3, PCIE, MMC/SD, GPMC, I2C, SPI,
>   GPIO
> 
> See AM65x Technical Reference Manual (SPRUID7, April 2018)
> for further details: http://www.ti.com/lit/pdf/spruid7
> 
> Reviewed-by: Tony Lindgren <tony@atomide.com>
> Signed-off-by: Nishanth Menon <nm@ti.com>
> ---
> Changes since V1:
>  * Picked up Tony's reviewed-by
>  
> V1: https://patchwork.kernel.org/patch/10475327/
> previous RFC: https://patchwork.kernel.org/patch/10447643/
> 
>  Documentation/devicetree/bindings/arm/ti/k3.txt | 23 +++++++++++++++++++++++
>  MAINTAINERS                                     |  7 +++++++
>  2 files changed, 30 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/ti/k3.txt

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform
  2018-06-26 16:26 [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
                   ` (4 preceding siblings ...)
  2018-06-26 16:26 ` [PATCH V2 5/5] arm64: dts: ti: Add support for AM654 EVM base board Nishanth Menon
@ 2018-07-18 18:04 ` Nishanth Menon
  2018-07-18 18:57   ` Tony Lindgren
  5 siblings, 1 reply; 10+ messages in thread
From: Nishanth Menon @ 2018-07-18 18:04 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Mark Rutland, Rob Herring, tony
  Cc: Tony Lindgren, Russell King, Santosh Shilimkar, linux-kernel,
	devicetree, linux-arm-kernel, Tero Kristo, Sekhar Nori,
	Olof Johansson, Arnd Bergmann, Sudeep Holla, arm

On 16:26-20180626, Nishanth Menon wrote:
> Hi,
> 
> This is an minor update from V1 posted earlier:
> 	https://marc.info/?l=linux-kernel&m=152943745424138&w=2
> 
> The following series enables support for newest addition in TI's SoC
> portfolio - AM654 SoC.
> 
> The series is based off v4.18-rc1, also available here:
> https://github.com/nmenon/linux-2.6-playground/tree/upstream/v4.18-rc1/k3-1-am6-base
> 
> Key changes since RFC are indicated in respective patches:
> * Pickedup Tony's Reviewed by
> * Modified cbass nodes to indicate interconnect (patch #3 in the series)

Hi Tony,

Apologies on the off-request. Looks like Tero might be on vacation
and might not be able to send the Pull request to arm-soc folks on time.

Requesting you to pick them up on our behalf for v4.19 if it that is
fine with you. We do have Rob's ack on the bindings themselves, and
the patches also have been reviewed as well.

Patchwork links:
https://patchwork.kernel.org/patch/10527309/
https://patchwork.kernel.org/patch/10489509/
https://patchwork.kernel.org/patch/10489547/
https://patchwork.kernel.org/patch/10489543/
https://patchwork.kernel.org/patch/10489513/

-- 
Regards,
Nishanth Menon

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform
  2018-07-18 18:04 ` [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
@ 2018-07-18 18:57   ` Tony Lindgren
  2018-07-18 22:38     ` Nishanth Menon
  0 siblings, 1 reply; 10+ messages in thread
From: Tony Lindgren @ 2018-07-18 18:57 UTC (permalink / raw)
  To: Nishanth Menon
  Cc: Will Deacon, Catalin Marinas, Mark Rutland, Rob Herring,
	Russell King, Santosh Shilimkar, linux-kernel, devicetree,
	linux-arm-kernel, Tero Kristo, Sekhar Nori, Olof Johansson,
	Arnd Bergmann, Sudeep Holla, arm

* Nishanth Menon <nm@ti.com> [180718 18:08]:
> On 16:26-20180626, Nishanth Menon wrote:
> > Hi,
> > 
> > This is an minor update from V1 posted earlier:
> > 	https://marc.info/?l=linux-kernel&m=152943745424138&w=2
> > 
> > The following series enables support for newest addition in TI's SoC
> > portfolio - AM654 SoC.
> > 
> > The series is based off v4.18-rc1, also available here:
> > https://github.com/nmenon/linux-2.6-playground/tree/upstream/v4.18-rc1/k3-1-am6-base
> > 
> > Key changes since RFC are indicated in respective patches:
> > * Pickedup Tony's Reviewed by
> > * Modified cbass nodes to indicate interconnect (patch #3 in the series)
> 
> Hi Tony,
> 
> Apologies on the off-request. Looks like Tero might be on vacation
> and might not be able to send the Pull request to arm-soc folks on time.
> 
> Requesting you to pick them up on our behalf for v4.19 if it that is
> fine with you. We do have Rob's ack on the bindings themselves, and
> the patches also have been reviewed as well.

Sure applying the whole series into am654-for-v4.19 branch.

Regards,

Tony

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform
  2018-07-18 18:57   ` Tony Lindgren
@ 2018-07-18 22:38     ` Nishanth Menon
  0 siblings, 0 replies; 10+ messages in thread
From: Nishanth Menon @ 2018-07-18 22:38 UTC (permalink / raw)
  To: Tony Lindgren
  Cc: Will Deacon, Catalin Marinas, Mark Rutland, Rob Herring,
	Russell King, Santosh Shilimkar, linux-kernel, devicetree,
	linux-arm-kernel, Tero Kristo, Sekhar Nori, Olof Johansson,
	Arnd Bergmann, Sudeep Holla, arm

On 18:57-20180718, Tony Lindgren wrote:
> * Nishanth Menon <nm@ti.com> [180718 18:08]:
> > On 16:26-20180626, Nishanth Menon wrote:
> > > Hi,
> > > 
> > > This is an minor update from V1 posted earlier:
> > > 	https://marc.info/?l=linux-kernel&m=152943745424138&w=2
> > > 
> > > The following series enables support for newest addition in TI's SoC
> > > portfolio - AM654 SoC.
> > > 
> > > The series is based off v4.18-rc1, also available here:
> > > https://github.com/nmenon/linux-2.6-playground/tree/upstream/v4.18-rc1/k3-1-am6-base
> > > 
> > > Key changes since RFC are indicated in respective patches:
> > > * Pickedup Tony's Reviewed by
> > > * Modified cbass nodes to indicate interconnect (patch #3 in the series)
> > 
> > Hi Tony,
> > 
> > Apologies on the off-request. Looks like Tero might be on vacation
> > and might not be able to send the Pull request to arm-soc folks on time.
> > 
> > Requesting you to pick them up on our behalf for v4.19 if it that is
> > fine with you. We do have Rob's ack on the bindings themselves, and
> > the patches also have been reviewed as well.
> 
> Sure applying the whole series into am654-for-v4.19 branch.

Thanks a bunch Tony.
-- 
Regards,
Nishanth Menon

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-07-18 22:38 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-26 16:26 [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
2018-06-26 16:26 ` [PATCH V2 1/5] dt-bindings: arm: ti: Add bindings for AM654 SoC Nishanth Menon
2018-07-03 22:15   ` Rob Herring
2018-06-26 16:26 ` [PATCH V2 2/5] arm64: Add support for TI's K3 Multicore SoC architecture Nishanth Menon
2018-06-26 16:26 ` [PATCH V2 3/5] arm64: dts: ti: Add Support for AM654 SoC Nishanth Menon
2018-06-26 16:26 ` [PATCH V2 4/5] soc: ti: Add Support for AM654 SoC config option Nishanth Menon
2018-06-26 16:26 ` [PATCH V2 5/5] arm64: dts: ti: Add support for AM654 EVM base board Nishanth Menon
2018-07-18 18:04 ` [PATCH V2 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
2018-07-18 18:57   ` Tony Lindgren
2018-07-18 22:38     ` Nishanth Menon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).