[OpenWrt-Devel] [PATCH]ramips:support Lenovo AC1200 Wireless router

Lintel Huang lintel.huang at gmail.com
Thu Jul 31 05:43:56 EDT 2014


Dear all:
       Lenovo AC1200 series has two types,Y1 and Y1S.

       Y1S have 256MB DDR2 ,Y1 only have 128MB and Y1 have not Giga Port.

       The attachment is the new patch for Y1 and Y1S.
       for pohotoes,please vist my google+  photo album :

https://plus.google.com/photos/106054345863098360212/albums/6042078871461598481


Regards,
lintel

Signed-off-by:Lintel<lintel.huang at gmail.com>

Index: target/linux/ramips/base-files/etc/diag.sh
===================================================================
--- target/linux/ramips/base-files/etc/diag.sh    (revision 41906)
+++ target/linux/ramips/base-files/etc/diag.sh    (working copy)
@@ -185,6 +185,10 @@
     na930)
         status_led="na930:blue:power"
         ;;
+    y1 | \
+    y1s)
+        status_led="lenovo:blue:power"
+        ;;
     esac
 }

Index: target/linux/ramips/base-files/etc/uci-defaults/01_leds
===================================================================
--- target/linux/ramips/base-files/etc/uci-defaults/01_leds    (revision
41906)
+++ target/linux/ramips/base-files/etc/uci-defaults/01_leds    (working
copy)
@@ -194,6 +194,12 @@
         set_usb_led "wr8305rt:usb"
         set_wifi_led "wr8305rt:wifi"
         ;;
+    y1 |\
+    y1s)
+        ucidef_set_led_default "power" "power" "lenovo:blue:power" "1"
+        set_usb_led "lenovo:blue:usb"
+        set_wifi_led "lenovo:blue:wifi"
+        ;;
 esac

 ucidef_commit_leds
Index: target/linux/ramips/base-files/etc/uci-defaults/02_network
===================================================================
--- target/linux/ramips/base-files/etc/uci-defaults/02_network    (revision
41906)
+++ target/linux/ramips/base-files/etc/uci-defaults/02_network    (working
copy)
@@ -177,6 +177,13 @@
         ucidef_add_switch_vlan "switch0" "2" "4 6t"
         ;;

+    y1 |\
+    y1s)
+        ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
+        ucidef_add_switch "switch0" "1" "1"
+        ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 5 6t"
+        ucidef_add_switch_vlan "switch0" "2" "0 6t"
+        ;;
     d105 | \
     na930 | \
     omni-emb-hpm|\
@@ -242,7 +249,9 @@
     dir-300-b7 | \
     dir-320-b1 | \
     psr-680w |\
-    sl-r7205)
+    sl-r7205 |\
+    y1 |\
+    y1s)
         lan_mac=$(cat /sys/class/net/eth0/address)
         lan_mac=$(macaddr_setbit_la "$lan_mac")
         wan_mac=$(macaddr_add "$lan_mac" 1)
Index: target/linux/ramips/base-files/lib/ramips.sh
===================================================================
--- target/linux/ramips/base-files/lib/ramips.sh    (revision 41906)
+++ target/linux/ramips/base-files/lib/ramips.sh    (working copy)
@@ -319,6 +319,12 @@
     *"ZBT WR8305RT")
         name="wr8305rt"
         ;;
+    *"Lenovo Y1")
+        name="y1"
+        ;;
+    *"Lenovo Y1S")
+        name="y1s"
+        ;;
     *)
         name="generic"
         ;;
Index: target/linux/ramips/base-files/lib/upgrade/platform.sh
===================================================================
--- target/linux/ramips/base-files/lib/upgrade/platform.sh    (revision
41906)
+++ target/linux/ramips/base-files/lib/upgrade/platform.sh    (working copy)
@@ -95,7 +95,9 @@
     wrtnode |\
     x5 |\
     x8 |\
