[LEDE-DEV] [PATCH] ramips: Add support for the NixCore X1

Drew from NixCore drew at nixcores.com
Fri Jun 24 07:39:09 PDT 2016


The NixCore X1 is a Ralink/MediaTek rt5350 WiFi Module

Patch submission with assistance from LD Pinney, using
simplier email client.

Signed-off-by: L. D. Pinney <ldpinney at gmail.com>
Signed-off-by: Drew Gaylo <drew at nixcore.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/NIXCOREX1-16M.dts | 93 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 target/linux/ramips/dts/NIXCOREX1-8M.dts | 93 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 target/linux/ramips/image/rt305x.mk | 10 ++++++++
 target/linux/ramips/mt7628/config-4.4 | 7 ++++++
 target/linux/ramips/rt305x/profiles/nixcore.mk | 20 +++++++++++++++
 8 files changed, 228 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/NIXCOREX1-16M.dts 
b/target/linux/ramips/dts/NIXCOREX1-16M.dts
new file mode 100644
index 0000000..7d2a6a1
--- /dev/null
+++ b/target/linux/ramips/dts/NIXCOREX1-16M.dts
@@ -0,0 +1,93 @@
+/dts-v1/;
+
+#include "rt5350.dtsi"
+
+/ {
+	compatible = "nixcorex1", "ralink,rt5350-soc";
+	model = "NixcoreX1";
+
+	chosen{
+	 bootargs = "console=ttyS1,57600";
+
+	 };
+	};
+
+&gpio0{
+	status = "okay";
+};
+
+&gpio1{
+	status = "okay";
+};
+
+&i2c{
+	status = "okay";
+};
+&uart{
+	status = "okay";
+	reset-names = "gpio uartf";
+};
+&spi0{
+	status = "okay";
+
+	m25p80 at 0 {
+	 #address-cells = <1>;
+	 #size-cells = <1>;
+	 compatible = "jedec,spi-nor";
+	 reg = <0>;
+	 linux,modalias = "m25p80";
+	 spi-max-frequency = <10000000>;
+
+	 partition at 0 {
+	 label = "uboot";
+	 reg = <0x0 0x30000>;
+	 read-only;
+	 };
+
+	 partition at 30000 {
+	 label = "uboot-env";
+	 reg = <0x30000 0x10000>;
+	 read-only;
+	 };
+
+	 factory: partition at 40000 {
+	 label = "factory";
+	 reg = <0x40000 0x10000>;
+	 read-only;
+	 };
+
+	 partition at 50000 {
+	 label = "firmware";
+	 reg = <0x50000 0xfb0000>;
+ };
+ };
+};
+
+&pinctrl {
+ state_default: pinctrl0 {
+ gpio {
+ ralink,group = "jtag", "led", "spi_cs1";
+ ralink,function = "gpio";
+ };
+ };
+};
+
+&ethernet {
+ mtd-mac-address = <&factory 0x4>;
+};
+
+&esw {
+ ralink,portmap = <0x17>;
+};
+
+&wmac {
+ ralink,mtd-eeprom = <&factory 0>;
+};
+
+&ehci {
+ status = "okay";
+};
+
+&ohci {
+ status = "okay";
+};
diff --git a/target/linux/ramips/dts/NIXCOREX1-8M.dts 
b/target/linux/ramips/dts/NIXCOREX1-8M.dts
new file mode 100644
index 0000000..dcfe73b
--- /dev/null
+++ b/target/linux/ramips/dts/NIXCOREX1-8M.dts
@@ -0,0 +1,93 @@
+/dts-v1/;
+
+#include "rt5350.dtsi"
+
+/ {
+	compatible = "nixcorex1", "ralink,rt5350-soc";
+	model = "NixcoreX1";
+
+	chosen{
+	 bootargs = "console=ttyS1,57600";
+
+	 };
+	};
+
+&gpio0{
+	status = "okay";
+};
+
+&gpio1{
+	status = "okay";
+};
+
+&i2c{
+	status = "okay";
+};
+&uart{
+	status = "okay";
+	reset-names = "gpio uartf";
+};
+&spi0{
+	status = "okay";
+
+	m25p80 at 0 {
+	 #address-cells = <1>;
+	 #size-cells = <1>;
+	 compatible = "jedec,spi-nor";
+	 reg = <0>;
+	 linux,modalias = "m25p80";
+	 spi-max-frequency = <10000000>;
+
+	 partition at 0 {
+	 label = "uboot";
+	 reg = <0x0 0x30000>;
+	 read-only;
+	 };
+
+	 partition at 30000 {
+	 label = "uboot-env";
+	 reg = <0x30000 0x10000>;
+	 read-only;
+	 };
+
+	 factory: partition at 40000 {
+	 label = "factory";
+	 reg = <0x40000 0x10000>;
+	 read-only;
+	 };
+
+	 partition at 50000 {
+	 label = "firmware";
+	 reg = <0x50000 0x7b0000>;
+ };
+ };
+};
+
+&pinctrl {
+ state_default: pinctrl0 {
+ gpio {
+ ralink,group = "jtag", "led", "spi_cs1";
+ ralink,function = "gpio";
+ };
+ };
+};
+
+&ethernet {
+ mtd-mac-address = <&factory 0x4>;
+};
+
+&esw {
+ ralink,portmap = <0x17>;
+};
+
+&wmac {
+ ralink,mtd-eeprom = <&factory 0>;
+};
+
+&ehci {
+ status = "okay";
+};
+
+&ohci {
+ status = "okay";
+};
diff --git a/target/linux/ramips/image/rt305x.mk 
b/target/linux/ramips/image/rt305x.mk
index da7fc46..6e7b71c 100644
--- a/target/linux/ramips/image/rt305x.mk
+++ b/target/linux/ramips/image/rt305x.mk
@@ -100,6 +100,16 @@ 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)
+
 vocore_8mb_mtd_size=8060928
 vocore_16mb_mtd_size=16449536
 define BuildFirmware/VOCORE/squashfs
diff --git a/target/linux/ramips/rt305x/profiles/nixcore.mk 
b/target/linux/ramips/rt305x/profiles/nixcore.mk
new file mode 100644
index 0000000..54e13dc
--- /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))






More information about the Lede-dev mailing list