2015-04-23 19:38:12

by Karicheri, Muralidharan

[permalink] [raw]
Subject: [PATCH 0/4] ARM: keystone: Enable Netcp driver on K2 EVMs

NetCP driver support patches are already merged to v4.0.nd v4.1.
This series introduce patches to update the DTS bindings and
defconfig so that the network driver is fully functional on K2
EVMs :- K2HK, K2L and K2E.

It will be great if this can be merged to v4.1.

Murali Karicheri (4):
ARM: keystone: defconfig: enable netcp driver by default
ARM: dts: k2hk-evm: Add device bindings for netcp driver
ARM: dts: k2e-evm: Add device bindings for netcp driver
ARM: dts: k2l-evm: Add device bindings for netcp driver

arch/arm/boot/dts/k2e-evm.dts | 1 +
arch/arm/boot/dts/k2e-netcp.dtsi | 206 ++++++++++++++++++++++++++++++++++
arch/arm/boot/dts/k2e.dtsi | 1 +
arch/arm/boot/dts/k2hk-evm.dts | 1 +
arch/arm/boot/dts/k2hk-netcp.dtsi | 208 +++++++++++++++++++++++++++++++++++
arch/arm/boot/dts/k2hk.dtsi | 1 +
arch/arm/boot/dts/k2l-evm.dts | 1 +
arch/arm/boot/dts/k2l-netcp.dtsi | 189 +++++++++++++++++++++++++++++++
arch/arm/boot/dts/k2l.dtsi | 1 +
arch/arm/configs/keystone_defconfig | 6 +
10 files changed, 615 insertions(+)
create mode 100644 arch/arm/boot/dts/k2e-netcp.dtsi
create mode 100644 arch/arm/boot/dts/k2hk-netcp.dtsi
create mode 100644 arch/arm/boot/dts/k2l-netcp.dtsi

--
1.7.9.5


2015-04-23 19:38:15

by Karicheri, Muralidharan

[permalink] [raw]
Subject: [PATCH 1/4] ARM: keystone: defconfig: enable netcp driver by default

Enable netcp driver in defconfig for keystone SoCs.

Signed-off-by: Murali Karicheri <[email protected]>
---
arch/arm/configs/keystone_defconfig | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/arch/arm/configs/keystone_defconfig b/arch/arm/configs/keystone_defconfig
index f8a1c8f..95ce128 100644
--- a/arch/arm/configs/keystone_defconfig
+++ b/arch/arm/configs/keystone_defconfig
@@ -123,6 +123,9 @@ CONFIG_EEPROM_AT24=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_NETDEVICES=y
+CONFIG_TI_KEYSTONE_NETCP=y
+CONFIG_TI_KEYSTONE_NETCP_ETHSS=y
+CONFIG_PHYLIB=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_OF_PLATFORM=y
@@ -152,6 +155,9 @@ CONFIG_USB_DWC3_VERBOSE=y
CONFIG_KEYSTONE_USB_PHY=y
CONFIG_DMADEVICES=y
CONFIG_TI_EDMA=y
+CONFIG_SOC_TI=y
+CONFIG_KEYSTONE_NAVIGATOR_QMSS=y
+CONFIG_KEYSTONE_NAVIGATOR_DMA=y
CONFIG_MEMORY=y
CONFIG_TI_AEMIF=y
CONFIG_EXT4_FS=y
--
1.7.9.5

2015-04-23 19:38:49

by Karicheri, Muralidharan

[permalink] [raw]
Subject: [PATCH 2/4] ARM: dts: k2hk-evm: Add device bindings for netcp driver

This patch enables networking on k2hk evm by adding device
bindings for netcp, knav and qmss. See device binding
documentation below for details.

Documentation/devicetree/bindings/net/keystone-netcp.txt

Signed-off-by: WingMan Kwok <[email protected]>
Signed-off-by: Murali Karicheri <[email protected]>
---
arch/arm/boot/dts/k2hk-evm.dts | 1 +
arch/arm/boot/dts/k2hk-netcp.dtsi | 208 +++++++++++++++++++++++++++++++++++++
arch/arm/boot/dts/k2hk.dtsi | 1 +
3 files changed, 210 insertions(+)
create mode 100644 arch/arm/boot/dts/k2hk-netcp.dtsi

diff --git a/arch/arm/boot/dts/k2hk-evm.dts b/arch/arm/boot/dts/k2hk-evm.dts
index 3223cc1..660ebf5 100644
--- a/arch/arm/boot/dts/k2hk-evm.dts
+++ b/arch/arm/boot/dts/k2hk-evm.dts
@@ -169,6 +169,7 @@
};

