The NixCore X1 is a Ralink/MediaTek rt5350 WiFi Module.

http://nixcores.com/

Signed-off-by: L. D. Pinney <ldpin...@gmail.com>
Acked-by: Drew Gaylo <d...@nixcores.com>

---
 target/linux/ramips/base-files/etc/board.d/02_network  |  1 +
 target/linux/ramips/base-files/lib/ramips.sh           |  3 +++
 target/linux/ramips/base-files/lib/upgrade/platform.sh |  1 +
 target/linux/ramips/dts/NIXCORE-16M.dts                | 87 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 target/linux/ramips/dts/NIXCORE-8M.dts                 | 87 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 target/linux/ramips/image/rt305x.mk                    | 13 +++++++++++
 target/linux/ramips/rt305x/profiles/nixcore.mk         | 20 ++++++++++++++++
 7 files changed, 212 insertions(+)

diff --git a/target/linux/ramips/base-files/etc/board.d/02_network 
b/target/linux/ramips/base-files/etc/board.d/02_network
index dbb5fb4..5063ac8 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -77,6 +77,7 @@ ramips_setup_interfaces()
        mt7628|\
        mzk-750dhp|\
        mzk-w300nh2|\
+       nixcore|\
        oy-0001|\
        pbr-m1|\
        psg1208|\
diff --git a/target/linux/ramips/base-files/lib/ramips.sh 
b/target/linux/ramips/base-files/lib/ramips.sh
index 10139d7..b6ccd5a 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -322,6 +322,9 @@ ramips_board_detect() {
        *"NCS601W")
                name="ncs601w"
                ;;
+       *"NixcoreX1")
+               name="nixcore-x1"
+               ;;
        *"NW718")
                name="nw718"
                ;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh 
