linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] arm64: Initial support Texas Instrument's AM654 Platform
@ 2018-06-19 19:42 Nishanth Menon
  2018-06-19 19:42 ` [PATCH 1/5] dt-bindings: arm: ti: Add bindings for AM654 SoC Nishanth Menon
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Nishanth Menon @ 2018-06-19 19:42 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 update from RFC posted earlier:
        https://marc.info/?l=linux-arm-kernel&m=152817866312732&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:
* dt bindings updates (from review comments)
* device tree is split up to incorporate ranges and bus segments
* Cosmetic fixes including renaming the base dts to prevent confusion
* UART has been split out

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] 9+ messages in thread

* [PATCH 1/5] dt-bindings: arm: ti: Add bindings for AM654 SoC
  2018-06-19 19:42 [PATCH 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
@ 2018-06-19 19:42 ` Nishanth Menon
  2018-06-19 19:42 ` [PATCH 2/5] arm64: Add support for TI's K3 Multicore SoC architecture Nishanth Menon
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Nishanth Menon @ 2018-06-19 19:42 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

Signed-off-by: Nishanth Menon <nm@ti.com>
---
Changes since RFC:
 * Dropped the generic terminology for compatibles

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] 9+ messages in thread

* [PATCH 2/5] arm64: Add support for TI's K3 Multicore SoC architecture
  2018-06-19 19:42 [PATCH 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
  2018-06-19 19:42 ` [PATCH 1/5] dt-bindings: arm: ti: Add bindings for AM654 SoC Nishanth Menon
@ 2018-06-19 19:42 ` Nishanth Menon
  2018-06-19 19:42 ` [PATCH 3/5] arm64: dts: ti: Add Support for AM654 SoC Nishanth Menon
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Nishanth Menon @ 2018-06-19 19:42 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.

Signed-off-by: Nishanth Menon <nm@ti.com>
---
Changes since RFC:
 * None

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] 9+ messages in thread

