mvebu: add support for GL.iNet GL-MV1000
This patch adds supports for GL-MV1000. Specification: - SOC: Marvell Armada 88F3720 (1GHz) - Flash: 16MB (W25Q128FWSIG) - RAM: 1GB DDR4 - Ethernet: 3x GE (1 WAN + 2 LAN) - EMMC: 8GB EMMC (KLM8G1GETF-B041) - MicroSD: 1x microSD slot - USB: 1x USB 2.0 port(TypeA),1x USB 3.0 port(TypeC) - Button: 1x reset button,1x slide switch - LED: 3x greed LED - UART: 1x UART on PCB (JP1: 3.3V, RX, TX, GND) Update firmware instructions ============================ In the compiled,please gzip -d xxx.img.gz,then update firmware on uboot web. Signed-off-by: Li Zhang <li.zhang@gl-inet.com> [Copied dts file to files-5.4] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
		| @@ -24,6 +24,9 @@ globalscale,espressobin-v7-emmc|\ | |||||||
| marvell,armada8040-mcbin) | marvell,armada8040-mcbin) | ||||||
| 	ubootenv_add_uci_config "/dev/mtd0" "0x3f0000" "0x10000" "0x10000" "1" | 	ubootenv_add_uci_config "/dev/mtd0" "0x3f0000" "0x10000" "0x10000" "1" | ||||||
| 	;; | 	;; | ||||||
|  | glinet,gl-mv1000) | ||||||
|  | 	ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x8000" "0x8000" "1" | ||||||
|  | 	;; | ||||||
| linksys,caiman|\ | linksys,caiman|\ | ||||||
| linksys,cobra|\ | linksys,cobra|\ | ||||||
| linksys,shelby) | linksys,shelby) | ||||||
|   | |||||||
| @@ -14,7 +14,8 @@ case "$board" in | |||||||
| globalscale,espressobin|\ | globalscale,espressobin|\ | ||||||
| globalscale,espressobin-emmc|\ | globalscale,espressobin-emmc|\ | ||||||
| globalscale,espressobin-v7|\ | globalscale,espressobin-v7|\ | ||||||
| globalscale,espressobin-v7-emmc) | globalscale,espressobin-v7-emmc|\ | ||||||
|  | glinet,gl-mv1000) | ||||||
| 	ucidef_set_interfaces_lan_wan "lan0 lan1" "wan" | 	ucidef_set_interfaces_lan_wan "lan0 lan1" "wan" | ||||||
| 	;; | 	;; | ||||||
| marvell,armada-3720-db|\ | marvell,armada-3720-db|\ | ||||||
|   | |||||||
| @@ -0,0 +1,165 @@ | |||||||
|  | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) | ||||||
|  | /* | ||||||
|  |  * Device Tree file for GL.iNet GL-MV1000 | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /dts-v1/; | ||||||
|  | #include <dt-bindings/gpio/gpio.h> | ||||||
|  | #include "armada-372x.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	model = "GL.inet GL-MV1000"; | ||||||
|  | 	compatible = "glinet,gl-mv1000", "marvell,armada3720"; | ||||||
|  |  | ||||||
|  | 	chosen { | ||||||
|  | 		stdout-path = "serial0:115200n8"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	memory@0 { | ||||||
|  | 		device_type = "memory"; | ||||||
|  | 		reg = <0x00000000 0x00000000 0x00000000 0x20000000>; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	vcc_sd_reg1: regulator { | ||||||
|  | 		compatible = "regulator-gpio"; | ||||||
|  | 		regulator-name = "vcc_sd1"; | ||||||
|  | 		regulator-min-microvolt = <1800000>; | ||||||
|  | 		regulator-max-microvolt = <3300000>; | ||||||
|  | 		regulator-boot-on; | ||||||
|  |          | ||||||
|  | 		gpios-states = <0>; | ||||||
|  | 		states = <1800000 0x1 | ||||||
|  | 			3300000 0x0>; | ||||||
|  | 		enable-active-high; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &spi0 { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	flash@0 { | ||||||
|  | 		reg = <0>; | ||||||
|  | 		compatible = "jedec,spi-nor"; | ||||||
|  | 		spi-max-frequency = <104000000>; | ||||||
|  | 		m25p,fast-read; | ||||||
|  | 		partitions { | ||||||
|  | 			compatible = "fixed-partitions"; | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <1>; | ||||||
|  |  | ||||||
|  | 			partition@0 { | ||||||
|  | 				label = "u-boot"; | ||||||
|  | 				reg = <0 0xf0000>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			partition@f0000 { | ||||||
|  | 				label = "u-boot-env"; | ||||||
|  | 				reg = <0Xf0000 0x8000>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			factory: partition@f8000 { | ||||||
|  | 				label = "factory"; | ||||||
|  | 				reg = <0xf8000 0x8000>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &sdhci1 { | ||||||
|  | 	wp-inverted; | ||||||
|  | 	bus-width = <4>; | ||||||
|  | 	cd-gpios = <&gpionb 17 GPIO_ACTIVE_LOW>; | ||||||
|  | 	marvell,pad-type = "sd"; | ||||||
|  | 	no-1-8-v; | ||||||
|  | 	vqmmc-supply = <&vcc_sd_reg1>; | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &sdhci0 { | ||||||
|  | 	bus-width = <8>; | ||||||
|  | 	mmc-ddr-1_8v; | ||||||
|  | 	mmc-hs400-1_8v; | ||||||
|  | 	non-removable; | ||||||
|  | 	no-sd; | ||||||
|  | 	no-sdio; | ||||||
|  | 	marvell,pad-type = "fixed-1-8v"; | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb3 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb2 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &uart0 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &mdio { | ||||||
|  | 	switch0: switch0@1 { | ||||||
|  | 		compatible = "marvell,mv88e6085"; | ||||||
|  | 		#address-cells = <1>; | ||||||
|  | 		#size-cells = <0>; | ||||||
|  | 		reg = <1>; | ||||||
|  |  | ||||||
|  | 		dsa,member = <0 0>; | ||||||
|  |  | ||||||
|  | 		ports: ports { | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  |  | ||||||
|  | 			port@0 { | ||||||
|  | 				reg = <0>; | ||||||
|  | 				label = "cpu"; | ||||||
|  | 				ethernet = <ð0>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			port@1 { | ||||||
|  | 				reg = <1>; | ||||||
|  | 				label = "wan"; | ||||||
|  | 				phy-handle = <&switch0phy0>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			port@2 { | ||||||
|  | 				reg = <2>; | ||||||
|  | 				label = "lan0"; | ||||||
|  | 				phy-handle = <&switch0phy1>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			port@3 { | ||||||
|  | 				reg = <3>; | ||||||
|  | 				label = "lan1"; | ||||||
|  | 				phy-handle = <&switch0phy2>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mdio { | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  |  | ||||||
|  | 			switch0phy0: switch0phy0@11 { | ||||||
|  | 				reg = <0x11>; | ||||||
|  | 			}; | ||||||
|  | 			switch0phy1: switch0phy1@12 { | ||||||
|  | 				reg = <0x12>; | ||||||
|  | 			}; | ||||||
|  | 			switch0phy2: switch0phy2@13 { | ||||||
|  | 				reg = <0x13>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | ð0 { | ||||||
|  | 	mtd-mac-address = <&factory 0x0>; | ||||||
|  | 	phy-mode = "rgmii-id"; | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	fixed-link { | ||||||
|  | 		speed = <1000>; | ||||||
|  | 		full-duplex; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
| @@ -0,0 +1,165 @@ | |||||||
|  | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) | ||||||
|  | /* | ||||||
|  |  * Device Tree file for GL.iNet GL-MV1000 | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /dts-v1/; | ||||||
|  | #include <dt-bindings/gpio/gpio.h> | ||||||
|  | #include "armada-372x.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	model = "GL.inet GL-MV1000"; | ||||||
|  | 	compatible = "glinet,gl-mv1000", "marvell,armada3720"; | ||||||
|  |  | ||||||
|  | 	chosen { | ||||||
|  | 		stdout-path = "serial0:115200n8"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	memory@0 { | ||||||
|  | 		device_type = "memory"; | ||||||
|  | 		reg = <0x00000000 0x00000000 0x00000000 0x20000000>; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	vcc_sd_reg1: regulator { | ||||||
|  | 		compatible = "regulator-gpio"; | ||||||
|  | 		regulator-name = "vcc_sd1"; | ||||||
|  | 		regulator-min-microvolt = <1800000>; | ||||||
|  | 		regulator-max-microvolt = <3300000>; | ||||||
|  | 		regulator-boot-on; | ||||||
|  |          | ||||||
|  | 		gpios-states = <0>; | ||||||
|  | 		states = <1800000 0x1 | ||||||
|  | 			3300000 0x0>; | ||||||
|  | 		enable-active-high; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &spi0 { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	flash@0 { | ||||||
|  | 		reg = <0>; | ||||||
|  | 		compatible = "jedec,spi-nor"; | ||||||
|  | 		spi-max-frequency = <104000000>; | ||||||
|  | 		m25p,fast-read; | ||||||
|  | 		partitions { | ||||||
|  | 			compatible = "fixed-partitions"; | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <1>; | ||||||
|  |  | ||||||
|  | 			partition@0 { | ||||||
|  | 				label = "u-boot"; | ||||||
|  | 				reg = <0 0xf0000>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			partition@f0000 { | ||||||
|  | 				label = "u-boot-env"; | ||||||
|  | 				reg = <0Xf0000 0x8000>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			factory: partition@f8000 { | ||||||
|  | 				label = "factory"; | ||||||
|  | 				reg = <0xf8000 0x8000>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &sdhci1 { | ||||||
|  | 	wp-inverted; | ||||||
|  | 	bus-width = <4>; | ||||||
|  | 	cd-gpios = <&gpionb 17 GPIO_ACTIVE_LOW>; | ||||||
|  | 	marvell,pad-type = "sd"; | ||||||
|  | 	no-1-8-v; | ||||||
|  | 	vqmmc-supply = <&vcc_sd_reg1>; | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &sdhci0 { | ||||||
|  | 	bus-width = <8>; | ||||||
|  | 	mmc-ddr-1_8v; | ||||||
|  | 	mmc-hs400-1_8v; | ||||||
|  | 	non-removable; | ||||||
|  | 	no-sd; | ||||||
|  | 	no-sdio; | ||||||
|  | 	marvell,pad-type = "fixed-1-8v"; | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb3 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb2 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &uart0 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &mdio { | ||||||
|  | 	switch0: switch0@1 { | ||||||
|  | 		compatible = "marvell,mv88e6085"; | ||||||
|  | 		#address-cells = <1>; | ||||||
|  | 		#size-cells = <0>; | ||||||
|  | 		reg = <1>; | ||||||
|  |  | ||||||
|  | 		dsa,member = <0 0>; | ||||||
|  |  | ||||||
|  | 		ports: ports { | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  |  | ||||||
|  | 			port@0 { | ||||||
|  | 				reg = <0>; | ||||||
|  | 				label = "cpu"; | ||||||
|  | 				ethernet = <ð0>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			port@1 { | ||||||
|  | 				reg = <1>; | ||||||
|  | 				label = "wan"; | ||||||
|  | 				phy-handle = <&switch0phy0>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			port@2 { | ||||||
|  | 				reg = <2>; | ||||||
|  | 				label = "lan0"; | ||||||
|  | 				phy-handle = <&switch0phy1>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			port@3 { | ||||||
|  | 				reg = <3>; | ||||||
|  | 				label = "lan1"; | ||||||
|  | 				phy-handle = <&switch0phy2>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mdio { | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <0>; | ||||||
|  |  | ||||||
|  | 			switch0phy0: switch0phy0@11 { | ||||||
|  | 				reg = <0x11>; | ||||||
|  | 			}; | ||||||
|  | 			switch0phy1: switch0phy1@12 { | ||||||
|  | 				reg = <0x12>; | ||||||
|  | 			}; | ||||||
|  | 			switch0phy2: switch0phy2@13 { | ||||||
|  | 				reg = <0x13>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | ð0 { | ||||||
|  | 	mtd-mac-address = <&factory 0x0>; | ||||||
|  | 	phy-mode = "rgmii-id"; | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	fixed-link { | ||||||
|  | 		speed = <1000>; | ||||||
|  | 		full-duplex; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
| @@ -69,3 +69,12 @@ define Device/methode_udpu | |||||||
|   BOOT_SCRIPT := udpu |   BOOT_SCRIPT := udpu | ||||||
| endef | endef | ||||||
| TARGET_DEVICES += methode_udpu | TARGET_DEVICES += methode_udpu | ||||||
|  |  | ||||||
|  | define Device/glinet_gl-mv1000 | ||||||
|  |   $(call Device/Default-arm64) | ||||||
|  |   DEVICE_TITLE := GL.iNet GL-MV1000 | ||||||
|  |   DEVICE_DTS := armada-gl-mv1000 | ||||||
|  |   SUPPORTED_DEVICES := glinet,gl-mv1000 | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += glinet_gl-mv1000 | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Li Zhang
					Li Zhang