All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] arm64: marvell: support network on Armada 7K/8K
@ 2017-03-16 15:16 Thomas Petazzoni
  2017-03-16 15:16 ` [PATCH 1/2] arm64: marvell: dts: add PPv2.2 description to " Thomas Petazzoni
  2017-03-16 15:16 ` [PATCH 2/2] arm64: defconfig: enable MVPP2 Thomas Petazzoni
  0 siblings, 2 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2017-03-16 15:16 UTC (permalink / raw)
  To: linux-arm-kernel

Hello,

Now that the PPv2.2 support has been merged in the mvpp2 network
driver, we can finally enable networking support on the Armada 7K and
Armada 8K SoCs.

This small series:

 - Adds the Device Tree description of the PPv2.2 IP in both the
   master CP110 and slave CP110 (SoC description) and the description
   of a number of network interfaces available in the Armada 7K and
   Armada 8K development boards.

 - Enable the mvpp2 driver in the arm64 defconfig, since it's now used
   on ARM64 platforms.

Thanks!

Thomas

Thomas Petazzoni (2):
  arm64: marvell: dts: add PPv2.2 description to Armada 7K/8K
  arm64: defconfig: enable MVPP2

 arch/arm64/boot/dts/marvell/armada-7040-db.dts     | 25 +++++++++++++++
 arch/arm64/boot/dts/marvell/armada-8040-db.dts     | 16 ++++++++++
 .../boot/dts/marvell/armada-cp110-master.dtsi      | 37 ++++++++++++++++++++++
 .../arm64/boot/dts/marvell/armada-cp110-slave.dtsi | 37 ++++++++++++++++++++++
 arch/arm64/configs/defconfig                       |  1 +
 5 files changed, 116 insertions(+)

-- 
2.7.4

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

* [PATCH 1/2] arm64: marvell: dts: add PPv2.2 description to Armada 7K/8K
  2017-03-16 15:16 [PATCH 0/2] arm64: marvell: support network on Armada 7K/8K Thomas Petazzoni