b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index e3bea00..c4d3c01 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -95,6 +95,7 @@ platform_check_image() {
        mzk-w300nh2|\
        mzk-wdpr|\
        nbg-419n|\
+       nixcore|\
        nw718|\
        oy-0001|\
        pbr-m1|\
diff --git a/target/linux/ramips/dts/NIXCORE-16M.dts 
b/target/linux/ramips/dts/NIXCORE-16M.dts
new file mode 100644
index 0000000..0ee8864
--- /dev/null
+++ b/target/linux/ramips/dts/NIXCORE-16M.dts
@@ -0,0 +1,87 @@
+/dts-v1/;
+
+/include/ "rt5350.dtsi"
+
+/ {
+       compatible = "NixcoreX1", "ralink,rt5350-soc";
+       model = "NixcoreX1";
+
+               chosen {
+                               bootargs = "console=ttyS1,57600";
+               };
+
+       palmbus@10000000 {
+               spi@b00 {
+                       status = "okay";
+
+                       m25p80@0 {
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               compatible = "jedec,spi-nor";
+                               reg = <0 0>;
+                               linux,modalias = "m25p80";
+                               spi-max-frequency = <10000000>;
+
+                               partition@0 {
+                                       label = "u-boot";
+                                       reg = <0x0 0x30000>;
+                                       read-only;
+                               };
+
+                               partition@30000 {
+                                       label = "u-boot-env";
+                                       reg = <0x30000 0x10000>;
+                                       read-only;
+                               };
+
+                               factory: partition@40000 {
+                                       label = "factory";
+                                       reg = <0x40000 0x10000>;
+                                       read-only;
+                               };
+
+                               partition@50000 {
+                                       label = "firmware";
+                                       reg = <0x50000 0xfb0000>;
+                               };
+                       };
+               };
+
+               gpio0: gpio@600 {
+                       status = "okay";
+               };
+
+               gpio1: gpio@660 {
+                       status = "okay";
+               };
+       };
+
+       pinctrl {
+               state_default: pinctrl0 {
+                       gpio {
+                               ralink,group = "i2c", "jtag", "led", "uartf";
+                               ralink,function = "gpio";
+                       };
+               };
+       };
+
+       ethernet@10100000 {
+               mtd-mac-address = <&factory 0x4>;
+       };
+
+       esw@10110000 {
+               mediatek,portmap = <0x2f>;
+       };
+
+       wmac@10180000 {
+               ralink,mtd-eeprom = <&factory 0>;
+       };
+
+       ehci@101c0000 {
+               status = "okay";
+       };
+
+       ohci@101c1000 {
+               status = "okay";
+       };
+};
diff --git a/target/linux/ramips/dts/NIXCORE-8M.dts 
b/target/linux/ramips/dts/NIXCORE-8M.dts
new file mode 100644
index 0000000..a80d7fb
--- /dev/null
+++ b/target/linux/ramips/dts/NIXCORE-8M.dts
@@ -0,0 +1,87 @@
+/dts-v1/;
+
+/include/ "rt5350.dtsi"
+
+/ {
+       compatible = "NixcoreX1", "ralink,rt5350-soc";
+       model = "NixcoreX1";
+
+               chosen {
+                               bootargs = "console=ttyS1,57600";
+       };
+
+       palmbus@10000000 {
+               spi@b00 {
+                       status = "okay";
+
+                       m25p80@0 {
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               compatible = "jedec,spi-nor";
+                               reg = <0 0>;
+                               linux,modalias = "m25p80";
+                               spi-max-frequency = <10000000>;
+
+                               partition@0 {
+                                       label = "u-boot";
+                                       reg = <0x0 0x30000>;
+                                       read-only;
+                               };
+
+                               partition@30000 {
+                                       label = "u-boot-env";
+                                       reg = <0x30000 0x10000>;
+                                       read-only;
+                               };
+
+                               factory: partition@40000 {
+                                       label = "factory";
+                                       reg = <0x40000 0x10000>;
+                                       read-only;
+                               };
+
+                               partition@50000 {
+                                       label = "firmware";
+                                       reg = <0x50000 0x7b0000>;
+                               };
+                       };
+               };
+
+               gpio0: gpio@600 {
+                       status = "okay";
+               };
+
+               gpio1: gpio@660 {
+                       status = "okay";
+               };
+       };
+
+       pinctrl {
+               state_default: pinctrl0 {
+                       gpio {
+                               ralink,group = "i2c", "jtag", "led", "uartf";
+                               ralink,function = "gpio";
+                       };
+               };
+       };
+
+       ethernet@10100000 {
+               mtd-mac-address = <&factory 0x4>;
+       };
+
+       esw@10110000 {
+               mediatek,portmap = <0x2f>;
+       };
+
+       wmac@10180000 {
+               ralink,mtd-eeprom = <&factory 0>;
+       };
+
+       ehci@101c0000 {
+               status = "okay";
+       };
+
+       ohci@101c1000 {
+               status = "okay";
+       };
+};
diff --git a/target/linux/ramips/image/rt305x.mk 
b/target/linux/ramips/image/rt305x.mk
index da7fc46..6861ef3 100644
--- a/target/linux/ramips/image/rt305x.mk
+++ b/target/linux/ramips/image/rt305x.mk
@@ -100,6 +100,17 @@ define BuildFirmware/HLKRM04/initramfs
        mkhilinkfw -e -i$(call imgname,$(1),$(2))-uImage.bin -o $(call 
imgname,$(1),$(2))-factory.bin;
 endef
 
+nixcore_8mb_mtd_size=8060928
+nixcore_16mb_mtd_size=16449536
+define BuildFirmware/NIXCORE/squashfs
+       $(call 
BuildFirmware/CustomFlash/$(1),$(1),$(2)-8M,$(3)-8M,$(nixcore_8mb_mtd_size))
+       $(call 
BuildFirmware/CustomFlash/$(1),$(1),$(2)-16M,$(3)-16M,$(nixcore_16mb_mtd_size))
+endef
+define BuildFirmware/NIXCORE/initramfs
+       $(call BuildFirmware/OF/initramfs,$(1),$(2)-8M,$(3)-8M)
+       $(call BuildFirmware/OF/initramfs,$(1),$(2)-16M,$(3)-16M)
+endef
+
 vocore_8mb_mtd_size=8060928
 vocore_16mb_mtd_size=16449536
 define BuildFirmware/VOCORE/squashfs
@@ -258,6 +269,7 @@ Image/Build/Profile/MZKW300NH2=$(call 
BuildFirmware/Edimax/$(1),$(1),mzk-w300nh2
 Image/Build/Profile/MZKWDPR=$(call 
BuildFirmware/Default8M/$(1),$(1),mzk-wdpr,MZK-WDPR)
 Image/Build/Profile/NCS601W=$(call 
BuildFirmware/Default8M/$(1),$(1),ncs601W,NCS601W)
 nw718_mtd_size=3801088
+Image/Build/Profile/NIXCORE=$(call 
BuildFirmware/NIXCORE/$(1),$(1),nixcore,NIXCORE)
 Image/Build/Profile/NW718=$(call 
BuildFirmware/CustomFlashFactory/$(1),$(1),nw718m,NW718,$(nw718_mtd_size),ARA1B4NCRNW718;1,factory)
 Image/Build/Profile/M2M=$(call BuildFirmware/Default8M/$(1),$(1),m2m,M2M,Linux 
Kernel Image)
 Image/Build/Profile/MINIEMBPLUG=$(call 
BuildFirmware/Default8M/$(1),$(1),miniembplug,MINIEMBPLUG)
@@ -353,6 +365,7 @@ define Image/Build/Profile/Default
        $(call Image/Build/Profile/MZKWDPR,$(1))
        $(call Image/Build/Profile/NBG-419N,$(1))
        $(call Image/Build/Profile/NCS601W,$(1))
+       $(call Image/Build/Profile/NIXCORE,$(1))
        $(call Image/Build/Profile/NW718,$(1))
        $(call Image/Build/Profile/MINIEMBWIFI,$(1))
        $(call Image/Build/Profile/MINIEMBPLUG,$(1))
diff --git a/target/linux/ramips/rt305x/profiles/nixcore.mk 
b/target/linux/ramips/rt305x/profiles/nixcore.mk
new file mode 100644
index 0000000..475053c
--- /dev/null
+++ b/target/linux/ramips/rt305x/profiles/nixcore.mk
@@ -0,0 +1,20 @@
+#
+# Copyright (C) 2016 lede-project.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/NIXCORE
+    NAME:=NixcoreX1
+    PACKAGES:=\
+        kmod-usb-core kmod-usb-ohci kmod-usb2 \
+        kmod-i2c-core kmod-i2c-ralink \
+        kmod-spi-dev
+endef
+
+define Profile/NIXCORE/Description
+    Package set for Nixcore X1 board
+endef
+
+$(eval $(call Profile,NIXCORE))

_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to