mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	brcm63xx: Add NuCom R5010UNv2 support
This patch adds support for the NuCom R5010UNv2. It's a BCM6328 based board. It has an onboard BCM43217 wifi chip. For this wifi chip looks like the brcmsmac driver isn't still supported, b43 drivers are used for the profile of the router. It's worth mentioning this board was affected by a bug solved with https://dev.openwrt.org/changeset/46707 Tested-by: Angel Fontan <angel.fontan@gmail.com> Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com> Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 47697
This commit is contained in:
		
							parent
							
								
									9d7e058a23
								
							
						
					
					
						commit
						d12502b666
					
				@ -102,6 +102,9 @@ set_state() {
 | 
			
		||||
	p870hw-51a_v2)
 | 
			
		||||
		status_led="P870HW-51a:green:power"
 | 
			
		||||
		;;
 | 
			
		||||
	r5010un_v2)
 | 
			
		||||
		status_led="R5010UNv2:green:power"
 | 
			
		||||
		;;
 | 
			
		||||
	rta770bw)
 | 
			
		||||
		status_led="RTA770BW:green:diag"
 | 
			
		||||
		;;
 | 
			
		||||
 | 
			
		||||
@ -46,6 +46,9 @@ homehub2a)
 | 
			
		||||
	ucidef_set_led_usbdev "usb1" "USB1" "HOMEHUB2A:blue:phone" "1-1"
 | 
			
		||||
	ucidef_set_led_usbdev "usb2" "USB2" "HOMEHUB2A:green:phone" "2-1"
 | 
			
		||||
	;;
 | 
			
		||||
r5010un_v2)
 | 
			
		||||
	ucidef_set_led_usbdev "usb" "USB" "R5010UNv2:green:usb" "1-1"
 | 
			
		||||
	;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
ucidef_commit_leds
 | 
			
		||||
 | 
			
		||||
@ -94,6 +94,7 @@ fast2504n |\
 | 
			
		||||
fast2704v2 |\
 | 
			
		||||
hg655b |\
 | 
			
		||||
p870hw-51a_v2 |\
 | 
			
		||||
r5010un_v2 |\
 | 
			
		||||
vr-3025un |\
 | 
			
		||||
vr-3025u |\
 | 
			
		||||
vr-3026e)
 | 
			
		||||
 | 
			
		||||
@ -23,6 +23,7 @@ case "$(brcm63xx_board_name)" in
 | 
			
		||||
	dsl-274xb-f |\
 | 
			
		||||
	magic |\
 | 
			
		||||
	p870hw-51a_v2 |\
 | 
			
		||||
	r5010un_v2 |\
 | 
			
		||||
	rta770bw |\
 | 
			
		||||
	rta770w |\
 | 
			
		||||
	spw303v |\
 | 
			
		||||
 | 
			
		||||
@ -180,6 +180,9 @@ brcm63xx_dt_detect() {
 | 
			
		||||
	"Netgear DGND3700v1/DGND3800B")
 | 
			
		||||
		board_name="dgnd3700v1_dgnd3800b"
 | 
			
		||||
		;;
 | 
			
		||||
	"NuCom R5010UN v2")
 | 
			
		||||
		board_name="r5010un_v2"
 | 
			
		||||
		;;
 | 
			
		||||
	"Pirelli A226G")
 | 
			
		||||
		board_name="a226g"
 | 
			
		||||
		;;
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										64
									
								
								target/linux/brcm63xx/dts/r5010unv2.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								target/linux/brcm63xx/dts/r5010unv2.dts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,64 @@
 | 
			
		||||
/dts-v1/;
 | 
			
		||||
 | 
			
		||||
#include "bcm6328.dtsi"
 | 
			
		||||
 | 
			
		||||
#include <dt-bindings/input/input.h>
 | 
			
		||||
 | 
			
		||||