-    zbt-wa05)
+    zbt-wa05 |\
+    y1 |\
+    y1s)
         [ "$magic" != "27051956" ] && {
             echo "Invalid image type."
             return 1
Index: target/linux/ramips/dts/Y1.dts
===================================================================
--- target/linux/ramips/dts/Y1.dts    (revision 0)
+++ target/linux/ramips/dts/Y1.dts    (working copy)
@@ -0,0 +1,151 @@
+/dts-v1/;
+
+/ {
+    chosen {
+        bootargs = "console=ttyS0,115200";
+    };
+};
+
+/include/ "mt7620a.dtsi"
+
+/ {
+    compatible = "lenovo,Y1", "ralink,mt7620a-soc";
+    model = "Lenovo Y1";
+
+    chosen {
+        bootargs = "console=ttyS0,115200";
+    };
+
+    palmbus at 10000000 {
+        sysc at 0 {
+            ralink,gpiomux = "i2c", "jtag";
+            ralink,uartmux = "gpio";
+            ralink,wdtmux = <1>;
+        };
+
+        gpio0: gpio at 600 {
+            status = "okay";
+        };
+
+        gpio2: gpio at 660 {
+            status = "okay";
+        };
+
+        gpio3: gpio at 688 {
+            status = "okay";
+        };
+
+
+        spi at b00 {
+            status = "okay";
+
+            m25p80 at 0 {
+                #address-cells = <1>;
+                #size-cells = <1>;
+                compatible = "w25q128";
+                reg = <0 0>;
+                linux,modalias = "m25p80", "w25q128";
+                spi-max-frequency = <10000000>;
+
+                partition at 0 {
+                    label = "u-boot";
+                    reg = <0x0 0x30000>;
+                    read-only;
+                };
+
+                partition at 30000 {
+                    label = "u-boot-env";
+                    reg = <0x30000 0x10000>;
+                    read-only;
+                };
+
+                factory: partition at 40000 {
+                    label = "factory";
+                    reg = <0x40000 0x10000>;
+                    read-only;
+                };
+
+                partition at 50000 {
+                    label = "firmware";
+                    reg = <0x50000 0xfb0000>;
+                };
+            };
+        };
+    };
+
+    ehci at 101c0000 {
+        status = "okay";
+    };
+
+    ohci at 101c1000 {
+        status = "okay";
+    };
+
+    ethernet at 10100000 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&ephy_pins>;
+        mtd-mac-address = <&factory 0x4>;
+        ralink,port-map = "llllw";
+    };
+
+    pcie at 10140000 {
+        status = "okay";
+    };
+
+    wmac at 10180000 {
+        ralink,mtd-eeprom = <&factory 0>;
+    };
+
+    pinctrl {
+        state_default: pinctrl0 {
+            gpio {
+                ralink,group = "uartf", "wled", "nd_sd";
+                ralink,function = "gpio";
+            };
+            pa {
+                ralink,group = "pa";
+                ralink,function = "pa";
+            };
+        };
+    };
+
+    gpio-leds {
+        compatible = "gpio-leds";
+        power1 {
+            label = "lenovo:blue:power";
+            gpios = <&gpio0 9 1>;
+        };
+        wlan1 {
+            label = "lenovo:blue:wifi";
+            gpios = <&gpio3 0 1>;
+        };
+        wlan2 {
+            label = "lenovo:blue:wifi5g";
+            gpios = <&gpio2 10 1>;
+        };
+        usb {
+            label = "lenovo:blue:usb";
+            gpios = <&gpio2 12 1>;
+        };
+        lan {
+            label = "lenovo:blue:lan";
+            gpios = <&gpio2 15 1>;
+        };
+        internet {
+            label = "lenovo:blue:internet";
+            gpios = <&gpio2 11 1>;
+        };
+    };
+
+    gpio-keys-polled {
+        compatible = "gpio-keys-polled";
+        #address-cells = <1>;
+        #size-cells = <0>;
+        poll-interval = <20>;
+        reset {
+            label = "reset";
+            gpios = <&gpio0 11 1>;
+            linux,code = <0x198>;
+        };
+    };
+};
Index: target/linux/ramips/dts/Y1S.dts
===================================================================
--- target/linux/ramips/dts/Y1S.dts    (revision 0)
+++ target/linux/ramips/dts/Y1S.dts    (working copy)
@@ -0,0 +1,187 @@
+/dts-v1/;
+
+/ {
+    chosen {
+        bootargs = "console=ttyS0,115200";
+    };
+};
+
+/include/ "mt7620a.dtsi"
+
+/ {
+    compatible = "lenovo,Y1S", "ralink,mt7620a-soc";
+    model = "Lenovo Y1S";
+
+    chosen {
+        bootargs = "console=ttyS0,115200";
+    };
+
+    palmbus at 10000000 {
+        sysc at 0 {
+            ralink,gpiomux = "i2c", "jtag";
+            ralink,uartmux = "gpio";
+            ralink,wdtmux = <1>;
+        };
+
+        gpio0: gpio at 600 {
+            status = "okay";
+        };
+
+        gpio2: gpio at 660 {
+            status = "okay";
+        };
+
+        gpio3: gpio at 688 {
+            status = "okay";
+        };
+
+
+        spi at b00 {
+            status = "okay";
+
+            m25p80 at 0 {
+                #address-cells = <1>;
+                #size-cells = <1>;
+                compatible = "w25q128";
+                reg = <0 0>;
+                linux,modalias = "m25p80", "w25q128";
+                spi-max-frequency = <10000000>;
+
+                partition at 0 {
+                    label = "u-boot";
+                    reg = <0x0 0x30000>;
+                    read-only;
+                };
+
+                partition at 30000 {
+                    label = "u-boot-env";
+                    reg = <0x30000 0x10000>;
+                    read-only;
+                };
+
+                factory: partition at 40000 {
+                    label = "factory";
+                    reg = <0x40000 0x10000>;
+                    read-only;
+                };
+
+                partition at 50000 {
+                    label = "firmware";
+                    reg = <0x50000 0xfb0000>;
+                };
+            };
+        };
+    };
+
+    ehci at 101c0000 {
+        status = "okay";
+    };
+
+    ohci at 101c1000 {
+        status = "okay";
+    };
+
+    ethernet at 10100000 {
+        status = "okay";
+        mtd-mac-address = <&factory 0x4>;
+        pinctrl-names = "default";
+        pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
+
+        ralink,port-map = "wllll";
+
+        port at 4 {
+            status = "okay";
+            phy-handle = <&phy4>;
+            phy-mode = "rgmii";
+        };
+
+        port at 5 {
+            status = "okay";
+            phy-handle = <&phy5>;
+            phy-mode = "rgmii";
+        };
+
+        mdio-bus {
+            status = "okay";
+
+            phy4: ethernet-phy at 4 {
+                reg = <4>;
+                phy-mode = "rgmii";
+            };
+
+            phy5: ethernet-phy at 5 {
+                reg = <5>;
+                phy-mode = "rgmii";
+            };
+        };
+    };
+
+    gsw at 10110000 {
+        ralink,port4 = "gmac";
+    };
+
+    pcie at 10140000 {
+        status = "okay";
+    };
+
+    wmac at 10180000 {
+        ralink,mtd-eeprom = <&factory 0>;
+    };
+
+    pinctrl {
+        state_default: pinctrl0 {
+            gpio {
+                ralink,group = "uartf", "wled", "nd_sd";
+                ralink,function = "gpio";
+            };
+            pa {
+                ralink,group = "pa";
+                ralink,function = "pa";
+            };
+        };
+    };
+
+    gpio-leds {
+        compatible = "gpio-leds";
+        power1 {
+            label = "lenovo:yellow:power";
+            gpios = <&gpio0 14 1>;
+        };
+        power2 {
+            label = "lenovo:blue:power";
+            gpios = <&gpio0 9 1>;
+        };
+        wlan1 {
+            label = "lenovo:yellow:wifi";
+            gpios = <&gpio3 0 1>;
+        };
+        wlan2 {
+            label = "lenovo:blue:wifi";
+            gpios = <&gpio2 10 1>;
+        };
+        usb1 {
+            label = "lenovo:yellow:usb";
+            gpios = <&gpio2 13 1>;
+        };
+        usb2 {
+            label = "lenovo:blue:usb";
+            gpios = <&gpio2 12 1>;
+        };
+        internet {
+            label = "lenovo:blue:internet";
+            gpios = <&gpio2 11 1>;
+        };
+    };
+
+    gpio-keys-polled {
+        compatible = "gpio-keys-polled";
+        #address-cells = <1>;
+        #size-cells = <0>;
+        poll-interval = <20>;
+        reset {
+            label = "reset";
+            gpios = <&gpio0 11 1>;
+            linux,code = <0x198>;
+        };
+    };
+};
Index: target/linux/ramips/image/Makefile
===================================================================
--- target/linux/ramips/image/Makefile    (revision 41906)
+++ target/linux/ramips/image/Makefile    (working copy)
@@ -716,6 +716,8 @@
 na930_mtd_size=20971520
 Image/Build/Profile/NA930=$(call
BuildFirmware/CustomFlash/$(1),$(1),na930,NA930,$(na930_mtd_size))
 Image/Build/Profile/MZK-750DHP=$(call
BuildFirmware/Default8M/$(1),$(1),mzk-750dhp,MZK-750DHP)
+Image/Build/Profile/Y1=$(call
BuildFirmware/Default16M/$(1),$(1),Lenovo-y1,Y1)
+Image/Build/Profile/Y1S=$(call
BuildFirmware/Default16M/$(1),$(1),Lenovo-y1s,Y1S)

 ifeq ($(SUBTARGET),mt7620a)
 define Image/Build/Profile/Default
