ramips: add support for Tenda 3G150B
authorJohn Crispin <john@openwrt.org>
Thu, 22 Jan 2015 09:35:22 +0000 (09:35 +0000)
committerJohn Crispin <john@openwrt.org>
Thu, 22 Jan 2015 09:35:22 +0000 (09:35 +0000)
Add suport for Tenda 3G150B:
- cpu: Ralink RT5350F
- flash: 4MB
- ram: 32MB
- 1x USB 2.0
- 1x RJ45
- one reset button
- battery powered (BP-4L, 3.7V 1450mAh)

Signed-off-by: Cezary Jackiewicz <cezary.jackiewicz@gmail.com>
SVN-Revision: 44073

target/linux/ramips/base-files/etc/board.d/01_leds
target/linux/ramips/base-files/etc/board.d/02_network
target/linux/ramips/base-files/etc/diag.sh
target/linux/ramips/base-files/lib/ramips.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/3G150B.dts [new file with mode: 0644]
target/linux/ramips/image/Makefile
target/linux/ramips/rt305x/profiles/tenda.mk

index 8695cde..af3dddc 100755 (executable)
@@ -24,6 +24,7 @@ case $board in
        3g-6200nl)
                set_wifi_led "edimax:green:wlan"
                ;;
+       3g150b |\
        3g300m)
                set_usb_led "tenda:blue:3g"
                ;;
index a8ed0b4..7724c3e 100755 (executable)
@@ -43,6 +43,7 @@ ramips_setup_interfaces()
                ucidef_add_switch_vlan "switch0" "1" "0 6t"
                ;;
 
+       3g150b | \
        3g300m | \
        w150m | \
        all0256n | \
index 1693e9d..808177b 100755 (executable)
@@ -9,7 +9,7 @@ get_status_led() {
        3g-6200n)
                status_led="edimax:green:power"
                ;;
-       3g300m | w150m)
+       3g150b | 3g300m | w150m)
                status_led="tenda:blue:ap"
                ;;
        ai-br100)
index bb815da..f43725e 100755 (executable)
@@ -316,6 +316,9 @@ ramips_board_detect() {
        *"Tenda 3G300M")
                name="3g300m"
                ;;
+       *"Tenda 3G150B")
+               name="3g150b"
+               ;;
        *"Tenda W306R V2.0")
                name="w306r-v20"
                ;;
index ff7126a..0dfdf9d 100755 (executable)
@@ -16,6 +16,7 @@ platform_check_image() {
        case "$board" in
        3g-6200n | \
        3g-6200nl | \
+       3g150b | \
        3g300m | \
        a5-v11 | \
        air3gii | \
diff --git a/target/linux/ramips/dts/3G150B.dts b/target/linux/ramips/dts/3G150B.dts
new file mode 100644 (file)
index 0000000..bdcca71
--- /dev/null
@@ -0,0 +1,114 @@
+/dts-v1/;
+
+/include/ "rt5350.dtsi"
+
+/ {
+       compatible = "3G150B", "ralink,rt5350-soc";
+       model = "Tenda 3G150B";
+
+       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 = "i2c", "jtag", "rgmii", "mdio", "uartf", "led";
+                               ralink,function = "gpio";
+                       };
+               };
+       };
+
+       ethernet@10100000 {
+               mtd-mac-address = <&factory 0x4>;
+       };
+
+       esw@10110000 {
+               ralink,portmap = <0x2f>;
+       };
+
+       wmac@10180000 {
+               ralink,mtd-eeprom = <&factory 0>;
+               ralink,led-polarity = <1>;
+       };
+
+       ehci@101c0000 {
+               status = "okay";
+       };
+
+       ohci@101c1000 {
+               status = "okay";
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+               ap {
+                       label = "tenda:blue:ap";
+                       gpios = <&gpio0 7 1>;
+               };
+               3g {
+                       label = "tenda:blue:3g";
+                       gpios = <&gpio0 14 1>;
+               };
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+               reset {
+                       label = "reset";
+                       gpios = <&gpio0 0 1>;
+                       linux,code = <0x198>;
+               };
+       };
+
+       gpio_export {
+               compatible = "gpio-export";
+               #size-cells = <0>;
+
+               usb {
+                       gpio-export,name = "usb";
+                       gpio-export,output = <1>;
+                       gpios = <&gpio0 13 0>;
+               };
+       };
+
+};
index e4dea9b..d35c420 100644 (file)
@@ -549,6 +549,8 @@ Image/Build/Profile/M4=$(call BuildFirmware/PorayDualSize/$(1),$(1),m4,M4)
 Image/Build/Profile/MOFI3500-3GN=$(call BuildFirmware/Default8M/$(1),$(1),mofi3500-3gn,MOFI3500-3GN)
 
 # Kernel name should be "Linux Kernel Image" to make the OpenWrt image installable from factory Web UI
+Image/Build/Profile/3G150B=$(call BuildFirmware/Default4M/$(1),$(1),3g150b,3G150B,Linux Kernel Image)
+
 Image/Build/Profile/MPRA1=$(call BuildFirmware/Default4M/$(1),$(1),mpr-a1,MPRA1,Linux Kernel Image)
 Image/Build/Profile/MPRA2=$(call BuildFirmware/Default8M/$(1),$(1),mpr-a2,MPRA2,Linux Kernel Image)
 
@@ -676,6 +678,7 @@ ifeq ($(SUBTARGET),rt305x)
 define Image/Build/Profile/Default
        $(call Image/Build/Profile/3G6200N,$(1))
        $(call Image/Build/Profile/3G6200NL,$(1))
+       $(call Image/Build/Profile/3G150B,$(1))
        $(call Image/Build/Profile/3G300M,$(1))
        $(call Image/Build/Profile/A5-11,$(1))
        $(call Image/Build/Profile/AIR3GII,$(1))
index d9d94cf..36ba822 100644 (file)
@@ -5,6 +5,19 @@
 # See /LICENSE for more information.
 #
 
+define Profile/3G150B
+       NAME:=Tenda 3G150B
+       PACKAGES:=\
+               kmod-usb-core kmod-usb-dwc2 \
+               kmod-ledtrig-usbdev
+endef
+
+define Profile/3G150B/Description
+       Package set for Tenda 3G150B board
+endef
+
+$(eval $(call Profile,3G150B))
+
 define Profile/3G300M
        NAME:=Tenda 3G300M
        PACKAGES:=\