&mdio {
+ status = "ok";
ethphy0: ethernet-phy@0 {
compatible = "marvell,88E1111", "ethernet-phy-ieee802.3-c22";
reg = <0>;
diff --git a/arch/arm/boot/dts/k2hk-netcp.dtsi b/arch/arm/boot/dts/k2hk-netcp.dtsi
new file mode 100644
index 0000000..308abe5
--- /dev/null
+++ b/arch/arm/boot/dts/k2hk-netcp.dtsi
@@ -0,0 +1,208 @@
+/*
+ * Device Tree Source for Keystone 2 Hawking Netcp driver
+ *
+ * Copyright 2015 Texas Instruments, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+qmss: qmss@2a40000 {
+ compatible = "ti,keystone-navigator-qmss";
+ dma-coherent;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&chipclk13>;
+ ranges;
+ queue-range = <0 0x4000>;
+ linkram0 = <0x100000 0x8000>;
+ linkram1 = <0x0 0x10000>;
+
+ qmgrs {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ qmgr0 {
+ managed-queues = <0 0x2000>;
+ reg = <0x2a40000 0x20000>,
+ <0x2a06000 0x400>,
+ <0x2a02000 0x1000>,
+ <0x2a03000 0x1000>,
+ <0x23a80000 0x20000>,
+ <0x2a80000 0x20000>;
+ reg-names = "peek", "status", "config",
+ "region", "push", "pop";
+ };
+
+ qmgr1 {
+ managed-queues = <0x2000 0x2000>;
+ reg = <0x2a60000 0x20000>,
+ <0x2a06400 0x400>,
+ <0x2a04000 0x1000>,
+ <0x2a05000 0x1000>,
+ <0x23aa0000 0x20000>,
+ <0x2aa0000 0x20000>;
+ reg-names = "peek", "status", "config",
+ "region", "push", "pop";
+ };
+ };
+ queue-pools {
+ qpend {
+ qpend-0 {
+ qrange = <658 8>;
+ interrupts =<0 40 0xf04 0 41 0xf04 0 42 0xf04
+ 0 43 0xf04 0 44 0xf04 0 45 0xf04
+ 0 46 0xf04 0 47 0xf04>;
+ };
+ qpend-1 {
+ qrange = <8704 16>;
+ interrupts = <0 48 0xf04 0 49 0xf04 0 50 0xf04
+ 0 51 0xf04 0 52 0xf04 0 53 0xf04
+ 0 54 0xf04 0 55 0xf04 0 56 0xf04
+ 0 57 0xf04 0 58 0xf04 0 59 0xf04
+ 0 60 0xf04 0 61 0xf04 0 62 0xf04
+ 0 63 0xf04>;
+ qalloc-by-id;
+ };
+ qpend-2 {
+ qrange = <8720 16>;
+ interrupts = <0 64 0xf04 0 65 0xf04 0 66 0xf04
+ 0 59 0xf04 0 68 0xf04 0 69 0xf04
+ 0 70 0xf04 0 71 0xf04 0 72 0xf04
+ 0 73 0xf04 0 74 0xf04 0 75 0xf04
+ 0 76 0xf04 0 77 0xf04 0 78 0xf04
+ 0 79 0xf04>;
+ };
+ };
+ general-purpose {
+ gp-0 {
+ qrange = <4000 64>;
+ };
+ netcp-tx {
+ qrange = <640 9>;
+ qalloc-by-id;
+ };
+ netcpx-tx {
+ qrange = <8752 8>;
+ qalloc-by-id;
+ };
+ };
+ };
+ descriptor-regions {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ region-12 {
+ id = <12>;
+ region-spec = <8192 128>; /* num_desc desc_size */
+ link-index = <0x4000>;
+ };
+ };
+}; /* qmss */
+
+knav_dmas: knav_dmas@0 {
+ compatible = "ti,keystone-navigator-dma";
+ clocks = <&papllclk>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ ti,navigator-cloud-address = <0x23a80000 0x23a90000
+ 0x23aa0000 0x23ab0000>;
+
+ dma_gbe: dma_gbe@0 {
+ reg = <0x2004000 0x100>,
+ <0x2004400 0x120>,
+ <0x2004800 0x300>,
+ <0x2004c00 0x120>,
+ <0x2005000 0x400>;
+ reg-names = "global", "txchan", "rxchan",
+ "txsched", "rxflow";
+ };
+};
+
+netcp: netcp@2000000 {
+ reg = <0x2620110 0x8>;
+ reg-names = "efuse";
+ compatible = "ti,netcp-1.0";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ /* NetCP address range */
+ ranges = <0 0x2000000 0xfffff>;
+
+ clocks = <&papllclk>, <&clkcpgmac>, <&chipclk12>;
+ dma-coherent;
+
+ ti,navigator-dmas = <&dma_gbe 22>,
+ <&dma_gbe 23>,
+ <&dma_gbe 8>;
+ ti,navigator-dma-names = "netrx0", "netrx1", "nettx";
+
+ netcp-devices {
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ gbe@90000 { /* ETHSS */
+ #address-cells = <1>;
+ #size-cells = <1>;
+ label = "netcp-gbe";
+ compatible = "ti,netcp-gbe";
+ reg = <0x90000 0x300>, <0x90400 0x400>, <0x90800 0x700>;
+ /* enable-ale; */
+ tx-queue = <648>;
+ tx-channel = "nettx";
+
+ interfaces {
+ gbe0: interface-0 {
+ slave-port = <0>;
+ link-interface = <1>;
+ phy-handle = <&ethphy0>;
+ };
+ gbe1: interface-1 {
+ slave-port = <1>;
+ link-interface = <1>;
+ phy-handle = <&ethphy1>;
+ };
+ };
+
+ secondary-slave-ports {
+ port-2 {
+ slave-port = <2>;
+ link-interface = <2>;
+ };
+ port-3 {
+ slave-port = <3>;
+ link-interface = <2>;
+ };
+ };
+ };
+ };
+
+ netcp-interfaces {
+ interface-0 {
+ rx-channel = "netrx0";
+ rx-pool = <1024 12>;
+ tx-pool = <1024 12>;
+ rx-queue-depth = <128 128 0 0>;
+ rx-buffer-size = <1518 4096 0 0>;
+ rx-queue = <8704>;
+ tx-completion-queue = <8706>;
+ efuse-mac = <1>;
+ netcp-gbe = <&gbe0>;
+
+ };
+ interface-1 {
+ rx-channel = "netrx1";
+ rx-pool = <1024 12>;
+ tx-pool = <1024 12>;
+ rx-queue-depth = <128 128 0 0>;
+ rx-buffer-size = <1518 4096 0 0>;
+ rx-queue = <8705>;
+ tx-completion-queue = <8707>;
+ efuse-mac = <0>;
+ local-mac-address = [02 18 31 7e 3e 6f];
+ netcp-gbe = <&gbe1>;
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/k2hk.dtsi b/arch/arm/boot/dts/k2hk.dtsi
index d721f4b..ae64724 100644
--- a/arch/arm/boot/dts/k2hk.dtsi
+++ b/arch/arm/boot/dts/k2hk.dtsi
@@ -98,5 +98,6 @@
#gpio-cells = <2>;
gpio,syscon-dev = <&devctrl 0x25c>;
};
+ /include/ "k2hk-netcp.dtsi"
};
};
--
1.7.9.5