/ {
 | 
			
		||||
	model = "NuCom R5010UN v2";
 | 
			
		||||
	compatible = "nucom,r5010unv2", "brcm,bcm6328";
 | 
			
		||||
	
 | 
			
		||||
	gpio-keys-polled {
 | 
			
		||||
		compatible = "gpio-keys-polled";
 | 
			
		||||
		#address-cells = <1>;
 | 
			
		||||
		#size-cells = <0>;
 | 
			
		||||
		poll-interval = <20>;
 | 
			
		||||
		debounce-interval = <60>;
 | 
			
		||||
 | 
			
		||||
		reset {
 | 
			
		||||
			label = "reset";
 | 
			
		||||
			gpios = <&gpio0 23 1>;
 | 
			
		||||
			linux,code = <KEY_RESTART>;
 | 
			
		||||
		};
 | 
			
		||||
		wps {
 | 
			
		||||
			label = "wps";
 | 
			
		||||
			gpios = <&gpio0 24 1>;
 | 
			
		||||
			linux,code = <KEY_WPS_BUTTON>;
 | 
			
		||||
		};
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	gpio-leds {
 | 
			
		||||
		compatible = "gpio-leds";
 | 
			
		||||
 | 
			
		||||
		inet_green {
 | 
			
		||||
			label = "R5010UNv2:green:inet";
 | 
			
		||||
			gpios = <&gpio0 1 1>;
 | 
			
		||||
		};
 | 
			
		||||
		inet_fail_red {
 | 
			
		||||
			label = "R5010UNv2:red:inet-fail";
 | 
			
		||||
			gpios = <&gpio0 2 1>;
 | 
			
		||||
		};
 | 
			
		||||
		dsl_red {
 | 
			
		||||
			label = "R5010UNv2:green:dsl";
 | 
			
		||||
			gpios = <&gpio0 3 1>;
 | 
			
		||||
		};
 | 
			
		||||
		power_green {
 | 
			
		||||
			label = "R5010UNv2:green:power";
 | 
			
		||||
			gpios = <&gpio0 4 1>;
 | 
			
		||||
			default-state = "on";
 | 
			
		||||
		};
 | 
			
		||||
		power_fail_red {
 | 
			
		||||
			label = "R5010UNv2:red:power-fail";
 | 
			
		||||
			gpios = <&gpio0 5 1>;
 | 
			
		||||
		};
 | 
			
		||||
		wps_green {
 | 
			
		||||
			label = "R5010UNv2:green:wps";
 | 
			
		||||
			gpios = <&gpio0 10 1>;
 | 
			
		||||
		};
 | 
			
		||||
		usb_green {
 | 
			
		||||
			label = "R5010UNv2:green:usb";
 | 
			
		||||
			gpios = <&gpio0 11 1>;
 | 
			
		||||
		};
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -590,6 +590,8 @@ $(eval $(call bcm63xxCfeRamdisk,DG834GV4,DG834GTv4,dg834g_v4,96348W3,6348))
 | 
			
		||||
$(eval $(call bcm63xxCfeNetgear,DGND3700v1_3800B,DGND3700v1,dgnd3700v1,96368MVWG,6368,--image-offset 0x20000 --block-size 0x20000,U12L144T01_NETGEAR_NEWLED,1))
 | 
			
		||||
# Netgear DGND3800B
 | 
			
		||||
$(eval $(call bcm63xxCfeNetgear,DGND3700v1_3800B,DGND3800B,dgnd3700v1,96368MVWG,6368,--image-offset 0x20000 --block-size 0x20000,U12L144T11_NETGEAR_NEWLED,1))
 | 
			
		||||
# NuCom R5010UNv2
 | 
			
		||||
$(eval $(call bcm63xxCfe,R5010UNV2,R5010UNv2,r5010unv2,96328ang,6328,--pad 8))
 | 
			
		||||
# Pirelli Alice Gate VoIP 2 Plus Wi-Fi AGPF-S0
 | 
			
		||||
$(eval $(call bcm63xxCfe,AGPF_S0,AGV2+W,agpf-s0,AGPF-S0,6358,--block-size 0x20000 --image-offset 0x20000 --signature2 IMAGE --tag-version 8))
 | 
			
		||||
# Pirelli A226G
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										70
									
								
								target/linux/brcm63xx/patches-4.1/573-board_R5010UNv2.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								target/linux/brcm63xx/patches-4.1/573-board_R5010UNv2.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,70 @@
 | 
			
		||||
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 | 
			
		||||
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
 | 
			
		||||
@@ -641,6 +641,51 @@
 | 
			
		||||
 		},
 | 
			
		||||
 	},
 | 
			
		||||
 };
 | 
			
		||||
+
 | 
			
		||||
