From: John Crispin Date: Thu, 1 Aug 2013 14:31:04 +0000 (+0000) Subject: ramips: add Poray X5/X6 Support X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=54968110f119a4aa7e9e536f6c2a4a3a973607ea;p=librecmc%2Flibrecmc.git ramips: add Poray X5/X6 Support Signed-off-by: Felix Kaechele SVN-Revision: 37638 --- diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 57c8beb6c2..d04d990665 100755 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -138,6 +138,9 @@ get_status_led() { ur-336un) status_led="ur336:green:wps" ;; + x5) + status_led="x5:green:power" + ;; xdxrn502j) status_led="xdxrn502j:green:power" ;; diff --git a/target/linux/ramips/base-files/etc/uci-defaults/02_network b/target/linux/ramips/base-files/etc/uci-defaults/02_network index 133c2decb9..fa5b28ea95 100755 --- a/target/linux/ramips/base-files/etc/uci-defaults/02_network +++ b/target/linux/ramips/base-files/etc/uci-defaults/02_network @@ -227,7 +227,8 @@ ramips_setup_macs() ;; m3 |\ - m4) + m4 |\ + x5) lan_mac=$(mtd_get_mac_binary factory 4) lan_mac=$(macaddr_add "$lan_mac" -1) ;; diff --git a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac index f9aabd5c4e..30732339f1 100644 --- a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac +++ b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac @@ -76,7 +76,8 @@ preinit_set_mac_address() { ifconfig eth0 hw ether $mac 2>/dev/null ;; m3 |\ - m4) + m4 |\ + x5) mac=$(mtd_get_mac_binary factory 4) mac=$(macaddr_add "$mac" -1) ifconfig eth0 hw ether $mac 2>/dev/null diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index e3776f1304..1bf93e30bf 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -154,6 +154,9 @@ ramips_board_detect() { *"Poray M4") name="m4" ;; + *"Poray X5") + name="x5" + ;; *"PWH2004") name="pwh2004" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 5e1a7a5651..4b80afa966 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -75,7 +75,8 @@ platform_check_image() { whr-g300n |\ ur-326n4g |\ ur-336un |\ - wr512-3gn) + wr512-3gn |\ + x5) [ "$magic" != "27051956" ] && { echo "Invalid image type." return 1 diff --git a/target/linux/ramips/dts/X5.dts b/target/linux/ramips/dts/X5.dts new file mode 100644 index 0000000000..d9e963239f --- /dev/null +++ b/target/linux/ramips/dts/X5.dts @@ -0,0 +1,133 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "X5", "ralink,rt5350-soc"; + model = "Poray X5"; + + palmbus@10000000 { + sysc@0 { + ralink,pinmux = "i2c", "spi", "uartlite", "mdio", "sdram", "rgmii"; + ralink,gpiomux = "jtag"; + ralink,uartmux = "gpio"; + ralink,wdtmux = <1>; + }; + + gpio0: gpio@600 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "gd25q64"; + reg = <0 0>; + linux,modalias = "m25p80", "gd25q64"; + 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>; + }; + }; + }; + }; + + ethernet@10100000 { + status = "okay"; + }; + + esw@10110000 { + status = "okay"; + ralink,portmap = <0x2f>; + ralink,led_polarity = <1>; + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "x5:green:power"; + gpios = <&gpio0 13 1>; + }; + 20 { + label = "x5:green:20"; + gpios = <&gpio0 12 1>; + }; + 50 { + label = "x5:green:50"; + gpios = <&gpio0 11 1>; + }; + 80 { + label = "x5:green:80"; + gpios = <&gpio0 7 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + bat { + label = "bat"; + gpios = <&gpio0 9 1>; + linux,code = <0x211>; + }; + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + mode { + label = "mode"; + gpios = <&gpio0 14 1>; + linux,code = <0x100>; + linux,input-type = <5>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + usb-mode { + gpio-export,name = "usb-mode"; + gpio-export,output = <0>; + gpios = <&gpio0 18 0>; + }; + }; + + wmac@10180000 { + status = "okay"; + ralink,mtd-eeprom = <&factory 0>; + ralink,led-polarity = <1>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; +}; diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 68343e3fdd..0a099b2d37 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -477,6 +477,8 @@ Image/Build/Profile/UR-336UN=$(call BuildFirmware/Default8M/$(1),$(1),ur-336un,U Image/Build/Profile/WR6202=$(call BuildFirmware/Default8M/$(1),$(1),wr6202,WR6202) +Image/Build/Profile/X5=$(call BuildFirmware/Poray8M/$(1),$(1),x5,X5) + Image/Build/Profile/XDXRN502J=$(call BuildFirmware/Default4M/$(1),$(1),xdxrn502j,XDXRN502J) ifeq ($(SUBTARGET),rt305x) @@ -540,6 +542,7 @@ define Image/Build/Profile/Default $(call Image/Build/Profile/WNCE2001,$(1)) $(call Image/Build/Profile/WR512-3GN,$(1)) $(call Image/Build/Profile/WR6202,$(1)) + $(call Image/Build/Profile/X5,$(1)) $(call Image/Build/Profile/XDXRN502J,$(1)) endef endif diff --git a/target/linux/ramips/rt305x/profiles/poray.mk b/target/linux/ramips/rt305x/profiles/poray.mk index 10cf37f381..86b9a8b8fc 100644 --- a/target/linux/ramips/rt305x/profiles/poray.mk +++ b/target/linux/ramips/rt305x/profiles/poray.mk @@ -25,3 +25,13 @@ define Profile/M4/Description endef $(eval $(call Profile,M4)) + +define Profile/X5 + NAME:=Poray X5/X6 + PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-netdev kmod-ledtrig-timer +endef +define Profile/X5/Description + Package set for Poray X5/X6 board +endef + +$(eval $(call Profile,X5))