@ 2017-03-16 15:16 ` Thomas Petazzoni
  2017-03-23 16:46   ` Gregory CLEMENT
  2017-03-16 15:16 ` [PATCH 2/2] arm64: defconfig: enable MVPP2 Thomas Petazzoni
  1 sibling, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2017-03-16 15:16 UTC (permalink / raw)
  To: linux-arm-kernel

This commit adds the description of the PPv2.2 hardware block for the
Marvell Armada 7K and Armada 8K processors, and their corresponding Armada
7040 and 8040 Development boards.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 arch/arm64/boot/dts/marvell/armada-7040-db.dts     | 25 +++++++++++++++
 arch/arm64/boot/dts/marvell/armada-8040-db.dts     | 16 ++++++++++
 .../boot/dts/marvell/armada-cp110-master.dtsi      | 37 ++++++++++++++++++++++
 .../arm64/boot/dts/marvell/armada-cp110-slave.dtsi | 37 ++++++++++++++++++++++
 4 files changed, 115 insertions(+)

diff --git a/arch/arm64/boot/dts/marvell/armada-7040-db.dts b/arch/arm64/boot/dts/marvell/armada-7040-db.dts
index 070b589..bb0e1e8 100644
--- a/arch/arm64/boot/dts/marvell/armada-7040-db.dts
+++ b/arch/arm64/boot/dts/marvell/armada-7040-db.dts
@@ -146,3 +146,28 @@
 &cpm_usb3_1 {
 	status = "okay";
 };
+
+&cpm_mdio {
+	phy0: ethernet-phy at 0 {
+		reg = <0>;
+	};
+	phy1: ethernet-phy at 1 {
+		reg = <1>;
+	};
+};
+
+&cpm_ethernet {
+	status = "okay";
+};
+
+&cpm_eth1 {
+	status = "okay";
+	phy = <&phy0>;
+	phy-mode = "sgmii";
+};
+
+&cpm_eth2 {
+	status = "okay";
+	phy = <&phy1>;
+	phy-mode = "rgmii-id";
+};
diff --git a/arch/arm64/boot/dts/marvell/armada-8040-db.dts b/arch/arm64/boot/dts/marvell/armada-8040-db.dts
index 6e6f182..80e685e 100644
--- a/arch/arm64/boot/dts/marvell/armada-8040-db.dts
+++ b/arch/arm64/boot/dts/marvell/armada-8040-db.dts
@@ -124,6 +124,22 @@
 	status = "okay";
 };
 
+&cpm_mdio {
+	phy1: ethernet-phy at 1 {
+		reg = <1>;
+	};
+};
+
+&cpm_ethernet {
+	status = "okay";
+};
+
+&cpm_eth2 {
+	status = "okay";
+	phy = <&phy1>;
+	phy-mode = "rgmii-id";
+};
+
 /* CON5 on CP1 expansion */
 &cps_pcie2 {
 	status = "okay";
diff --git a/arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi b/arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi
index 3a99c36..9a2ce2a 100644
--- a/arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi
@@ -59,6 +59,43 @@
 			interrupt-parent = <&gic>;
 			ranges = <0x0 0x0 0xf2000000 0x2000000>;
 
+			cpm_ethernet: ethernet at 0 {
+				compatible = "marvell,armada-7k-pp22";
+				reg = <0x0 0x100000>, <0x129000 0xb000>;
+				clocks = <&cpm_syscon0 1 3>, <&cpm_syscon0 1 9>, <&cpm_syscon0 1 5>;
+				clock-names = "pp_clk", "gop_clk", "mg_clk";
+				status = "disabled";
+				dma-coherent;
+
+				cpm_eth0: eth0 {
+					interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+					port-id = <0>;
+					gop-port-id = <0>;
+					status = "disabled";
+				};
+
+				cpm_eth1: eth1 {
+					interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
+					port-id = <1>;
+					gop-port-id = <2>;
+					status = "disabled";
+				};
+
+				cpm_eth2: eth2 {
+					interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
+					port-id = <2>;
+					gop-port-id = <3>;
+					status = "disabled";
+				};
+			};
+
+			cpm_mdio: mdio at 12a200 {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				compatible = "marvell,orion-mdio";
+				reg = <0x12a200 0x10>;
+			};
+
 			cpm_syscon0: system-controller at 440000 {
 				compatible = "marvell,cp110-system-controller0",
 					     "syscon";
diff --git a/arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi b/arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi
index 9e09c4d..c9dfa24 100644
--- a/arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi
@@ -59,6 +59,43 @@
 			interrupt-parent = <&gic>;
 			ranges = <0x0 0x0 0xf4000000 0x2000000>;
 
+			cps_ethernet: ethernet at 0 {
+				compatible = "marvell,armada-7k-pp22";
+				reg = <0x0 0x100000>, <0x129000 0xb000>;
+				clocks = <&cps_syscon0 1 3>, <&cps_syscon0 1 9>, <&cps_syscon0 1 5>;
+				clock-names = "pp_clk", "gop_clk", "mg_clk";
+				status = "disabled";
+				dma-coherent;
+
+				cps_eth0: eth0 {
+					interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>;
+					port-id = <0>;
+					gop-port-id = <0>;
+					status = "disabled";
+				};
+
+				cps_eth1: eth1 {
+					interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>;
+					port-id = <1>;
+					gop-port-id = <2>;
+					status = "disabled";
+				};
+
+				cps_eth2: eth2 {
+					interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
+					port-id = <2>;
+					gop-port-id = <3>;
+					status = "disabled";
+				};
+			};
+
+			cps_mdio: mdio at 12a200 {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				compatible = "marvell,orion-mdio";
+				reg = <0x12a200 0x10>;
+			};
+
 			cps_syscon0: system-controller at 440000 {
 				compatible = "marvell,cp110-system-controller0",
 					     "syscon";
-- 
2.7.4

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

* [PATCH 2/2] arm64: defconfig: enable MVPP2
  2017-03-16 15:16 [PATCH 0/2] arm64: marvell: support network on Armada 7K/8K Thomas Petazzoni
  2017-03-16 15:16 ` [PATCH 1/2] arm64: marvell: dts: add PPv2.2 description to " Thomas Petazzoni
@ 2017-03-16 15:16 ` Thomas Petazzoni
  2017-03-23 16:50   ` Gregory CLEMENT
  1 sibling, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2017-03-16 15:16 UTC (permalink / raw)
  To: linux-arm-kernel

The MVPP2 network driver is used for the ARM64 Marvell Armada 7K and 8K
platforms, so enable it in the arm64 defconfig.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 arch/arm64/configs/defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 7c48028..fece4d3 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -185,6 +185,7 @@ CONFIG_HNS_ENET=y
 CONFIG_E1000E=y
 CONFIG_IGB=y
 CONFIG_IGBVF=y