2015-04-23 19:38:46

by Karicheri, Muralidharan

[permalink] [raw]
Subject: [PATCH 3/4] ARM: dts: k2e-evm: Add device bindings for netcp driver

This patch enables networking on k2e evm by adding device
bindings for netcp, knav and qmss. See device binding
documentation below for details.

Documentation/devicetree/bindings/net/keystone-netcp.txt

Signed-off-by: WingMan Kwok <[email protected]>
Signed-off-by: Murali Karicheri <[email protected]>
---
arch/arm/boot/dts/k2e-evm.dts | 1 +
arch/arm/boot/dts/k2e-netcp.dtsi | 206 ++++++++++++++++++++++++++++++++++++++
arch/arm/boot/dts/k2e.dtsi | 1 +
3 files changed, 208 insertions(+)
create mode 100644 arch/arm/boot/dts/k2e-netcp.dtsi

diff --git a/arch/arm/boot/dts/k2e-evm.dts b/arch/arm/boot/dts/k2e-evm.dts
index 560d621..50c83c2 100644
--- a/arch/arm/boot/dts/k2e-evm.dts
+++ b/arch/arm/boot/dts/k2e-evm.dts
@@ -141,6 +141,7 @@
};

&mdio {
+ status = "ok";
ethphy0: ethernet-phy@0 {
compatible = "marvell,88E1514", "marvell,88E1510", "ethernet-phy-ieee802.3-c22";
reg = <0>;
diff --git a/arch/arm/boot/dts/k2e-netcp.dtsi b/arch/arm/boot/dts/k2e-netcp.dtsi
new file mode 100644
index 0000000..4ab94c3
--- /dev/null
+++ b/arch/arm/boot/dts/k2e-netcp.dtsi
@@ -0,0 +1,206 @@
+/*
+ * Device Tree Source for Keystone 2 Edison Netcp driver
+ *
+ * Copyright 2015 Texas Instruments, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+qmss: qmss@2a40000 {
+ compatible = "ti,keystone-navigator-qmss";
+ dma-coherent;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&chipclk13>;
+ ranges;
+ queue-range = <0 0x2000>;
+ linkram0 = <0x100000 0x4000>;
+ linkram1 = <0 0x10000>;
+
+ qmgrs {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ qmgr0 {
+ managed-queues = <0 0x2000>;
+ reg = <0x2a40000 0x20000>,
+ <0x2a06000 0x400>,
+ <0x2a02000 0x1000>,
+ <0x2a03000 0x1000>,
+ <0x23a80000 0x20000>,
+ <0x2a80000 0x20000>;
+ reg-names = "peek", "status", "config",
+ "region", "push", "pop";
+ };
+ };
+ queue-pools {
+ qpend {
+ qpend-0 {
+ qrange = <658 8>;
+ interrupts =<0 40 0xf04 0 41 0xf04 0 42 0xf04
+ 0 43 0xf04 0 44 0xf04 0 45 0xf04
+ 0 46 0xf04 0 47 0xf04>;
+ };
+ qpend-1 {
+ qrange = <528 16>;
+ interrupts = <0 48 0xf04 0 49 0xf04 0 50 0xf04
+ 0 51 0xf04 0 52 0xf04 0 53 0xf04
+ 0 54 0xf04 0 55 0xf04 0 56 0xf04
+ 0 57 0xf04 0 58 0xf04 0 59 0xf04
+ 0 60 0xf04 0 61 0xf04 0 62 0xf04
+ 0 63 0xf04>;
+ qalloc-by-id;
+ };
+ qpend-2 {
+ qrange = <544 16>;
+ interrupts = <0 64 0xf04 0 65 0xf04 0 66 0xf04
+ 0 59 0xf04 0 68 0xf04 0 69 0xf04
+ 0 70 0xf04 0 71 0xf04 0 72 0xf04
+ 0 73 0xf04 0 74 0xf04 0 75 0xf04
+ 0 76 0xf04 0 77 0xf04 0 78 0xf04
+ 0 79 0xf04>;
+ };
+ };
+ general-purpose {
+ gp-0 {
+ qrange = <4000 64>;
+ };
+ netcp-tx {
+ qrange = <896 128>;
+ qalloc-by-id;
+ };
+ };
+ };
+ descriptor-regions {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ region-12 {
+ id = <12>;
+ region-spec = <8192 128>; /* num_desc desc_size */
+ link-index = <0x4000>;
+ };
+ };
+}; /* qmss */
+
+knav_dmas: knav_dmas@0 {
+ compatible = "ti,keystone-navigator-dma";
+ clocks = <&papllclk>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ ti,navigator-cloud-address = <0x23a80000 0x23a90000
+ 0x23a80000 0x23a90000>;
+
+ dma_gbe: dma_gbe@0 {
+ reg = <0x24186000 0x100>,
+ <0x24187000 0x2a0>,
+ <0x24188000 0xb60>,
+ <0x24186100 0x80>,
+ <0x24189000 0x1000>;
+ reg-names = "global", "txchan", "rxchan",
+ "txsched", "rxflow";
+ };
+};
+
+netcp: netcp@24000000 {
+ reg = <0x2620110 0x8>;
+ reg-names = "efuse";
+ compatible = "ti,netcp-1.0";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ /* NetCP address range */
+ ranges = <0 0x24000000 0xffffff>;
+
+ clocks = <&papllclk>, <&clkcpgmac>, <&chipclk12>;
+ dma-coherent;
+
+ ti,navigator-dmas = <&dma_gbe 0>,
+ <&dma_gbe 8>,
+ <&dma_gbe 0>;
+ ti,navigator-dma-names = "netrx0", "netrx1", "nettx";
+
+ netcp-devices {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ gbe@200000 { /* ETHSS */
+ label = "netcp-gbe";
+ compatible = "ti,netcp-gbe-9";
+ reg = <0x200000 0x900>, <0x220000 0x1ffff>;
+ /* enable-ale; */
+ tx-queue = <896>;
+ tx-channel = "nettx";
+
+ interfaces {
+ gbe0: interface-0 {
+ slave-port = <0>;
+ link-interface = <1>;
+ phy-handle = <&ethphy0>;
+ };
+ gbe1: interface-1 {
+ slave-port = <1>;
+ link-interface = <1>;
+ phy-handle = <&ethphy1>;
+ };
+ };
+
+ secondary-slave-ports {
+ port-2 {
+ slave-port = <2>;
+ link-interface = <2>;
+ };
+ port-3 {
+ slave-port = <3>;
+ link-interface = <2>;
+ };
+ port-4 {
+ slave-port = <4>;
+ link-interface = <2>;
+ };
+ port-5 {
+ slave-port = <5>;
+ link-interface = <2>;
+ };
+ port-6 {
+ slave-port = <6>;
+ link-interface = <2>;
+ };
+ port-7 {
+ slave-port = <7>;
+ link-interface = <2>;
+ };
+ };
+ };
+ };
+
+ netcp-interfaces {
+ interface-0 {
+ rx-channel = "netrx0";
+ rx-pool = <1024 12>;
+ tx-pool = <1024 12>;
+ rx-queue-depth = <128 128 0 0>;
+ rx-buffer-size = <1518 4096 0 0>;
+ rx-queue = <528>;
+ tx-completion-queue = <530>;
+ efuse-mac = <1>;
+ netcp-gbe = <&gbe0>;
+
+ };
+ interface-1 {
+ rx-channel = "netrx1";
+ rx-pool = <1024 12>;
+ tx-pool = <1024 12>;
+ rx-queue-depth = <128 128 0 0>;
+ rx-buffer-size = <1518 4096 0 0>;
+ rx-queue = <529>;
+ tx-completion-queue = <531>;
+ efuse-mac = <0>;
+ local-mac-address = [02 18 31 7e 3e 00];
+ netcp-gbe = <&gbe1>;
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/k2e.dtsi b/arch/arm/boot/dts/k2e.dtsi
index 5fc14683..50e555e 100644
--- a/arch/arm/boot/dts/k2e.dtsi
+++ b/arch/arm/boot/dts/k2e.dtsi
@@ -130,6 +130,7 @@
<GIC_SPI 376 IRQ_TYPE_EDGE_RISING>;
};
};
+ /include/ "k2e-netcp.dtsi"
};
};

