Browse Source

Merge tag 'arc-v3.11-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc

Pull second set of ARC architecture updates from Vineet Gupta:
 "Couple of Platform updates (Device Tree files primarily) given that
  the corresponding drivers (net/ethernet/arc/*, irqctl/irq-tb10x.c)
  have now been merged into your tree.

  Ideally these shd have been part of same submissions, oh well..."

* tag 'arc-v3.11-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
  ARC: [TB10x] Updates for irqchip driver
  ARC: [plat-arcfpga] Enable arc_emac for ARCAngle4 Board
Linus Torvalds 12 years ago
parent
commit
8f041e6ca1

+ 14 - 18
arch/arc/boot/dts/abilis_tb100.dtsi

@@ -21,10 +21,6 @@
 
 
 /include/ "abilis_tb10x.dtsi"
 /include/ "abilis_tb10x.dtsi"
 
 
-/* interrupt specifiers
- * --------------------
- * 0: rising, 1: low, 2: high, 3: falling,
- */
 
 
 / {
 / {
 	clock-frequency		= <500000000>;	/* 500 MHZ */
 	clock-frequency		= <500000000>;	/* 500 MHZ */
@@ -173,7 +169,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF140000 0x1000>;
 			reg = <0xFF140000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -185,7 +181,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF141000 0x1000>;
 			reg = <0xFF141000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -197,7 +193,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF142000 0x1000>;
 			reg = <0xFF142000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -209,7 +205,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF143000 0x1000>;
 			reg = <0xFF143000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -221,7 +217,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF144000 0x1000>;
 			reg = <0xFF144000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -233,7 +229,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF145000 0x1000>;
 			reg = <0xFF145000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -245,7 +241,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF146000 0x1000>;
 			reg = <0xFF146000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -257,7 +253,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF147000 0x1000>;
 			reg = <0xFF147000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -269,7 +265,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF148000 0x1000>;
 			reg = <0xFF148000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -281,7 +277,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF149000 0x1000>;
 			reg = <0xFF149000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -293,7 +289,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF14A000 0x1000>;
 			reg = <0xFF14A000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -305,7 +301,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF14B000 0x1000>;
 			reg = <0xFF14B000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -317,7 +313,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF14C000 0x1000>;
 			reg = <0xFF14C000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -329,7 +325,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF14D000 0x1000>;
 			reg = <0xFF14D000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;

+ 14 - 18
arch/arc/boot/dts/abilis_tb101.dtsi

@@ -21,10 +21,6 @@
 
 
 /include/ "abilis_tb10x.dtsi"
 /include/ "abilis_tb10x.dtsi"
 
 
-/* interrupt specifiers
- * --------------------
- * 0: rising, 1: low, 2: high, 3: falling,
- */
 
 
 / {
 / {
 	clock-frequency		= <500000000>;	/* 500 MHZ */
 	clock-frequency		= <500000000>;	/* 500 MHZ */
@@ -182,7 +178,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF140000 0x1000>;
 			reg = <0xFF140000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -194,7 +190,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF141000 0x1000>;
 			reg = <0xFF141000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -206,7 +202,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF142000 0x1000>;
 			reg = <0xFF142000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -218,7 +214,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF143000 0x1000>;
 			reg = <0xFF143000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -230,7 +226,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF144000 0x1000>;
 			reg = <0xFF144000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -242,7 +238,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF145000 0x1000>;
 			reg = <0xFF145000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -254,7 +250,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF146000 0x1000>;
 			reg = <0xFF146000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -266,7 +262,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF147000 0x1000>;
 			reg = <0xFF147000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -278,7 +274,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF148000 0x1000>;
 			reg = <0xFF148000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -290,7 +286,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF149000 0x1000>;
 			reg = <0xFF149000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -302,7 +298,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF14A000 0x1000>;
 			reg = <0xFF14A000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -314,7 +310,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF14B000 0x1000>;
 			reg = <0xFF14B000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -326,7 +322,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF14C000 0x1000>;
 			reg = <0xFF14C000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;
@@ -338,7 +334,7 @@
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <27 1>;
+			interrupts = <27 2>;
 			reg = <0xFF14D000 0x1000>;
 			reg = <0xFF14D000 0x1000>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <1>;
 			#gpio-cells = <1>;

+ 14 - 18
arch/arc/boot/dts/abilis_tb10x.dtsi

@@ -19,10 +19,6 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  */
  */
 
 
-/* interrupt specifiers
- * --------------------
- * 0: rising, 1: low, 2: high, 3: falling,
- */
 
 
 / {
 / {
 	compatible		= "abilis,arc-tb10x";
 	compatible		= "abilis,arc-tb10x";
@@ -78,7 +74,7 @@
 			#interrupt-cells = <1>;
 			#interrupt-cells = <1>;
 		};
 		};
 		tb10x_ictl: pic@fe002000 {
 		tb10x_ictl: pic@fe002000 {
-			compatible = "abilis,tb10x_ictl";
+			compatible = "abilis,tb10x-ictl";
 			reg = <0xFE002000 0x20>;
 			reg = <0xFE002000 0x20>;
 			interrupt-controller;
 			interrupt-controller;
 			#interrupt-cells = <2>;
 			#interrupt-cells = <2>;
@@ -91,7 +87,7 @@
 			compatible = "snps,dw-apb-uart";
 			compatible = "snps,dw-apb-uart";
 			reg = <0xFF100000 0x100>;
 			reg = <0xFF100000 0x100>;
 			clock-frequency = <166666666>;
 			clock-frequency = <166666666>;
-			interrupts = <25 1>;
+			interrupts = <25 8>;
 			reg-shift = <2>;
 			reg-shift = <2>;
 			reg-io-width = <4>;
 			reg-io-width = <4>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
@@ -100,7 +96,7 @@
 			compatible = "snps,dwmac-3.70a","snps,dwmac";
 			compatible = "snps,dwmac-3.70a","snps,dwmac";
 			reg = <0xFE100000 0x1058>;
 			reg = <0xFE100000 0x1058>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <6 1>;
+			interrupts = <6 8>;
 			interrupt-names = "macirq";
 			interrupt-names = "macirq";
 			clocks = <&ahb_clk>;
 			clocks = <&ahb_clk>;
 			clock-names = "stmmaceth";
 			clock-names = "stmmaceth";
@@ -109,7 +105,7 @@
 			compatible = "snps,dma-spear1340";
 			compatible = "snps,dma-spear1340";
 			reg = <0xFE000000 0x400>;
 			reg = <0xFE000000 0x400>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <14 1>;
+			interrupts = <14 8>;
 			dma-channels = <6>;
 			dma-channels = <6>;
 			dma-requests = <0>;
 			dma-requests = <0>;
 			dma-masters = <1>;
 			dma-masters = <1>;
@@ -128,7 +124,7 @@
 			compatible = "snps,designware-i2c";
 			compatible = "snps,designware-i2c";
 			reg = <0xFF120000 0x1000>;
 			reg = <0xFF120000 0x1000>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <12 1>;
+			interrupts = <12 8>;
 			clocks = <&ahb_clk>;
 			clocks = <&ahb_clk>;
 		};
 		};
 		i2c1: i2c@FF121000 {
 		i2c1: i2c@FF121000 {
@@ -137,7 +133,7 @@
 			compatible = "snps,designware-i2c";
 			compatible = "snps,designware-i2c";
 			reg = <0xFF121000 0x1000>;
 			reg = <0xFF121000 0x1000>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <12 1>;
+			interrupts = <12 8>;
 			clocks = <&ahb_clk>;
 			clocks = <&ahb_clk>;
 		};
 		};
 		i2c2: i2c@FF122000 {
 		i2c2: i2c@FF122000 {
@@ -146,7 +142,7 @@
 			compatible = "snps,designware-i2c";
 			compatible = "snps,designware-i2c";
 			reg = <0xFF122000 0x1000>;
 			reg = <0xFF122000 0x1000>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <12 1>;
+			interrupts = <12 8>;
 			clocks = <&ahb_clk>;
 			clocks = <&ahb_clk>;
 		};
 		};
 		i2c3: i2c@FF123000 {
 		i2c3: i2c@FF123000 {
@@ -155,7 +151,7 @@
 			compatible = "snps,designware-i2c";
 			compatible = "snps,designware-i2c";
 			reg = <0xFF123000 0x1000>;
 			reg = <0xFF123000 0x1000>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <12 1>;
+			interrupts = <12 8>;
 			clocks = <&ahb_clk>;
 			clocks = <&ahb_clk>;
 		};
 		};
 		i2c4: i2c@FF124000 {
 		i2c4: i2c@FF124000 {
@@ -164,7 +160,7 @@
 			compatible = "snps,designware-i2c";
 			compatible = "snps,designware-i2c";
 			reg = <0xFF124000 0x1000>;
 			reg = <0xFF124000 0x1000>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <12 1>;
+			interrupts = <12 8>;
 			clocks = <&ahb_clk>;
 			clocks = <&ahb_clk>;
 		};
 		};
 
 
@@ -176,7 +172,7 @@
 			num-cs = <1>;
 			num-cs = <1>;
 			reg = <0xFE010000 0x20>;
 			reg = <0xFE010000 0x20>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <26 1>;
+			interrupts = <26 8>;
 			clocks = <&ahb_clk>;
 			clocks = <&ahb_clk>;
 		};
 		};
 		spi1: spi@0xFE011000 {
 		spi1: spi@0xFE011000 {
@@ -187,7 +183,7 @@
 			num-cs = <2>;
 			num-cs = <2>;
 			reg = <0xFE011000 0x20>;
 			reg = <0xFE011000 0x20>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <10 1>;
+			interrupts = <10 8>;
 			clocks = <&ahb_clk>;
 			clocks = <&ahb_clk>;
 		};
 		};
 
 
@@ -195,7 +191,7 @@
 			compatible = "abilis,tb100-tsm";
 			compatible = "abilis,tb100-tsm";
 			reg = <0xff316000 0x400>;
 			reg = <0xff316000 0x400>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <17 1>;
+			interrupts = <17 8>;
 			output-clkdiv = <4>;
 			output-clkdiv = <4>;
 			global-packet-delay = <0x21>;
 			global-packet-delay = <0x21>;
 			port-packet-delay = <0>;
 			port-packet-delay = <0>;
@@ -213,7 +209,7 @@
 					"cpuctrl",
 					"cpuctrl",
 					"a6it_int_force";
 					"a6it_int_force";
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <20 1>, <19 1>;
+			interrupts = <20 2>, <19 2>;
 			interrupt-names = "cmd_irq", "event_irq";
 			interrupt-names = "cmd_irq", "event_irq";
 		};
 		};
 		tb10x_mdsc0: tb10x-mdscr@FF300000 {
 		tb10x_mdsc0: tb10x-mdscr@FF300000 {
@@ -239,7 +235,7 @@
 			compatible = "abilis,tb100-wfb";
 			compatible = "abilis,tb100-wfb";
 			reg = <0xff319000 0x1000>;
 			reg = <0xff319000 0x1000>;
 			interrupt-parent = <&tb10x_ictl>;
 			interrupt-parent = <&tb10x_ictl>;
-			interrupts = <16 1>;
+			interrupts = <16 8>;
 		};
 		};
 	};
 	};
 };
 };

+ 16 - 0
arch/arc/boot/dts/angel4.dts

@@ -51,5 +51,21 @@
 			current-speed = <115200>;
 			current-speed = <115200>;
 			status = "okay";
 			status = "okay";
 		};
 		};
+
+		ethernet@c0fc2000 {
+			compatible = "snps,arc-emac";
+			reg = <0xc0fc2000 0x3c>;
+			interrupts = <6>;
+			mac-address = [ 00 11 22 33 44 55 ];
+			clock-frequency = <80000000>;
+			max-speed = <100>;
+			phy = <&phy0>;
+
+			#address-cells = <1>;
+			#size-cells = <0>;
+			phy0: ethernet-phy@0 {
+				reg = <1>;
+			};
+		};
 	};
 	};
 };
 };

+ 3 - 0
arch/arc/configs/fpga_defconfig

@@ -38,6 +38,9 @@ CONFIG_INET=y
 # CONFIG_PREVENT_FIRMWARE_BUILD is not set
 # CONFIG_PREVENT_FIRMWARE_BUILD is not set
 # CONFIG_FIRMWARE_IN_KERNEL is not set
 # CONFIG_FIRMWARE_IN_KERNEL is not set
 # CONFIG_BLK_DEV is not set
 # CONFIG_BLK_DEV is not set
