[LEDE-DEV] brcm63xx: Add Comtrend AR-5315u support

Message ID 4148183.sckSM8TN3s@tool
State Superseded
Delegated to: Jonas Gorski
Headers show

Commit Message

Daniel Gonzalez Cabanelas March 1, 2017, 6:37 p.m.
Add support for the Comtrend AR-5315u router

This a BCM6318 based board, 64 MB RAM, 16 MB SPI flash, 
with an onboard BCM43217 wifi, 4 ethernet ports and 1 
USB host port

Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>

Comments

Florian Fainelli March 1, 2017, 6:46 p.m. | #1
On 03/01/2017 10:37 AM, Daniel Gonzalez Cabanelas wrote:
> Add support for the Comtrend AR-5315u router
> 
> This a BCM6318 based board, 64 MB RAM, 16 MB SPI flash, 
> with an onboard BCM43217 wifi, 4 ethernet ports and 1 
> USB host port
> 
> Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>

There is something wrong with your patches submitted, in that they don't
conform to this:

subject: something

Commit message

Signed-off-by: myself
---
<git diff>

Essentially, we are missing the --- between your Signed-off-by tag and
the git diff, how are you producing these patches? Can you make sure you
use git format-patch + git send-email and do a git commit -s  when
creating local changesets?

> diff --git a/target/linux/brcm63xx/base-files/etc/board.d/01_leds b/target/linux/brcm63xx/base-files/etc/board.d/01_leds
> index 61f685e..959b1ca 100755
> --- a/target/linux/brcm63xx/base-files/etc/board.d/01_leds
> +++ b/target/linux/brcm63xx/base-files/etc/board.d/01_leds
> @@ -16,6 +16,9 @@ a4001n1)
>  a4001n)
>  	ucidef_set_led_usbdev "usb" "USB" "A4001N:green:usb" "1-1"
>  	;;
> +ar-5315u)
> +	ucidef_set_led_usbdev "usb" "USB" "AR-5315u:green:usb" "1-1"
> +	;;
>  av4202n)
>  	ucidef_set_led_netdev "wlan0" "WLAN" "AV4202N:blue:wifi" "wlan0"
>  	;;
> diff --git a/target/linux/brcm63xx/base-files/etc/board.d/02_network b/target/linux/brcm63xx/base-files/etc/board.d/02_network
> index f703dfd..2b6dfe8 100755
> --- a/target/linux/brcm63xx/base-files/etc/board.d/02_network
> +++ b/target/linux/brcm63xx/base-files/etc/board.d/02_network
> @@ -98,6 +98,7 @@ vr-3026e)
>  		"0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "8t@eth0"
>  	;;
>  
> +ar-5315u |\
>  vh4032n)
>  	ucidef_add_switch "switch0" \
>  		"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "8t@eth0"
> diff --git a/target/linux/brcm63xx/base-files/etc/diag.sh b/target/linux/brcm63xx/base-files/etc/diag.sh
> index df1d616..8c74efa 100644
> --- a/target/linux/brcm63xx/base-files/etc/diag.sh
> +++ b/target/linux/brcm63xx/base-files/etc/diag.sh
> @@ -12,6 +12,9 @@ set_state() {
>  	a4001n)
>  		status_led="A4001N:green:power"
>  		;;
> +	ar-5315u)
> +		status_led="AR-5315u:green:power"
> +		;;
>  	ar-5381u)
>  		status_led="AR-5381u:green:power"
>  		;;
> diff --git a/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
> index 650db9d..d05926b 100644
> --- a/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
> +++ b/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
> @@ -13,6 +13,7 @@ do_fixcrc() {
>  case "$(brcm63xx_board_name)" in
>  	a4001n |\
>  	a4001n1 |\
> +	ar-5315u |\
>  	ar-5381u |\
>  	ar-5387un |\
>  	bcm96328avng |\
> diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
> index 4fe33eb..5e75042 100755
> --- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
> +++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
> @@ -84,6 +84,9 @@ brcm63xx_dt_detect() {
>  	"BT Voyager V2500V")
>  		board_name="v2500v_bb"
>  		;;
> +	"Comtrend AR-5315u")
> +		board_name="ar-5315u"
> +		;;
>  	"Comtrend AR-5381u")
>  		board_name="ar-5381u"
>  		;;
> diff --git a/target/linux/brcm63xx/dts/ar-5315u.dts b/target/linux/brcm63xx/dts/ar-5315u.dts
> new file mode 100644
> index 0000000..2ff067a
> --- /dev/null
> +++ b/target/linux/brcm63xx/dts/ar-5315u.dts
> @@ -0,0 +1,67 @@
> +/dts-v1/;
> +
> +#include "bcm6318.dtsi"
> +
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> +	model = "Comtrend AR-5315u";
> +	compatible = "comtrend,ar-5315u", "brcm,bcm6318";
> +
> +	chosen {
> +		bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
> +	};
> +
> +	gpio-keys-polled {
> +		compatible = "gpio-keys-polled";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		poll-interval = <20>;
> +		debounce-interval = <60>;
> +
> +		wps {
> +			label = "wps";
> +			gpios = <&gpio0 3 1>;
> +			linux,code = <KEY_WPS_BUTTON>;
> +		};
> +		reset {
> +			label = "reset";
> +			gpios = <&gpio1 1 1>;
> +			linux,code = <KEY_RESTART>;
> +		};
> +	};
> +
> +	gpio-leds {
> +		compatible = "gpio-leds";
> +
> +		wps_green {
> +			label = "AR-5315u:green:wps";
> +			gpios = <&gpio0 0 1>;
> +		};
> +		power_green {
> +			label = "AR-5315u:green:power";
> +			gpios = <&gpio0 1 1>;
> +			default-state = "on";
> +		};
> +		usb_green {
> +			label = "AR-5315u:green:usb";
> +			gpios = <&gpio0 2 1>;
> +		};
> +		inet_green {
> +			label = "AR-5315u:green:inet";
> +			gpios = <&gpio0 8 1>;
> +		};
> +		inet_red {
> +			label = "AR-5315u:red:inet";
> +			gpios = <&gpio0 9 1>;
> +		};
> +		dsl_green {
> +			label = "AR-5315u:green:dsl";
> +			gpios = <&gpio0 10 1>;
> +		};
> +		power_red {
> +			label = "AR-5315u:red:power";
> +			gpios = <&gpio0 11 1>;
> +		};
> +	};
> +};
> diff --git a/target/linux/brcm63xx/image/bcm63xx.mk b/target/linux/brcm63xx/image/bcm63xx.mk
> index 969d75f..8fa28e5 100644
> --- a/target/linux/brcm63xx/image/bcm63xx.mk
> +++ b/target/linux/brcm63xx/image/bcm63xx.mk
> @@ -341,6 +341,19 @@ endef
>  TARGET_DEVICES += BTV2500V
>  
>  ### Comtrend ###
> +define Device/AR5315u
> +  $(Device/bcm63xx)
> +  IMAGES += sysupgrade.bin
> +  DEVICE_TITLE := Comtrend AR-5315u
> +  DEVICE_DTS := ar-5315u
> +  CFE_BOARD_ID := 96318A-1441N1
> +  CFE_CHIP_ID := 6318
> +  FLASH_MB := 16
> +  DEVICE_PACKAGES := \
> +    $(B43_PACKAGES) $(USB2_PACKAGES)
> +endef
> +TARGET_DEVICES += AR5315u
> +
>  define Device/AR5381u
>    $(Device/bcm63xx)
>    IMAGES += sysupgrade.bin
> diff --git a/target/linux/brcm63xx/patches-4.4/578-board_AR-5315u.patch b/target/linux/brcm63xx/patches-4.4/578-board_AR-5315u.patch
> new file mode 100644
> index 0000000..b8eb518
> --- /dev/null
> +++ b/target/linux/brcm63xx/patches-4.4/578-board_AR-5315u.patch
> @@ -0,0 +1,93 @@
> +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
> ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
> +@@ -147,8 +147,70 @@
> + 		},
> + 	},
> + };
> + 
> ++static struct sprom_fixup __initdata ar5315u_fixups[] = {
> ++	{ .offset = 6, .value = 0x1c00 },
> ++	{ .offset = 65, .value = 0x1255 },
> ++	{ .offset = 97, .value = 0xfe55 },
> ++	{ .offset = 98, .value = 0x171d },
> ++	{ .offset = 99, .value = 0xfa42 },
> ++	{ .offset = 113, .value = 0xfeb7 },
> ++	{ .offset = 114, .value = 0x18cd },
> ++	{ .offset = 115, .value = 0xfa4f },
> ++	{ .offset = 162, .value = 0x6444 },
> ++	{ .offset = 170, .value = 0x6444 },
> ++	{ .offset = 172, .value = 0x6444 },
> ++};
> ++
> ++static struct board_info __initdata board_AR5315u = {
> ++	.name				= "96318A-1441N1",
> ++	.expected_cpu_id		= 0x6318,
> ++
> ++	.has_uart0			= 1,
> ++	.has_pci			= 1,
> ++	.use_fallback_sprom		= 1,
> ++
> ++	.has_enetsw			= 1,
> ++
> ++	.has_ohci0			= 1,
> ++	.has_ehci0			= 1,
> ++	.num_usbh_ports			= 1,
> ++
> ++	.enetsw = {
> ++		.used_ports = {
> ++			[0] = {
> ++				.used	= 1,
> ++				.phy_id = 1,
> ++				.name	= "LAN4",
> ++			},
> ++			[1] = {
> ++				.used	= 1,
> ++				.phy_id	= 2,
> ++				.name	= "LAN3",
> ++			},
> ++			[2] = {
> ++				.used	= 1,
> ++				.phy_id	= 3,
> ++				.name	= "LAN2",
> ++			},
> ++			[3] = {
> ++				.used	= 1,
> ++				.phy_id	= 4,
> ++				.name	= "LAN1",
> ++			},
> ++		},
> ++	},
> ++
> ++	.fallback_sprom = {
> ++		.type 				= SPROM_BCM43217,
> ++		.pci_bus			= 1,
> ++		.pci_dev			= 0,
> ++		.board_fixups			= ar5315u_fixups,
> ++		.num_board_fixups		= ARRAY_SIZE(ar5315u_fixups),
> ++	},
> ++};
> ++
> + static struct sprom_fixup __initdata dsl2751b_e1_fixups[] = {
> + 	{ .offset = 96, .value = 0x2046 },
> + 	{ .offset = 97, .value = 0xfe9d },
> + 	{ .offset = 98, .value = 0x1854 },
> +@@ -2624,8 +2686,9 @@
> + #endif
> + #ifdef CONFIG_BCM63XX_CPU_6318
> + 	&board_96318ref,
> + 	&board_96318ref_p300,
> ++	&board_AR5315u,
> + 	&board_dsl_2751b_d1,
> + 	&board_FAST2704N,
> + #endif
> + #ifdef CONFIG_BCM63XX_CPU_6328
> +@@ -2728,8 +2791,9 @@
> + #endif
> + #ifdef CONFIG_BCM63XX_CPU_6318
> + 	{ .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
> + 	{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
> ++	{ .compatible = "ar-5315u", .data = &board_AR5315u, },
> + 	{ .compatible = "d-link,dsl-275xb-d", .data = &board_dsl_2751b_d1, },
> + 	{ .compatible = "sagem,f@st2704n", .data = &board_FAST2704N, },
> + #endif
> + #ifdef CONFIG_BCM63XX_CPU_6328
> 
> 
> _______________________________________________
> Lede-dev mailing list
> Lede-dev@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev
>
Daniel Gonzalez Cabanelas March 1, 2017, 7:44 p.m. | #2
2017-03-01 19:46 GMT+01:00 Florian Fainelli <f.fainelli@gmail.com>:
> On 03/01/2017 10:37 AM, Daniel Gonzalez Cabanelas wrote:
>> Add support for the Comtrend AR-5315u router
>>
>> This a BCM6318 based board, 64 MB RAM, 16 MB SPI flash,
>> with an onboard BCM43217 wifi, 4 ethernet ports and 1
>> USB host port
>>
>> Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
>
> There is something wrong with your patches submitted, in that they don't
> conform to this:
>
> subject: something
>
> Commit message
>
> Signed-off-by: myself
> ---
> <git diff>
>
> Essentially, we are missing the --- between your Signed-off-by tag and
> the git diff, how are you producing these patches?

Hi Florian. For the patches I use this procedure

git add file1 file2
git diff --cached > mypatch.patch

Then I copy the patch into my email client (KMail) and send it as a
regular mail to the mailing list

> Can you make sure you
> use git format-patch + git send-email and do a git commit -s  when
> creating local changesets?

I guess this generates the patch with the required header?
git add file1 file2
git commit -s
git format-patch -1 HEAD

only the stuff between --- and signed-off is missing, or is there
anything else wrong?.  Just to be sure because I also want to continue
using KMail for sending patches.
Florian Fainelli March 1, 2017, 7:56 p.m. | #3
On 03/01/2017 11:44 AM, Daniel wrote:
> 2017-03-01 19:46 GMT+01:00 Florian Fainelli <f.fainelli@gmail.com>:
>> On 03/01/2017 10:37 AM, Daniel Gonzalez Cabanelas wrote:
>>> Add support for the Comtrend AR-5315u router
>>>
>>> This a BCM6318 based board, 64 MB RAM, 16 MB SPI flash,
>>> with an onboard BCM43217 wifi, 4 ethernet ports and 1
>>> USB host port
>>>
>>> Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
>>
>> There is something wrong with your patches submitted, in that they don't
>> conform to this:
>>
>> subject: something
>>
>> Commit message
>>
>> Signed-off-by: myself
>> ---
>> <git diff>
>>
>> Essentially, we are missing the --- between your Signed-off-by tag and
>> the git diff, how are you producing these patches?
> 
> Hi Florian. For the patches I use this procedure
> 
> git add file1 file2
> git diff --cached > mypatch.patch

Woah that seems complicated, you are essentially not tracking your files
with git here, so rebasing, branching and so on is not going to work
quite well. Highly recommend you commit and rebase changes when you need to.

> 
> Then I copy the patch into my email client (KMail) and send it as a
> regular mail to the mailing list
> 
>> Can you make sure you
>> use git format-patch + git send-email and do a git commit -s  when
>> creating local changesets?
> 
> I guess this generates the patch with the required header?
> git add file1 file2
> git commit -s
> git format-patch -1 HEAD
> 
> only the stuff between --- and signed-off is missing, or is there
> anything else wrong?.

That's the only thing.

>  Just to be sure because I also want to continue
> using KMail for sending patches.

Why use KMail when git-send-email is a known good SMTP client? It won't
mangle your patches unlike what Kmail could do...

Patch

diff --git a/target/linux/brcm63xx/base-files/etc/board.d/01_leds b/target/linux/brcm63xx/base-files/etc/board.d/01_leds
index 61f685e..959b1ca 100755
--- a/target/linux/brcm63xx/base-files/etc/board.d/01_leds
+++ b/target/linux/brcm63xx/base-files/etc/board.d/01_leds
@@ -16,6 +16,9 @@  a4001n1)
 a4001n)
 	ucidef_set_led_usbdev "usb" "USB" "A4001N:green:usb" "1-1"
 	;;
+ar-5315u)
+	ucidef_set_led_usbdev "usb" "USB" "AR-5315u:green:usb" "1-1"
+	;;
 av4202n)
 	ucidef_set_led_netdev "wlan0" "WLAN" "AV4202N:blue:wifi" "wlan0"
 	;;