--
1.7.9.5

2015-04-23 19:38:25

by Karicheri, Muralidharan

[permalink] [raw]
Subject: [PATCH 4/4] ARM: dts: k2l-evm: Add device bindings for netcp driver

This patch enables networking on k2l evm by providing
device bindings for netcp, knav, and qmss. See device
binding documentation at

Documentation/devicetree/bindings/net/keystone-netcp.txt

Signed-off-by: WingMan Kwok <[email protected]>
Signed-off-by: Murali Karicheri <[email protected]>
---
arch/arm/boot/dts/k2l-evm.dts | 1 +
arch/arm/boot/dts/k2l-netcp.dtsi | 189 ++++++++++++++++++++++++++++++++++++++
arch/arm/boot/dts/k2l.dtsi | 1 +
3 files changed, 191 insertions(+)
create mode 100644 arch/arm/boot/dts/k2l-netcp.dtsi

diff --git a/arch/arm/boot/dts/k2l-evm.dts b/arch/arm/boot/dts/k2l-evm.dts
index 85cc7f2..9a69a6b 100644
--- a/arch/arm/boot/dts/k2l-evm.dts
+++ b/arch/arm/boot/dts/k2l-evm.dts
@@ -118,6 +118,7 @@
};

&mdio {
+ status = "ok";
ethphy0: ethernet-phy@0 {
compatible = "marvell,88E1514", "marvell,88E1510", "ethernet-phy-ieee802.3-c22";
reg = <0>;
diff --git a/arch/arm/boot/dts/k2l-netcp.dtsi b/arch/arm/boot/dts/k2l-netcp.dtsi
new file mode 100644
index 0000000..a97aeee
--- /dev/null
+++ b/arch/arm/boot/dts/k2l-netcp.dtsi
@@ -0,0 +1,189 @@
+/*
+ * Device Tree Source for Keystone 2 Lamarr Netcp driver
+ *
+ * Copyright 2015 Texas Instruments, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+qmss: qmss@2a40000 {
+ compatible = "ti,keystone-navigator-qmss";
+ dma-coherent;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clocks = <&chipclk13>;
+ ranges;
+ queue-range = <0 0x2000>;
+ linkram0 = <0x100000 0x4000>;
+ linkram1 = <0x70000000 0x10000>; /* 1MB OSR mem */
+
+ qmgrs {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ qmgr0 {
+ managed-queues = <0 0x2000>;
+ reg = <0x2a40000 0x20000>,
+ <0x2a06000 0x400>,
+ <0x2a02000 0x1000>,
+ <0x2a03000 0x1000>,
+ <0x23a80000 0x20000>,
+ <0x2a80000 0x20000>;
+ reg-names = "peek", "status", "config",
+ "region", "push", "pop";
+ };
+ };
+ queue-pools {
+ qpend {
+ qpend-0 {
+ qrange = <658 8>;
+ interrupts =<0 40 0xf04 0 41 0xf04 0 42 0xf04
+ 0 43 0xf04 0 44 0xf04 0 45 0xf04
+ 0 46 0xf04 0 47 0xf04>;
+ };
+ qpend-1 {
+ qrange = <528 16>;
+ interrupts = <0 48 0xf04 0 49 0xf04 0 50 0xf04
+ 0 51 0xf04 0 52 0xf04 0 53 0xf04
+ 0 54 0xf04 0 55 0xf04 0 56 0xf04
+ 0 57 0xf04 0 58 0xf04 0 59 0xf04
+ 0 60 0xf04 0 61 0xf04 0 62 0xf04
+ 0 63 0xf04>;
+ qalloc-by-id;
+ };
+ qpend-2 {
+ qrange = <544 16>;
+ interrupts = <0 64 0xf04 0 65 0xf04 0 66 0xf04
+ 0 59 0xf04 0 68 0xf04 0 69 0xf04
+ 0 70 0xf04 0 71 0xf04 0 72 0xf04
+ 0 73 0xf04 0 74 0xf04 0 75 0xf04
+ 0 76 0xf04 0 77 0xf04 0 78 0xf04
+ 0 79 0xf04>;
+ };
+ };
+ general-purpose {
+ gp-0 {
+ qrange = <4000 64>;
+ };
+ netcp-tx {
+ qrange = <896 128>;
+ qalloc-by-id;
+ };
+ };
+ };
+ descriptor-regions {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ region-12 {
+ id = <12>;
+ region-spec = <8192 128>; /* num_desc desc_size */
+ link-index = <0x4000>;
+ };
+ };
+}; /* qmss */
+
+knav_dmas: knav_dmas@0 {
+ compatible = "ti,keystone-navigator-dma";
+ clocks = <&papllclk>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ ti,navigator-cloud-address = <0x23a80000 0x23a90000>;
+
+ dma_gbe: dma_gbe@0 {
+ reg = <0x26186000 0x100>,
+ <0x26187000 0x2a0>,
+ <0x26188000 0xb60>,
+ <0x26186100 0x80>,
+ <0x26189000 0x1000>;
+ reg-names = "global", "txchan", "rxchan",
+ "txsched", "rxflow";
+ };
+};
+
+netcp: netcp@26000000 {
+ reg = <0x2620110 0x8>;
+ reg-names = "efuse";
+ compatible = "ti,netcp-1.0";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ /* NetCP address range */
+ ranges = <0 0x26000000 0xffffff>;
+
+ clocks = <&papllclk>, <&clkcpgmac>, <&chipclk12>;
+ dma-coherent;
+
+ ti,navigator-dmas = <&dma_gbe 0>,
+ <&dma_gbe 8>,
+ <&dma_gbe 0>;
+ ti,navigator-dma-names = "netrx0", "netrx1", "nettx";
+
+ netcp-devices {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ gbe@200000 { /* ETHSS */
+ label = "netcp-gbe";
+ compatible = "ti,netcp-gbe-5";
+ reg = <0x200000 0x900>, <0x220000 0x1ffff>;
+ /* enable-ale; */
+ tx-queue = <896>;
+ tx-channel = "nettx";
+
+ interfaces {
+ gbe0: interface-0 {
+ slave-port = <0>;
+ link-interface = <1>;
+ phy-handle = <&ethphy0>;
+ };
+ gbe1: interface-1 {
+ slave-port = <1>;
+ link-interface = <1>;
+ phy-handle = <&ethphy1>;
+ };
+ };
+
+ secondary-slave-ports {
+ port-2 {
+ slave-port = <2>;
+ link-interface = <2>;
+ };
+ port-3 {
+ slave-port = <3>;
+ link-interface = <2>;
+ };
+ };
+ };
+ };
+
+ netcp-interfaces {
+ interface-0 {
+ rx-channel = "netrx0";
+ rx-pool = <1024 12>;
+ tx-pool = <1024 12>;
+ rx-queue-depth = <128 128 0 0>;
+ rx-buffer-size = <1518 4096 0 0>;
+ rx-queue = <528>;
+ tx-completion-queue = <530>;
+ efuse-mac = <1>;
+ netcp-gbe = <&gbe0>;
+
+ };
+ interface-1 {
+ rx-channel = "netrx1";
+ rx-pool = <1024 12>;
+ tx-pool = <1024 12>;
+ rx-queue-depth = <128 128 0 0>;
+ rx-buffer-size = <1518 4096 0 0>;
+ rx-queue = <529>;
+ tx-completion-queue = <531>;
+ efuse-mac = <0>;
+ local-mac-address = [02 18 31 7e 3e 7f];
+ netcp-gbe = <&gbe1>;
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/k2l.dtsi b/arch/arm/boot/dts/k2l.dtsi
index e32c3ba..0e00748 100644
--- a/arch/arm/boot/dts/k2l.dtsi
+++ b/arch/arm/boot/dts/k2l.dtsi
@@ -79,6 +79,7 @@
#gpio-cells = <2>;
gpio,syscon-dev = <&devctrl 0x24c>;
};
+ /include/ "k2l-netcp.dtsi"
};
};

--
1.7.9.5

2015-04-23 20:44:50

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH 0/4] ARM: keystone: Enable Netcp driver on K2 EVMs

