--- /dev/null
+/dts-v1/;
+
+/include/ "bcm6348.dtsi"
+
+/ {
+       model = "BT Voyager V2500V";
+       compatible = "bt,v2500v-bb", "brcm,bcm6348";
+};
+
+&pflash {
+       status = "ok";
+
+       linux,part-probe = "bcm63xxpart";
+
+       cfe@0 {
+               label = "CFE";
+               reg = <0x000000 0x010000>;
+               read-only;
+       };
+
+       linux@10000 {
+               label = "linux";
+               reg = <0x010000 0x3e0000>;
+       };
+
+       nvram@3f0000 {
+               label = "nvram";
+               reg = <0x3f0000 0x010000>;
+       };
+};
 
 define Image/Build
        dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync
 
-       # BT Voyager V2500V, V2500V_SIP_CLUB, V2500V_AA
-       $(call Image/Build/CFE,$(1),V2500V_BB,6348,BTV2500V,,--layoutver 5)
-
        # build dtb image list
        $(foreach image,$(TARGET_$(PROFILE)_IMAGES),$(call Image/Build/$(image),$(1)))
 
 $(eval $(call ImageDTB,CFEDTB,AR1004G,AR1004G,ar1004g,96348GW-10,6348))
 # Belkin F5D7633
 $(eval $(call ImageDTB,CFEDTB,F5D7633,F5D7633,f5d7633,96348GW-10,6348,--block-size 0x20000 --image-offset 0x20000))
