From 640b211b1e9350471f7aef7c64ced5a1ef55476e Mon Sep 17 00:00:00 2001 From: John Crispin Date: Thu, 18 Jun 2015 18:20:40 +0000 Subject: [PATCH] ramips: add support for PandoraBox PBR-M1 This patch is for PandoraBox PBR-M1 which is based on mt7621, all the features work fine, including rtc, leds, button, usb3.0, etc. Signed-off-by: tymon SVN-Revision: 46041 --- .../ramips/base-files/etc/board.d/01_leds | 5 + .../ramips/base-files/etc/board.d/02_network | 1 + target/linux/ramips/base-files/etc/diag.sh | 3 + target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/PBR-M1.dts | 150 ++++++++++++++++++ target/linux/ramips/image/Makefile | 7 +- target/linux/ramips/mt7621/profiles/pbr-m1.mk | 22 +++ 8 files changed, 191 insertions(+), 1 deletion(-) create mode 100644 target/linux/ramips/dts/PBR-M1.dts create mode 100644 target/linux/ramips/mt7621/profiles/pbr-m1.mk diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds index ad0062a56bba..c63ff47585ed 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -175,6 +175,11 @@ case $board in set_wifi_led "7links:orange:wifi" set_usb_led "7links:blue:storage" ;; + pbr-m1) + ucidef_set_led_netdev "internet" "internet" "pbr-m1:green:internet" "eth0.2" + ucidef_set_led_default "power" "power" "pbr-m1:green:power" "1" + ucidef_set_led_default "sys" "sys" "pbr-m1:green:sys" "1" + ;; sl-r7205) set_wifi_led "rt2800pci-phy0::radio" ;; 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 4982566de786..b3dd1f1c3d6f 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -129,6 +129,7 @@ ramips_setup_interfaces() dir-320-b1 | \ dir-615-h1 | \ firewrt | \ + pbr-m1 | \ hlk-rm04 | \ mt7621 | \ mt7628 | \ diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index d6001c5d5bed..bfc92e5e4e08 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -117,6 +117,9 @@ get_status_led() { omni-emb-hpm) status_led="emb:green:status" ;; + pbr-m1) + status_led="pbr-m1:green:sys" + ;; psr-680w) status_led="psr-680w:red:wan" ;; diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 0cb02c7ec300..14ffc212d25e 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -247,6 +247,9 @@ ramips_board_detect() { *"OLinuXino-RT5350F-EVB") name="olinuxino-rt5350f-evb" ;; + *"PBR-M1") + name="pbr-m1" + ;; *"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 99cabbde00f2..8d5f74ff097a 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -53,6 +53,7 @@ platform_check_image() { fonera20n | \ freestation5 | \ firewrt |\ + pbr-m1 |\ hg255d | \ hlk-rm04 | \ ht-tm02 | \ diff --git a/target/linux/ramips/dts/PBR-M1.dts b/target/linux/ramips/dts/PBR-M1.dts new file mode 100644 index 000000000000..76eae931a5f0 --- /dev/null +++ b/target/linux/ramips/dts/PBR-M1.dts @@ -0,0 +1,150 @@ +/dts-v1/; + +/include/ "mt7621.dtsi" + +/ { + compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc"; + model = "PBR-M1"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x10000000>; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + sdhci@10130000 { + status = "okay"; + }; + + palmbus@1E000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "w25q256"; + reg = <0 0>; + linux,modalias = "m25p80"; + 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 0xfb0000>; + }; + + }; + }; + + i2c@900 { + compatible = "ralink,i2c-mt7621"; + reg = <0x900 0x100>; + + #address-cells = <1>; + #size-cells = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&i2c_pins>; + + status = "okay"; + + pcf8563: rtc@51 { + status = "okay"; + compatible = "nxp,pcf8563"; + reg = <0x51>; + }; + }; + }; + + pcie@1e140000 { + status = "okay"; + + pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x0000>; + mediatek,2ghz = <0>; + }; + }; + + pcie1 { + mt76@1,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,5ghz = <0>; + }; + }; + }; + + ethernet@1e100000 { + mtd-mac-address = <&factory 0xe000>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + buzzer { + label = "pbr-m1:buzzer"; + gpios = <&gpio0 27 1>; + }; + + power { + label = "pbr-m1:green:power"; + gpios = <&gpio0 25 1>; + }; + + sys { + label = "pbr-m1:green:sys"; + gpios = <&gpio0 24 1>; + }; + + internet { + label = "pbr-m1:green:internet"; + gpios = <&gpio0 23 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + reset { + label = "reset"; + gpios = <&gpio0 18 1>; + linux,code = <0x198>; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "wdt", "rgmii2", "wdt rst", "jtag", "mdio"; + ralink,function = "gpio"; + }; + }; + }; +}; diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 106cb2db3d8c..afbe56770fbc 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -919,7 +919,7 @@ endif # ifeq ($(SUBTARGET),mt7621) - TARGET_DEVICES += mt7621 wsr-600 wsr-1166 dir-860l-b1 firewrt + TARGET_DEVICES += mt7621 wsr-600 wsr-1166 dir-860l-b1 firewrt pbr-m1 endif define Device/mt7621 @@ -956,6 +956,11 @@ define Device/firewrt IMAGE_SIZE := $(ralink_default_fw_size_16M) endef +define Device/pbr-m1 + DTS := PBR-M1 + IMAGE_SIZE := $(ralink_default_fw_size_16M) +endef + # # MT7628 Profiles # diff --git a/target/linux/ramips/mt7621/profiles/pbr-m1.mk b/target/linux/ramips/mt7621/profiles/pbr-m1.mk new file mode 100644 index 000000000000..5b4dfb58cf75 --- /dev/null +++ b/target/linux/ramips/mt7621/profiles/pbr-m1.mk @@ -0,0 +1,22 @@ +# +# Copyright (C) 2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/PBR-M1 + NAME:=PBR-M1 Device + PACKAGES:=\ + kmod-usb-core kmod-usb3 kmod-usb-hid kmod-sdhci-mt7620 \ + kmod-ledtrig-usbdev kmod-mt76 kmod-ata-core kmod-ata-ahci \ + kmod-usb3-mt7621 kmod-rtc-pcf8563 +endef + + +FEATURES+=rtc + +define Profile/PBR-M1/Description + Default package set compatible with most boards. +endef +$(eval $(call Profile,PBR-M1)) -- 2.30.2