diff --git a/target/linux/brcm63xx/base-files/etc/board.d/02_network b/target/linux/brcm63xx/base-files/etc/board.d/02_network
index f703dfd..2b6dfe8 100755
--- a/target/linux/brcm63xx/base-files/etc/board.d/02_network
+++ b/target/linux/brcm63xx/base-files/etc/board.d/02_network
@@ -98,6 +98,7 @@  vr-3026e)
 		"0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "8t@eth0"
 	;;
 
+ar-5315u |\
 vh4032n)
 	ucidef_add_switch "switch0" \
 		"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "8t@eth0"
diff --git a/target/linux/brcm63xx/base-files/etc/diag.sh b/target/linux/brcm63xx/base-files/etc/diag.sh
index df1d616..8c74efa 100644
--- a/target/linux/brcm63xx/base-files/etc/diag.sh
+++ b/target/linux/brcm63xx/base-files/etc/diag.sh
@@ -12,6 +12,9 @@  set_state() {
 	a4001n)
 		status_led="A4001N:green:power"
 		;;
+	ar-5315u)
+		status_led="AR-5315u:green:power"
+		;;
 	ar-5381u)
 		status_led="AR-5381u:green:power"
 		;;
diff --git a/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
index 650db9d..d05926b 100644
--- a/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
+++ b/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
@@ -13,6 +13,7 @@  do_fixcrc() {
 case "$(brcm63xx_board_name)" in
 	a4001n |\
 	a4001n1 |\
+	ar-5315u |\
 	ar-5381u |\
 	ar-5387un |\
 	bcm96328avng |\
diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
index 4fe33eb..5e75042 100755
--- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
+++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
@@ -84,6 +84,9 @@  brcm63xx_dt_detect() {
 	"BT Voyager V2500V")
 		board_name="v2500v_bb"
 		;;
+	"Comtrend AR-5315u")
+		board_name="ar-5315u"
+		;;
 	"Comtrend AR-5381u")
 		board_name="ar-5381u"
 		;;
