Просмотр исходного кода

bcm63xx: add a few DTSI files to share definitions

After the LED labels have been made more general by removing
the model names, we can move several definitions to DTSI files
to reduce the amount of duplicate code.

Signed-off-by: Adrian Schmutzler <[email protected]>
Adrian Schmutzler 5 лет назад
Родитель
Сommit
c0aea38436

+ 27 - 135
target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-a.dts

@@ -1,153 +1,45 @@
 /dts-v1/;
 
-#include "bcm6358.dtsi"
-
-#include <dt-bindings/input/input.h>
+#include "bcm6358-huawei-echolife-hg556a.dtsi"
 
 / {
 	model = "Huawei EchoLife HG556a (version A)";
 	compatible = "huawei,echolife-hg556a-a", "brcm,bcm6358";
+};
 
-	aliases {
-		led-boot = &led_power_red;
-		led-failsafe = &led_power_red;
-		led-running = &led_power_red;
-		led-upgrade = &led_power_red;
+&gpiokeys {
+	help {
+		label = "help";
+		gpios = <&pinctrl 8 1>;
+		linux,code = <KEY_HELP>;
+		debounce-interval = <60>;
 	};
+};
 
-	chosen {
-		bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
-		stdout-path = "serial0:115200n8";
+&gpioleds {
+	message_red {
+		label = "red:message";
+		gpios = <&pinctrl 0 1>;
 	};
 
-	keys {
-		compatible = "gpio-keys-polled";
-		#address-cells = <1>;
-		#size-cells = <0>;
-		poll-interval = <20>;
-
-		help {
-			label = "help";
-			gpios = <&pinctrl 8 1>;
-			linux,code = <KEY_HELP>;
-			debounce-interval = <60>;
-		};
-
-		wlan {
-			label = "wlan";
-			gpios = <&pinctrl 9 1>;
-			linux,code = <KEY_WLAN>;
-			debounce-interval = <60>;
-		};
-
-		restart {
-			label = "restart";
-			gpios = <&pinctrl 10 1>;
-			linux,code = <KEY_RESTART>;
-			debounce-interval = <60>;
-		};
-
-		reset {
-			label = "reset";
-			gpios = <&pinctrl 11 1>;
-			linux,code = <KEY_CONFIG>;
-			debounce-interval = <60>;
-		};
+	hspa_red {
+		label = "red:hspa";
+		gpios = <&pinctrl 1 1>;
 	};
 
-	leds {
-		compatible = "gpio-leds";
-
-		message_red {
-			label = "red:message";
-			gpios = <&pinctrl 0 1>;
-		};
-		hspa_red {
-			label = "red:hspa";
-			gpios = <&pinctrl 1 1>;
-		};
-		dsl_red {
-			label = "red:dsl";
-			gpios = <&pinctrl 2 1>;
-		};
-		led_power_red: power_red {
-			label = "red:power";
-			gpios = <&pinctrl 3 1>;
-			default-state = "on";
-		};
-		all_red {
-			label = "red:all";
-			gpios = <&pinctrl 6 1>;
-			default-state = "on";
-		};
-		lan1_green {
-			label = "green:lan1";
-			gpios = <&pinctrl 12 1>;
-		};
-		lan1_red {
-			label = "red:lan1";
-			gpios = <&pinctrl 13 1>;
-		};
-		lan2_green {
-			label = "green:lan2";
-			gpios = <&pinctrl 15 1>;
-		};
-		lan2_red {
-			label = "red:lan2";
-			gpios = <&pinctrl 22 1>;
-		};
-		lan3_green {
-			label = "green:lan3";
-			gpios = <&pinctrl 23 1>;
-		};
-		lan3_red {
-			label = "red:lan3";
-			gpios = <&pinctrl 26 1>;
-		};
-		lan4_green {
-			label = "green:lan4";
-			gpios = <&pinctrl 27 1>;
-		};
-		lan4_red {
-			label = "red:lan4";
-			gpios = <&pinctrl 28 1>;
-		};
+	all_red {
+		label = "red:all";
+		gpios = <&pinctrl 6 1>;
+		default-state = "on";
 	};
-};
-
-&pflash {
-	status = "okay";
-
-	partitions {
-		compatible = "fixed-partitions";
-		#address-cells = <1>;
-		#size-cells = <1>;
-
-		cfe@0 {
-			label = "CFE";
-			reg = <0x000000 0x020000>;
-			read-only;
-		};
 
-		linux@20000 {
-			label = "linux";
-			reg = <0x020000 0xec0000>;
-			compatible = "brcm,bcm963xx-imagetag";
-		};
-
-		cal_data@ee0000 {
-			label = "cal_data";
-			reg = <0xee0000 0x100000>;
-			read-only;
-		};
-
-		nvram@fe0000 {
-			label = "nvram";
-			reg = <0xfe0000 0x020000>;
-		};
+	lan1_green {
+		label = "green:lan1";
+		gpios = <&pinctrl 12 1>;
 	};
-};
 
-&uart0 {
-	status = "okay";
+	lan2_green {
+		label = "green:lan2";
+		gpios = <&pinctrl 15 1>;
+	};
 };

+ 27 - 135
target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-b.dts

@@ -1,153 +1,45 @@
 /dts-v1/;
 
-#include "bcm6358.dtsi"
-
-#include <dt-bindings/input/input.h>
+#include "bcm6358-huawei-echolife-hg556a.dtsi"
 
 / {
 	model = "Huawei EchoLife HG556a (version B)";
 	compatible = "huawei,echolife-hg556a-b", "brcm,bcm6358";
+};
 
-	aliases {
-		led-boot = &led_power_red;
-		led-failsafe = &led_power_red;
-		led-running = &led_power_red;
-		led-upgrade = &led_power_red;
+&gpiokeys {
+	help {
+		label = "help";
+		gpios = <&pinctrl 8 1>;
+		linux,code = <KEY_HELP>;
+		debounce-interval = <60>;
 	};
+};
 
-	chosen {
-		bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
-		stdout-path = "serial0:115200n8";
+&gpioleds {
+	message_red {
+		label = "red:message";
+		gpios = <&pinctrl 0 1>;
 	};
 
-	keys {
-		compatible = "gpio-keys-polled";
-		#address-cells = <1>;
-		#size-cells = <0>;
-		poll-interval = <20>;
-
-		help {
-			label = "help";
-			gpios = <&pinctrl 8 1>;
-			linux,code = <KEY_HELP>;
-			debounce-interval = <60>;
-		};
-
-		wlan {
-			label = "wlan";
-			gpios = <&pinctrl 9 1>;
-			linux,code = <KEY_WLAN>;
-			debounce-interval = <60>;
-		};
-
-		restart {
-			label = "restart";
-			gpios = <&pinctrl 10 1>;
-			linux,code = <KEY_RESTART>;
-			debounce-interval = <60>;
-		};
-
-		reset {
-			label = "reset";
-			gpios = <&pinctrl 11 1>;
-			linux,code = <KEY_CONFIG>;
-			debounce-interval = <60>;
-		};
+	hspa_red {
+		label = "red:hspa";
+		gpios = <&pinctrl 1 1>;
 	};
 
-	leds {
-		compatible = "gpio-leds";
-
-		message_red {
-			label = "red:message";
-			gpios = <&pinctrl 0 1>;
-		};
-		hspa_red {
-			label = "red:hspa";
-			gpios = <&pinctrl 1 1>;
-		};
-		dsl_red {
-			label = "red:dsl";
-			gpios = <&pinctrl 2 1>;
-		};
-		led_power_red: power_red {
-			label = "red:power";
-			gpios = <&pinctrl 3 1>;
-			default-state = "on";
-		};
-		all_red {
-			label = "red:all";
-			gpios = <&pinctrl 6 1>;
-			default-state = "on";
-		};
-		lan1_green {
-			label = "green:lan1";
-			gpios = <&pinctrl 12 1>;
-		};
-		lan1_red {
-			label = "red:lan1";
-			gpios = <&pinctrl 13 1>;
-		};
-		lan2_green {
-			label = "green:lan2";
-			gpios = <&pinctrl 15 1>;
-		};
-		lan2_red {
-			label = "red:lan2";
-			gpios = <&pinctrl 22 1>;
-		};
-		lan3_green {
-			label = "green:lan3";
-			gpios = <&pinctrl 23 1>;
-		};
-		lan3_red {
-			label = "red:lan3";
-			gpios = <&pinctrl 26 1>;
-		};
-		lan4_green {
-			label = "green:lan4";
-			gpios = <&pinctrl 27 1>;
-		};
-		lan4_red {
-			label = "red:lan4";
-			gpios = <&pinctrl 28 1>;
-		};
+	all_red {
+		label = "red:all";
+		gpios = <&pinctrl 6 1>;
+		default-state = "on";
 	};
-};
-
-&pflash {
-	status = "okay";
-
-	partitions {
-		compatible = "fixed-partitions";
-		#address-cells = <1>;
-		#size-cells = <1>;
-
-		cfe@0 {
-			label = "CFE";
-			reg = <0x000000 0x020000>;
-			read-only;
-		};
 
-		linux@20000 {
-			label = "linux";
-			reg = <0x020000 0xec0000>;
-			compatible = "brcm,bcm963xx-imagetag";
-		};
-
-		cal_data@ee0000 {
-			label = "cal_data";
-			reg = <0xee0000 0x100000>;
-			read-only;
-		};
-
-		nvram@fe0000 {
-			label = "nvram";
-			reg = <0xfe0000 0x020000>;
-		};
+	lan1_green {
+		label = "green:lan1";
+		gpios = <&pinctrl 12 1>;
 	};
-};
 
-&uart0 {
-	status = "okay";
+	lan2_green {
+		label = "green:lan2";
+		gpios = <&pinctrl 15 1>;
+	};
 };

+ 22 - 131
target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-c.dts

@@ -1,148 +1,39 @@
 /dts-v1/;
 
-#include "bcm6358.dtsi"
-
-#include <dt-bindings/input/input.h>
+#include "bcm6358-huawei-echolife-hg556a.dtsi"
 
 / {
 	model = "Huawei EchoLife HG556a (version C)";
 	compatible = "huawei,echolife-hg556a-c", "brcm,bcm6358";
+};
 
-	aliases {
-		led-boot = &led_power_red;
-		led-failsafe = &led_power_red;
-		led-running = &led_power_red;
-		led-upgrade = &led_power_red;
+&gpiokeys {
+	help {
+		label = "help";
+		gpios = <&pinctrl 36 1>;
+		linux,code = <KEY_HELP>;
+		debounce-interval = <60>;
 	};
+};
 
-	chosen {
-		bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
-		stdout-path = "serial0:115200n8";
+&gpioleds {
+	lan1_green {
+		label = "green:lan1";
+		gpios = <&pinctrl 0 1>;
 	};
 
-	keys {
-		compatible = "gpio-keys-polled";
-		#address-cells = <1>;
-		#size-cells = <0>;
-		poll-interval = <20>;
-
-		help {
-			label = "help";
-			gpios = <&pinctrl 36 1>;
-			linux,code = <KEY_HELP>;
-			debounce-interval = <60>;
-		};
-
-		wlan {
-			label = "wlan";
-			gpios = <&pinctrl 9 1>;
-			linux,code = <KEY_WLAN>;
-			debounce-interval = <60>;
-		};
-
-		restart {
-			label = "restart";
-			gpios = <&pinctrl 10 1>;
-			linux,code = <KEY_RESTART>;
-			debounce-interval = <60>;
-		};
-
-		reset {
-			label = "reset";
-			gpios = <&pinctrl 11 1>;
-			linux,code = <KEY_CONFIG>;
-			debounce-interval = <60>;
-		};
+	lan2_green {
+		label = "green:lan2";
+		gpios = <&pinctrl 1 1>;
 	};
 
-	leds {
-		compatible = "gpio-leds";
-
-		lan1_green {
-			label = "green:lan1";
-			gpios = <&pinctrl 0 1>;
-		};
-		lan2_green {
-			label = "green:lan2";
-			gpios = <&pinctrl 1 1>;
-		};
-		dsl_red {
-			label = "red:dsl";
-			gpios = <&pinctrl 2 1>;
-		};
-		led_power_red: power_red {
-			label = "red:power";
-			gpios = <&pinctrl 3 1>;
-			default-state = "on";
-		};
-		message_red {
-			label = "red:message";
-			gpios = <&pinctrl 12 1>;
-		};
-		lan1_red {
-			label = "red:lan1";
-			gpios = <&pinctrl 13 1>;
-		};
-		hspa_red {
-			label = "red:hspa";
-			gpios = <&pinctrl 15 1>;
-		};
-		lan2_red {
-			label = "red:lan2";
-			gpios = <&pinctrl 22 1>;
-		};
-		lan3_green {
-			label = "green:lan3";
-			gpios = <&pinctrl 23 1>;
-		};
-		lan3_red {
-			label = "red:lan3";
-			gpios = <&pinctrl 26 1>;
-		};
-		lan4_green {
-			label = "green:lan4";
-			gpios = <&pinctrl 27 1>;
-		};
-		lan4_red {
-			label = "red:lan4";
-			gpios = <&pinctrl 28 1>;
-		};
+	message_red {
+		label = "red:message";
+		gpios = <&pinctrl 12 1>;
 	};
-};
-
-&pflash {
-	status = "okay";
-
-	partitions {
-		compatible = "fixed-partitions";
-		#address-cells = <1>;
-		#size-cells = <1>;
-
-		cfe@0 {
-			label = "CFE";
-			reg = <0x000000 0x020000>;
-			read-only;
-		};
 
-		linux@20000 {
-			label = "linux";
-			reg = <0x020000 0xec0000>;
-			compatible = "brcm,bcm963xx-imagetag";
-		};
-
-		cal_data@ee0000 {
-			label = "cal_data";
-			reg = <0xee0000 0x100000>;
-			read-only;
-		};
-
-		nvram@fe0000 {
-			label = "nvram";
-			reg = <0xfe0000 0x020000>;
-		};
+	hspa_red {
+		label = "red:hspa";
+		gpios = <&pinctrl 15 1>;
 	};
 };
-
-&uart0 {
-	status = "okay";
-};

+ 127 - 0
target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a.dtsi

@@ -0,0 +1,127 @@
+#include "bcm6358.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+	aliases {
+		led-boot = &led_power_red;
+		led-failsafe = &led_power_red;
+		led-running = &led_power_red;
+		led-upgrade = &led_power_red;
+	};
+
+	chosen {
+		bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+		stdout-path = "serial0:115200n8";
+	};
+
+	gpiokeys: keys {
+		compatible = "gpio-keys-polled";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		poll-interval = <20>;
+
+		wlan {
+			label = "wlan";
+			gpios = <&pinctrl 9 1>;
+			linux,code = <KEY_WLAN>;
+			debounce-interval = <60>;
+		};
+
+		restart {
+			label = "restart";
+			gpios = <&pinctrl 10 1>;
+			linux,code = <KEY_RESTART>;
+			debounce-interval = <60>;
+		};
+
+		reset {
+			label = "reset";
+			gpios = <&pinctrl 11 1>;
+			linux,code = <KEY_CONFIG>;
+			debounce-interval = <60>;
+		};
+	};
+
+	gpioleds: leds {
+		compatible = "gpio-leds";
+
+		dsl_red {
+			label = "red:dsl";
+			gpios = <&pinctrl 2 1>;
+		};
+
+		led_power_red: power_red {
+			label = "red:power";
+			gpios = <&pinctrl 3 1>;
+			default-state = "on";
+		};
+
+		lan1_red {
+			label = "red:lan1";
+			gpios = <&pinctrl 13 1>;
+		};
+
+		lan2_red {
+			label = "red:lan2";
+			gpios = <&pinctrl 22 1>;
+		};
+
+		lan3_green {
+			label = "green:lan3";
+			gpios = <&pinctrl 23 1>;
+		};
+
+		lan3_red {
+			label = "red:lan3";
+			gpios = <&pinctrl 26 1>;
+		};
+
+		lan4_green {
+			label = "green:lan4";
+			gpios = <&pinctrl 27 1>;
+		};
+
+		lan4_red {
+			label = "red:lan4";
+			gpios = <&pinctrl 28 1>;
+		};
+	};
+};
+
+&pflash {
+	status = "okay";
+
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		cfe@0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+			read-only;
+		};
+
+		linux@20000 {
+			label = "linux";
+			reg = <0x020000 0xec0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		cal_data@ee0000 {
+			label = "cal_data";
+			reg = <0xee0000 0x100000>;
+			read-only;
+		};
+
+		nvram@fe0000 {
+			label = "nvram";
+			reg = <0xfe0000 0x020000>;
+		};
+	};
+};
+
+&uart0 {
+	status = "okay";
+};

+ 93 - 0
target/linux/bcm63xx/dts/bcm6358-pirelli-a226.dtsi

@@ -0,0 +1,93 @@
+#include "bcm6358.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+	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>;
+
+		wps {
+			label = "wps";
+			gpios = <&pinctrl 34 1>;
+			linux,code = <KEY_WPS_BUTTON>;
+			debounce-interval = <60>;
+		};
+
+		reset {
+			label = "reset";
+			gpios = <&pinctrl 37 1>;
+			linux,code = <KEY_RESTART>;
+			debounce-interval = <60>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		voip_red {
+			label = "red:VoIP";
+			gpios = <&pinctrl 0 1>;
+		};
+		eth_red {
+			label = "red:ethernet";
+			gpios = <&pinctrl 1 1>;
+		};
+		dsl_green {
+			label = "green:ADSL";
+			gpios = <&pinctrl 2 1>;
+		};
+		usb_green {
+			label = "green:USB";
+			gpios = <&pinctrl 3 1>;
+		};
+		power_green {
+			label = "green:power";
+			gpios = <&pinctrl 4 1>;
+			default-state = "on";
+		};
+		power_red {
+			label = "red:power";
+			gpios = <&pinctrl 5 1>;
+		};
+		inet_red {
+			label = "red:internet";
+			gpios = <&pinctrl 6 1>;
+		};
+		inet_green {
+			label = "green:internet";
+			gpios = <&pinctrl 7 1>;
+		};
+		eth_green {
+			label = "green:ethernet";
+			gpios = <&pinctrl 8 1>;
+		};
+		voip_green {
+			label = "green:VoIP";
+			gpios = <&pinctrl 9 1>;
+		};
+		wifi_red {
+			label = "red:wifi";
+			gpios = <&pinctrl 10 1>;
+		};
+		usb_red {
+			label = "red:USB";
+			gpios = <&pinctrl 11 1>;
+		};
+		dsl_red {
+			label = "red:ADSL";
+			gpios = <&pinctrl 12 1>;
+		};
+	};
+};
+
+&uart0 {
+	status = "okay";
+};

+ 1 - 91
target/linux/bcm63xx/dts/bcm6358-pirelli-a226g.dts

@@ -1,96 +1,10 @@
 /dts-v1/;
 
-#include "bcm6358.dtsi"
-
-#include <dt-bindings/input/input.h>
+#include "bcm6358-pirelli-a226.dtsi"
 
 / {
 	model = "Pirelli A226G";
 	compatible = "pirelli,a226g", "brcm,bcm6358";
-
-	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>;
-
-		wps {
-			label = "wps";
-			gpios = <&pinctrl 34 1>;
-			linux,code = <KEY_WPS_BUTTON>;
-			debounce-interval = <60>;
-		};
-
-		reset {
-			label = "reset";
-			gpios = <&pinctrl 37 1>;
-			linux,code = <KEY_RESTART>;
-			debounce-interval = <60>;
-		};
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		voip_red {
-			label = "red:VoIP";
-			gpios = <&pinctrl 0 1>;
-		};
-		eth_red {
-			label = "red:ethernet";
-			gpios = <&pinctrl 1 1>;
-		};
-		dsl_green {
-			label = "green:ADSL";
-			gpios = <&pinctrl 2 1>;
-		};
-		usb_green {
-			label = "green:USB";
-			gpios = <&pinctrl 3 1>;
-		};
-		power_green {
-			label = "green:power";
-			gpios = <&pinctrl 4 1>;
-			default-state = "on";
-		};
-		power_red {
-			label = "red:power";
-			gpios = <&pinctrl 5 1>;
-		};
-		inet_red {
-			label = "red:internet";
-			gpios = <&pinctrl 6 1>;
-		};
-		inet_green {
-			label = "green:internet";
-			gpios = <&pinctrl 7 1>;
-		};
-		eth_green {
-			label = "green:ethernet";
-			gpios = <&pinctrl 8 1>;
-		};
-		voip_green {
-			label = "green:VoIP";
-			gpios = <&pinctrl 9 1>;
-		};
-		wifi_red {
-			label = "red:wifi";
-			gpios = <&pinctrl 10 1>;
-		};
-		usb_red {
-			label = "red:USB";
-			gpios = <&pinctrl 11 1>;
-		};
-		dsl_red {
-			label = "red:ADSL";
-			gpios = <&pinctrl 12 1>;
-		};
-	};
 };
 
 &pflash {
@@ -119,7 +33,3 @@
 		};
 	};
 };
-
-&uart0 {
-	status = "okay";
-};

+ 1 - 91
target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts

@@ -1,96 +1,10 @@
 /dts-v1/;
 
-#include "bcm6358.dtsi"
-
-#include <dt-bindings/input/input.h>
+#include "bcm6358-pirelli-a226.dtsi"
 
 / {
 	model = "Pirelli A226M-FWB";
 	compatible = "pirelli,a226m-fwb", "brcm,bcm6358";
-
-	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>;
-
-		wps {
-			label = "wps";
-			gpios = <&pinctrl 34 1>;
-			linux,code = <KEY_WPS_BUTTON>;
-			debounce-interval = <60>;
-		};
-
-		reset {
-			label = "reset";
-			gpios = <&pinctrl 37 1>;
-			linux,code = <KEY_RESTART>;
-			debounce-interval = <60>;
-		};
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		voip_red {
-			label = "red:VoIP";
-			gpios = <&pinctrl 0 1>;
-		};
-		eth_red {
-			label = "red:ethernet";
-			gpios = <&pinctrl 1 1>;
-		};
-		dsl_green {
-			label = "green:ADSL";
-			gpios = <&pinctrl 2 1>;
-		};
-		usb_green {
-			label = "green:USB";
-			gpios = <&pinctrl 3 1>;
-		};
-		power_green {
-			label = "green:power";
-			gpios = <&pinctrl 4 1>;
-			default-state = "on";
-		};
-		power_red {
-			label = "red:power";
-			gpios = <&pinctrl 5 1>;
-		};
-		inet_red {
-			label = "red:internet";
-			gpios = <&pinctrl 6 1>;
-		};
-		inet_green {
-			label = "green:internet";
-			gpios = <&pinctrl 7 1>;
-		};
-		eth_green {
-			label = "green:ethernet";
-			gpios = <&pinctrl 8 1>;
-		};
-		voip_green {
-			label = "green:VoIP";
-			gpios = <&pinctrl 9 1>;
-		};
-		wifi_red {
-			label = "red:wifi";
-			gpios = <&pinctrl 10 1>;
-		};
-		usb_red {
-			label = "red:USB";
-			gpios = <&pinctrl 11 1>;
-		};
-		dsl_red {
-			label = "red:ADSL";
-			gpios = <&pinctrl 12 1>;
-		};
-	};
 };
 
 &pflash {
@@ -119,7 +33,3 @@
 		};
 	};
 };
-
-&uart0 {
-	status = "okay";
-};

+ 1 - 91
target/linux/bcm63xx/dts/bcm6358-pirelli-a226m.dts

@@ -1,96 +1,10 @@
 /dts-v1/;
 
-#include "bcm6358.dtsi"
-
-#include <dt-bindings/input/input.h>
+#include "bcm6358-pirelli-a226.dtsi"
 
 / {
 	model = "Pirelli A226M";
 	compatible = "pirelli,a226m", "brcm,bcm6358";
-
-	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>;
-
-		wps {
-			label = "wps";
-			gpios = <&pinctrl 34 1>;
-			linux,code = <KEY_WPS_BUTTON>;
-			debounce-interval = <60>;
-		};
-
-		reset {
-			label = "reset";
-			gpios = <&pinctrl 37 1>;
-			linux,code = <KEY_RESTART>;
-			debounce-interval = <60>;
-		};
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		voip_red {
-			label = "red:VoIP";
-			gpios = <&pinctrl 0 1>;
-		};
-		eth_red {
-			label = "red:ethernet";
-			gpios = <&pinctrl 1 1>;
-		};
-		dsl_green {
-			label = "green:ADSL";
-			gpios = <&pinctrl 2 1>;
-		};
-		usb_green {
-			label = "green:USB";
-			gpios = <&pinctrl 3 1>;
-		};
-		power_green {
-			label = "green:power";
-			gpios = <&pinctrl 4 1>;
-			default-state = "on";
-		};
-		power_red {
-			label = "red:power";
-			gpios = <&pinctrl 5 1>;
-		};
-		inet_red {
-			label = "red:internet";
-			gpios = <&pinctrl 6 1>;
-		};
-		inet_green {
-			label = "green:internet";
-			gpios = <&pinctrl 7 1>;
-		};
-		eth_green {
-			label = "green:ethernet";
-			gpios = <&pinctrl 8 1>;
-		};
-		voip_green {
-			label = "green:VoIP";
-			gpios = <&pinctrl 9 1>;
-		};
-		wifi_red {
-			label = "red:wifi";
-			gpios = <&pinctrl 10 1>;
-		};
-		usb_red {
-			label = "red:USB";
-			gpios = <&pinctrl 11 1>;
-		};
-		dsl_red {
-			label = "red:ADSL";
-			gpios = <&pinctrl 12 1>;
-		};
-	};
 };
 
 &pflash {
@@ -119,7 +33,3 @@
 		};
 	};
 };
-
-&uart0 {
-	status = "okay";
-};

+ 1 - 86
target/linux/bcm63xx/dts/bcm6358-sfr-neufbox-4-foxconn-r1.dts

@@ -1,53 +1,11 @@
 /dts-v1/;
 
-#include "bcm6358.dtsi"
-
-#include <dt-bindings/input/input.h>
+#include "bcm6358-sfr-neufbox-4.dtsi"
 
 / {
 	model = "SFR Neufbox 4 (Foxconn)";
 	compatible = "sfr,neufbox-4-foxconn-r1", "brcm,bcm6358";
 
-	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>;
-
-		service {
-			label = "service";
-			gpios = <&pinctrl 27 1>;
-			linux,code = <BTN_0>;
-			debounce-interval = <60>;
-		};
-
-		clip {
-			label = "clip";
-			gpios = <&pinctrl 31 1>;
-			linux,code = <BTN_1>;
-			debounce-interval = <60>;
-		};
-
-		reset {
-			label = "reset";
-			gpios = <&pinctrl 34 1>;
-			linux,code = <KEY_RESTART>;
-			debounce-interval = <60>;
-		};
-
-		wps {
-			label = "wps";
-			gpios = <&pinctrl 37 1>;
-			linux,code = <KEY_WPS_BUTTON>;
-			debounce-interval = <60>;
-		};
-	};
-
 	leds {
 		compatible = "gpio-leds";
 
@@ -73,46 +31,3 @@
 		};
 	};
 };
