[LEDE-DEV] [PATCH v2] ramips: add support for GL-inet GL-MT300N-V2
kyson lok
kysonlok at gmail.com
Thu May 11 18:37:10 PDT 2017
On Fri, May 12, 2017 at 6:18 AM, L. D. Pinney <ldpinney at gmail.com> wrote:
> Hi Kyson :
>
> v2 looks much better ...
> Not a LEDE dev...comments inline.
>
> Thanks for your contribution efforts!
>
> Larry
Thanks for your review, I will modify it later.
>
> On Thu, May 11, 2017 at 3:48 AM, kysonlok <kysonlok at gmail.com> wrote:
>> This patch adds supports for the GL-inet GL-MT300N-V2.
>>
>> Specification:
>> - SoC: MediaTek MT7628AN
>> - Flash: 16 MiB (W25Q128FVSG)
>> - RAM: 128 MiB DDR
>> - Ethernet: 1 x WAN (100 Mbps) and 1 x LAN (100 Mbps)
>> - USB: 1 x USB 2.0 port
>> - Button: 1 x switch button, 1 x reset button
>> - LED: 3 x LEDS (system power led is not GPIO controller)
>> - UART: 1 x UART on PCB (JP1: 3.3V, RX, TX, GND)
>>
>> Installation through Luci:
>> - The original firmware is LEDE, so both LuCI or sysupgrade can be used.
>> - Do not keep settings, for sysupgrade please use the -n option.
>>
>> Installation through bootloader webserver:
>> - Plug power and hold reset button until red LED blink to bright.
>> - Install sysupgrade image using web interface on 192.168.1.1.
>>
>> Signed-off-by: kyson Lok <kysonlok at gmail.com>
>> ---
>> target/linux/ramips/base-files/etc/board.d/01_leds | 3 +
>> .../linux/ramips/base-files/etc/board.d/02_network | 4 +
>> 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/GL-MT300N-V2.dts | 133 +++++++++++++++++++++
>> target/linux/ramips/image/mt7628.mk | 8 ++
>> 7 files changed, 155 insertions(+)
>> create mode 100644 target/linux/ramips/dts/GL-MT300N-V2.dts
>>
>> 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 52542ec..6c95a92 100755
>> --- a/target/linux/ramips/base-files/etc/board.d/01_leds
>> +++ b/target/linux/ramips/base-files/etc/board.d/01_leds
>> @@ -189,6 +189,9 @@ gl-mt300n|\
>> gl-mt750)
>> set_wifi_led "$board:wlan"
>> ;;
>> +gl-mt300n-v2)
>> + set_wifi_led "$board:red:wlan"
>> + ;;
>> hc5661|\
>> hc5661a)
>> ucidef_set_led_default "system" "system" "$board:blue:system" "1"
>> 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 80a3bc2..741e702 100755
>> --- a/target/linux/ramips/base-files/etc/board.d/02_network
>> +++ b/target/linux/ramips/base-files/etc/board.d/02_network
>> @@ -175,6 +175,10 @@ ramips_setup_interfaces()
>> ucidef_add_switch "switch0" \
>> "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6 at eth0"
>> ;;
>> + gl-mt300n-v2)
>> + ucidef_add_switch "switch0" \
>> + "1:lan" "0:wan" "6 at eth0"
>> + ;;
>> awapn2403)
>> ucidef_add_switch "switch0" \
>> "0:lan" "1:wan" "6 at eth0"
>> diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
>> index 461f46c..e051dfd 100644
>> --- a/target/linux/ramips/base-files/etc/diag.sh
>> +++ b/target/linux/ramips/base-files/etc/diag.sh
>> @@ -164,6 +164,9 @@ get_status_led() {
>> miwifi-nano)
>> status_led="$board:blue:status"
>> ;;
>> + gl-mt300n-v2)
>> + status_led="$board:red:wlan"
>> + ;;
>> m4-4M|\
>> m4-8M)
>> status_led="m4:blue:status"
>> diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
>> index 87cb7ff..1e031cd 100755
>> --- a/target/linux/ramips/base-files/lib/ramips.sh
>> +++ b/target/linux/ramips/base-files/lib/ramips.sh
>> @@ -214,6 +214,9 @@ ramips_board_detect() {
>> *"GL-MT300N")
>> name="gl-mt300n"
>> ;;
>> + *"GL-MT300N-V2")
>> + name="gl-mt300n-v2"
>> + ;;
>> *"GL-MT750")
>> name="gl-mt750"
>> ;;
>> diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
>> index adad8da..2c50c3c 100755
>> --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
>> +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
>> @@ -64,6 +64,7 @@ platform_check_image() {
>> freestation5|\
>> gl-mt300a|\
>> gl-mt300n|\
>> + gl-mt300n-v2|\
>> gl-mt750|\
>> hc5*61|\
>> hc5661a|\
>> diff --git a/target/linux/ramips/dts/GL-MT300N-V2.dts b/target/linux/ramips/dts/GL-MT300N-V2.dts
>> new file mode 100644
>> index 0000000..0e2777f
>> --- /dev/null
>> +++ b/target/linux/ramips/dts/GL-MT300N-V2.dts
>> @@ -0,0 +1,133 @@
>> +/dts-v1/;
>> +
>> +#include "mt7628an.dtsi"
>> +
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/input/input.h>
>> +
>> +/{
>> + compatible = "gl-inet,gl-mt300n-v2", "ralink,mt7620an-soc";
>> + model = "GL-MT300N-V2";
>> +
>> + chosen {
>> + bootargs = "console=ttyS0,115200";
>> + };
>> +
>> + memory at 0 {
>> + device_type = "memory";
>> + reg = <0x0 0x8000000>;
>> + };
>> +
>> + gpio-leds {
>> + compatible = "gpio-leds";
>> +
>> + wan {
>> + label = "gl-mt300n-v2:blue:wan";
>> + gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
>> + };
>> +
>> + wlan {
>> + label = "gl-mt300n-v2:red:wlan";
>> + gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
>> + };
>> + };
>> +
>> + gpio-keys {
>> + compatible = "gpio-keys-polled";
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + poll-interval = <20>;
>> +
>> + reset {
>> + label = "reset";
>> + gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
>> + linux,code = <KEY_RESTART>;
>> + };
>> +
>> + BTN_0 {
>> + label = "BTN_0";
>> + gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
>> + linux,code = <BTN_0>;
>> + };
>> +
>> + BTN_1 {
>> + label = "BTN_1";
>> + gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
>> + linux,code = <BTN_1>;
>> + };
>> + };
>> +
>> + gpio_export {
>> + compatible = "gpio-export";
>> + #size-cells = <0>;
>> +
>> + usb {
>> + gpio-export,name = "usb";
>> + gpio-export,output = <1>;
>> + gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
>> + };
>> + };
>> +
>> +};
>> +
>> +&pinctrl {
>> + state_default: pinctrl0 {
>> + gpio {
>> + ralink,group = "wdt", "gpio", "wled_an", "p0led_an", "i2s";
>> + ralink,function = "gpio";
>> + };
>> + };
>> +};
>> +
>> +ðernet {
>> + mtd-mac-address = <&factory 0x04000>;
>> +};
>> +
>> +&wmac {
>> + status = "okay";
>> + ralink,mtd-eeprom = <&factory 0x04000>;
>
> Using the same MAC for both the ethernet and wifi ?
> Again ...other mt76x8 devices use something like this:
>
> &wmac {
> status = "okay";
> ralink,mtd-eeprom = <&factory 0x4>;
> };
>
> ðernet {
> mtd-mac-address = <&factory 0x28>;
> };
You are right, It's wrong with wifi MAC, It should be 0x0, and
ethernet MAC is 0x4000.
>
>> +};
>> +
>> +&spi0 {
>> + status = "okay";
>> +
>> + m25p80 at 0 {
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + compatible = "jedec,spi-nor";
>> + reg = <0>;
>> + spi-max-frequency = <10000000>;
>> + m25p,chunked-io = <32>;
>> +
>> + partition at 0 {
>> + label = "u-boot";
>> + reg = <0x0 0x30000>;
>> + read-only;
>> + };
>> +
>> + partition at 30000 {
>> + label = "u-boot-env";
>> + reg = <0x30000 0x10000>;
>> + read-only;
>
> Is there a reason that users can not or should not write to the
> uboot-env partition?
>
> partition at 30000 {
> label = "u-boot-env";
> reg = <0x30000 0x10000>;
> read-only; <---- remove this line IF it is
> OK for user to write here.
I don't think user can write to uboot-env, other vendor does not.
>
>> + };
>> +
>> + factory: partition at 40000 {
>> + label = "factory";
>> + reg = <0x40000 0x10000>;
>> + read-only;
>> + };
>> +
>> + partition at 50000 {
>> + label = "firmware";
>> + reg = <0x50000 0xf00000>;
>
> Is this correct? other mt76x8 devices with 16MB SPI Flash use :
>
> partition at 50000 {
> label = "firmware";
> reg = <0x50000 0xfb0000>;
>
I think it doesn't matter. I only use 15MB for firmware.
>> + };
>> + };
>> +};
>> +
>> +&ehci {
>> + status = "okay";
>> +};
>> +
>> +&ohci {
>> + status = "okay";
>> +};
>> diff --git a/target/linux/ramips/image/mt7628.mk b/target/linux/ramips/image/mt7628.mk
>> index 6bb04ea..5396115 100644
>> --- a/target/linux/ramips/image/mt7628.mk
>> +++ b/target/linux/ramips/image/mt7628.mk
>> @@ -26,6 +26,14 @@ define Device/miwifi-nano
>> endef
>> TARGET_DEVICES += miwifi-nano
>>
>> +define Device/gl-mt300n-v2
>> + DTS := GL-MT300N-V2
>> + IMAGE_SIZE := $(ralink_default_fw_size_16M)
>> + DEVICE_TITLE := GL-iNet GL-MT300N-V2
>> + DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
>> +endef
>> +TARGET_DEVICES += gl-mt300n-v2
>> +
>> define Device/vocore2
>> DTS := VOCORE2
>> IMAGE_SIZE := $(ralink_default_fw_size_16M)
>> --
>> 1.9.1
>>
>>
>> _______________________________________________
>> Lede-dev mailing list
>> Lede-dev at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/lede-dev
More information about the Lede-dev
mailing list