On 4/23/2015 12:37 PM, Murali Karicheri wrote:
> NetCP driver support patches are already merged to v4.0.nd v4.1.
> This series introduce patches to update the DTS bindings and
> defconfig so that the network driver is fully functional on K2
> EVMs :- K2HK, K2L and K2E.
>
Nice and Thanks Murali for sending these up.

> It will be great if this can be merged to v4.1.
>
Its too late for the 4.1 now. For the same reason, we also
couldn't get the MMU switching fixes in this merge window.

I will queue these for 4.2.

Regards,
Santosh

2015-04-24 15:16:24

by Karicheri, Muralidharan

[permalink] [raw]
Subject: Re: [PATCH 0/4] ARM: keystone: Enable Netcp driver on K2 EVMs

On 04/23/2015 04:43 PM, santosh shilimkar wrote:
> On 4/23/2015 12:37 PM, Murali Karicheri wrote:
>> NetCP driver support patches are already merged to v4.0.nd v4.1.
>> This series introduce patches to update the DTS bindings and
>> defconfig so that the network driver is fully functional on K2
>> EVMs :- K2HK, K2L and K2E.
>>
> Nice and Thanks Murali for sending these up.
>
>> It will be great if this can be merged to v4.1.
>>
> Its too late for the 4.1 now. For the same reason, we also
> couldn't get the MMU switching fixes in this merge window.