-
-&leds {
-	status = "okay";
-
-	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_serial_led>;
-
-	led@0 {
-		reg = <0>;
-		active-low;
-		label = "white:alarm";
-	};
-
-	led@2 {
-		reg = <2>;
-		active-low;
-		label = "white:tv";
-	};
-
-	led@3 {
-		reg = <3>;
-		active-low;
-		label = "white:tel";
-	};
-
-	led@4 {
-		reg = <4>;
-		active-low;
-		label = "white:adsl";
-	};
-};
-
-&pflash {
-	status = "okay";
-
-	partitions {
-		compatible = "brcm,bcm963xx-cfe-nor-partitions";
-	};
-};
-
-&uart0 {
-	status = "okay";
-};

+ 1 - 86
target/linux/bcm63xx/dts/bcm6358-sfr-neufbox-4-sercomm-r0.dts

@@ -1,53 +1,11 @@
 /dts-v1/;
 
-#include "bcm6358.dtsi"
-
-#include <dt-bindings/input/input.h>
+#include "bcm6358-sfr-neufbox-4.dtsi"
 
 / {
 	model = "SFR Neufbox 4 (Sercomm)";
 	compatible = "sfr,neufbox-4-sercomm-r0", "brcm,bcm6358";
 
-	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>;
-
-		service {
-			label = "service";
-			gpios = <&pinctrl 27 1>;
-			linux,code = <BTN_0>;
-			debounce-interval = <60>;
-		};
-
-		clip {
-			label = "clip";
-			gpios = <&pinctrl 31 1>;
-			linux,code = <BTN_1>;
-			debounce-interval = <60>;
-		};
-
-		reset {
-			label = "reset";
-			gpios = <&pinctrl 34 1>;
-			linux,code = <KEY_RESTART>;
-			debounce-interval = <60>;
-		};
-
-		wps {
-			label = "wps";
-			gpios = <&pinctrl 37 1>;
-			linux,code = <KEY_WPS_BUTTON>;
-			debounce-interval = <60>;
-		};
-	};
-
 	leds {
 		compatible = "gpio-leds";
 
@@ -73,46 +31,3 @@
 		};
 	};
 };
