diff mbox series

[OpenWrt-Devel] Add support for Inventel DV4210

Message ID 3020121.uscLunan1g@tool
State Changes Requested
Delegated to: John Crispin
Headers show
Series [OpenWrt-Devel] Add support for Inventel DV4210 | expand

Commit Message

Daniel González Cabanelas Sept. 22, 2019, 8:05 p.m. UTC
Add support for the Inventel DV4210 router.

This is an Inventel Livebox 1 board. The patch supports the board with a CFE bootloader, and
a RAM mod (64 MB, tested).  The board originally comes with 8 MB flash.  Under this conditions
this old BCM6348 based board still runs quite fine with current snapshots.

Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
---
 .../brcm63xx/base-files/etc/board.d/01_leds   |   1 +
 .../base-files/etc/board.d/02_network         |   2 +-
 target/linux/brcm63xx/base-files/etc/diag.sh  |   1 +
 .../linux/brcm63xx/base-files/lib/brcm63xx.sh |   3 +
 target/linux/brcm63xx/dts/dv4210.dts          | 102 ++++++++++++++++++
 target/linux/brcm63xx/image/bcm63xx.mk        |  13 +++
 .../patches-4.14/599-board_DV4210.patch       |  50 +++++++++
 7 files changed, 171 insertions(+), 1 deletion(-)
 create mode 100644 target/linux/brcm63xx/dts/dv4210.dts
 create mode 100644 target/linux/brcm63xx/patches-4.14/599-board_DV4210.patch

Comments

John Crispin Oct. 27, 2019, 1:05 p.m. UTC | #1
On 22/09/2019 22:05, Daniel Gonzalez Cabanelas wrote:
> Add support for the Inventel DV4210 router.
> 
> This is an Inventel Livebox 1 board. The patch supports the board with a CFE bootloader, and
> a RAM mod (64 MB, tested).  The board originally comes with 8 MB flash.  Under this conditions
> this old BCM6348 based board still runs quite fine with current snapshots.
> 

Hi,
thanks for the patch, the subject line needs to start with "brcm63xx:"
	John

> Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
> ---
>   .../brcm63xx/base-files/etc/board.d/01_leds   |   1 +
>   .../base-files/etc/board.d/02_network         |   2 +-
>   target/linux/brcm63xx/base-files/etc/diag.sh  |   1 +
>   .../linux/brcm63xx/base-files/lib/brcm63xx.sh |   3 +
>   target/linux/brcm63xx/dts/dv4210.dts          | 102 ++++++++++++++++++
>   target/linux/brcm63xx/image/bcm63xx.mk        |  13 +++
>   .../patches-4.14/599-board_DV4210.patch       |  50 +++++++++
>   7 files changed, 171 insertions(+), 1 deletion(-)
>   create mode 100644 target/linux/brcm63xx/dts/dv4210.dts
>   create mode 100644 target/linux/brcm63xx/patches-4.14/599-board_DV4210.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 d25d37e847..00109ba112 100755
> --- a/target/linux/brcm63xx/base-files/etc/board.d/01_leds
> +++ b/target/linux/brcm63xx/base-files/etc/board.d/01_leds
> @@ -69,6 +69,7 @@ homehub2a)
>   	ucidef_set_led_usbdev "usb1" "USB1" "HOMEHUB2A:blue:phone" "1-1"
>   	ucidef_set_led_usbdev "usb2" "USB2" "HOMEHUB2A:green:phone" "2-1"
>   	;;
> +dv4210|\
>   livebox1)
>   	ucidef_set_led_netdev "lan" "LAN" "Livebox1:red:traffic" "eth0"
>   	ucidef_set_led_netdev "wan" "WAN" "Livebox1:red:adsl" "eth1"
> 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 a2ca5a37b3..0e384f82f6 100755
> --- a/target/linux/brcm63xx/base-files/etc/board.d/02_network
> +++ b/target/linux/brcm63xx/base-files/etc/board.d/02_network
> @@ -145,8 +145,8 @@ bcm963268bu_p300)
>   	ucidef_add_switch "switch0" \
>   		"0:lan" "3:lan" "4:lan" "5:lan" "6:lan" "7:lan" "8t@eth0"
>   	;;
> -
>   cpva502p |\
> +dv4210 |\
>   livebox1)
>   	ucidef_set_interfaces_lan_wan "eth0" "eth1"
>   	;;
> diff --git a/target/linux/brcm63xx/base-files/etc/diag.sh b/target/linux/brcm63xx/base-files/etc/diag.sh
> index 34464ec44a..c673a75e40 100644
> --- a/target/linux/brcm63xx/base-files/etc/diag.sh
> +++ b/target/linux/brcm63xx/base-files/etc/diag.sh
> @@ -114,6 +114,7 @@ set_state() {
>   	hg655b)
>   		status_led="HW65x:green:power"
>   		;;
> +	dv4210|\
>   	livebox1)
>   		status_led="Livebox1:red:adsl-fail-power"
>   		;;
> diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
> index 1676ae0abb..9c0c33cc31 100755
> --- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
> +++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
> @@ -177,6 +177,9 @@ brcm63xx_dt_detect() {
>   	"Inteno VG50")
>   		board_name="vg50"
>   		;;
> +	"Inventel DV4210")
> +		board_name="dv4210"
> +		;;
>   	"Inventel Livebox 1")
>   		board_name="livebox1"
>   		;;
> diff --git a/target/linux/brcm63xx/dts/dv4210.dts b/target/linux/brcm63xx/dts/dv4210.dts
> new file mode 100644
> index 0000000000..02975fe3b6
> --- /dev/null
> +++ b/target/linux/brcm63xx/dts/dv4210.dts
> @@ -0,0 +1,102 @@
> +/dts-v1/;
> +
> +#include "bcm6348.dtsi"
> +
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> +	model = "Inventel DV4210";
> +	compatible = "inventel,dv4210", "brcm,bcm6348";
> +
> +	chosen {
> +		bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	keys {
> +		compatible = "gpio-keys-polled";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		poll-interval = <20>;
> +
> +		button1 {
> +			label = "1";
> +			gpios = <&pinctrl 36 1>;
> +			linux,code = <KEY_RESTART>;
> +			debounce-interval = <60>;
> +		};
> +
> +		button2 {
> +			label = "2";
> +			gpios = <&pinctrl 7 1>;
> +			linux,code = <BTN_2>;
> +			debounce-interval = <60>;
> +		};
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		red_adsl_fail {
> +			label = "Livebox1:red:adsl-fail-power";
> +			gpios = <&pinctrl 0 0>;
> +			default-state = "on";
> +		};
> +
> +		red_adsl {
> +			label = "Livebox1:red:adsl";
> +			gpios = <&pinctrl 1 0>;
> +		};
> +
> +		red_traffic {
> +			label = "Livebox1:red:traffic";
> +			gpios = <&pinctrl 2 0>;
> +		};
> +
> +		red_phone {
> +			label = "Livebox1:red:phone";
> +			gpios = <&pinctrl 3 0>;
> +		};
> +
> +		red_wifi {
> +			label = "Livebox1:red:wifi";
> +			gpios = <&pinctrl 4 0>;
> +		};
> +	};
> +};
> +
> +&pflash {
> +	reg = <0x1f400000 0x800000>;
> +	status = "ok";
> +
> +	partitions {
> +		compatible = "fixed-partitions";
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +
> +		cfe@0 {
> +			reg = <0x000000 0x010000>;
> +			label = "cfe";
> +		};
> +
> +		linux@10000 {
> +			reg = <0x010000 0x7e0000>;
> +			label = "linux";
> +			compatible = "brcm,bcm963xx-imagetag";
> +		};
> +
> +		nvram@7f0000 {
> +			reg = <0x7f0000 0x010000>;
> +			label = "nvram";
> +		};
> +	};
> +};
> +
> +&pinctrl {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii &pinctrl_mii_pccard>;
> +};
> +
> +&uart0 {
> +	status = "ok";
> +};
> diff --git a/target/linux/brcm63xx/image/bcm63xx.mk b/target/linux/brcm63xx/image/bcm63xx.mk
> index 212960e972..690ffb49fa 100644
> --- a/target/linux/brcm63xx/image/bcm63xx.mk
> +++ b/target/linux/brcm63xx/image/bcm63xx.mk
> @@ -769,6 +769,19 @@ define Device/livebox
>   endef
>   TARGET_DEVICES += livebox
>   
> +define Device/DV4210
> +  $(Device/bcm63xx)
> +  DEVICE_TITLE := Inventel DV4210
> +  DEVICE_DESCRIPTION = Build firmware images for the Inventel DV4210. Board with CFE bootloader and >32MB RAM
> +  DEVICE_DTS := dv4210
> +  CFE_BOARD_ID := DV4210
> +  CFE_CHIP_ID := 6348
> +  DEVICE_PACKAGES := \
> +    $(B43_PACKAGES) $(USB1_PACKAGES)
> +  DEFAULT := y
> +endef
> +TARGET_DEVICES += DV4210
> +
>   ### Netgear ###
>   define Device/CVG834G
>     $(Device/bcm33xx)
> diff --git a/target/linux/brcm63xx/patches-4.14/599-board_DV4210.patch b/target/linux/brcm63xx/patches-4.14/599-board_DV4210.patch
> new file mode 100644
> index 0000000000..618a214d63
> --- /dev/null
> +++ b/target/linux/brcm63xx/patches-4.14/599-board_DV4210.patch
> @@ -0,0 +1,50 @@
> +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
> ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
> +@@ -1058,6 +1058,31 @@
> + 	},
> + };
> +
> ++static struct board_info __initdata board_DV4210 = {
> ++	.name				= "DV4210",
> ++	.expected_cpu_id		= 0x6348,
> ++
> ++	.has_enet0			= 1,
> ++	.has_enet1			= 1,
> ++	.has_pci			= 1,
> ++
> ++	.enet0 = {
> ++		.has_phy		= 1,
> ++		.use_internal_phy	= 1,
> ++	},
> ++
> ++	.enet1 = {
> ++		  .has_phy		= 1,
> ++		  .phy_id 		= 31,
> ++	},
> ++
> ++	.ephy_reset_gpio		= 6,
> ++	.ephy_reset_gpio_flags	= GPIO_ACTIVE_LOW,
> ++
> ++	.has_ohci0			= 1,
> ++	.has_pccard			= 0,
> ++};
> ++
> + static struct board_info __initdata board_96348A_122 = {
> + 	.name				= "96348A-122",
> + 	.expected_cpu_id		= 0x6348,
> +@@ -2746,6 +2771,7 @@
> + 	&board_FAST2404,
> + 	&board_FAST2604,
> + 	&board_DV201AMR,
> ++	&board_DV4210,
> + 	&board_96348gw_a,
> + 	&board_rta1025w_16,
> + 	&board_96348_D4PW,
> +@@ -2859,6 +2885,7 @@
> + 	{ .compatible = "d-link,dsl-2640b-b", .data = &board_96348_D4PW, },
> + 	{ .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
> + 	{ .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
> ++	{ .compatible = "inventel,dv4210", .data = &board_DV4210, },
> + 	{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
> +  	{ .compatible = "netgear,dg834g-v4", .data = &board_96348W3, },
> + 	{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
>
Daniel González Cabanelas Oct. 27, 2019, 1:21 p.m. UTC | #2
Sorry, I forgot to add the the target. I'll send again the patch

Thanks very much.



El dom., 27 oct. 2019 a las 14:05, John Crispin (<john@phrozen.org>)
escribió:

> On 22/09/2019 22:05, Daniel Gonzalez Cabanelas wrote:
> > Add support for the Inventel DV4210 router.
> >
> > This is an Inventel Livebox 1 board. The patch supports the board with a
> CFE bootloader, and
> > a RAM mod (64 MB, tested).  The board originally comes with 8 MB flash.
> Under this conditions
> > this old BCM6348 based board still runs quite fine with current
> snapshots.
> >
>
> Hi,
> thanks for the patch, the subject line needs to start with "brcm63xx:"
>         John
>
> > Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
> > ---
> >   .../brcm63xx/base-files/etc/board.d/01_leds   |   1 +
> >   .../base-files/etc/board.d/02_network         |   2 +-
> >   target/linux/brcm63xx/base-files/etc/diag.sh  |   1 +
> >   .../linux/brcm63xx/base-files/lib/brcm63xx.sh |   3 +
> >   target/linux/brcm63xx/dts/dv4210.dts          | 102 ++++++++++++++++++
> >   target/linux/brcm63xx/image/bcm63xx.mk        |  13 +++
> >   .../patches-4.14/599-board_DV4210.patch       |  50 +++++++++
> >   7 files changed, 171 insertions(+), 1 deletion(-)
> >   create mode 100644 target/linux/brcm63xx/dts/dv4210.dts
> >   create mode 100644
> target/linux/brcm63xx/patches-4.14/599-board_DV4210.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 d25d37e847..00109ba112 100755
> > --- a/target/linux/brcm63xx/base-files/etc/board.d/01_leds
> > +++ b/target/linux/brcm63xx/base-files/etc/board.d/01_leds
> > @@ -69,6 +69,7 @@ homehub2a)
> >       ucidef_set_led_usbdev "usb1" "USB1" "HOMEHUB2A:blue:phone" "1-1"
> >       ucidef_set_led_usbdev "usb2" "USB2" "HOMEHUB2A:green:phone" "2-1"
> >       ;;
> > +dv4210|\
> >   livebox1)
> >       ucidef_set_led_netdev "lan" "LAN" "Livebox1:red:traffic" "eth0"
> >       ucidef_set_led_netdev "wan" "WAN" "Livebox1:red:adsl" "eth1"
> > 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 a2ca5a37b3..0e384f82f6 100755
> > --- a/target/linux/brcm63xx/base-files/etc/board.d/02_network
> > +++ b/target/linux/brcm63xx/base-files/etc/board.d/02_network
> > @@ -145,8 +145,8 @@ bcm963268bu_p300)
> >       ucidef_add_switch "switch0" \
> >               "0:lan" "3:lan" "4:lan" "5:lan" "6:lan" "7:lan" "8t@eth0"
> >       ;;
> > -
> >   cpva502p |\
> > +dv4210 |\
> >   livebox1)
> >       ucidef_set_interfaces_lan_wan "eth0" "eth1"
> >       ;;
> > diff --git a/target/linux/brcm63xx/base-files/etc/diag.sh
> b/target/linux/brcm63xx/base-files/etc/diag.sh
> > index 34464ec44a..c673a75e40 100644
> > --- a/target/linux/brcm63xx/base-files/etc/diag.sh
> > +++ b/target/linux/brcm63xx/base-files/etc/diag.sh
> > @@ -114,6 +114,7 @@ set_state() {
> >       hg655b)
> >               status_led="HW65x:green:power"
> >               ;;
> > +     dv4210|\
> >       livebox1)
> >               status_led="Livebox1:red:adsl-fail-power"
> >               ;;
> > diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
> b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
> > index 1676ae0abb..9c0c33cc31 100755
> > --- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
> > +++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
> > @@ -177,6 +177,9 @@ brcm63xx_dt_detect() {
> >       "Inteno VG50")
> >               board_name="vg50"
> >               ;;
> > +     "Inventel DV4210")
> > +             board_name="dv4210"
> > +             ;;
> >       "Inventel Livebox 1")
> >               board_name="livebox1"
> >               ;;
> > diff --git a/target/linux/brcm63xx/dts/dv4210.dts
> b/target/linux/brcm63xx/dts/dv4210.dts
> > new file mode 100644
> > index 0000000000..02975fe3b6
> > --- /dev/null
> > +++ b/target/linux/brcm63xx/dts/dv4210.dts
> > @@ -0,0 +1,102 @@
> > +/dts-v1/;
> > +
> > +#include "bcm6348.dtsi"
> > +
> > +#include <dt-bindings/input/input.h>
> > +
> > +/ {
> > +     model = "Inventel DV4210";
> > +     compatible = "inventel,dv4210", "brcm,bcm6348";
> > +
> > +     chosen {
> > +             bootargs = "rootfstype=squashfs,jffs2 noinitrd
> console=ttyS0,115200";
> > +             stdout-path = "serial0:115200n8";
> > +     };
> > +
> > +     keys {
> > +             compatible = "gpio-keys-polled";
> > +             #address-cells = <1>;
> > +             #size-cells = <0>;
> > +             poll-interval = <20>;
> > +
> > +             button1 {
> > +                     label = "1";
> > +                     gpios = <&pinctrl 36 1>;
> > +                     linux,code = <KEY_RESTART>;
> > +                     debounce-interval = <60>;
> > +             };
> > +
> > +             button2 {
> > +                     label = "2";
> > +                     gpios = <&pinctrl 7 1>;
> > +                     linux,code = <BTN_2>;
> > +                     debounce-interval = <60>;
> > +             };
> > +     };
> > +
> > +     leds {
> > +             compatible = "gpio-leds";
> > +
> > +             red_adsl_fail {
> > +                     label = "Livebox1:red:adsl-fail-power";
> > +                     gpios = <&pinctrl 0 0>;
> > +                     default-state = "on";
> > +             };
> > +
> > +             red_adsl {
> > +                     label = "Livebox1:red:adsl";
> > +                     gpios = <&pinctrl 1 0>;
> > +             };
> > +
> > +             red_traffic {
> > +                     label = "Livebox1:red:traffic";
> > +                     gpios = <&pinctrl 2 0>;
> > +             };
> > +
> > +             red_phone {
> > +                     label = "Livebox1:red:phone";
> > +                     gpios = <&pinctrl 3 0>;
> > +             };
> > +
> > +             red_wifi {
> > +                     label = "Livebox1:red:wifi";
> > +                     gpios = <&pinctrl 4 0>;
> > +             };
> > +     };
> > +};
> > +
> > +&pflash {
> > +     reg = <0x1f400000 0x800000>;
> > +     status = "ok";
> > +
> > +     partitions {
> > +             compatible = "fixed-partitions";
> > +             #address-cells = <1>;
> > +             #size-cells = <1>;
> > +
> > +             cfe@0 {
> > +                     reg = <0x000000 0x010000>;
> > +                     label = "cfe";
> > +             };
> > +
> > +             linux@10000 {
> > +                     reg = <0x010000 0x7e0000>;
> > +                     label = "linux";
> > +                     compatible = "brcm,bcm963xx-imagetag";
> > +             };
> > +
> > +             nvram@7f0000 {
> > +                     reg = <0x7f0000 0x010000>;
> > +                     label = "nvram";
> > +             };
> > +     };
> > +};
> > +
> > +&pinctrl {
> > +     pinctrl-names = "default";
> > +     pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii &pinctrl_mii_pccard>;
> > +};
> > +
> > +&uart0 {
> > +     status = "ok";
> > +};
> > diff --git a/target/linux/brcm63xx/image/bcm63xx.mk
> b/target/linux/brcm63xx/image/bcm63xx.mk
> > index 212960e972..690ffb49fa 100644
> > --- a/target/linux/brcm63xx/image/bcm63xx.mk
> > +++ b/target/linux/brcm63xx/image/bcm63xx.mk
> > @@ -769,6 +769,19 @@ define Device/livebox
> >   endef
> >   TARGET_DEVICES += livebox
> >
> > +define Device/DV4210
> > +  $(Device/bcm63xx)
> > +  DEVICE_TITLE := Inventel DV4210
> > +  DEVICE_DESCRIPTION = Build firmware images for the Inventel DV4210.
> Board with CFE bootloader and >32MB RAM
> > +  DEVICE_DTS := dv4210
> > +  CFE_BOARD_ID := DV4210
> > +  CFE_CHIP_ID := 6348
> > +  DEVICE_PACKAGES := \
> > +    $(B43_PACKAGES) $(USB1_PACKAGES)
> > +  DEFAULT := y
> > +endef
> > +TARGET_DEVICES += DV4210
> > +
> >   ### Netgear ###
> >   define Device/CVG834G
> >     $(Device/bcm33xx)
> > diff --git a/target/linux/brcm63xx/patches-4.14/599-board_DV4210.patch
> b/target/linux/brcm63xx/patches-4.14/599-board_DV4210.patch
> > new file mode 100644
> > index 0000000000..618a214d63
> > --- /dev/null
> > +++ b/target/linux/brcm63xx/patches-4.14/599-board_DV4210.patch
> > @@ -0,0 +1,50 @@
> > +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
> > ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
> > +@@ -1058,6 +1058,31 @@
> > +     },
> > + };
> > +
> > ++static struct board_info __initdata board_DV4210 = {
> > ++    .name                           = "DV4210",
> > ++    .expected_cpu_id                = 0x6348,
> > ++
> > ++    .has_enet0                      = 1,
> > ++    .has_enet1                      = 1,
> > ++    .has_pci                        = 1,
> > ++
> > ++    .enet0 = {
> > ++            .has_phy                = 1,
> > ++            .use_internal_phy       = 1,
> > ++    },
> > ++
> > ++    .enet1 = {
> > ++              .has_phy              = 1,
> > ++              .phy_id               = 31,
> > ++    },
> > ++
> > ++    .ephy_reset_gpio                = 6,
> > ++    .ephy_reset_gpio_flags  = GPIO_ACTIVE_LOW,
> > ++
> > ++    .has_ohci0                      = 1,
> > ++    .has_pccard                     = 0,
> > ++};
> > ++
> > + static struct board_info __initdata board_96348A_122 = {
> > +     .name                           = "96348A-122",
> > +     .expected_cpu_id                = 0x6348,
> > +@@ -2746,6 +2771,7 @@
> > +     &board_FAST2404,
> > +     &board_FAST2604,
> > +     &board_DV201AMR,
> > ++    &board_DV4210,
> > +     &board_96348gw_a,
> > +     &board_rta1025w_16,
> > +     &board_96348_D4PW,
> > +@@ -2859,6 +2885,7 @@
> > +     { .compatible = "d-link,dsl-2640b-b", .data = &board_96348_D4PW, },
> > +     { .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
> > +     { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
> > ++    { .compatible = "inventel,dv4210", .data = &board_DV4210, },
> > +     { .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
> > +     { .compatible = "netgear,dg834g-v4", .data = &board_96348W3, },
> > +     { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
> >
>
>
diff mbox series

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 d25d37e847..00109ba112 100755
--- a/target/linux/brcm63xx/base-files/etc/board.d/01_leds
+++ b/target/linux/brcm63xx/base-files/etc/board.d/01_leds
@@ -69,6 +69,7 @@  homehub2a)
 	ucidef_set_led_usbdev "usb1" "USB1" "HOMEHUB2A:blue:phone" "1-1"
 	ucidef_set_led_usbdev "usb2" "USB2" "HOMEHUB2A:green:phone" "2-1"
 	;;
+dv4210|\
 livebox1)
 	ucidef_set_led_netdev "lan" "LAN" "Livebox1:red:traffic" "eth0"
 	ucidef_set_led_netdev "wan" "WAN" "Livebox1:red:adsl" "eth1"
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 a2ca5a37b3..0e384f82f6 100755
--- a/target/linux/brcm63xx/base-files/etc/board.d/02_network
+++ b/target/linux/brcm63xx/base-files/etc/board.d/02_network
@@ -145,8 +145,8 @@  bcm963268bu_p300)
 	ucidef_add_switch "switch0" \
 		"0:lan" "3:lan" "4:lan" "5:lan" "6:lan" "7:lan" "8t@eth0"
 	;;
-
 cpva502p |\
+dv4210 |\
 livebox1)
 	ucidef_set_interfaces_lan_wan "eth0" "eth1"
 	;;
diff --git a/target/linux/brcm63xx/base-files/etc/diag.sh b/target/linux/brcm63xx/base-files/etc/diag.sh
index 34464ec44a..c673a75e40 100644
--- a/target/linux/brcm63xx/base-files/etc/diag.sh
+++ b/target/linux/brcm63xx/base-files/etc/diag.sh
@@ -114,6 +114,7 @@  set_state() {
 	hg655b)
 		status_led="HW65x:green:power"
 		;;
+	dv4210|\
 	livebox1)
 		status_led="Livebox1:red:adsl-fail-power"
 		;;
diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
index 1676ae0abb..9c0c33cc31 100755
--- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
+++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
@@ -177,6 +177,9 @@  brcm63xx_dt_detect() {
 	"Inteno VG50")
 		board_name="vg50"
 		;;
+	"Inventel DV4210")
+		board_name="dv4210"
+		;;
 	"Inventel Livebox 1")
 		board_name="livebox1"
 		;;
diff --git a/target/linux/brcm63xx/dts/dv4210.dts b/target/linux/brcm63xx/dts/dv4210.dts
new file mode 100644
index 0000000000..02975fe3b6
--- /dev/null
+++ b/target/linux/brcm63xx/dts/dv4210.dts
@@ -0,0 +1,102 @@ 
+/dts-v1/;
+
+#include "bcm6348.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+	model = "Inventel DV4210";
+	compatible = "inventel,dv4210", "brcm,bcm6348";
+
+	chosen {
+		bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+		stdout-path = "serial0:115200n8";
+	};
+
+	keys {
+		compatible = "gpio-keys-polled";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		poll-interval = <20>;
+
+		button1 {
+			label = "1";
+			gpios = <&pinctrl 36 1>;
+			linux,code = <KEY_RESTART>;
+			debounce-interval = <60>;
+		};
+
+		button2 {
+			label = "2";
+			gpios = <&pinctrl 7 1>;
+			linux,code = <BTN_2>;
+			debounce-interval = <60>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		red_adsl_fail {
+			label = "Livebox1:red:adsl-fail-power";
+			gpios = <&pinctrl 0 0>;
+			default-state = "on";
+		};
+
+		red_adsl {
+			label = "Livebox1:red:adsl";
+			gpios = <&pinctrl 1 0>;
+		};
+
+		red_traffic {
+			label = "Livebox1:red:traffic";
+			gpios = <&pinctrl 2 0>;
+		};
+
+		red_phone {
+			label = "Livebox1:red:phone";
+			gpios = <&pinctrl 3 0>;
+		};
+
+		red_wifi {
+			label = "Livebox1:red:wifi";
+			gpios = <&pinctrl 4 0>;
+		};
+	};
+};
+
+&pflash {
+	reg = <0x1f400000 0x800000>;
+	status = "ok";
+
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		cfe@0 {
+			reg = <0x000000 0x010000>;
+			label = "cfe";
+		};
+
+		linux@10000 {
+			reg = <0x010000 0x7e0000>;
+			label = "linux";
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram@7f0000 {
+			reg = <0x7f0000 0x010000>;
+			label = "nvram";
+		};
+	};
+};
+
+&pinctrl {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii &pinctrl_mii_pccard>;
+};
+
+&uart0 {
+	status = "ok";
+};
diff --git a/target/linux/brcm63xx/image/bcm63xx.mk b/target/linux/brcm63xx/image/bcm63xx.mk
index 212960e972..690ffb49fa 100644
--- a/target/linux/brcm63xx/image/bcm63xx.mk
+++ b/target/linux/brcm63xx/image/bcm63xx.mk
@@ -769,6 +769,19 @@  define Device/livebox
 endef
 TARGET_DEVICES += livebox
 