For my reference, can you point me to the MMU switching fixes you are
referring to?

>
> I will queue these for 4.2.
>
Ok. Thanks.

Thanks and regards,

Murali
> Regards,
> Santosh
>


--
Murali Karicheri
Linux Kernel, Texas Instruments

2015-04-24 15:37:33

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH 0/4] ARM: keystone: Enable Netcp driver on K2 EVMs

On 4/24/2015 8:15 AM, Murali Karicheri wrote:
> On 04/23/2015 04:43 PM, santosh shilimkar wrote:
>> On 4/23/2015 12:37 PM, Murali Karicheri wrote:
>>> NetCP driver support patches are already merged to v4.0.nd v4.1.
>>> This series introduce patches to update the DTS bindings and
>>> defconfig so that the network driver is fully functional on K2
>>> EVMs :- K2HK, K2L and K2E.
>>>
>> Nice and Thanks Murali for sending these up.
>>
>>> It will be great if this can be merged to v4.1.
>>>
>> Its too late for the 4.1 now. For the same reason, we also
>> couldn't get the MMU switching fixes in this merge window.
>
> For my reference, can you point me to the MMU switching fixes you are
> referring to?
>
http://www.spinics.net/lists/arm-kernel/msg411178.html

Regards,
Santosh

2015-05-11 15:56:20