@@ -730,6 +732,8 @@
     $(call Image/Build/Profile/WHR1166D,$(1))
     $(call Image/Build/Profile/MZK-750DHP,$(1))
     $(call Image/Build/Profile/NA930,$(1))
+    $(call Image/Build/Profile/Y1,$(1))
+    $(call Image/Build/Profile/Y1S,$(1))
 endef
 endif

Index: target/linux/ramips/mt7620a/config-3.10
===================================================================
--- target/linux/ramips/mt7620a/config-3.10    (revision 41906)
+++ target/linux/ramips/mt7620a/config-3.10    (working copy)
@@ -1,6 +1,7 @@
 CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
 CONFIG_ARCH_DISCARD_MEMBLOCK=y
 CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
 CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
 CONFIG_ARCH_REQUIRE_GPIOLIB=y
@@ -78,6 +79,7 @@
 CONFIG_HW_HAS_PCI=y
 CONFIG_HW_RANDOM=m
 CONFIG_HZ_PERIODIC=y
+CONFIG_ICPLUS_PHY=y
 CONFIG_IMAGE_CMDLINE_HACK=y
 CONFIG_INET_LRO=y
 CONFIG_INITRAMFS_SOURCE=""
@@ -88,6 +90,7 @@
 CONFIG_IRQ_INTC=y
 CONFIG_IRQ_WORK=y
 CONFIG_M25PXX_USE_FAST_READ=y
