--- /dev/null
+/dts-v1/;
+
+#include "bcm63268.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ model = "SKY SR102";
+ compatible = "sky,sr102", "brcm,bcm63268";
+
+ chosen {
+ bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+ stdout-path = "serial0:115200n8";
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ wps {
+ label = "wps";
+ gpios = <&pinctrl 33 0>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ lan1_green {
+ label = "SR102:green:lan1";
+ gpios = <&pinctrl 1 1>;
+ };
+ power_red {
+ label = "SR102:red:power";
+ gpios = <&pinctrl 2 1>;
+ };
+ wifi_red {
+ label = "SR102:red:wifi";
+ gpios = <&pinctrl 3 1>;
+ };
+ inet_red {
+ label = "SR102:red:inet";
+ gpios = <&pinctrl 4 1>;
+ };
+ inet_white {
+ label = "SR102:white:inet";
+ gpios = <&pinctrl 5 0>;
+ };
+ power_white {
+ label = "SR102:white:power";
+ gpios = <&pinctrl 6 0>;
+ default-state = "on";
+ };
+ wifi_white {
+ label = "SR102:white:wifi";
+ gpios = <&pinctrl 8 0>;
+ };
+ lan2_red {
+ label = "SR102:red:lan2";
+ gpios = <&pinctrl 9 1>;
+ };
+ lan3_red {
+ label = "SR102:red:lan3";
+ gpios = <&pinctrl 10 1>;
+ };
+ lan4_red {
+ label = "SR102:red:lan4";
+ gpios = <&pinctrl 11 1>;
+ };
+ lan1_red {
+ label = "SR102:red:lan1";
+ gpios = <&pinctrl 12 1>;
+ };
+ lan2_green {
+ label = "SR102:green:lan2";
+ gpios = <&pinctrl 13 0>;
+ };
+ lan3_green {
+ label = "SR102:green:lan3";
+ gpios = <&pinctrl 14 1>;
+ };
+ lan4_green {
+ label = "SR102:green:lan4";
+ gpios = <&pinctrl 15 1>;
+ };
+ hd_white {
+ label = "SR102:white:hd";
+ gpios = <&pinctrl 18 0>;
+ };
+ };
+};
+
+&hsspi {
+ status = "ok";
+
+ 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>;
+
+ linux,part-probe = "bcm63xxpart";
+
+ partitions {
+ compatible = "brcm,bcm963xx-cfe-nor-partitions";
+ };
+ };
+};
+
+&uart0 {
+ status = "ok";
+};
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -2457,6 +2457,56 @@
+ },
+ },
+ };
++
++static struct board_info __initdata board_BSKYB_63168 = {
++ .name = "BSKYB_63168",
++ .expected_cpu_id = 0x63268,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 0,
++
++ .has_ehci0 = 1,
++ .has_ohci0 = 1,
++ .num_usbh_ports = 2,
++
++ .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_BCM435F,
++ .pci_bus = 0,
++ .pci_dev = 0,
++ },
++*/
++};
+ #endif /* CONFIG_BCM63XX_CPU_63268 */
+
+ /*
+@@ -2557,6 +2609,7 @@
+ &board_963268bu_p300,
+ &board_963269bhr,
+ &board_vw6339gu,
++ &board_BSKYB_63168,
+ #endif
+ };
+
+@@ -2661,6 +2714,7 @@
+ { .compatible = "brcm,bcm963268bu_p300", .data = &board_963268bu_p300, },
+ { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
+ { .compatible = "inteno,vg50", .data = &board_vw6339gu, },
++ { .compatible = "sky,sr102", .data = &board_BSKYB_63168, },
+ #endif
+ #endif /* CONFIG_OF */
+ { },
--- /dev/null
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/SR102
+ NAME:=SKY SR102
+ PACKAGES:=kmod-b43 wpad-mini \
+ kmod-usb2 kmod-usb-ohci
+endef
+define Profile/SR102/Description
+ Package set optimized for SKY SR102.
+endef
+$(eval $(call Profile,SR102))