The NixCore X1 is a Ralink/MediaTek rt5350 WiFi Module.
http://nixcores.com/
Signed-off-by: L. D. Pinney <ldpinney@gmail.com>
Acked-by: Drew Gaylo <drew@nixcores.com>
mt7628|\
mzk-750dhp|\
mzk-w300nh2|\
+ nixcore|\
oy-0001|\
pbr-m1|\
psg1208|\
*"NCS601W")
name="ncs601w"
;;
+ *"NixcoreX1")
+ name="nixcore-x1"
+ ;;
*"NW718")
name="nw718"
;;
mzk-w300nh2|\
mzk-wdpr|\
nbg-419n|\
+ nixcore|\
nw718|\
oy-0001|\
pbr-m1|\
--- /dev/null
+/dts-v1/;
+
+#include "NIXCORE.dtsi"
+
+&spi0 {
+ status = "okay";
+
+ m25p80@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ linux,modalias = "m25p80";
+ spi-max-frequency = <10000000>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x0 0x30000>;
+ read-only;
+ };
+
+ partition@30000 {
+ label = "uboot-env";
+ reg = <0x30000 0x10000>;
+ read-only;
+ };
+
+ factory: partition@40000 {
+ label = "factory";
+ reg = <0x40000 0x10000>;
+ read-only;
+ };
+
+ partition@50000 {
+ label = "firmware";
+ reg = <0x50000 0xfb0000>;
+ };
+ };
+};
--- /dev/null
+/dts-v1/;
+
+#include "NIXCORE.dtsi"
+
+&spi0 {
+ status = "okay";
+
+ m25p80@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ linux,modalias = "m25p80";
+ spi-max-frequency = <10000000>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x0 0x30000>;
+ read-only;
+ };
+
+ partition@30000 {
+ label = "uboot-env";
+ reg = <0x30000 0x10000>;
+ read-only;
+ };
+
+ factory: partition@40000 {
+ label = "factory";
+ reg = <0x40000 0x10000>;
+ read-only;
+ };
+
+ partition@50000 {
+ label = "firmware";
+ reg = <0x50000 0x7b0000>;
+ };
+ };
+};
--- /dev/null
+#include "rt5350.dtsi"
+
+/ {
+ compatible = "Nixcore", "ralink,rt5350-soc";
+ model = "Nixcore";
+
+ chosen {
+ bootargs = "console=ttyS1,57600";
+ };
+
+ gpio-export {
+ compatible = "gpio-export";
+ #size-cells = <0>;
+
+ gpio0 {
+ gpio-export,name = "gpio0";
+ gpio-export,direction_may_change = <1>;
+ gpios = <&gpio0 0 0>;
+ };
+
+ gpio1 {
+ gpio-export,name = "gpio1";
+ gpio-export,direction_may_change = <1>;
+ gpios = <&gpio1 0 0>;
+ };
+
+ /* GPIOs 1-6 are I2C,SPI */
+ /* GPIO 7-14 are uart1 */
+ /* GPIOs 15 & 16 are uart2 */
+ /* JTAG */
+
+ gpio17 {
+ /* JTAG_TDO */
+ gpio-export,name = "gpio17";
+ gpio-export,direction_may_change = <1>;
+ gpios = <&gpio0 17 0>;
+ };
+
+ gpio18 {
+ /* JTAG_TDI */
+ gpio-export,name = "gpio18";
+ gpio-export,direction_may_change = <1>;
+ gpios = <&gpio0 18 0>;
+ };
+
+ gpio19 {
+ /* JTAG_TMS */
+ gpio-export,name = "gpio19";
+ gpio-export,direction_may_change = <1>;
+ gpios = <&gpio0 19 0>;
+ };
+
+ gpio20 {
+ /* JTAG_TCLK */
+ gpio-export,name = "gpio20";
+ gpio-export,direction_may_change = <1>;
+ gpios = <&gpio0 20 0>;
+ };
+
+ gpio21 {
+ /* JTAG_TRST_N */
+ gpio-export,name = "gpio21";
+ gpio-export,direction_may_change = <1>;
+ gpios = <&gpio0 21 0>;
+ };
+
+ /* ETH LEDs */
+ /*
+ gpio22 {
+ gpio-export,name = "gpio22";
+ gpio-export,direction_may_change = <1>;
+ gpios = <&gpio1 0 0>;
+ };
+
+ gpio23 {
+ gpio-export,name = "gpio23";
+ gpio-export,direction_may_change = <1>;
+ gpios = <&gpio1 1 0>;
+ };
+
+ gpio24 {
+ gpio-export,name = "gpio24";
+ gpio-export,direction_may_change = <1>;
+ gpios = <&gpio1 2 0>;
+ };
+
+ gpio25 {
+ gpio-export,name = "gpio25";
+ gpio-export,direction_may_change = <1>;
+ gpios = <&gpio1 3 0>;
+ };
+
+ */
+ gpio26 {
+ /* ETH4_LED */
+ gpio-export,name = "gpio26";
+ gpio-export,direction_may_change = <1>;
+ gpios = <&gpio1 4 0>;
+ };
+
+ gpio27 {
+ /* spi_cs1 */
+ gpio-export,name = "gpio27";
+ gpio-export,direction_may_change = <1>;
+ gpios = <&gpio1 5 0>;
+ };
+ };
+};
+
+&gpio0 {
+ status = "okay";
+};
+
+&gpio1 {
+ status = "okay";
+};
+
+&i2c {
+ status = "okay";
+};
+
+&uart {
+ status = "okay";
+ reset-names = "gpio uartf";
+};
+
+&pinctrl {
+ state_default: pinctrl0 {
+ gpio {
+ ralink,group = "jtag", "led", "spi_cs1";
+ ralink,function = "gpio";
+ };
+ };
+};
+
+ðernet {
+ mtd-mac-address = <&factory 0x4>;
+};
+
+&esw {
+ mediatek,portmap = <0x17>;
+};
+
+&wmac {
+ ralink,mtd-eeprom = <&factory 0>;
+};
+
+&ehci {
+ status = "okay";
+};
+
+&ohci {
+ status = "okay";
+};
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
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)
$(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))
--- /dev/null
+#
+# 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))