From 0ec720e9a9e11be3d79924766992b3883da6ae1d Mon Sep 17 00:00:00 2001
From: John Crispin <john@openwrt.org>
Date: Fri, 5 Jun 2015 14:12:25 +0000
Subject: [PATCH] ramips: Add support for RT5350F-OLinuXino V2

Version 2 : White spaces and  alphabetical order problems
 fixed
Support for Olimex RT5350F-OLinuXino Boards, tested with RT5350F-OLinuXino and RT5350F-OLinuXino-EVB boards. More Info :
 https://www.olimex.com/Products/OLinuXino/RT5350F/RT5350F-OLinuXino/open-source-hardware

Signed-off-by: Dimitar Gamishev HeHoPMaJIeH <gamishev@gmail.com>

SVN-Revision: 45902
---
 target/linux/ramips/base-files/lib/ramips.sh  |   6 ++
 .../ramips/base-files/lib/upgrade/platform.sh |   2 +
 .../ramips/dts/OLINUXINO-RT5350F-EVB.dts      | 101 ++++++++++++++++++
 target/linux/ramips/dts/OLINUXINO-RT5350F.dts |  79 ++++++++++++++
 target/linux/ramips/image/Makefile            |   8 ++
 .../rt305x/profiles/olinuxino-rt5350f-evb.mk  |  21 ++++
 .../rt305x/profiles/olinuxino-rt5350f.mk      |  20 ++++
 7 files changed, 237 insertions(+)
 create mode 100644 target/linux/ramips/dts/OLINUXINO-RT5350F-EVB.dts
 create mode 100644 target/linux/ramips/dts/OLINUXINO-RT5350F.dts
 create mode 100644 target/linux/ramips/rt305x/profiles/olinuxino-rt5350f-evb.mk
 create mode 100644 target/linux/ramips/rt305x/profiles/olinuxino-rt5350f.mk

diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index cd4e39c5f7..0cb02c7ec3 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -241,6 +241,12 @@ ramips_board_detect() {
 	*"Omnima MiniPlug")
 		name="omni-plug"
 		;;
