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

John Crispin john at phrozen.org
Wed Jun 29 22:42:52 PDT 2016



On 30/06/2016 04:20, L. D. Pinney wrote:
> The NixCore X1 is a Ralink/MediaTek rt5350 WiFi Module.
> 
> http://nixcores.com/
> 
> Signed-off-by: L. D. Pinney <ldpinney at gmail.com>
> Acked-by: Drew Gaylo <drew at nixcores.com>
> 

this is a different patch to drew's version 5. please incorporate all
the feedback we already gave to drew.

	John

> ---
>  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 at 10000000 {
> +		spi at b00 {
> +			status = "okay";
> +
> +			m25p80 at 0 {
> +				#address-cells = <1>;
> +				#size-cells = <1>;
> +				compatible = "jedec,spi-nor";
> +				reg = <0 0>;
> +				linux,modalias = "m25p80";
> +				spi-max-frequency = <10000000>;
> +
> +				partition at 0 {
> +					label = "u-boot";
> +					reg = <0x0 0x30000>;
> +					read-only;
> +				};
> +
> +				partition at 30000 {
> +					label = "u-boot-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>;
> +				};
> +			};
> +		};
> +
> +		gpio0: gpio at 600 {
> +			status = "okay";
> +		};
> +
> +		gpio1: gpio at 660 {
> +			status = "okay";
> +		};
> +	};
> +
> +	pinctrl {
> +		state_default: pinctrl0 {
> +			gpio {
> +				ralink,group = "i2c", "jtag", "led", "uartf";
> +				ralink,function = "gpio";
> +			};
> +		};
> +	};
> +
> +	ethernet at 10100000 {
> +		mtd-mac-address = <&factory 0x4>;
> +	};
> +
> +	esw at 10110000 {
> +		mediatek,portmap = <0x2f>;
> +	};
> +
> +	wmac at 10180000 {
> +		ralink,mtd-eeprom = <&factory 0>;
> +	};
> +
> +	ehci at 101c0000 {
> +		status = "okay";
> +	};
> +
> +	ohci at 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 at 10000000 {
> +		spi at b00 {
> +			status = "okay";
> +
> +			m25p80 at 0 {
> +				#address-cells = <1>;
> +				#size-cells = <1>;
> +				compatible = "jedec,spi-nor";
> +				reg = <0 0>;
> +				linux,modalias = "m25p80";
> +				spi-max-frequency = <10000000>;
> +
> +				partition at 0 {
> +					label = "u-boot";
> +					reg = <0x0 0x30000>;
> +					read-only;
> +				};
> +
> +				partition at 30000 {
> +					label = "u-boot-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>;
> +				};
> +			};
> +		};
> +
> +		gpio0: gpio at 600 {
> +			status = "okay";
> +		};
> +
> +		gpio1: gpio at 660 {
> +			status = "okay";
> +		};
> +	};
> +
> +	pinctrl {
> +		state_default: pinctrl0 {
> +			gpio {
> +				ralink,group = "i2c", "jtag", "led", "uartf";
> +				ralink,function = "gpio";
> +			};
> +		};
> +	};
> +
> +	ethernet at 10100000 {
> +		mtd-mac-address = <&factory 0x4>;
> +	};
> +
> +	esw at 10110000 {
> +		mediatek,portmap = <0x2f>;
> +	};
> +
> +	wmac at 10180000 {
> +		ralink,mtd-eeprom = <&factory 0>;
> +	};
> +
> +	ehci at 101c0000 {
> +		status = "okay";
> +	};
> +
> +	ohci at 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 at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev
> 



More information about the Lede-dev mailing list