+define Device/DV4210
+  $(Device/bcm63xx)
+  DEVICE_TITLE := Inventel DV4210
+  DEVICE_DESCRIPTION = Build firmware images for the Inventel DV4210. Board with CFE bootloader and >32MB RAM
+  DEVICE_DTS := dv4210
+  CFE_BOARD_ID := DV4210
+  CFE_CHIP_ID := 6348
+  DEVICE_PACKAGES := \
+    $(B43_PACKAGES) $(USB1_PACKAGES)
+  DEFAULT := y
+endef
+TARGET_DEVICES += DV4210
+
 ### Netgear ###
 define Device/CVG834G
   $(Device/bcm33xx)
diff --git a/target/linux/brcm63xx/patches-4.14/599-board_DV4210.patch b/target/linux/brcm63xx/patches-4.14/599-board_DV4210.patch
new file mode 100644
index 0000000000..618a214d63
--- /dev/null
+++ b/target/linux/brcm63xx/patches-4.14/599-board_DV4210.patch
@@ -0,0 +1,50 @@ 
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1058,6 +1058,31 @@
+ 	},
+ };
+ 
++static struct board_info __initdata board_DV4210 = {
++	.name				= "DV4210",
++	.expected_cpu_id		= 0x6348,
++
++	.has_enet0			= 1,
++	.has_enet1			= 1,
++	.has_pci			= 1,
++
++	.enet0 = {
++		.has_phy		= 1,
++		.use_internal_phy	= 1,
++	},
++
++	.enet1 = {
++		  .has_phy		= 1,
++		  .phy_id 		= 31,
++	},
++
++	.ephy_reset_gpio		= 6,
++	.ephy_reset_gpio_flags	= GPIO_ACTIVE_LOW,
++
++	.has_ohci0			= 1,
++	.has_pccard			= 0,
++};
++
+ static struct board_info __initdata board_96348A_122 = {
+ 	.name				= "96348A-122",
+ 	.expected_cpu_id		= 0x6348,
+@@ -2746,6 +2771,7 @@
+ 	&board_FAST2404,
+ 	&board_FAST2604,
+ 	&board_DV201AMR,
++	&board_DV4210,
+ 	&board_96348gw_a,
+ 	&board_rta1025w_16,
+ 	&board_96348_D4PW,
+@@ -2859,6 +2885,7 @@
+ 	{ .compatible = "d-link,dsl-2640b-b", .data = &board_96348_D4PW, },
+ 	{ .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
+ 	{ .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
++	{ .compatible = "inventel,dv4210", .data = &board_DV4210, },
+ 	{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
+  	{ .compatible = "netgear,dg834g-v4", .data = &board_96348W3, },
+ 	{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },