ramips: add support for HiWiFi HC5962
This patch adds supports for the HiWiFi HC5962(gee4) http://www.hiwifi.com Short specification: - MT7621AT + MT7612EN + 7603EN - 256MB DDR3 RAM - 128MB NAND flash - 1+3 x 1000M Ethernet - 1x USB 2.0 port. 1x USB 3.0 port. - reset button - UART pad on PCB (JP3: TX, RX, GND, 3.3V) Flash instruction: 1, Download lede-ramips-mt7621-hc5962-squashfs-factory.bin 2, Login as root via SSH on 192.168.199.1 and then copy factory.bin(using wget or nc or...) to /tmp/ 3, use the following commands: $ mtd write /tmp/lede-ramips-mt7621-hc5962-squashfs-factory.bin firmware $ mtd erase firmware_backup && reboot After reboot you should be able to login as root via SSH on 192.168.1.1 Signed-off-by: ZengFei Zhang <zhangzengfei@kunteng.org>
This commit is contained in:
		 ZengFei Zhang
					ZengFei Zhang
				
			
				
					committed by
					
						 Mathias Kresin
						Mathias Kresin
					
				
			
			
				
	
			
			
			 Mathias Kresin
						Mathias Kresin
					
				
			
						parent
						
							2677b66f9b
						
					
				
				
					commit
					edae3479e6
				
			| @@ -80,6 +80,7 @@ ramips_setup_interfaces() | |||||||