-
-&leds {
-	status = "okay";
-
-	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_serial_led>;
-
-	led@0 {
-		reg = <0>;
-		active-low;
-		label = "white:alarm";
-	};
-
-	led@2 {
-		reg = <2>;
-		active-low;
-		label = "white:tv";
-	};
-
-	led@3 {
-		reg = <3>;
-		active-low;
-		label = "white:tel";
-	};
-
-	led@4 {
-		reg = <4>;
-		active-low;
-		label = "white:adsl";
-	};
-};
-
-&pflash {
-	status = "okay";
-
-	partitions {
-		compatible = "brcm,bcm963xx-cfe-nor-partitions";
-	};
-};
-
-&uart0 {
-	status = "okay";
-};

+ 88 - 0
target/linux/bcm63xx/dts/bcm6358-sfr-neufbox-4.dtsi

@@ -0,0 +1,88 @@
+#include "bcm6358.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+	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>;
+
+		service {
+			label = "service";
+			gpios = <&pinctrl 27 1>;
+			linux,code = <BTN_0>;
+			debounce-interval = <60>;
+		};
+
+		clip {
+			label = "clip";
+			gpios = <&pinctrl 31 1>;
+			linux,code = <BTN_1>;
+			debounce-interval = <60>;
+		};
+
+		reset {
+			label = "reset";
+			gpios = <&pinctrl 34 1>;
+			linux,code = <KEY_RESTART>;
+			debounce-interval = <60>;
+		};
+
+		wps {
+			label = "wps";
+			gpios = <&pinctrl 37 1>;
+			linux,code = <KEY_WPS_BUTTON>;
+			debounce-interval = <60>;
+		};
+	};
+};
+
+&leds {
+	status = "okay";
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_serial_led>;
+
+	led@0 {
+		reg = <0>;
+		active-low;
+		label = "white:alarm";
+	};
+
+	led@2 {
+		reg = <2>;
+		active-low;
+		label = "white:tv";
+	};
+
+	led@3 {
+		reg = <3>;
+		active-low;
+		label = "white:tel";
+	};
+
+	led@4 {
+		reg = <4>;
+		active-low;
+		label = "white:adsl";
+	};
+};
+
+&pflash {
+	status = "okay";
+
+	partitions {
+		compatible = "brcm,bcm963xx-cfe-nor-partitions";
+	};
+};
+
+&uart0 {
+	status = "okay";
+};