From 43de7c1cfa8b6afd15c226676ec64a0fa765fc6b Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 28 Oct 2013 06:47:31 +0000 Subject: [PATCH] ralink: add support for 2 new mt7620 boards made by buffalo Signed-off-by: John Crispin SVN-Revision: 38550 --- target/linux/ramips/base-files/etc/diag.sh | 6 + .../base-files/etc/hotplug.d/usb/10-motion | 1 + .../base-files/etc/uci-defaults/01_leds | 5 + .../base-files/etc/uci-defaults/02_network | 5 + target/linux/ramips/base-files/lib/ramips.sh | 6 + target/linux/ramips/dts/WHR-300HP2.dts | 138 ++++++++++++++++++ target/linux/ramips/dts/WHR-600D.dts | 134 +++++++++++++++++ target/linux/ramips/image/Makefile | 5 + 8 files changed, 300 insertions(+) create mode 100644 target/linux/ramips/base-files/etc/hotplug.d/usb/10-motion create mode 100644 target/linux/ramips/dts/WHR-300HP2.dts create mode 100644 target/linux/ramips/dts/WHR-600D.dts diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index bfe53e1d9e..c6e6004245 100755 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -120,6 +120,12 @@ get_status_led() { whr-g300n) status_led="whr-g300n:green:router" ;; + whr-300hp2) + status_led="buffalo:green:status" + ;; + whr-600d) + status_led="buffalo:green:status" + ;; wli-tx4-ag300n) status_led="buffalo:blue:power" ;; diff --git a/target/linux/ramips/base-files/etc/hotplug.d/usb/10-motion b/target/linux/ramips/base-files/etc/hotplug.d/usb/10-motion new file mode 100644 index 0000000000..557698b1a2 --- /dev/null +++ b/target/linux/ramips/base-files/etc/hotplug.d/usb/10-motion @@ -0,0 +1 @@ +[ "$ACTION" == "motion" ] && logger webcam motion event diff --git a/target/linux/ramips/base-files/etc/uci-defaults/01_leds b/target/linux/ramips/base-files/etc/uci-defaults/01_leds index 7f9ca40722..44951d8e23 100755 --- a/target/linux/ramips/base-files/etc/uci-defaults/01_leds +++ b/target/linux/ramips/base-files/etc/uci-defaults/01_leds @@ -145,6 +145,11 @@ case $board in ucidef_set_led_netdev "eth" "Network" "asus:white:back" "eth0" set_wifi_led "asus:blue:wifi" ;; + whr-300hp2 |\ + whr-600d) + ucidef_set_led_default "power" "power" "buffalo:green:power" "1" + ucidef_set_led_default "router" "router" "buffalo:green:router" "1" + ;; esac ucidef_commit_leds 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 034d6e61e1..9026700ac9 100755 --- a/target/linux/ramips/base-files/etc/uci-defaults/02_network +++ b/target/linux/ramips/base-files/etc/uci-defaults/02_network @@ -146,6 +146,11 @@ ramips_setup_interfaces() ucidef_set_interface_lan "eth0" ;; + whr-300hp2 |\ + whr-600d) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ;; + *) RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"` if [ -n "${RT3X5X}" ]; then diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 589b208f36..0315074f10 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -208,6 +208,12 @@ ramips_board_detect() { *"W502U") name="w502u" ;; + *"WHR-300HP2") + name="whr-300hp2" + ;; + *"WHR-600D") + name="whr-600d" + ;; *"WHR-G300N") name="whr-g300n" ;; diff --git a/target/linux/ramips/dts/WHR-300HP2.dts b/target/linux/ramips/dts/WHR-300HP2.dts new file mode 100644 index 0000000000..1a0b8c312c --- /dev/null +++ b/target/linux/ramips/dts/WHR-300HP2.dts @@ -0,0 +1,138 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-soc"; + model = "Buffalo WHR-300HP2"; + + palmbus@10000000 { + gpio2: gpio@660 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "en25q64"; + 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 0x6b0000>; + }; + + partition@700000 { + label = "usercfg"; + reg = <0x700000 0x100000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + pa { + ralink,group = "pa"; + ralink,function = "pa"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + + ralink,port-map = "llllw"; + }; + + gsw@10110000 { + ralink,port4 = "ephy"; + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "buffalo:red:power"; + gpios = <&gpio0 7 1>; + }; + status { + label = "buffalo:green:status"; + gpios = <&gpio0 8 1>; + }; + power2 { + label = "buffalo:green:power"; + gpios = <&gpio0 9 1>; + }; + status2 { + label = "buffalo:orange:status"; + gpios = <&gpio0 10 1>; + }; + internet { + label = "buffalo:green:internet"; + gpios = <&gpio2 17 1>; + }; + router { + label = "buffalo:green:router"; + gpios = <&gpio2 18 1>; + }; + router2 { + label = "buffalo:orange:router"; + gpios = <&gpio2 19 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + s1 { + label = "reset"; + gpios = <&gpio2 12 1>; + linux,code = <0x100>; + }; + s2 { + label = "aoss"; + gpios = <&gpio2 13 1>; + linux,code = <0x101>; + }; + s3 { + label = "ap"; + gpios = <&gpio2 14 1>; + linux,code = <0x102>; + }; + s4 { + label = "bridge"; + gpios = <&gpio2 15 1>; + linux,code = <0x103>; + }; + }; +}; diff --git a/target/linux/ramips/dts/WHR-600D.dts b/target/linux/ramips/dts/WHR-600D.dts new file mode 100644 index 0000000000..00d9d03093 --- /dev/null +++ b/target/linux/ramips/dts/WHR-600D.dts @@ -0,0 +1,134 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-soc"; + model = "Buffalo WHR-600D"; + + palmbus@10000000 { + gpio2: gpio@660 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "en25q64"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + 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 0x6b0000>; + }; + + partition@700000 { + label = "usercfg"; + reg = <0x700000 0x100000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + + ralink,port-map = "llllw"; + }; + + gsw@10110000 { + ralink,port4 = "ephy"; + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "buffalo:red:power"; + gpios = <&gpio0 7 1>; + }; + status { + label = "buffalo:green:status"; + gpios = <&gpio0 8 1>; + }; + power2 { + label = "buffalo:green:power"; + gpios = <&gpio0 9 1>; + }; + status2 { + label = "buffalo:orange:status"; + gpios = <&gpio0 10 1>; + }; + internet { + label = "buffalo:green:internet"; + gpios = <&gpio2 17 1>; + }; + router { + label = "buffalo:green:router"; + gpios = <&gpio2 18 1>; + }; + router2 { + label = "buffalo:orange:router"; + gpios = <&gpio2 19 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + s1 { + label = "reset"; + gpios = <&gpio2 12 1>; + linux,code = <0x100>; + }; + s2 { + label = "aoss"; + gpios = <&gpio2 13 1>; + linux,code = <0x101>; + }; + s3 { + label = "ap"; + gpios = <&gpio2 14 1>; + linux,code = <0x102>; + }; + s4 { + label = "bridge"; + gpios = <&gpio2 15 1>; + linux,code = <0x103>; + }; + }; +}; diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 81f23c7d95..317ffac322 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -614,6 +614,9 @@ Image/Build/Profile/MT7620a=$(call BuildFirmware/Default8M/$(1),$(1),mt7620a,MT7 Image/Build/Profile/MT7620a_MT7610e=$(call BuildFirmware/Default8M/$(1),$(1),mt7620a_mt7610e,MT7620a_MT7610e) Image/Build/Profile/MT7620a_MT7530=$(call BuildFirmware/Default8M/$(1),$(1),mt7620a_mt7530,MT7620a_MT7530) Image/Build/Profile/RP-N53=$(call BuildFirmware/Default8M/$(1),$(1),rp_n53,RP-N53) +whr_300hp2_mtd_size=7012352 +Image/Build/Profile/WHR-300HP2=$(call BuildFirmware/CustomFlash/$(1),$(1),whr-300hp2,WHR-300HP2,$(whr_300hp2_mtd_size)) +Image/Build/Profile/WHR-600D=$(call BuildFirmware/CustomFlash/$(1),$(1),whr-600d,WHR-600D,$(whr_300hp2_mtd_size)) dlink810l_mtd_size=6881280 Image/Build/Profile/DIR-810L=$(call BuildFirmware/CustomFlash/$(1),$(1),dir-810l,DIR-810L,$(dlink810l_mtd_size)) @@ -624,6 +627,8 @@ define Image/Build/Profile/Default $(call Image/Build/Profile/MT7620a_MT7530,$(1)) $(call Image/Build/Profile/RP-N53,$(1)) $(call Image/Build/Profile/DIR-810L,$(1)) + $(call Image/Build/Profile/WHR-300HP2,$(1)) + $(call Image/Build/Profile/WHR-600D,$(1)) endef endif -- 2.30.2