diff --git a/target/linux/brcm63xx/dts/ar-5315u.dts b/target/linux/brcm63xx/dts/ar-5315u.dts
new file mode 100644
index 0000000..2ff067a
--- /dev/null
+++ b/target/linux/brcm63xx/dts/ar-5315u.dts
@@ -0,0 +1,67 @@ 
+/dts-v1/;
+
+#include "bcm6318.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+	model = "Comtrend AR-5315u";
+	compatible = "comtrend,ar-5315u", "brcm,bcm6318";
+
+	chosen {
+		bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+	};
+
+	gpio-keys-polled {
+		compatible = "gpio-keys-polled";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		poll-interval = <20>;
+		debounce-interval = <60>;
+
+		wps {
+			label = "wps";
+			gpios = <&gpio0 3 1>;
+			linux,code = <KEY_WPS_BUTTON>;
+		};
+		reset {
+			label = "reset";
+			gpios = <&gpio1 1 1>;
+			linux,code = <KEY_RESTART>;
+		};
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+
+		wps_green {
+			label = "AR-5315u:green:wps";
+			gpios = <&gpio0 0 1>;
+		};
+		power_green {
+			label = "AR-5315u:green:power";
+			gpios = <&gpio0 1 1>;
+			default-state = "on";
+		};
+		usb_green {
+			label = "AR-5315u:green:usb";
+			gpios = <&gpio0 2 1>;
+		};
+		inet_green {
+			label = "AR-5315u:green:inet";
+			gpios = <&gpio0 8 1>;
+		};
+		inet_red {
+			label = "AR-5315u:red:inet";
+			gpios = <&gpio0 9 1>;
+		};
+		dsl_green {
+			label = "AR-5315u:green:dsl";
+			gpios = <&gpio0 10 1>;
+		};
+		power_red {
+			label = "AR-5315u:red:power";
+			gpios = <&gpio0 11 1>;
+		};
+	};
+};
diff --git a/target/linux/brcm63xx/image/bcm63xx.mk b/target/linux/brcm63xx/image/bcm63xx.mk
index 969d75f..8fa28e5 100644
--- a/target/linux/brcm63xx/image/bcm63xx.mk
+++ b/target/linux/brcm63xx/image/bcm63xx.mk
@@ -341,6 +341,19 @@  endef
 TARGET_DEVICES += BTV2500V
 
 ### Comtrend ###
