diff --git a/target/linux/bcm63xx/base-files/etc/board.d/01_leds b/target/linux/bcm63xx/base-files/etc/board.d/01_leds
index 907a425d167739d8caca634429ea82b5db9a79ec..91d67f0c0bf7ac5692643bc0cfb624d682db5b12 100755
--- a/target/linux/bcm63xx/base-files/etc/board.d/01_leds
+++ b/target/linux/bcm63xx/base-files/etc/board.d/01_leds
@@ -21,6 +21,12 @@ adb,a4001n1)
 	ucidef_set_led_netdev "lan" "LAN" "A4001N1:green:eth" "eth0"
 	ucidef_set_led_usbdev "usb" "USB" "A4001N1:green:3g" "1-1"
 	;;
+adb,pdg-a4001n-a-000-1a1-ax)
+	ucidef_set_led_netdev "lan" "LAN" "$model:green:internet" "eth0.1"
+	ucidef_set_led_netdev "wan" "WAN" "$model:green:adsl" "eth0.2"
+	ucidef_set_led_netdev "wlan0" "WIFI" "$model:green:wifi" "wlan0"
+	ucidef_set_led_usbdev "usb" "USB" "$model:green:service" "1-1"
+	;;
 adb,av4202n)
 	ucidef_set_led_netdev "wlan0" "WLAN" "AV4202N:blue:wifi" "wlan0"
 	;;
diff --git a/target/linux/bcm63xx/base-files/etc/board.d/02_network b/target/linux/bcm63xx/base-files/etc/board.d/02_network
index a3788adac2a661da100f28c16bd31e011c359390..784af29cb4fab435bc28fe6eac7f1debca15c835 100755
--- a/target/linux/bcm63xx/base-files/etc/board.d/02_network
+++ b/target/linux/bcm63xx/base-files/etc/board.d/02_network
@@ -20,6 +20,7 @@ t-com,speedport-w-500v)
 	;;
 adb,a4001n1|\
 adb,a4001n|\
+adb,pdg-a4001n-a-000-1a1-ax|\
 adb,av4202n|\
 brcm,bcm963281tan|\
 brcm,bcm96328avng|\
diff --git a/target/linux/bcm63xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bcm63xx/base-files/etc/uci-defaults/09_fix_crc
index 813b51fb52c79ec6fa84da8dfd230bd796312309..3fcf40434f47bf6b1aed982b10a868aadce30b1b 100644
--- a/target/linux/bcm63xx/base-files/etc/uci-defaults/09_fix_crc
+++ b/target/linux/bcm63xx/base-files/etc/uci-defaults/09_fix_crc
@@ -14,6 +14,7 @@ case "$(board_name)" in
 	actiontec,r1000h|\
 	adb,a4001n|\
 	adb,a4001n1|\
+	adb,pdg-a4001n-a-000-1a1-ax|\
 	brcm,bcm96328avng|\
 	brcm,bcm963281tan|\
 	bt,voyager-2110|\