by Karicheri, Muralidharan

[permalink] [raw]
Subject: Re: [PATCH 0/4] ARM: keystone: Enable Netcp driver on K2 EVMs

On 04/24/2015 11:36 AM, santosh shilimkar wrote:
> On 4/24/2015 8:15 AM, Murali Karicheri wrote:
>> On 04/23/2015 04:43 PM, santosh shilimkar wrote:
>>> On 4/23/2015 12:37 PM, Murali Karicheri wrote:
>>>> NetCP driver support patches are already merged to v4.0.nd v4.1.
>>>> This series introduce patches to update the DTS bindings and
>>>> defconfig so that the network driver is fully functional on K2
>>>> EVMs :- K2HK, K2L and K2E.
>>>>
>>> Nice and Thanks Murali for sending these up.
>>>
>>>> It will be great if this can be merged to v4.1.
>>>>
>>> Its too late for the 4.1 now. For the same reason, we also
>>> couldn't get the MMU switching fixes in this merge window.
>>
>> For my reference, can you point me to the MMU switching fixes you are
>> referring to?
>>
> http://www.spinics.net/lists/arm-kernel/msg411178.html
>
> Regards,
> Santosh
Santosh,

Is MMU switching series applied to a sub system branch already that I
can pull to do some testing on K2 devices?

Murali

--
Murali Karicheri
Linux Kernel, Keystone

2015-05-11 16:00:47

by Russell King - ARM Linux

[permalink] [raw]
Subject: Re: [PATCH 0/4] ARM: keystone: Enable Netcp driver on K2 EVMs

On Mon, May 11, 2015 at 11:55:41AM -0400, Murali Karicheri wrote:
> On 04/24/2015 11:36 AM, santosh shilimkar wrote:
> >On 4/24/2015 8:15 AM, Murali Karicheri wrote:
> >>On 04/23/2015 04:43 PM, santosh shilimkar wrote:
> >>>On 4/23/2015 12:37 PM, Murali Karicheri wrote:
> >>>>NetCP driver support patches are already merged to v4.0.nd v4.1.
> >>>>This series introduce patches to update the DTS bindings and
> >>>>defconfig so that the network driver is fully functional on K2
> >>>>EVMs :- K2HK, K2L and K2E.
> >>>>
> >>>Nice and Thanks Murali for sending these up.
> >>>
> >>>>It will be great if this can be merged to v4.1.
> >>>>
> >>>Its too late for the 4.1 now. For the same reason, we also
> >>>couldn't get the MMU switching fixes in this merge window.
> >>
> >>For my reference, can you point me to the MMU switching fixes you are
> >>referring to?
> >>
> >http://www.spinics.net/lists/arm-kernel/msg411178.html
> >
> >Regards,
> >Santosh
> Santosh,
>
> Is MMU switching series applied to a sub system branch already that I can
> pull to do some testing on K2 devices?

Shall I send you the patches directly?

--
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

2015-05-11 17:04:45

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH 0/4] ARM: keystone: Enable Netcp driver on K2 EVMs

