diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh index 13406552c3..5cb390f061 100755 --- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh +++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh @@ -39,6 +39,9 @@ brcm63xx_dt_detect() { "Broadcom BCM963268BU_P300 reference board") board_name="bcm963268bu_p300" ;; + "Broadcom BCM963269BHR reference board") + board_name="bcm963269bhr" + ;; "Broadcom bcm963281TAN reference board") board_name="bcm963281tan" ;; diff --git a/target/linux/brcm63xx/dts/bcm963269bhr.dts b/target/linux/brcm63xx/dts/bcm963269bhr.dts new file mode 100644 index 0000000000..84f655490f --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm963269bhr.dts @@ -0,0 +1,36 @@ +/dts-v1/; + +/include/ "bcm63268.dtsi" + +/ { + model = "Broadcom BCM963269BHR reference board"; + compatible = "brcm,bcm963269bhr", "brcm,bcm63268"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 0 0>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb1 { + label = "963629BHR:green:usb1"; + gpios = <&gpio0 9 1>; + }; + + usb12 { + label = "963629BHR:green:usb1"; + gpios = <&gpio0 9 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile index cc9d265945..e98011d56f 100755 --- a/target/linux/brcm63xx/image/Makefile +++ b/target/linux/brcm63xx/image/Makefile @@ -301,6 +301,8 @@ $(eval $(call ImageDTB,Dummy,BCM96318REF,BCM96318REF,bcm96318ref,96318REF,6318)) $(eval $(call ImageDTB,Dummy,BCM96318REF_P300,BCM96318ref_P300,bcm96318ref_p300,96318REF_P300,6318)) # Broadcom BCM963268BU_P300 $(eval $(call ImageDTB,Dummy,BCM963268BU_P300,BCM963268BU_P300,bcm963268bu_p300,963268BU_P300,63268)) +# Broadcom BCM963269BHR +$(eval $(call ImageDTB,Dummy,BCM963269BHR,BCM963269BHR,bcm963269bhr,963269BHR,63268)) # BT Home Hub 2.0 A $(eval $(call ImageDTB,CFEDTB,BTHOMEHUB2A,HomeHub2A,homehub2a,HOMEHUB2A,6358,--image-offset 0x20000 --block-size 0x20000)) # BT Voyager V2110, V2110_AA, V2110_ROI diff --git a/target/linux/brcm63xx/patches-3.18/557-board_bcm963269bhr.patch b/target/linux/brcm63xx/patches-3.18/557-board_bcm963269bhr.patch index a2f45290f8..1dcfea8d6e 100644 --- a/target/linux/brcm63xx/patches-3.18/557-board_bcm963269bhr.patch +++ b/target/linux/brcm63xx/patches-3.18/557-board_bcm963269bhr.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -1702,6 +1702,75 @@ static struct board_info __initdata boar +@@ -1702,6 +1702,52 @@ static struct board_info __initdata boar #endif /* CONFIG_BCM63XX_CPU_6368 */ /* @@ -46,29 +46,6 @@ + }, + }, + }, -+ -+ .leds = { -+ { -+ .name = "963629BHR:green:usb1", -+ .gpio = 9, -+ .active_low = 1, -+ }, -+ { -+ .name = "963629BHR:green:usb2", -+ .gpio = 10, -+ .active_low = 1, -+ }, -+ }, -+ -+ .buttons = { -+ { -+ .desc = "reset", -+ .gpio = 32, -+ .type = EV_KEY, -+ .code = KEY_RESTART, -+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL, -+ }, -+ }, +}; +#endif /* CONFIG_BCM63XX_CPU_63268 */ + @@ -76,7 +53,7 @@ * all boards */ static const struct board_info __initconst *bcm963xx_boards[] = { -@@ -1782,6 +1851,9 @@ static const struct board_info __initcon +@@ -1782,6 +1828,9 @@ static const struct board_info __initcon &board_96368mvwg, &board_96368mvngr, #endif @@ -86,3 +63,11 @@ }; static struct of_device_id const bcm963xx_boards_dt[] = { +@@ -1869,6 +1918,7 @@ static struct of_device_id const bcm963x + { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, }, + #endif + #ifdef CONFIG_BCM63XX_CPU_63268 ++ { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, }, + #endif + #endif /* CONFIG_OF */ + { }, diff --git a/target/linux/brcm63xx/patches-3.18/558-board_AR1004G.patch b/target/linux/brcm63xx/patches-3.18/558-board_AR1004G.patch index 2a7bc901d4..29d57838db 100644 --- a/target/linux/brcm63xx/patches-3.18/558-board_AR1004G.patch +++ b/target/linux/brcm63xx/patches-3.18/558-board_AR1004G.patch @@ -31,7 +31,7 @@ Signed-off-by: Adrian Feliks /* BT Voyager 2110 */ static struct board_info __initdata board_V2110 = { -@@ -1822,6 +1838,7 @@ static const struct board_info __initcon +@@ -1799,6 +1815,7 @@ static const struct board_info __initcon &board_96348A_122, &board_CPVA502plus, &board_96348W3, @@ -39,7 +39,7 @@ Signed-off-by: Adrian Feliks #endif #ifdef CONFIG_BCM63XX_CPU_6358 -@@ -1886,6 +1903,7 @@ static struct of_device_id const bcm963x +@@ -1863,6 +1880,7 @@ static struct of_device_id const bcm963x { .compatible = "dynalink,rta770w", .data = &board_rta770w, }, #endif #ifdef CONFIG_BCM63XX_CPU_6348 diff --git a/target/linux/brcm63xx/patches-3.18/559-board_vw6339gu.patch b/target/linux/brcm63xx/patches-3.18/559-board_vw6339gu.patch index be0e017880..3a38540666 100644 --- a/target/linux/brcm63xx/patches-3.18/559-board_vw6339gu.patch +++ b/target/linux/brcm63xx/patches-3.18/559-board_vw6339gu.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -1784,6 +1784,53 @@ static struct board_info __initdata boar +@@ -1761,6 +1761,53 @@ static struct board_info __initdata boar }, }, }; @@ -54,7 +54,7 @@ #endif /* CONFIG_BCM63XX_CPU_63268 */ /* -@@ -1870,6 +1917,7 @@ static const struct board_info __initcon +@@ -1847,6 +1894,7 @@ static const struct board_info __initcon #endif #ifdef CONFIG_BCM63XX_CPU_63268 &board_963269bhr, @@ -62,10 +62,10 @@ #endif }; -@@ -1959,6 +2007,7 @@ static struct of_device_id const bcm963x - { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, }, +@@ -1937,6 +1985,7 @@ static struct of_device_id const bcm963x #endif #ifdef CONFIG_BCM63XX_CPU_63268 + { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, }, + { .compatible = "inteno,vg50", .data = &board_vw6339gu, }, #endif #endif /* CONFIG_OF */ diff --git a/target/linux/brcm63xx/patches-3.18/560-board_963268gu_p300.patch b/target/linux/brcm63xx/patches-3.18/560-board_963268gu_p300.patch index 9c0f7b77d9..494328b864 100644 --- a/target/linux/brcm63xx/patches-3.18/560-board_963268gu_p300.patch +++ b/target/linux/brcm63xx/patches-3.18/560-board_963268gu_p300.patch @@ -67,7 +67,7 @@ static struct board_info __initdata board_963269bhr = { .name = "963269BHR", .expected_cpu_id = 0x63268, -@@ -1916,6 +1976,7 @@ static const struct board_info __initcon +@@ -1893,6 +1953,7 @@ static const struct board_info __initcon &board_96368mvngr, #endif #ifdef CONFIG_BCM63XX_CPU_63268 @@ -75,11 +75,11 @@ &board_963269bhr, &board_vw6339gu, #endif -@@ -2007,6 +2068,7 @@ static struct of_device_id const bcm963x +@@ -1984,6 +2045,7 @@ static struct of_device_id const bcm963x { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, }, #endif #ifdef CONFIG_BCM63XX_CPU_63268 + { .compatible = "brcm,bcm963268bu_p300", .data = &board_963268bu_p300, }, + { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, }, { .compatible = "inteno,vg50", .data = &board_vw6339gu, }, #endif - #endif /* CONFIG_OF */ diff --git a/target/linux/brcm63xx/patches-3.18/561-board_WAP-5813n.patch b/target/linux/brcm63xx/patches-3.18/561-board_WAP-5813n.patch index 2be009166f..b695b2b44b 100644 --- a/target/linux/brcm63xx/patches-3.18/561-board_WAP-5813n.patch +++ b/target/linux/brcm63xx/patches-3.18/561-board_WAP-5813n.patch @@ -76,7 +76,7 @@ #endif /* CONFIG_BCM63XX_CPU_6368 */ /* -@@ -1974,6 +2035,7 @@ static const struct board_info __initcon +@@ -1951,6 +2012,7 @@ static const struct board_info __initcon #ifdef CONFIG_BCM63XX_CPU_6368 &board_96368mvwg, &board_96368mvngr, @@ -84,7 +84,7 @@ #endif #ifdef CONFIG_BCM63XX_CPU_63268 &board_963268bu_p300, -@@ -2066,6 +2128,7 @@ static struct of_device_id const bcm963x +@@ -2043,6 +2105,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, }, diff --git a/target/linux/brcm63xx/patches-3.18/562-board_VR-3025u.patch b/target/linux/brcm63xx/patches-3.18/562-board_VR-3025u.patch index 1d23af14ce..13a2dc9e4a 100644 --- a/target/linux/brcm63xx/patches-3.18/562-board_VR-3025u.patch +++ b/target/linux/brcm63xx/patches-3.18/562-board_VR-3025u.patch @@ -61,7 +61,7 @@ static struct b53_platform_data WAP5813n_b53_pdata = { .alias = "eth0", }; -@@ -2035,6 +2089,7 @@ static const struct board_info __initcon +@@ -2012,6 +2066,7 @@ static const struct board_info __initcon #ifdef CONFIG_BCM63XX_CPU_6368 &board_96368mvwg, &board_96368mvngr, @@ -69,7 +69,7 @@ &board_WAP5813n, #endif #ifdef CONFIG_BCM63XX_CPU_63268 -@@ -2128,6 +2183,7 @@ static struct of_device_id const bcm963x +@@ -2105,6 +2160,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, }, diff --git a/target/linux/brcm63xx/patches-3.18/563-board_VR-3025un.patch b/target/linux/brcm63xx/patches-3.18/563-board_VR-3025un.patch index c48ef642d6..f194a889a0 100644 --- a/target/linux/brcm63xx/patches-3.18/563-board_VR-3025un.patch +++ b/target/linux/brcm63xx/patches-3.18/563-board_VR-3025un.patch @@ -61,7 +61,7 @@ static struct b53_platform_data WAP5813n_b53_pdata = { .alias = "eth0", }; -@@ -2090,6 +2144,7 @@ static const struct board_info __initcon +@@ -2067,6 +2121,7 @@ static const struct board_info __initcon &board_96368mvwg, &board_96368mvngr, &board_VR3025u, @@ -69,7 +69,7 @@ &board_WAP5813n, #endif #ifdef CONFIG_BCM63XX_CPU_63268 -@@ -2184,6 +2239,7 @@ static struct of_device_id const bcm963x +@@ -2161,6 +2216,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, }, diff --git a/target/linux/brcm63xx/patches-3.18/564-board_P870HW-51a_v2.patch b/target/linux/brcm63xx/patches-3.18/564-board_P870HW-51a_v2.patch index 8ffc842873..8ccba3a624 100644 --- a/target/linux/brcm63xx/patches-3.18/564-board_P870HW-51a_v2.patch +++ b/target/linux/brcm63xx/patches-3.18/564-board_P870HW-51a_v2.patch @@ -50,7 +50,7 @@ static struct board_info __initdata board_VR3025u = { .name = "96368M-1541N", .expected_cpu_id = 0x6368, -@@ -2143,6 +2186,7 @@ static const struct board_info __initcon +@@ -2120,6 +2163,7 @@ static const struct board_info __initcon #ifdef CONFIG_BCM63XX_CPU_6368 &board_96368mvwg, &board_96368mvngr, @@ -58,7 +58,7 @@ &board_VR3025u, &board_VR3025un, &board_WAP5813n, -@@ -2241,6 +2285,7 @@ static struct of_device_id const bcm963x +@@ -2218,6 +2262,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, }, diff --git a/target/linux/brcm63xx/patches-3.18/565-board_hw520.patch b/target/linux/brcm63xx/patches-3.18/565-board_hw520.patch index a10d33cca3..8f40612831 100644 --- a/target/linux/brcm63xx/patches-3.18/565-board_hw520.patch +++ b/target/linux/brcm63xx/patches-3.18/565-board_hw520.patch @@ -38,7 +38,7 @@ static struct board_info __initdata board_HW553 = { .name = "HW553", .expected_cpu_id = 0x6358, -@@ -2170,6 +2201,7 @@ static const struct board_info __initcon +@@ -2147,6 +2178,7 @@ static const struct board_info __initcon &board_nb4_ser_r0, &board_nb4_fxc_r1, &board_ct6373_1, @@ -46,7 +46,7 @@ &board_HW553, &board_HW556_A, &board_HW556_B, -@@ -2262,6 +2294,7 @@ static struct of_device_id const bcm963x +@@ -2239,6 +2271,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, }, diff --git a/target/linux/brcm63xx/patches-3.18/566-board_A4001N.patch b/target/linux/brcm63xx/patches-3.18/566-board_A4001N.patch index a9385ea1c5..f8a95e5f3c 100644 --- a/target/linux/brcm63xx/patches-3.18/566-board_A4001N.patch +++ b/target/linux/brcm63xx/patches-3.18/566-board_A4001N.patch @@ -51,7 +51,7 @@ static struct board_info __initdata board_A4001N1 = { .name = "963281T_TEF", .expected_cpu_id = 0x6328, -@@ -2152,6 +2196,7 @@ static const struct board_info __initcon +@@ -2129,6 +2173,7 @@ static const struct board_info __initcon &board_AR5381u, &board_AR5387un, &board_963281TAN, @@ -59,7 +59,7 @@ &board_A4001N1, &board_dsl_274xb_f1, &board_FAST2704V2, -@@ -2240,6 +2285,7 @@ static struct of_device_id const bcm963x +@@ -2217,6 +2262,7 @@ static struct of_device_id const bcm963x { .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, }, #endif #ifdef CONFIG_BCM63XX_CPU_6328 diff --git a/target/linux/brcm63xx/patches-3.18/567-board_dsl-2751b_e1.patch b/target/linux/brcm63xx/patches-3.18/567-board_dsl-2751b_e1.patch index dc2fcc3481..af22c2bce8 100644 --- a/target/linux/brcm63xx/patches-3.18/567-board_dsl-2751b_e1.patch +++ b/target/linux/brcm63xx/patches-3.18/567-board_dsl-2751b_e1.patch @@ -76,7 +76,7 @@ #endif /* CONFIG_BCM63XX_CPU_6318 */ /* -@@ -2190,6 +2259,7 @@ static const struct board_info __initcon +@@ -2167,6 +2236,7 @@ static const struct board_info __initcon #ifdef CONFIG_BCM63XX_CPU_6318 &board_96318ref, &board_96318ref_p300, @@ -84,7 +84,7 @@ #endif #ifdef CONFIG_BCM63XX_CPU_6328 &board_96328avng, -@@ -2283,6 +2353,7 @@ static struct of_device_id const bcm963x +@@ -2260,6 +2330,7 @@ static struct of_device_id const bcm963x #ifdef CONFIG_BCM63XX_CPU_6318 { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, }, { .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, }, diff --git a/target/linux/brcm63xx/patches-3.18/568-board_DGND3700v1_3800B.patch b/target/linux/brcm63xx/patches-3.18/568-board_DGND3700v1_3800B.patch index 250359b017..97e65d3be9 100644 --- a/target/linux/brcm63xx/patches-3.18/568-board_DGND3700v1_3800B.patch +++ b/target/linux/brcm63xx/patches-3.18/568-board_DGND3700v1_3800B.patch @@ -49,7 +49,7 @@ static struct sprom_fixup __initdata vr3025u_fixups[] = { { .offset = 97, .value = 0xfeb3 }, { .offset = 98, .value = 0x1618 }, -@@ -2333,6 +2375,7 @@ static const struct board_info __initcon +@@ -2310,6 +2352,7 @@ static const struct board_info __initcon #ifdef CONFIG_BCM63XX_CPU_6368 &board_96368mvwg, &board_96368mvngr, @@ -57,7 +57,7 @@ &board_P870HW51A_V2, &board_VR3025u, &board_VR3025un, -@@ -2435,6 +2478,7 @@ static struct of_device_id const bcm963x +@@ -2412,6 +2455,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, }, diff --git a/target/linux/brcm63xx/patches-3.18/569-board_homehub2a.patch b/target/linux/brcm63xx/patches-3.18/569-board_homehub2a.patch index 83f3b53fba..e7678a95ae 100644 --- a/target/linux/brcm63xx/patches-3.18/569-board_homehub2a.patch +++ b/target/linux/brcm63xx/patches-3.18/569-board_homehub2a.patch @@ -33,7 +33,7 @@ static struct board_info __initdata board_HW520 = { .name = "HW6358GW_B", .expected_cpu_id = 0x6358, -@@ -2358,6 +2384,7 @@ static const struct board_info __initcon +@@ -2335,6 +2361,7 @@ static const struct board_info __initcon &board_nb4_ser_r0, &board_nb4_fxc_r1, &board_ct6373_1, @@ -41,7 +41,7 @@ &board_HW520, &board_HW553, &board_HW556_A, -@@ -2467,6 +2494,7 @@ static struct of_device_id const bcm963x +@@ -2444,6 +2471,7 @@ static struct of_device_id const bcm963x { .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, }, { .compatible = "t-com,spw303v", .data = &board_spw303v, }, { .compatible = "telsey,cpva642", .data = &board_CPVA642, }, diff --git a/target/linux/brcm63xx/profiles/broadcom.mk b/target/linux/brcm63xx/profiles/broadcom.mk index 8a06a2db0b..520a676184 100644 --- a/target/linux/brcm63xx/profiles/broadcom.mk +++ b/target/linux/brcm63xx/profiles/broadcom.mk @@ -28,6 +28,15 @@ define Profile/BCM963268BU_P300 PACKAGES:= kmod-usb-ohci kmod-usb2 kmod-bcm63xx-udc endef define Profile/BCM963268BU_P300/Description - Package set optimized for the Broadcom BCM963268BU_P300 reference boar. + Package set optimized for the Broadcom BCM963268BU_P300 reference board. endef $(eval $(call Profile,BCM963268BU_P300)) + +define Profile/BCM963269BHR + NAME:=Broadcom BCM963269BHR reference board + PACKAGES:= kmod-usb-ohci kmod-usb2 kmod-bcm63xx-udc +endef +define Profile/BCM963269BHR/Description + Package set optimized for the Broadcom BCM963269BHR reference board. +endef +$(eval $(call Profile,BCM963269BHR))