summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtarget/linux/brcm63xx/base-files/lib/brcm63xx.sh3
-rw-r--r--target/linux/brcm63xx/dts/dsl-275xb-d.dts75
-rwxr-xr-xtarget/linux/brcm63xx/image/Makefile2
-rw-r--r--target/linux/brcm63xx/patches-3.18/567-board_dsl-2751b_e1.patch78
-rw-r--r--target/linux/brcm63xx/patches-3.18/568-board_DGND3700v1_3800B.patch6
-rw-r--r--target/linux/brcm63xx/patches-3.18/569-board_homehub2a.patch6
-rw-r--r--target/linux/brcm63xx/profiles/d-link.mk9
7 files changed, 105 insertions, 74 deletions
diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
index 159537d134..13406552c3 100755
--- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
+++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
@@ -120,6 +120,9 @@ brcm63xx_dt_detect() {
"D-Link DSL-2740B/DSL-2741B rev F1")
board_name="dsl-274xb-f"
;;
+ "D-Link DSL-2750B/DSL-2751 rev D1")
+ board_name="dsl-275xb-d"
+ ;;
"D-Link DVA-G3810BN/TL")
board_name="dva-g3810bn"
;;
diff --git a/target/linux/brcm63xx/dts/dsl-275xb-d.dts b/target/linux/brcm63xx/dts/dsl-275xb-d.dts
new file mode 100644
index 0000000000..44c4c5eafd
--- /dev/null
+++ b/target/linux/brcm63xx/dts/dsl-275xb-d.dts
@@ -0,0 +1,75 @@
+/dts-v1/;
+
+/include/ "bcm6318.dtsi"
+
+/ {
+ model = "D-Link DSL-2750B/DSL-2751 rev D1";
+ compatible = "d-link,dsl-275xb-d", "brcm,bcm6318";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ wifi {
+ label = "wifi";
+ gpios = <&gpio0 2 1>;
+ linux,code = <0xee>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio1 1 1>;
+ linux,code = <0x211>;
+ };
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 2 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power_green {
+ label = "dsl-275xb:green:power";
+ gpios = <&gpio0 3 1>;
+ default-state = "on";
+ };
+
+ inet_green {
+ label = "dsl-275xb:green:inet";
+ gpios = <&gpio0 8 1>;
+ };
+
+ inet_red {
+ label = "dsl-275xb:red:inet-fail";
+ gpios = <&gpio0 9 1>;
+ };
+
+ power_red {
+ label = "dsl-275xb:red:post-failed";
+ gpios = <&gpio0 11 1>;
+ };
+
+ wps_blue {
+ label = "dsl-275xb:blue:wps";
+ gpios = <&gpio0 16 1>;
+ };
+
+ dsl_green {
+ label = "dsl-275xb:green:dsl";
+ gpios = <&gpio0 17 1>;
+ };
+
+ usb_green {
+ /* not user controllable? */
+ label = "dsl-275xb:green:usb";
+ gpios = <&gpio1 17 1>;
+ };
+ };
+};
diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile
index 0727343ab7..ae84b1da09 100755
--- a/target/linux/brcm63xx/image/Makefile
+++ b/target/linux/brcm63xx/image/Makefile
@@ -339,6 +339,8 @@ $(eval $(call ImageDTB,CFEDTB,DSL274XB_C,DSL274XB-C3,dsl-274xb-c,AW4139,6358))
# D-Link DSL-2740B/DSL-2741B, rev F1
$(eval $(call ImageDTB,CFEDTB,DSL274XB_F,DSL274XB-F1-EU,dsl-274xb-f,AW4339U,6328,--signature2 "4.06.01.EUF1" --pad 4))
$(eval $(call ImageDTB,CFEDTB,DSL274XB_F,DSL274XB-F1-AU,dsl-274xb-f,AW4339U,6328,--signature2 "4.06.01.AUF1" --pad 4))
+# D-Link DSL-2750B/DSL-2751, rev D1
+$(eval $(call ImageDTB,Dummy,DSL275XB_D,DSL275XB-D1,dsl-275xb-d,AW5200U,6318, --pad 4))
# D-Link DVA-G3810BN/TL
$(eval $(call ImageDTB,CFEDTB,DVAG3810BN,DVAG3810BN,dva-g3810bn_tl,96358VW,6358))
# Davolink DV-201AMR
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 fe7b544cff..dc2fcc3481 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
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -156,6 +156,141 @@ static struct board_info __initdata boar
+@@ -156,6 +156,75 @@ static struct board_info __initdata boar
},
},
};
@@ -65,72 +65,6 @@
+ },
+ },
+
-+ .leds = {
-+ {
-+ .name = "dsl-275xb:green:power",
-+ .gpio = 3,
-+ .active_low = 1,
-+ .default_trigger = "default-on",
-+ },
-+ {
-+ .name = "dsl-275xb:green:inet",
-+ .gpio = 8,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-275xb:red:inet-fail",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-275xb:red:post-failed",
-+ .gpio = 11,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-275xb:wps:blue",
-+ .gpio = 16,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-275xb:green:dsl",
-+ .gpio = 17,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "dsl-275xb:green:usb",
-+ .gpio = 49, /* FIXME: does not work! */
-+ .active_low = 1,
-+ },
-+ },
-+
-+ .buttons = {
-+ {
-+ .desc = "wlan",
-+ .gpio = 2,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WLAN,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "wps",
-+ .gpio = 33,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ {
-+ .desc = "reset",
-+ .gpio = 34,
-+ .active_low = 1,
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
-+ },
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM43217,
+ .pci_bus = 1,
@@ -142,7 +76,7 @@
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -2190,6 +2325,7 @@ static const struct board_info __initcon
+@@ -2190,6 +2259,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,
@@ -150,3 +84,11 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
+@@ -2283,6 +2353,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, },
++ { .compatible = "d-link,dsl-275xb-d", .data = &board_dsl_2751b_d1, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ { .compatible = "adb,a4001n", .data = &board_A4001N, },
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 2eb6136f23..250359b017 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
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1928,6 +1928,48 @@ static struct board_info __initdata boar
+@@ -1862,6 +1862,48 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@@ -49,7 +49,7 @@
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
-@@ -2399,6 +2441,7 @@ static const struct board_info __initcon
+@@ -2333,6 +2375,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,
-@@ -2500,6 +2543,7 @@ static struct of_device_id const bcm963x
+@@ -2435,6 +2478,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 0f05d4cce0..83f3b53fba 100644
--- a/target/linux/brcm63xx/patches-3.18/569-board_homehub2a.patch
+++ b/target/linux/brcm63xx/patches-3.18/569-board_homehub2a.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1544,6 +1544,32 @@ static struct board_info __initdata boar
+@@ -1478,6 +1478,32 @@ static struct board_info __initdata boar
},
};
@@ -33,7 +33,7 @@
static struct board_info __initdata board_HW520 = {
.name = "HW6358GW_B",
.expected_cpu_id = 0x6358,
-@@ -2424,6 +2450,7 @@ static const struct board_info __initcon
+@@ -2358,6 +2384,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,
-@@ -2532,6 +2559,7 @@ static struct of_device_id const bcm963x
+@@ -2467,6 +2494,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/d-link.mk b/target/linux/brcm63xx/profiles/d-link.mk
index ede72b2325..1bd5fc8070 100644
--- a/target/linux/brcm63xx/profiles/d-link.mk
+++ b/target/linux/brcm63xx/profiles/d-link.mk
@@ -51,6 +51,15 @@ define Profile/DSL274XB_F/Description
endef
$(eval $(call Profile,DSL274XB_F))
+define Profile/DSL275XB_D
+ NAME:=D-Link DSL-2750B/DSL-2751 rev D1
+ PACKAGES:=kmod-b43 wpad-mini kmod-usb-ohci kmod-usb2
+endef
+define Profile/DSL275XB_D/Description
+ Package set optimized for DSL-2750B/DSL-2751 rev D1.
+endef
+$(eval $(call Profile,DSL275XB_D))
+
define Profile/DVAG3810BN
NAME:=D-Link DVA-G3810BN/TL
PACKAGES:=kmod-b43 wpad-mini \