+	*"OLinuXino-RT5350F")
+		name="olinuxino-rt5350f"
+		;;
+	*"OLinuXino-RT5350F-EVB")
+		name="olinuxino-rt5350f-evb"
+		;;
 	*"Petatel PSR-680W"*)
 		name="psr-680w"
 		;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index 3ecfb57046..99cabbde00 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -74,6 +74,8 @@ platform_check_image() {
 	omni-emb | \
 	omni-emb-hpm | \
 	omni-plug | \
+	olinuxino-rt5350f | \
+	olinuxino-rt5350f-evb | \
 	psr-680w | \
 	px4885 | \
 	rp-n53 | \
diff --git a/target/linux/ramips/dts/OLINUXINO-RT5350F-EVB.dts b/target/linux/ramips/dts/OLINUXINO-RT5350F-EVB.dts
new file mode 100644
index 0000000000..a644d4a2bd
--- /dev/null
+++ b/target/linux/ramips/dts/OLINUXINO-RT5350F-EVB.dts
@@ -0,0 +1,101 @@
+/dts-v1/;
+
+/include/ "rt5350.dtsi"
+
+/ {
+        compatible = "RT5350F-OLINUXINO", "ralink,rt5350-soc";
+        model = "RT5350F-OLINUXINO";
+
+        palmbus@10000000 {
+                spi@b00 {
+                        status = "okay";
+                        m25p80@0 {
+                                #address-cells = <1>;
+                                #size-cells = <1>;
+                                compatible = "s25fl064k";
+                                reg = <0 0>;
+                                linux,modalias = "m25p80", "s25fl064k";
+                                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 0x3b0000>;
+                                };
+                        };
+                };
+                gpio1: gpio@660 {
+                        status = "okay";
+                };
+        };
+
+        pinctrl {
+                state_default: pinctrl0 {
+                        gpio {
+                                ralink,group = "jtag", "rgmii", "mdio", "uartf";
+                                ralink,function = "gpio";
+                        };
+                };
+        };
+
+        ethernet@10100000 {
+                mtd-mac-address = <&factory 0x4>;
+        };
+
+        esw@10110000 {
+                ralink,portmap = <0x2f>;
+                ralink,led_polarity = <0x17>;
+        };
+
+        wmac@10180000 {
+                ralink,mtd-eeprom = <&factory 0>;
+        };
+
+        ehci@101c0000 {
+                status = "okay";
+        };
+
+        ohci@101c1000 {
+                status = "okay";
+        };
+
+        gpio_export {
+                compatible = "gpio-export";
+                #size-cells = <0>;
+
+                relay1 {
+                        gpio-export,name = "gpio12";
+                        gpio-export,output = <0>;
+                        gpios = <&gpio0 12 0>;
+                };
+
+                relay2 {
+                        gpio-export,name = "gpio14";
+                        gpio-export,output = <0>;
+                        gpios = <&gpio0 14 0>;
+                };
+
+                button {
+                        gpio-export,name = "button";
+                        gpios = <&gpio0 0 1>;
+                };
+
+        };
+};
diff --git a/target/linux/ramips/dts/OLINUXINO-RT5350F.dts b/target/linux/ramips/dts/OLINUXINO-RT5350F.dts
new file mode 100644
index 0000000000..984e701276
--- /dev/null
+++ b/target/linux/ramips/dts/OLINUXINO-RT5350F.dts
@@ -0,0 +1,79 @@
+/dts-v1/;
+
+/include/ "rt5350.dtsi"
+
+/ {
+        compatible = "RT5350F-OLINUXINO", "ralink,rt5350-soc";
+        model = "RT5350F-OLINUXINO";
+
+        palmbus@10000000 {
+                spi@b00 {
+                        status = "okay";
+                        m25p80@0 {
+                                #address-cells = <1>;
+                                #size-cells = <1>;
+                                compatible = "s25fl064k";
+                                reg = <0 0>;
+                                linux,modalias = "m25p80", "s25fl064k";
+                                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 0x3b0000>;
+                                };
+                        };
+                };
+                gpio1: gpio@660 {
+                        status = "okay";
+                };
+        };
+
+        pinctrl {
+                state_default: pinctrl0 {
+                        gpio {
+                                ralink,group = "jtag", "rgmii", "mdio", "uartf";
+                                ralink,function = "gpio";
+                        };
+                };
+        };
+
+        ethernet@10100000 {
+                mtd-mac-address = <&factory 0x4>;
+        };
+
+        esw@10110000 {
+                ralink,portmap = <0x2f>;
+                ralink,led_polarity = <0x17>;
+        };
+
+        wmac@10180000 {
+                ralink,mtd-eeprom = <&factory 0>;
+        };
+
+        ehci@101c0000 {
+                status = "okay";
+        };
+
+        ohci@101c1000 {
+                status = "okay";
+        };
+
+};
diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile
index 4ae9ca4f2b..106cb2db3d 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -577,6 +577,10 @@ Image/Build/Profile/OMNI-EMB=$(call BuildFirmware/Default8M/$(1),$(1),omni-emb,O
 
 Image/Build/Profile/OMNI-PLUG=$(call BuildFirmware/Default8M/$(1),$(1),omni-plug,OMNI-PLUG)
 
+Image/Build/Profile/OLINUXINO-RT5350F=$(call BuildFirmware/Default8M/$(1),$(1),olinuxino-rt5350f,OLINUXINO-RT5350F)
+
+Image/Build/Profile/OLINUXINO-RT5350F-EVB=$(call BuildFirmware/Default8M/$(1),$(1),olinuxino-rt5350f-evb,OLINUXINO-RT5350F-EVB)
+
 Image/Build/Profile/PSR-680W=$(call BuildFirmware/Default4M/$(1),$(1),psr-680w,PSR-680W)
 
 Image/Build/Profile/PWH2004=$(call BuildFirmware/Default8M/$(1),$(1),pwh2004,PWH2004)
@@ -603,6 +607,7 @@ Image/Build/Profile/W502U=$(call BuildFirmware/Default8M/$(1),$(1),w502u,W502U)
 
 Image/Build/Profile/WCR150GN=$(call BuildFirmware/Default4M/$(1),$(1),wcr150gn,WCR150GN)
 
+
 buffalo_whrg300n_mtd_size=3801088
 define BuildFirmware/WHRG300N/squashfs
 	$(call BuildFirmware/Default4M/$(1),$(1),whr-g300n,WHR-G300N)
@@ -735,6 +740,8 @@ define Image/Build/Profile/Default
 	$(call Image/Build/Profile/NW718,$(1))
 	$(call Image/Build/Profile/OMNI-EMB,$(1))
 	$(call Image/Build/Profile/OMNI-PLUG,$(1))
+	$(call Image/Build/Profile/OLINUXINO-RT5350F,$(1))
+	$(call Image/Build/Profile/OLINUXINO-RT5350F-EVB,$(1))
 	$(call Image/Build/Profile/PSR-680W,$(1))
 	$(call Image/Build/Profile/PWH2004,$(1))
 	$(call Image/Build/Profile/PX4885,$(1))
@@ -763,6 +770,7 @@ define Image/Build/Profile/Default
 	$(call Image/Build/Profile/X5,$(1))
 	$(call Image/Build/Profile/X8,$(1))
 	$(call Image/Build/Profile/XDXRN502J,$(1))
+
 endef
 endif
 
diff --git a/target/linux/ramips/rt305x/profiles/olinuxino-rt5350f-evb.mk b/target/linux/ramips/rt305x/profiles/olinuxino-rt5350f-evb.mk
new file mode 100644
index 0000000000..1bf9829166
--- /dev/null
+++ b/target/linux/ramips/rt305x/profiles/olinuxino-rt5350f-evb.mk
@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/OLINUXINO-RT5350F-EVB
+	NAME:=OLinuXino-RT5350F-EVB
+	PACKAGES:=\
+		kmod-usb-core kmod-usb-ohci kmod-usb2 \
+		kmod-i2c-core kmod-i2c-ralink \
+		kmod-spi-dev
+endef
+
+define Profile/OLINUXINO-RT5350F/Description
+	Package set for OLinuXino-RT5350F-EVB board
+endef
+
+$(eval $(call Profile,OLINUXINO-RT5350F-EVB))
+
diff --git a/target/linux/ramips/rt305x/profiles/olinuxino-rt5350f.mk b/target/linux/ramips/rt305x/profiles/olinuxino-rt5350f.mk
new file mode 100644
index 0000000000..af24c5848e
--- /dev/null
+++ b/target/linux/ramips/rt305x/profiles/olinuxino-rt5350f.mk
@@ -0,0 +1,20 @@
+#
+# Copyright (C) 2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/OLINUXINO-RT5350F
+	NAME:=OLinuXino-RT5350F
+	PACKAGES:=\
+		kmod-usb-core kmod-usb-ohci kmod-usb2 \
+		kmod-i2c-core kmod-i2c-ralink \
+		kmod-spi-dev
+endef
+
+define Profile/OLINUXINO-RT5350F/Description
+	Package set for OLinuXino-RT5350F board
+endef
+
+$(eval $(call Profile,OLINUXINO-RT5350F))
-- 
GitLab