On 5/11/2015 8:55 AM, Murali Karicheri wrote:
> On 04/24/2015 11:36 AM, santosh shilimkar wrote:
>> On 4/24/2015 8:15 AM, Murali Karicheri wrote:
>>> On 04/23/2015 04:43 PM, santosh shilimkar wrote:
>>>> On 4/23/2015 12:37 PM, Murali Karicheri wrote:
>>>>> NetCP driver support patches are already merged to v4.0.nd v4.1.
>>>>> This series introduce patches to update the DTS bindings and
>>>>> defconfig so that the network driver is fully functional on K2
>>>>> EVMs :- K2HK, K2L and K2E.
>>>>>
>>>> Nice and Thanks Murali for sending these up.
>>>>
>>>>> It will be great if this can be merged to v4.1.
>>>>>
>>>> Its too late for the 4.1 now. For the same reason, we also
>>>> couldn't get the MMU switching fixes in this merge window.
>>>
>>> For my reference, can you point me to the MMU switching fixes you are
>>> referring to?
>>>
>> http://www.spinics.net/lists/arm-kernel/msg411178.html
>>
>> Regards,
>> Santosh
> Santosh,
>
> Is MMU switching series applied to a sub system branch already that I
> can pull to do some testing on K2 devices?
>
Its not applied yet. RMK has posted revised version and there was one remark
about adding some additional comments. Would be good to get some more
tests.

Regards,
Santosh

2015-05-11 17:43:44

by Karicheri, Muralidharan

[permalink] [raw]
Subject: Re: [PATCH 0/4] ARM: keystone: Enable Netcp driver on K2 EVMs

On 05/11/2015 12:00 PM, Russell King - ARM Linux wrote:
> On Mon, May 11, 2015 at 11:55:41AM -0400, Murali Karicheri wrote:
>> On 04/24/2015 11:36 AM, santosh shilimkar wrote:
>>> On 4/24/2015 8:15 AM, Murali Karicheri wrote:
>>>> On 04/23/2015 04:43 PM, santosh shilimkar wrote:
>>>>> On 4/23/2015 12:37 PM, Murali Karicheri wrote:
>>>>>> NetCP driver support patches are already merged to v4.0.nd v4.1.
>>>>>> This series introduce patches to update the DTS bindings and
>>>>>> defconfig so that the network driver is fully functional on K2
>>>>>> EVMs :- K2HK, K2L and K2E.
>>>>>>
>>>>> Nice and Thanks Murali for sending these up.
>>>>>
>>>>>> It will be great if this can be merged to v4.1.
>>>>>>
>>>>> Its too late for the 4.1 now. For the same reason, we also
>>>>> couldn't get the MMU switching fixes in this merge window.
>>>> For my reference, can you point me to the MMU switching fixes you are
>>>> referring to?
>>>>
>>> http://www.spinics.net/lists/arm-kernel/msg411178.html
>>>
>>> Regards,
>>> Santosh
>> Santosh,
>>
>> Is MMU switching series applied to a sub system branch already that I can
>> pull to do some testing on K2 devices?
> Shall I send you the patches directly?
>
Russell,

Sure!

Murali

--
Murali Karicheri
Linux Kernel, Keystone

2015-05-14 18:28:49

by Karicheri, Muralidharan

[permalink] [raw]
Subject: Re: [PATCH 0/4] ARM: keystone: Enable Netcp driver on K2 EVMs

On 05/11/2015 12:00 PM, Russell King - ARM Linux wrote:
> On Mon, May 11, 2015 at 11:55:41AM -0400, Murali Karicheri wrote:
>> On 04/24/2015 11:36 AM, santosh shilimkar wrote:
>>> On 4/24/2015 8:15 AM, Murali Karicheri wrote:
>>>> On 04/23/2015 04:43 PM, santosh shilimkar wrote:
>>>>> On 4/23/2015 12:37 PM, Murali Karicheri wrote:
>>>>>> NetCP driver support patches are already merged to v4.0.nd v4.1.
>>>>>> This series introduce patches to update the DTS bindings and
>>>>>> defconfig so that the network driver is fully functional on K2
>>>>>> EVMs :- K2HK, K2L and K2E.
>>>>>>
>>>>> Nice and Thanks Murali for sending these up.
>>>>>
>>>>>> It will be great if this can be merged to v4.1.
>>>>>>
>>>>> Its too late for the 4.1 now. For the same reason, we also
>>>>> couldn't get the MMU switching fixes in this merge window.
>>>>
>>>> For my reference, can you point me to the MMU switching fixes you are
>>>> referring to?
>>>>
>>> http://www.spinics.net/lists/arm-kernel/msg411178.html
>>>
>>> Regards,
>>> Santosh
>> Santosh,
>>
>> Is MMU switching series applied to a sub system branch already that I can
>> pull to do some testing on K2 devices?
>
> Shall I send you the patches directly?
>
Russell,

Could you send me the patch set? I haven't seen anything in my inbox
from you. So just want to check. If you have it on a branch, please
provide the details, I can pull and test.

Regards,
--
Murali Karicheri
Linux Kernel, Keystone