+# BT Voyager V2500V, V2500V_SIP_CLUB, V2500V_AA
+$(eval $(call ImageDTB,CFEDTB,BTV2500V,BTV2500V,v2500v-bb,V2500V_BB,6348,--layoutver 5))
 # Comtrend AR-5381u
 $(eval $(call ImageDTB,CFEDTB,AR5381u,AR-5381u,ar-5381u,96328A-1241N,6328,--pad 8))
 # Comtrend AR-5387un
 
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1772,6 +1832,22 @@ void __init board_bcm963xx_init(void)
+@@ -1713,6 +1773,7 @@ static struct of_device_id const bcm963x
+       { .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
+       { .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
+       { .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
++      { .compatible = "bt,v2500v-bb", .data = &board_V2500V_BB, },
+       { .compatible = "d-link,dsl-2640b-b", .data = &board_96348_D4PW, },
+       { .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
+       { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
+@@ -1772,6 +1833,22 @@ void __init board_bcm963xx_init(void)
                val &= MPI_CSBASE_BASE_MASK;
        }
        boot_addr = (u8 *)KSEG1ADDR(val);
 
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1832,6 +1885,8 @@ static struct of_device_id const bcm963x
-       { .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
+@@ -1833,6 +1886,8 @@ static struct of_device_id const bcm963x
        { .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
        { .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
+       { .compatible = "bt,v2500v-bb", .data = &board_V2500V_BB, },
 +      { .compatible = "comtrend,ct-536+", .data = &board_ct536_ct5621, },
 +      { .compatible = "comtrend,ct-5621", .data = &board_ct536_ct5621, },
        { .compatible = "d-link,dsl-2640b-b", .data = &board_96348_D4PW, },
 
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1889,6 +1960,7 @@ static struct of_device_id const bcm963x
-       { .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
+@@ -1890,6 +1961,7 @@ static struct of_device_id const bcm963x
        { .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
+       { .compatible = "bt,v2500v-bb", .data = &board_V2500V_BB, },
        { .compatible = "comtrend,ct-536+", .data = &board_ct536_ct5621, },
 +      { .compatible = "comtrend,ct-5365", .data = &board_96348A_122, },
        { .compatible = "comtrend,ct-5621", .data = &board_ct536_ct5621, },
 
  };
  
  static struct of_device_id const bcm963xx_boards_dt[] = {
-@@ -2026,6 +2109,7 @@ static struct of_device_id const bcm963x
+@@ -2027,6 +2110,7 @@ static struct of_device_id const bcm963x
        { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6368
 
  #endif
  };
  
-@@ -2109,6 +2176,7 @@ static struct of_device_id const bcm963x
+@@ -2110,6 +2177,7 @@ static struct of_device_id const bcm963x
        { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6368
 
        &board_HW553,
        &board_spw303v,
  #endif
-@@ -2428,6 +2553,7 @@ static struct of_device_id const bcm963x
+@@ -2429,6 +2554,7 @@ static struct of_device_id const bcm963x
        { .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
        { .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
        { .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
 
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6368
-@@ -2556,6 +2624,7 @@ static struct of_device_id const bcm963x
+@@ -2557,6 +2625,7 @@ static struct of_device_id const bcm963x
        { .compatible = "comtrend,ct-6373", .data = &board_ct6373_1, },
        { .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
        { .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
 
  #ifdef CONFIG_BCM63XX_CPU_6368
        &board_96368mvwg,
        &board_96368mvngr,
-@@ -2635,6 +2740,9 @@ static struct of_device_id const bcm963x
+@@ -2636,6 +2741,9 @@ static struct of_device_id const bcm963x
        { .compatible = "t-com,spw303v", .data = &board_spw303v, },
        { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
  #endif
 
        &board_DV201AMR,
        &board_96348gw_a,
        &board_rta1025w_16,
-@@ -2716,6 +2768,7 @@ static struct of_device_id const bcm963x
+@@ -2717,6 +2769,7 @@ static struct of_device_id const bcm963x
        { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
        { .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
        { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
 
        &board_spw303v,
        &board_DVAG3810BN,
  #endif
-@@ -3161,6 +3561,9 @@ static struct of_device_id const bcm963x
+@@ -3162,6 +3562,9 @@ static struct of_device_id const bcm963x
        { .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
        { .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
        { .compatible = "huawei,hg553", .data = &board_HW553, },
 
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6368
-@@ -3747,6 +3838,7 @@ static struct of_device_id const bcm963x
+@@ -3748,6 +3839,7 @@ static struct of_device_id const bcm963x
        { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6362
 
  #endif
  #ifdef CONFIG_BCM63XX_CPU_63268
        &board_963268bu_p300,
-@@ -4602,6 +4715,7 @@ static struct of_device_id const bcm963x
+@@ -4603,6 +4716,7 @@ static struct of_device_id const bcm963x
  #ifdef CONFIG_BCM63XX_CPU_6368
        { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
        { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
 
        &board_WAP5813n,
  #endif
  #ifdef CONFIG_BCM63XX_CPU_63268
-@@ -4715,6 +4826,7 @@ static struct of_device_id const bcm963x
+@@ -4716,6 +4827,7 @@ static struct of_device_id const bcm963x
  #ifdef CONFIG_BCM63XX_CPU_6368
        { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
        { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
 
        &board_WAP5813n,
  #endif
  #ifdef CONFIG_BCM63XX_CPU_63268
-@@ -4827,6 +4938,7 @@ static struct of_device_id const bcm963x
+@@ -4828,6 +4939,7 @@ static struct of_device_id const bcm963x
        { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
        { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
        { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
 
        &board_VR3025u,
        &board_VR3025un,
        &board_WAP5813n,
-@@ -4940,6 +5031,7 @@ static struct of_device_id const bcm963x
+@@ -4941,6 +5032,7 @@ static struct of_device_id const bcm963x
        { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
        { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
        { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
 
        &board_HW553,
        &board_HW556_A,
        &board_HW556_B,
-@@ -5008,6 +5059,7 @@ static struct of_device_id const bcm963x
+@@ -5009,6 +5060,7 @@ static struct of_device_id const bcm963x
        { .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
        { .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
        { .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
 
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1772,6 +1832,22 @@ void __init board_bcm963xx_init(void)
+@@ -1713,6 +1773,7 @@ static struct of_device_id const bcm963x
+       { .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
+       { .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
+       { .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
++      { .compatible = "bt,v2500v-bb", .data = &board_V2500V_BB, },
+       { .compatible = "d-link,dsl-2640b-b", .data = &board_96348_D4PW, },
+       { .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
+       { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
+@@ -1772,6 +1833,22 @@ void __init board_bcm963xx_init(void)
                val &= MPI_CSBASE_BASE_MASK;
        }
        boot_addr = (u8 *)KSEG1ADDR(val);
 
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1832,6 +1885,8 @@ static struct of_device_id const bcm963x
-       { .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
+@@ -1833,6 +1886,8 @@ static struct of_device_id const bcm963x
        { .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
        { .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
+       { .compatible = "bt,v2500v-bb", .data = &board_V2500V_BB, },
 +      { .compatible = "comtrend,ct-536+", .data = &board_ct536_ct5621, },
 +      { .compatible = "comtrend,ct-5621", .data = &board_ct536_ct5621, },
        { .compatible = "d-link,dsl-2640b-b", .data = &board_96348_D4PW, },
 
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1889,6 +1960,7 @@ static struct of_device_id const bcm963x
-       { .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
+@@ -1890,6 +1961,7 @@ static struct of_device_id const bcm963x
        { .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
+       { .compatible = "bt,v2500v-bb", .data = &board_V2500V_BB, },
        { .compatible = "comtrend,ct-536+", .data = &board_ct536_ct5621, },
 +      { .compatible = "comtrend,ct-5365", .data = &board_96348A_122, },
        { .compatible = "comtrend,ct-5621", .data = &board_ct536_ct5621, },
 
  };
  
  static struct of_device_id const bcm963xx_boards_dt[] = {
-@@ -2026,6 +2109,7 @@ static struct of_device_id const bcm963x
+@@ -2027,6 +2110,7 @@ static struct of_device_id const bcm963x
        { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6368
 
  #endif
  };
  
-@@ -2109,6 +2176,7 @@ static struct of_device_id const bcm963x
+@@ -2110,6 +2177,7 @@ static struct of_device_id const bcm963x
        { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6368
 
        &board_HW553,
        &board_spw303v,
  #endif
-@@ -2428,6 +2553,7 @@ static struct of_device_id const bcm963x
+@@ -2429,6 +2554,7 @@ static struct of_device_id const bcm963x
        { .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
        { .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
        { .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
 
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6368
-@@ -2556,6 +2624,7 @@ static struct of_device_id const bcm963x
+@@ -2557,6 +2625,7 @@ static struct of_device_id const bcm963x
        { .compatible = "comtrend,ct-6373", .data = &board_ct6373_1, },
        { .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
        { .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
 
  #ifdef CONFIG_BCM63XX_CPU_6368
        &board_96368mvwg,
        &board_96368mvngr,
-@@ -2635,6 +2740,9 @@ static struct of_device_id const bcm963x
+@@ -2636,6 +2741,9 @@ static struct of_device_id const bcm963x
        { .compatible = "t-com,spw303v", .data = &board_spw303v, },
        { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
  #endif
 
        &board_DV201AMR,
        &board_96348gw_a,
        &board_rta1025w_16,
-@@ -2716,6 +2768,7 @@ static struct of_device_id const bcm963x
+@@ -2717,6 +2769,7 @@ static struct of_device_id const bcm963x
        { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
        { .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
        { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
 
        &board_spw303v,
        &board_DVAG3810BN,
  #endif
-@@ -3161,6 +3561,9 @@ static struct of_device_id const bcm963x
+@@ -3162,6 +3562,9 @@ static struct of_device_id const bcm963x
        { .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
        { .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
        { .compatible = "huawei,hg553", .data = &board_HW553, },
 
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6368
-@@ -3747,6 +3838,7 @@ static struct of_device_id const bcm963x
+@@ -3748,6 +3839,7 @@ static struct of_device_id const bcm963x
        { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6362
 
  #endif
  #ifdef CONFIG_BCM63XX_CPU_63268
        &board_963268bu_p300,
-@@ -4602,6 +4715,7 @@ static struct of_device_id const bcm963x
+@@ -4603,6 +4716,7 @@ static struct of_device_id const bcm963x
  #ifdef CONFIG_BCM63XX_CPU_6368
        { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
        { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
 
        &board_WAP5813n,
  #endif
  #ifdef CONFIG_BCM63XX_CPU_63268
-@@ -4715,6 +4826,7 @@ static struct of_device_id const bcm963x
+@@ -4716,6 +4827,7 @@ static struct of_device_id const bcm963x
  #ifdef CONFIG_BCM63XX_CPU_6368
        { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
        { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
 
        &board_WAP5813n,
  #endif
  #ifdef CONFIG_BCM63XX_CPU_63268
-@@ -4827,6 +4938,7 @@ static struct of_device_id const bcm963x
+@@ -4828,6 +4939,7 @@ static struct of_device_id const bcm963x
        { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
        { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
        { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
 
        &board_VR3025u,
        &board_VR3025un,
        &board_WAP5813n,
-@@ -4940,6 +5031,7 @@ static struct of_device_id const bcm963x
+@@ -4941,6 +5032,7 @@ static struct of_device_id const bcm963x
        { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
        { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
        { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
 
        &board_HW553,
        &board_HW556_A,
        &board_HW556_B,
-@@ -5008,6 +5059,7 @@ static struct of_device_id const bcm963x
+@@ -5009,6 +5060,7 @@ static struct of_device_id const bcm963x
        { .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
        { .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
        { .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
 
--- /dev/null
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/BTV2500V
+  NAME:=BT Voyager V2500V
+  PACKAGES:=kmod-b43 wpad-mini
+endef
+define Profile/BTV2500V/Description
+  Package set optimized for BTV2500V.
+endef
+$(eval $(call Profile,BTV2500V))