+static struct board_info __initdata board_R5010UNV2 = {
 | 
			
		||||
+	.name					= "96328ang",
 | 
			
		||||
+	.expected_cpu_id			= 0x6328,
 | 
			
		||||
+
 | 
			
		||||
+	.has_uart0				= 1,
 | 
			
		||||
+	.has_pci				= 1,
 | 
			
		||||
+	.use_fallback_sprom			= 1,
 | 
			
		||||
+	.has_ohci0				= 1,
 | 
			
		||||
+	.has_ehci0				= 1,
 | 
			
		||||
+	.num_usbh_ports				= 1,
 | 
			
		||||
+	.has_enetsw				= 1,
 | 
			
		||||
+
 | 
			
		||||
+	.enetsw = {
 | 
			
		||||
+		.used_ports = {
 | 
			
		||||
+			[0] = {
 | 
			
		||||
+				.used		= 1,
 | 
			
		||||
+				.phy_id		= 1,
 | 
			
		||||
+				.name		= "Port 1",
 | 
			
		||||
+			},
 | 
			
		||||
+			[1] = {
 | 
			
		||||
+				.used		= 1,
 | 
			
		||||
+				.phy_id		= 2,
 | 
			
		||||
+				.name		= "Port 2",
 | 
			
		||||
+			},
 | 
			
		||||
+			[2] = {
 | 
			
		||||
+				.used		= 1,
 | 
			
		||||
+				.phy_id		= 3,
 | 
			
		||||
+				.name		= "Port 3",
 | 
			
		||||
+			},
 | 
			
		||||
+			[3] = {
 | 
			
		||||
+				.used		= 1,
 | 
			
		||||
+				.phy_id		= 4,
 | 
			
		||||
+				.name		= "Port 4",
 | 
			
		||||
+			},
 | 
			
		||||
+		},
 | 
			
		||||
+	},
 | 
			
		||||
+
 | 
			
		||||
+	.fallback_sprom = {
 | 
			
		||||
+		.type 				= SPROM_BCM43217,
 | 
			
		||||
+		.pci_bus			= 1,
 | 
			
		||||
+		.pci_dev			= 0,
 | 
			
		||||
+	},
 | 
			
		||||
+};
 | 
			
		||||
+
 | 
			
		||||
 #endif /* CONFIG_BCM63XX_CPU_6328 */
 | 
			
		||||
 
 | 
			
		||||
 /*
 | 
			
		||||
@@ -2452,6 +2497,7 @@
 | 
			
		||||
 	&board_A4001N1,
 | 
			
		||||
 	&board_dsl_274xb_f1,
 | 
			
		||||
 	&board_FAST2704V2,
 | 
			
		||||
+	&board_R5010UNV2,
 | 
			
		||||
 #endif
 | 
			
		||||
 #ifdef CONFIG_BCM63XX_CPU_6338
 | 
			
		||||
 	&board_96338gw,
 | 
			
		||||
@@ -2550,6 +2596,7 @@
 | 
			
		||||
 	{ .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, },
 | 
			
		||||
 	{ .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
 | 
			
		||||
 	{ .compatible = "d-link,dsl-274xb-f", .data = &board_dsl_274xb_f1, },
 | 
			
		||||
+	{ .compatible = "nucom,r5010unv2", .data = &board_R5010UNV2, },
 | 
			
		||||
 	{ .compatible = "sagem,f@st2704v2", .data = &board_FAST2704V2, },
 | 
			
		||||
 #endif
 | 
			
		||||
 #ifdef CONFIG_BCM63XX_CPU_6338
 | 
			
		||||
							
								
								
									
										16
									
								
								target/linux/brcm63xx/profiles/nucom.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								target/linux/brcm63xx/profiles/nucom.mk
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2015 OpenWrt.org
 | 
			
		||||
#
 | 
			
		||||
# This is free software, licensed under the GNU General Public License v2.
 | 
			
		||||
# See /LICENSE for more information.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
define Profile/R5010UNV2
 | 
			
		||||
  NAME:=NuCom R5010UN v2
 | 
			
		||||
  PACKAGES:=kmod-b43 wpad-mini \
 | 
			
		||||
	kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev
 | 
			
		||||
endef
 | 
			
		||||
define Profile/R5010UNV2/Description
 | 
			
		||||
  Package set optimized for R5010UNV2.
 | 
			
		||||
endef
 | 
			
		||||
$(eval $(call Profile,R5010UNV2))
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user