| 	dir-615-h1|\ | 	dir-615-h1|\ | ||||||
| 	firewrt|\ | 	firewrt|\ | ||||||
| 	hc5661a|\ | 	hc5661a|\ | ||||||
|  | 	hc5962|\ | ||||||
| 	hlk-rm04|\ | 	hlk-rm04|\ | ||||||
| 	mac1200rv2|\ | 	mac1200rv2|\ | ||||||
| 	miwifi-mini|\ | 	miwifi-mini|\ | ||||||
| @@ -345,7 +346,8 @@ ramips_setup_macs() | |||||||
| 		wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR) | 		wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR) | ||||||
| 		;; | 		;; | ||||||
| 	hc5*61|\ | 	hc5*61|\ | ||||||
| 	hc5661a) | 	hc5661a|\ | ||||||
|  | 	hc5962) | ||||||
| 		lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "` | 		lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "` | ||||||
| 		[ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address) | 		[ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address) | ||||||
| 		wan_mac=$(macaddr_add "$lan_mac" 1) | 		wan_mac=$(macaddr_add "$lan_mac" 1) | ||||||
|   | |||||||
| @@ -147,6 +147,9 @@ get_status_led() { | |||||||
| 	mlwg2) | 	mlwg2) | ||||||
| 		status_led="$board:blue:system" | 		status_led="$board:blue:system" | ||||||
| 		;; | 		;; | ||||||
|  | 	hc5962) | ||||||
|  | 		status_led="$board:white:status" | ||||||
|  | 		;; | ||||||
| 	linkits7688| \ | 	linkits7688| \ | ||||||
| 	linkits7688d) | 	linkits7688d) | ||||||
| 		[ "$1" = "upgrade" ] && status_led="mediatek:orange:wifi" | 		[ "$1" = "upgrade" ] && status_led="mediatek:orange:wifi" | ||||||
|   | |||||||
| @@ -226,6 +226,9 @@ ramips_board_detect() { | |||||||
| 	*"HC5861") | 	*"HC5861") | ||||||
| 		name="hc5861" | 		name="hc5861" | ||||||
| 		;; | 		;; | ||||||
|  | 	*"HC5962") | ||||||
|  | 		name="hc5962" | ||||||
|  | 		;; | ||||||
| 	*"HG255D") | 	*"HG255D") | ||||||
| 		name="hg255d" | 		name="hg255d" | ||||||
| 		;; | 		;; | ||||||
|   | |||||||
| @@ -228,6 +228,10 @@ platform_check_image() { | |||||||
| 		} | 		} | ||||||
| 		return 0 | 		return 0 | ||||||
| 		;; | 		;; | ||||||
|  | 	hc5962) | ||||||
|  | 		# these boards use metadata images | ||||||
|  | 		return 0 | ||||||
|  | 		;; | ||||||
| 	ubnt-erx) | 	ubnt-erx) | ||||||
| 		nand_do_platform_check "$board" "$1" | 		nand_do_platform_check "$board" "$1" | ||||||
| 		return $?; | 		return $?; | ||||||
| @@ -260,6 +264,7 @@ platform_pre_upgrade() { | |||||||
| 	local board=$(ramips_board_name) | 	local board=$(ramips_board_name) | ||||||
|  |  | ||||||
| 	case "$board" in | 	case "$board" in | ||||||
|  | 	hc5962|\ | ||||||
|     	ubnt-erx) |     	ubnt-erx) | ||||||
| 		nand_do_upgrade "$ARGV" | 		nand_do_upgrade "$ARGV" | ||||||
| 		;; | 		;; | ||||||
|   | |||||||
							
								
								
									
										147
									
								
								target/linux/ramips/dts/HC5962.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										147
									
								
								target/linux/ramips/dts/HC5962.dts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,147 @@ | |||||||
|  | /dts-v1/; | ||||||
|  |  | ||||||
|  | #include "mt7621.dtsi" | ||||||
|  |  | ||||||
|  | #include <dt-bindings/gpio/gpio.h> | ||||||
|  | #include <dt-bindings/input/input.h> | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	model = "HiWiFi HC5962"; | ||||||
|  |  | ||||||
|  | 	memory@0 { | ||||||
|  | 		device_type = "memory"; | ||||||
|  | 		reg = <0x0 0x10000000>; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	chosen { | ||||||
|  | 		bootargs = "console=ttyS0,115200"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	gpio-leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  |  | ||||||
|  | 		status { | ||||||
|  | 			label = "hc5962:white:status"; | ||||||
|  | 			gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		system { | ||||||
|  | 			label = "hc5962:red:system"; | ||||||
|  | 			gpios = <&gpio0 7 GPIO_ACTIVE_LOW>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	gpio-keys-polled { | ||||||
|  | 		compatible = "gpio-keys-polled"; | ||||||
|  | 		#address-cells = <1>; | ||||||
|  | 		#size-cells = <0>; | ||||||
|  | 		poll-interval = <20>; | ||||||
|  |  | ||||||
|  | 		reset { | ||||||
|  | 			label = "reset"; | ||||||
|  | 			gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,code = <KEY_RESTART>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &nand { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	partition@0 { | ||||||
|  | 		label = "u-boot"; | ||||||
|  | 		reg = <0x0 0x80000>; | ||||||
|  | 		read-only; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	partition@80000 { | ||||||
|  | 		label = "debug"; | ||||||
|  | 		reg = <0x80000 0x80000>; | ||||||
|  | 		read-only; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	factory: partition@100000 { | ||||||
|  | 		label = "factory"; | ||||||
|  | 		reg = <0x100000 0x40000>; | ||||||
|  | 		read-only; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	partition@140000 { | ||||||
|  | 		label = "kernel"; | ||||||
|  | 		reg = <0x140000 0x200000>; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	partition@340000 { | ||||||
|  | 		label = "ubi"; | ||||||
|  | 		reg = <0x340000 0x1E00000>; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	partition@2140000 { | ||||||
|  | 		label = "hw_panic"; | ||||||
|  | 		reg = <0x2140000 0x80000>; | ||||||
|  | 		read-only; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	partition@21c0000 { | ||||||
|  | 		label = "bdinfo"; | ||||||
|  | 		reg = <0x21c0000 0x80000>; | ||||||
|  | 		read-only; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	partition@2240000 { | ||||||
|  | 		label = "backup"; | ||||||
|  | 		reg = <0x2240000 0x80000>; | ||||||
|  | 		read-only; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	partition@22c0000 { | ||||||
|  | 		label = "overly"; | ||||||
|  | 		reg = <0x22c0000 0x1000000>; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	partition@32c0000 { | ||||||
|  | 		label = "firmware_backup"; | ||||||
|  | 		reg = <0x32c0000 0x2000000>; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	partition@52c0000 { | ||||||
|  | 		label = "oem"; | ||||||
|  | 		reg = <0x52c0000 0x200000>; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	partition@54c0000 { | ||||||
|  | 		label = "opt"; | ||||||
|  | 		reg = <0x54c0000 0x2ac0000>; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	pcie0 { | ||||||
|  | 		mt76@0,0 { | ||||||
|  | 			reg = <0x0000 0 0 0 0>; | ||||||
|  | 			device_type = "pci"; | ||||||
|  | 			mediatek,mtd-eeprom = <&factory 0x0000>; | ||||||
|  | 			ieee80211-freq-limit = <2400000 2500000>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	pcie1 { | ||||||
|  | 		mt76@1,0 { | ||||||
|  | 			reg = <0x0000 0 0 0 0>; | ||||||
|  | 			device_type = "pci"; | ||||||
|  | 			mediatek,mtd-eeprom = <&factory 0x8000>; | ||||||
|  | 			ieee80211-freq-limit = <5000000 6000000>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pinctrl { | ||||||
|  | 	state_default: pinctrl0 { | ||||||
|  | 		gpio { | ||||||
|  | 			ralink,group = "uart3", "jtag"; | ||||||
|  | 			ralink,function = "gpio"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
| @@ -71,6 +71,21 @@ define Device/firewrt | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += firewrt | TARGET_DEVICES += firewrt | ||||||
|  |  | ||||||
|  | define Device/hc5962 | ||||||
|  |   DTS := HC5962 | ||||||
|  |   BLOCKSIZE := 128k | ||||||
|  |   PAGESIZE := 2048 | ||||||
|  |   KERNEL_SIZE := 2097152 | ||||||
|  |   UBINIZE_OPTS := -E 5 | ||||||
|  |   IMAGE_SIZE := $(ralink_default_fw_size_32M) | ||||||
|  |   IMAGES += factory.bin | ||||||
|  |   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | ||||||
|  |   IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE) | ||||||
|  |   DEVICE_TITLE := HiWiFi HC5962 | ||||||
|  |   DEVICE_PACKAGES := kmod-usb3 kmod-mt76 | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += hc5962 | ||||||
|  |  | ||||||
| define Device/mt7621 | define Device/mt7621 | ||||||
|   DTS := MT7621 |   DTS := MT7621 | ||||||
|   BLOCKSIZE := 64k |   BLOCKSIZE := 64k | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user