+CONFIG_MARVELL_PHY=y
 CONFIG_MDIO_BOARDINFO=y
 # CONFIG_MII is not set
 CONFIG_MIPS=y
@@ -138,7 +141,9 @@
 CONFIG_RALINK=y
 CONFIG_RALINK_USBPHY=y
 CONFIG_RALINK_WDT=y
+CONFIG_RA_NAT_NONE=y
 # CONFIG_RCU_STALL_COMMON is not set
+CONFIG_REALTEK_PHY=y
 CONFIG_RESET_CONTROLLER=y
 # CONFIG_SAMSUNG_USB2PHY is not set
 # CONFIG_SAMSUNG_USB3PHY is not set




2014-07-31 17:08 GMT+08:00 Lintel Huang <lintel.huang at gmail.com>:

> Dear John:
>        I'm sorry for replying so late,
>        I will make a new patch for Lenovo AC1200 series product later.
>
> Regards,
> Lintel
>
>
> 2014-07-29 1:24 GMT+08:00 John Crispin <john at phrozen.org>:
>
>
>>
>> On 28/07/2014 19:22, Weedy wrote:
>> >
>> > On 28 Jul 2014 12:45, "John Crispin" <john at phrozen.org
>> > <mailto:john at phrozen.org>> wrote:
>> >>
>> >> Hi,
>> >>
>> >> where is the DTS file ?
>> >>
>> >> John
>> >
>> > Attached to the first mail.
>> >
>>
>> i am marking the patch as rejected in patchwork. please send the whole
>> code as one self contained patch. this way it becomes merge-able
>>
>>         John
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20140731/35e153cb/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: support-lenovo ac1200(y1_y1s).patch
Type: text/x-diff
Size: 10722 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20140731/35e153cb/attachment.bin>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list