diff --git a/target/linux/bcm63xx/dts/bcm6328-adb-pdg-a4001n-a-000-1a1-ax.dts b/target/linux/bcm63xx/dts/bcm6328-adb-pdg-a4001n-a-000-1a1-ax.dts
new file mode 100644
index 0000000000000000000000000000000000000000..8a6a8b58a2c34be0ea0502287128a52fb6f8a519
--- /dev/null
+++ b/target/linux/bcm63xx/dts/bcm6328-adb-pdg-a4001n-a-000-1a1-ax.dts
@@ -0,0 +1,166 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+/dts-v1/;
+
+#include "bcm6328.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+	model = "ADB P.DG A4001N A-000-1A1-AX";
+	compatible = "adb,pdg-a4001n-a-000-1a1-ax", "brcm,bcm6328";
+
+	aliases {
+		led-boot = &led_power_green;
+		led-failsafe = &led_power_green;
+		led-running = &led_power_green;
+		led-upgrade = &led_power_green;
+	};
+
+	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>;
+
+		reset {
+			label = "reset";
+			gpios = <&pinctrl 23 1>;
+			linux,code = <KEY_RESTART>;
+			debounce-interval = <60>;
+		};
+
+		wps {
+			label = "wifi-led";
+			gpios = <&pinctrl 24 1>;
+			linux,code = <KEY_WPS_BUTTON>;
+			debounce-interval = <60>;
+		};
+	};
+};
+
+&leds {
+	status = "okay";
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_leds>;
+
+	led@2 {
+		reg = <2>;
+		active-low;
+		label = "pdg-a4001n-a-000-1a1-ax:red:internet";
+	};
+
+	led@3 {
+		reg = <3>;
+		active-low;
+		label = "pdg-a4001n-a-000-1a1-ax:green:adsl";
+	};
+
+	led@5 {
+		reg = <5>;
+		active-low;
+		label = "pdg-a4001n-a-000-1a1-ax:red:adsl";
+	};
+
+	led@6 {
+		reg = <6>;
+		active-low;
+		label = "pdg-a4001n-a-000-1a1-ax:green:service";
+	};
+
+	led@7 {
+		reg = <7>;
+		active-low;
+		label = "pdg-a4001n-a-000-1a1-ax:red:service";
+	};
+
+	led@8 {
+		reg = <8>;
+		active-low;
+		label = "pdg-a4001n-a-000-1a1-ax:red:power";
+	};
+
+	led@9 {
+		reg = <9>;
+		active-low;
+		label = "pdg-a4001n-a-000-1a1-ax:green:wifi";
+	};
+
+	led@10 {
+		reg = <10>;
+		active-low;
+		label = "pdg-a4001n-a-000-1a1-ax:red:wifi";
+	};
+
+	led@11 {
+		reg = <11>;
+		active-low;
+		label = "pdg-a4001n-a-000-1a1-ax:green:internet";
+	};
+
+	led_power_green: led@12 {
+		reg = <12>;
+		active-low;
+		label = "pdg-a4001n-a-000-1a1-ax:green:power";
+		default-state = "on";
+	};
+};
+
+&hsspi {
+	status = "okay";
+
+	flash@0 {
+		compatible = "jedec,spi-nor";
+		spi-max-frequency = <16666667>;
+		spi-tx-bus-width = <2>;
+		spi-rx-bus-width = <2>;
+		reg = <0>;
+
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition@0 {
+				reg = <0x000000 0x010000>;
+				label = "cfe";
+				read-only;
+			};
+
+			partition@10000 {
+				reg = <0x010000 0xfe0000>;
+				label = "linux";
+				compatible = "brcm,bcm963xx-imagetag";
+			};
+
+			partition@ff0000 {
+				reg = <0xff0000 0x010000>;
+				label = "nvram";
+			};
+		};
+	};
+};
+
+&pinctrl {
+	pinctrl_leds: leds {
+		function = "led";
+		pins = "gpio2", "gpio3",
+		       "gpio5", "gpio6",
+		       "gpio7", "gpio8",
+		       "gpio9", "gpio10",
+		       "gpio11", "gpio12";
+	};
+};
+
+&uart0 {
+	status = "okay";
+};
diff --git a/target/linux/bcm63xx/image/bcm63xx.mk b/target/linux/bcm63xx/image/bcm63xx.mk
index 219eff5183f8630cb94bd186150623563c08efc6..2627cbb50986c4c0301bab4ae42c965129f0c794 100644
--- a/target/linux/bcm63xx/image/bcm63xx.mk
+++ b/target/linux/bcm63xx/image/bcm63xx.mk
@@ -220,6 +220,18 @@ define Device/adb_a4001n1
 endef
 TARGET_DEVICES += adb_a4001n1
 
+define Device/adb_pdg-a4001n-a-000-1a1-ax
+  $(Device/bcm63xx)
+  DEVICE_VENDOR := ADB
+  DEVICE_MODEL := P.DG A4001N A-000-1A1-AX
+  IMAGES += sysupgrade.bin
+  CFE_BOARD_ID := 96328avng
+  CHIP_ID := 6328
+  FLASH_MB := 16
+  DEVICE_PACKAGES := $(USB2_PACKAGES) $(B43_PACKAGES)
+endef
+TARGET_DEVICES += adb_pdg-a4001n-a-000-1a1-ax
+
 define Device/adb_av4202n
   $(Device/bcm63xx)
   DEVICE_VENDOR := ADB
diff --git a/target/linux/bcm63xx/patches-5.4/567-board-adb_pdg-a4001n-a-000-1a1-ax.patch b/target/linux/bcm63xx/patches-5.4/567-board-adb_pdg-a4001n-a-000-1a1-ax.patch
new file mode 100644
index 0000000000000000000000000000000000000000..3976527b37ea03d38da8b310da554b21c28973ba
--- /dev/null
+++ b/target/linux/bcm63xx/patches-5.4/567-board-adb_pdg-a4001n-a-000-1a1-ax.patch
@@ -0,0 +1,68 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -627,6 +627,49 @@ static struct board_info __initdata boar
+ 	},
+ };
+ 
++static struct board_info __initdata board_PDG_A4001N_A_000_1A1_AX = {
++	.name					= "96328avng",
++	.expected_cpu_id			= 0x6328,
++
++	.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_BCM43225,
++		.pci_bus			= 1,
++		.pci_dev			= 0,
++	},
++};
++
+ static struct board_info __initdata board_A4001N1 = {
+ 	.name					= "963281T_TEF",
+ 	.expected_cpu_id			= 0x6328,
+@@ -2849,6 +2892,7 @@ static const struct board_info __initcon
+ 	&board_AR5387un,
+ 	&board_963281TAN,
+ 	&board_A4001N,
++	&board_PDG_A4001N_A_000_1A1_AX,
+ 	&board_A4001N1,
+ 	&board_dsl_274xb_f1,
+ 	&board_FAST2704V2,
+@@ -2957,6 +3001,7 @@ static struct of_device_id const bcm963x
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ 	{ .compatible = "adb,a4001n", .data = &board_A4001N, },
+ 	{ .compatible = "adb,a4001n1", .data = &board_A4001N1, },
++	{ .compatible = "adb,pdg-a4001n-a-000-1a1-ax", .data = &board_PDG_A4001N_A_000_1A1_AX, },
+ 	{ .compatible = "brcm,bcm963281tan", .data = &board_963281TAN, },
+ 	{ .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
+ 	{ .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, },