+CONFIG_NETDEVICES=y
+CONFIG_ARC_EMAC=y
+CONFIG_LXT_PHY=y
 # CONFIG_INPUT_MOUSEDEV_PSAUX is not set
 # CONFIG_INPUT_MOUSEDEV_PSAUX is not set
 # CONFIG_INPUT_KEYBOARD is not set
 # CONFIG_INPUT_KEYBOARD is not set
 # CONFIG_INPUT_MOUSE is not set
 # CONFIG_INPUT_MOUSE is not set

+ 0 - 2
arch/arc/plat-arcfpga/include/plat/irq.h

@@ -16,8 +16,6 @@
 #define UART1_IRQ	10
 #define UART1_IRQ	10
 #define UART2_IRQ	11
 #define UART2_IRQ	11
 
 
-#define VMAC_IRQ	6
-
 #define IDE_IRQ		13
 #define IDE_IRQ		13
 #define PCI_IRQ		14
 #define PCI_IRQ		14
 #define PS2_IRQ		15
 #define PS2_IRQ		15

+ 0 - 2
arch/arc/plat-arcfpga/include/plat/memmap.h

@@ -15,8 +15,6 @@
 #define UART0_BASE              0xC0FC1000
 #define UART0_BASE              0xC0FC1000
 #define UART1_BASE              0xC0FC1100
 #define UART1_BASE              0xC0FC1100
 
 
-#define VMAC_REG_BASEADDR       0xC0FC2000
-
 #define IDE_CONTROLLER_BASE     0xC0FC9000
 #define IDE_CONTROLLER_BASE     0xC0FC9000
 
 
 #define AHB_PCI_HOST_BRG_BASE   0xC0FD0000
 #define AHB_PCI_HOST_BRG_BASE   0xC0FD0000

+ 1 - 0
arch/arc/plat-tb10x/Kconfig

@@ -22,6 +22,7 @@ menuconfig ARC_PLAT_TB10X
 	select PINCTRL
 	select PINCTRL
 	select PINMUX
 	select PINMUX
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
+	select TB10X_IRQC
 	help
 	help
 	  Support for platforms based on the TB10x home media gateway SOC by
 	  Support for platforms based on the TB10x home media gateway SOC by
 	  Abilis Systems. TB10x is based on the ARC700 CPU architecture.
 	  Abilis Systems. TB10x is based on the ARC700 CPU architecture.