* [PATCH 3/5] arm64: dts: ti: Add Support for AM654 SoC
  2018-06-19 19:42 [PATCH 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
  2018-06-19 19:42 ` [PATCH 1/5] dt-bindings: arm: ti: Add bindings for AM654 SoC Nishanth Menon
  2018-06-19 19:42 ` [PATCH 2/5] arm64: Add support for TI's K3 Multicore SoC architecture Nishanth Menon
@ 2018-06-19 19:42 ` Nishanth Menon
  2018-06-21  5:37   ` Tony Lindgren
  2018-06-19 19:42 ` [PATCH 4/5] soc: ti: Add Support for AM654 SoC config option Nishanth Menon
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 9+ messages in thread
From: Nishanth Menon @ 2018-06-19 19:42 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.

Signed-off-by: Benjamin Fair <b-fair@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
---
Changes since RFC:
* Bus topology representation
* Device nodes underneath a bus segment moved to seperate dtsi (allowing reuse
  where applicable)
* Ranges used in the bus segments
* Processor level nodes moved to the root node
* SoC node dropped.
* Default for device nodes is "enabled" instead of explicitly enabling them in
  board dts.
* UART patches are spun off into a different series to prevent maintainer
  tree level conflicts. (wakeup and mcu domain peripherals to be introduced
  there)
* Few addresses had uppercase hexadecimal values, replaced with standard
  lowercase hex values
* Commit message updates
* Kconfig was spun out as seperate patch

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..8c0f78332157
--- /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: cbass@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: cbass@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: cbass@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] 9+ messages in thread

* [PATCH 4/5] soc: ti: Add Support for AM654 SoC config option
  2018-06-19 19:42 [PATCH 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
                   ` (2 preceding siblings ...)
  2018-06-19 19:42 ` [PATCH 3/5] arm64: dts: ti: Add Support for AM654 SoC Nishanth Menon
@ 2018-06-19 19:42 ` Nishanth Menon
  2018-06-19 19:42 ` [PATCH 5/5] arm64: dts: ti: Add support for AM654 EVM base board Nishanth Menon
  2018-06-21  5:40 ` [PATCH 0/5] arm64: Initial support Texas Instrument's AM654 Platform Tony Lindgren
  5 siblings, 0 replies; 9+ messages in thread
From: Nishanth Menon @ 2018-06-19 19:42 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

Signed-off-by: Benjamin Fair <b-fair@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
---
(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] 9+ messages in thread

* [PATCH 5/5] arm64: dts: ti: Add support for AM654 EVM base board
  2018-06-19 19:42 [PATCH 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
                   ` (3 preceding siblings ...)
  2018-06-19 19:42 ` [PATCH 4/5] soc: ti: Add Support for AM654 SoC config option Nishanth Menon
@ 2018-06-19 19:42 ` Nishanth Menon
  2018-06-21  5:40 ` [PATCH 0/5] arm64: Initial support Texas Instrument's AM654 Platform Tony Lindgren
  5 siblings, 0 replies; 9+ messages in thread
From: Nishanth Menon @ 2018-06-19 19:42 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.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
---

Changes since RFC:
* Since defaults are enabled, and uart has been spun off, dropped the
  redundant nodes from baseboard dts

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] 9+ messages in thread

* Re: [PATCH 3/5] arm64: dts: ti: Add Support for AM654 SoC
  2018-06-19 19:42 ` [PATCH 3/5] arm64: dts: ti: Add Support for AM654 SoC Nishanth Menon
@ 2018-06-21  5:37   ` Tony Lindgren
  2018-06-21 11:36     ` Nishanth Menon
  0 siblings, 1 reply; 9+ messages in thread
From: Tony Lindgren @ 2018-06-21  5:37 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

* Nishanth Menon <nm@ti.com> [180619 19:46]:
> +	cbass_main: cbass@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: cbass@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: cbass@42040000 {
> +				compatible = "simple-bus";
> +				#address-cells = <1>;
> +				#size-cells = <1>;
> +				/* WKUP  Basic peripherals */
> +				ranges = <0x42040000 0x42040000 0x03ac2400>;
> +			};
> +		};
> +	};
> +};

You should use cbass_main: interconnect@1000000 and so on here.
Other than that looks good to me, thanks for updating it.

Regards,

Tony

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

* Re: [PATCH 0/5] arm64: Initial support Texas Instrument's AM654 Platform
  2018-06-19 19:42 [PATCH 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
                   ` (4 preceding siblings ...)
  2018-06-19 19:42 ` [PATCH 5/5] arm64: dts: ti: Add support for AM654 EVM base board Nishanth Menon
@ 2018-06-21  5:40 ` Tony Lindgren
  5 siblings, 0 replies; 9+ messages in thread
From: Tony Lindgren @ 2018-06-21  5:40 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

* Nishanth Menon <nm@ti.com> [180619 19:46]:
> Hi,
> This is an update from RFC posted earlier:
>         https://marc.info/?l=linux-arm-kernel&m=152817866312732&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:
> * dt bindings updates (from review comments)
> * device tree is split up to incorporate ranges and bus segments
> * Cosmetic fixes including renaming the base dts to prevent confusion
> * UART has been split out

Other than the cbass to interrconnect naming, looks good to me now:

Reviewed-by: Tony Lindgren <tony@atomide.com>

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

* Re: [PATCH 3/5] arm64: dts: ti: Add Support for AM654 SoC
  2018-06-21  5:37   ` Tony Lindgren
@ 2018-06-21 11:36     ` Nishanth Menon
  0 siblings, 0 replies; 9+ messages in thread
From: Nishanth Menon @ 2018-06-21 11:36 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

On 05:37-20180621, Tony Lindgren wrote:
> * Nishanth Menon <nm@ti.com> [180619 19:46]:
> > +	cbass_main: cbass@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: cbass@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: cbass@42040000 {
> > +				compatible = "simple-bus";
> > +				#address-cells = <1>;
> > +				#size-cells = <1>;
> > +				/* WKUP  Basic peripherals */
> > +				ranges = <0x42040000 0x42040000 0x03ac2400>;
> > +			};
> > +		};
> > +	};
> > +};
> 
> You should use cbass_main: interconnect@1000000 and so on here.
> Other than that looks good to me, thanks for updating it.

Thanks, will wait till Monday to see if there are any further comments,
else will post a V2.

-- 
Regards,
Nishanth Menon

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

end of thread, other threads:[~2018-06-21 11:37 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-19 19:42 [PATCH 0/5] arm64: Initial support Texas Instrument's AM654 Platform Nishanth Menon
2018-06-19 19:42 ` [PATCH 1/5] dt-bindings: arm: ti: Add bindings for AM654 SoC Nishanth Menon
2018-06-19 19:42 ` [PATCH 2/5] arm64: Add support for TI's K3 Multicore SoC architecture Nishanth Menon
2018-06-19 19:42 ` [PATCH 3/5] arm64: dts: ti: Add Support for AM654 SoC Nishanth Menon
2018-06-21  5:37   ` Tony Lindgren
2018-06-21 11:36     ` Nishanth Menon
2018-06-19 19:42 ` [PATCH 4/5] soc: ti: Add Support for AM654 SoC config option Nishanth Menon
2018-06-19 19:42 ` [PATCH 5/5] arm64: dts: ti: Add support for AM654 EVM base board Nishanth Menon
2018-06-21  5:40 ` [PATCH 0/5] arm64: Initial support Texas Instrument's AM654 Platform Tony Lindgren

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).