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) | ||||
| 	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,cobra|\ | ||||
| linksys,shelby) | ||||
|   | ||||
| @@ -14,7 +14,8 @@ case "$board" in | ||||
| globalscale,espressobin|\ | ||||
| globalscale,espressobin-emmc|\ | ||||
| globalscale,espressobin-v7|\ | ||||
| globalscale,espressobin-v7-emmc) | ||||
| globalscale,espressobin-v7-emmc|\ | ||||
| glinet,gl-mv1000) | ||||
| 	ucidef_set_interfaces_lan_wan "lan0 lan1" "wan" | ||||
| 	;; | ||||
| 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 | ||||
| endef | ||||
| 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