From 30786d2dd0e0063b56ba5e616e868f4e6775eaad Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 10 Jun 2013 08:24:50 +0000 Subject: [PATCH] ramips: add support for belkin F7C027 wemo/homeautomatisation plug Signed-off-by: Alexander Couzens SVN-Revision: 36897 --- target/linux/ramips/base-files/etc/diag.sh | 3 + .../etc/hotplug.d/firmware/10-rt2x00-eeprom | 1 + target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/F7C027.dts | 126 ++++++++++++++++++ target/linux/ramips/image/Makefile | 5 + target/linux/ramips/rt305x/profiles/belkin.mk | 12 ++ 7 files changed, 151 insertions(+) create mode 100644 target/linux/ramips/dts/F7C027.dts diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 1970ae0bcd09..be2fa56faf3c 100755 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -129,6 +129,9 @@ get_status_led() { xdxrn502j) status_led="xdxrn502j:green:power" ;; + f7c027) + status_led="belkin:orange:status" + ;; esac } diff --git a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom index 320e01d9040e..41dabd9f0106 100644 --- a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom +++ b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom @@ -71,6 +71,7 @@ case "$FIRMWARE" in dir-620-a1 | \ dir-620-d1 | \ esr-9753 | \ + f7c027 | \ fonera20n | \ rt-n13u | \ freestation5 | \ diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 63af00d031bd..03ae25bcb113 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -91,6 +91,9 @@ ramips_board_detect() { *"ESR-9753") name="esr-9753" ;; + *"F7C027") + name="f7c027" + ;; *"F5D8235 v1") name="f5d8235-v1" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index b2fa0bd9574f..2d24f182d7ad 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -37,6 +37,7 @@ platform_check_image() { dir-620-d1 | \ dap-1350 | \ esr-9753 | \ + f7c027 | \ fonera20n | \ rt-n13u | \ freestation5 | \ diff --git a/target/linux/ramips/dts/F7C027.dts b/target/linux/ramips/dts/F7C027.dts new file mode 100644 index 000000000000..91d43838125b --- /dev/null +++ b/target/linux/ramips/dts/F7C027.dts @@ -0,0 +1,126 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "F7C027", "ralink,rt5350-soc"; + model = "Belkin F7C027"; + + palmbus@10000000 { + sysc@0 { + ralink,pinmux = "spi", "uartlite", "jtag", "sdram"; + ralink,uartmux = "gpio"; + ralink,wdtmux = <1>; + }; + + gpio0: gpio@600 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "mx25l12805d"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l12805d"; + 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 0x770000>; + }; + + partition@7c0000 { + label = "firmware2"; + reg = <0x7c0000 0x770000>; + }; + + partition@f30000 { + label = "belkin_settings"; + reg = <0xf30000 0xa0000>; + }; + + partition@fd0000 { + label = "unknown"; + reg = <0xfd0000 0x10000>; + }; + + partition@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x10000>; + }; + + partition@ff0000 { + label = "user_factory"; + reg = <0xff0000 0x10000>; + }; + }; + }; + }; + + + wmac@10180000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + status { + label = "belkin:blue:status"; + gpios = <&gpio0 7 1>; + }; + power { + label = "belkin:blue:power"; + gpios = <&gpio0 9 1>; + }; + orange { + label = "belkin:orange:status"; + gpios = <&gpio0 11 1>; + }; + relay { + label = "belkin:device:relay"; + gpios = <&gpio0 13 0>; + }; + }; + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + top { + label = "top"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + power { + label = "power"; + gpios = <&gpio0 12 1>; + linux,code = <0x100>; + }; + sensor { + label = "sensor"; + gpios = <&gpio0 14 1>; + linux,code = <0x101>; + }; + }; +}; diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 5e2d6b7762c2..ed7932b7053d 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -322,6 +322,10 @@ Image/Build/Profile/HW550-3G=$(call BuildFirmware/Default8M/$(1),$(1),hw550-3g,H belkin_f5d8235v2_mtd_size=7929856 Image/Build/Profile/F5D8235V2=$(call BuildFirmware/CustomFlash/$(1),$(1),f5d8235v2,F5D8235_V2,$(belkin_f5d8235v2_mtd_size)) +# 0x770000 +belkin_f7c027_mtd_size=7798784 +Image/Build/Profile/F7C027=$(call BuildFirmware/CustomFlash/$(1),$(1),belkinf7c027,F7C027,$(belkin_f7c027_mtd_size)) + Image/Build/Profile/FONERA20N=$(call BuildFirmware/Edimax/$(1),$(1),fonera20n,FONERA20N,$(ralink_default_fw_size_8M),RSDK,NL1T,0x50000,0xc0000) Image/Build/Profile/RT-N13U=$(call BuildFirmware/Default8M/$(1),$(1),rt-n13u,RT-N13U) @@ -451,6 +455,7 @@ define Image/Build/Profile/Default $(call Image/Build/Profile/DAP1350,$(1)) $(call Image/Build/Profile/DAP1350WW,$(1)) $(call Image/Build/Profile/ESR-9753,$(1)) + $(call Image/Build/Profile/F7C027,$(1)) $(call Image/Build/Profile/F5D8235V2,$(1)) $(call Image/Build/Profile/FONERA20N,$(1)) $(call Image/Build/Profile/FREESTATION5,$(1)) diff --git a/target/linux/ramips/rt305x/profiles/belkin.mk b/target/linux/ramips/rt305x/profiles/belkin.mk index 70d3fa94088f..47968ed41005 100644 --- a/target/linux/ramips/rt305x/profiles/belkin.mk +++ b/target/linux/ramips/rt305x/profiles/belkin.mk @@ -17,4 +17,16 @@ define Profile/F5D8235V2/Description Package set for Belkin F5D8235 v2 endef +define Profile/F7C027 + NAME:=Belkin F7C027 + PACKAGES:=\ + -kmod-usb-core -kmod-usb-rt305x-dwc_otg \ + -kmod-ledtrig-usbdev +endef + +define Profile/F7C027/Description + Package set for Belkin F7C027 - Plug with soc_ap and a relay +endef + $(eval $(call Profile,F5D8235V2)) +$(eval $(call Profile,F7C027)) -- 2.30.2