+CONFIG_MVPP2=y
 CONFIG_SKY2=y
 CONFIG_RAVB=y
 CONFIG_SMC91X=y
-- 
2.7.4

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

* [PATCH 1/2] arm64: marvell: dts: add PPv2.2 description to Armada 7K/8K
  2017-03-16 15:16 ` [PATCH 1/2] arm64: marvell: dts: add PPv2.2 description to " Thomas Petazzoni
@ 2017-03-23 16:46   ` Gregory CLEMENT
  0 siblings, 0 replies; 5+ messages in thread
From: Gregory CLEMENT @ 2017-03-23 16:46 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Thomas,
 
 On jeu., mars 16 2017, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote:

> This commit adds the description of the PPv2.2 hardware block for the
> Marvell Armada 7K and Armada 8K processors, and their corresponding Armada
> 7040 and 8040 Development boards.

Applied on mvebu/dt64

Thanks,

Gregory

>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  arch/arm64/boot/dts/marvell/armada-7040-db.dts     | 25 +++++++++++++++
>  arch/arm64/boot/dts/marvell/armada-8040-db.dts     | 16 ++++++++++
>  .../boot/dts/marvell/armada-cp110-master.dtsi      | 37 ++++++++++++++++++++++
>  .../arm64/boot/dts/marvell/armada-cp110-slave.dtsi | 37 ++++++++++++++++++++++
>  4 files changed, 115 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/marvell/armada-7040-db.dts b/arch/arm64/boot/dts/marvell/armada-7040-db.dts
> index 070b589..bb0e1e8 100644
> --- a/arch/arm64/boot/dts/marvell/armada-7040-db.dts
> +++ b/arch/arm64/boot/dts/marvell/armada-7040-db.dts
> @@ -146,3 +146,28 @@
>  &cpm_usb3_1 {
>  	status = "okay";
>  };
> +
> +&cpm_mdio {
> +	phy0: ethernet-phy at 0 {
> +		reg = <0>;
> +	};
> +	phy1: ethernet-phy at 1 {
> +		reg = <1>;
> +	};
> +};
> +
> +&cpm_ethernet {
> +	status = "okay";
> +};
> +
> +&cpm_eth1 {
> +	status = "okay";
> +	phy = <&phy0>;
> +	phy-mode = "sgmii";
> +};
> +
> +&cpm_eth2 {
> +	status = "okay";
> +	phy = <&phy1>;
> +	phy-mode = "rgmii-id";
> +};
> diff --git a/arch/arm64/boot/dts/marvell/armada-8040-db.dts b/arch/arm64/boot/dts/marvell/armada-8040-db.dts
> index 6e6f182..80e685e 100644
> --- a/arch/arm64/boot/dts/marvell/armada-8040-db.dts
> +++ b/arch/arm64/boot/dts/marvell/armada-8040-db.dts
> @@ -124,6 +124,22 @@
>  	status = "okay";
>  };
>  
> +&cpm_mdio {
> +	phy1: ethernet-phy at 1 {
> +		reg = <1>;
> +	};
> +};
> +
> +&cpm_ethernet {
> +	status = "okay";
> +};
> +
> +&cpm_eth2 {
> +	status = "okay";
> +	phy = <&phy1>;
> +	phy-mode = "rgmii-id";
> +};
> +
>  /* CON5 on CP1 expansion */
>  &cps_pcie2 {
>  	status = "okay";
> diff --git a/arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi b/arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi
> index 3a99c36..9a2ce2a 100644
> --- a/arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi
> +++ b/arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi
> @@ -59,6 +59,43 @@
>  			interrupt-parent = <&gic>;
>  			ranges = <0x0 0x0 0xf2000000 0x2000000>;
>  
> +			cpm_ethernet: ethernet at 0 {
> +				compatible = "marvell,armada-7k-pp22";
> +				reg = <0x0 0x100000>, <0x129000 0xb000>;
> +				clocks = <&cpm_syscon0 1 3>, <&cpm_syscon0 1 9>, <&cpm_syscon0 1 5>;
> +				clock-names = "pp_clk", "gop_clk", "mg_clk";
> +				status = "disabled";
> +				dma-coherent;
> +
> +				cpm_eth0: eth0 {
> +					interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
> +					port-id = <0>;
> +					gop-port-id = <0>;
> +					status = "disabled";
> +				};
> +
> +				cpm_eth1: eth1 {
> +					interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
> +					port-id = <1>;
> +					gop-port-id = <2>;
> +					status = "disabled";
> +				};
> +
> +				cpm_eth2: eth2 {
> +					interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
> +					port-id = <2>;
> +					gop-port-id = <3>;
> +					status = "disabled";
> +				};
> +			};
> +
> +			cpm_mdio: mdio at 12a200 {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +				compatible = "marvell,orion-mdio";
> +				reg = <0x12a200 0x10>;
> +			};
> +
>  			cpm_syscon0: system-controller at 440000 {
>  				compatible = "marvell,cp110-system-controller0",
>  					     "syscon";
> diff --git a/arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi b/arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi
> index 9e09c4d..c9dfa24 100644
> --- a/arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi
> +++ b/arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi
> @@ -59,6 +59,43 @@
>  			interrupt-parent = <&gic>;
>  			ranges = <0x0 0x0 0xf4000000 0x2000000>;
>  
> +			cps_ethernet: ethernet at 0 {
> +				compatible = "marvell,armada-7k-pp22";
> +				reg = <0x0 0x100000>, <0x129000 0xb000>;
> +				clocks = <&cps_syscon0 1 3>, <&cps_syscon0 1 9>, <&cps_syscon0 1 5>;
> +				clock-names = "pp_clk", "gop_clk", "mg_clk";
> +				status = "disabled";
> +				dma-coherent;
> +
> +				cps_eth0: eth0 {
> +					interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>;
> +					port-id = <0>;
> +					gop-port-id = <0>;
> +					status = "disabled";
> +				};
> +
> +				cps_eth1: eth1 {
> +					interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>;
> +					port-id = <1>;
> +					gop-port-id = <2>;
> +					status = "disabled";
> +				};
> +
> +				cps_eth2: eth2 {
> +					interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
> +					port-id = <2>;
> +					gop-port-id = <3>;
> +					status = "disabled";
> +				};
> +			};
> +
> +			cps_mdio: mdio at 12a200 {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +				compatible = "marvell,orion-mdio";
> +				reg = <0x12a200 0x10>;
> +			};
> +
>  			cps_syscon0: system-controller at 440000 {
>  				compatible = "marvell,cp110-system-controller0",
>  					     "syscon";
> -- 
> 2.7.4
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [PATCH 2/2] arm64: defconfig: enable MVPP2
  2017-03-16 15:16 ` [PATCH 2/2] arm64: defconfig: enable MVPP2 Thomas Petazzoni
@ 2017-03-23 16:50   ` Gregory CLEMENT
  0 siblings, 0 replies; 5+ messages in thread
From: Gregory CLEMENT @ 2017-03-23 16:50 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Thomas,
 
 On jeu., mars 16 2017, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote:

> The MVPP2 network driver is used for the ARM64 Marvell Armada 7K and 8K
> platforms, so enable it in the arm64 defconfig.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Applied on mvebu/defconfig64

Thanks,

Gregory

> ---
>  arch/arm64/configs/defconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
> index 7c48028..fece4d3 100644
> --- a/arch/arm64/configs/defconfig
> +++ b/arch/arm64/configs/defconfig
> @@ -185,6 +185,7 @@ CONFIG_HNS_ENET=y
>  CONFIG_E1000E=y
>  CONFIG_IGB=y
>  CONFIG_IGBVF=y
> +CONFIG_MVPP2=y
>  CONFIG_SKY2=y
>  CONFIG_RAVB=y
>  CONFIG_SMC91X=y
> -- 
> 2.7.4
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

end of thread, other threads:[~2017-03-23 16:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-16 15:16 [PATCH 0/2] arm64: marvell: support network on Armada 7K/8K Thomas Petazzoni
2017-03-16 15:16 ` [PATCH 1/2] arm64: marvell: dts: add PPv2.2 description to " Thomas Petazzoni
2017-03-23 16:46   ` Gregory CLEMENT
2017-03-16 15:16 ` [PATCH 2/2] arm64: defconfig: enable MVPP2 Thomas Petazzoni
2017-03-23 16:50   ` Gregory CLEMENT

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.