+define Device/AR5315u
+  $(Device/bcm63xx)
+  IMAGES += sysupgrade.bin
+  DEVICE_TITLE := Comtrend AR-5315u
+  DEVICE_DTS := ar-5315u
+  CFE_BOARD_ID := 96318A-1441N1
+  CFE_CHIP_ID := 6318
+  FLASH_MB := 16
+  DEVICE_PACKAGES := \
+    $(B43_PACKAGES) $(USB2_PACKAGES)
+endef
+TARGET_DEVICES += AR5315u
+
 define Device/AR5381u
   $(Device/bcm63xx)
   IMAGES += sysupgrade.bin
diff --git a/target/linux/brcm63xx/patches-4.4/578-board_AR-5315u.patch b/target/linux/brcm63xx/patches-4.4/578-board_AR-5315u.patch
new file mode 100644
index 0000000..b8eb518
--- /dev/null
+++ b/target/linux/brcm63xx/patches-4.4/578-board_AR-5315u.patch
@@ -0,0 +1,93 @@ 
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -147,8 +147,70 @@
+ 		},
+ 	},
+ };
+ 
++static struct sprom_fixup __initdata ar5315u_fixups[] = {
++	{ .offset = 6, .value = 0x1c00 },
++	{ .offset = 65, .value = 0x1255 },
++	{ .offset = 97, .value = 0xfe55 },
++	{ .offset = 98, .value = 0x171d },
++	{ .offset = 99, .value = 0xfa42 },
++	{ .offset = 113, .value = 0xfeb7 },
++	{ .offset = 114, .value = 0x18cd },
++	{ .offset = 115, .value = 0xfa4f },
++	{ .offset = 162, .value = 0x6444 },
++	{ .offset = 170, .value = 0x6444 },
++	{ .offset = 172, .value = 0x6444 },
++};
++
++static struct board_info __initdata board_AR5315u = {
++	.name				= "96318A-1441N1",
++	.expected_cpu_id		= 0x6318,
++
++	.has_uart0			= 1,
++	.has_pci			= 1,
++	.use_fallback_sprom		= 1,
++
++	.has_enetsw			= 1,
++
++	.has_ohci0			= 1,
++	.has_ehci0			= 1,
++	.num_usbh_ports			= 1,
++
++	.enetsw = {
++		.used_ports = {
++			[0] = {
++				.used	= 1,
++				.phy_id = 1,
++				.name	= "LAN4",
++			},
++			[1] = {
++				.used	= 1,
++				.phy_id	= 2,
++				.name	= "LAN3",
++			},
++			[2] = {
++				.used	= 1,
++				.phy_id	= 3,
++				.name	= "LAN2",
++			},
++			[3] = {
++				.used	= 1,
++				.phy_id	= 4,
++				.name	= "LAN1",
++			},
++		},
++	},
++
++	.fallback_sprom = {
++		.type 				= SPROM_BCM43217,
++		.pci_bus			= 1,
++		.pci_dev			= 0,
++		.board_fixups			= ar5315u_fixups,
++		.num_board_fixups		= ARRAY_SIZE(ar5315u_fixups),
++	},
++};
++
+ static struct sprom_fixup __initdata dsl2751b_e1_fixups[] = {
+ 	{ .offset = 96, .value = 0x2046 },
+ 	{ .offset = 97, .value = 0xfe9d },
+ 	{ .offset = 98, .value = 0x1854 },
+@@ -2624,8 +2686,9 @@
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6318
+ 	&board_96318ref,
+ 	&board_96318ref_p300,
++	&board_AR5315u,
+ 	&board_dsl_2751b_d1,
+ 	&board_FAST2704N,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+@@ -2728,8 +2791,9 @@
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6318
+ 	{ .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
+ 	{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
++	{ .compatible = "ar-5315u", .data = &board_AR5315u, },
+ 	{ .compatible = "d-link,dsl-275xb-d", .data = &board_dsl_2751b_d1, },
+ 	{ .compatible = "sagem,f@st2704n", .data = &board_FAST2704N, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328