ramips: add support for JCG Q20
JCG Q20 is an AX 1800M router. Hardware specs: SoC: MediaTek MT7621AT Flash: Winbond W29N01HV 128 MiB RAM: Winbond W632GU6NB-11 256 MiB WiFi: MT7915 2.4/5 GHz 2T2R Ethernet: 10/100/1000 Mbps x3 LED: Status (red / blue) Button: Reset, WPS Power: DC 12V,1A Flash instructions: Upload factory.bin in stock firmware's upgrade page, do not preserve settings. MAC addresses map: 0x00004 *:3e wlan2g/wlan5g 0x3fff4 *:3c lan/label 0x3fffa *:3c wan Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
This commit is contained in:
		| @@ -43,6 +43,9 @@ ravpower,rp-wd03) | |||||||
| 	[ -n "$idx" ] && \ | 	[ -n "$idx" ] && \ | ||||||
| 		ubootenv_add_uci_config "/dev/mtd$idx" "0x4000" "0x1000" "0x1000" | 		ubootenv_add_uci_config "/dev/mtd$idx" "0x4000" "0x1000" "0x1000" | ||||||
| 	;; | 	;; | ||||||
|  | jcg,q20) | ||||||
|  | 	ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" | ||||||
|  | 	;; | ||||||
| linksys,ea7300-v1|\ | linksys,ea7300-v1|\ | ||||||
| linksys,ea7300-v2|\ | linksys,ea7300-v2|\ | ||||||
| linksys,ea7500-v2|\ | linksys,ea7500-v2|\ | ||||||
|   | |||||||
							
								
								
									
										175
									
								
								target/linux/ramips/dts/mt7621_jcg_q20.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										175
									
								
								target/linux/ramips/dts/mt7621_jcg_q20.dts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,175 @@ | |||||||
|  | // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||||
|  |  | ||||||
|  | #include "mt7621.dtsi" | ||||||
|  |  | ||||||
|  | #include <dt-bindings/gpio/gpio.h> | ||||||
|  | #include <dt-bindings/input/input.h> | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	compatible = "jcg,q20", "mediatek,mt7621-soc"; | ||||||
|  | 	model = "JCG Q20"; | ||||||
|  |  | ||||||
|  | 	aliases { | ||||||
|  | 		led-boot = &led_status_red; | ||||||
|  | 		led-failsafe = &led_status_red; | ||||||
|  | 		led-running = &led_status_blue; | ||||||
|  | 		led-upgrade = &led_status_blue; | ||||||
|  | 		label-mac-device = &gmac0; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	chosen { | ||||||
|  | 		bootargs = "console=ttyS0,115200"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  |  | ||||||
|  | 		led_status_red: status_red { | ||||||
|  | 			label = "red:status"; | ||||||
|  | 			gpios = <&gpio 14 GPIO_ACTIVE_HIGH>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		led_status_blue: status_blue { | ||||||
|  | 			label = "blue:status"; | ||||||
|  | 			gpios = <&gpio 15 GPIO_ACTIVE_LOW>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	keys { | ||||||
|  | 		compatible = "gpio-keys"; | ||||||
|  |  | ||||||
|  | 		reset { | ||||||
|  | 			label = "reset"; | ||||||
|  | 			gpios = <&gpio 18 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,code = <KEY_RESTART>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		wps { | ||||||
|  | 			label = "wps"; | ||||||
|  | 			gpios = <&gpio 16 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,code = <KEY_WPS_BUTTON>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	ubi-concat { | ||||||
|  | 		compatible = "mtd-concat"; | ||||||
|  | 		devices = <&ubiconcat0 &ubiconcat1>; | ||||||
|  |  | ||||||
|  | 		partitions { | ||||||
|  | 			compatible = "fixed-partitions"; | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <1>; | ||||||
|  |  | ||||||
|  | 			partition@0 { | ||||||
|  | 				label = "ubi"; | ||||||
|  | 				reg = <0x0 0x5900000>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &nand { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	partitions { | ||||||
|  | 		compatible = "fixed-partitions"; | ||||||
|  | 		#address-cells = <1>; | ||||||
|  | 		#size-cells = <1>; | ||||||
|  |  | ||||||
|  | 		partition@0 { | ||||||
|  | 			label = "Bootloader"; | ||||||
|  | 			reg = <0x0 0x80000>; | ||||||
|  | 			read-only; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		partition@80000 { | ||||||
|  | 			label = "Config"; | ||||||
|  | 			reg = <0x80000 0x80000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		factory: partition@100000 { | ||||||
|  | 			label = "Factory"; | ||||||
|  | 			reg = <0x100000 0x80000>; | ||||||
|  | 			read-only; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		partition@180000 { | ||||||
|  | 			label = "kernel"; | ||||||
|  | 			reg = <0x180000 0x400000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ubiconcat0: partition@580000 { | ||||||
|  | 			label = "ubiconcat0"; | ||||||
|  | 			reg = <0x580000 0x1c00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		partition@2180000 { | ||||||
|  | 			label = "firmware_backup"; | ||||||
|  | 			reg = <0x2180000 0x2000000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		partition@4180000 { | ||||||
|  | 			label = "rootfs_data_back"; | ||||||
|  | 			reg = <0x4180000 0x80000>; | ||||||
|  | 			read-only; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		partition@4200000 { | ||||||
|  | 			label = "nvram_config"; | ||||||
|  | 			reg = <0x4200000 0x80000>; | ||||||
|  | 			read-only; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ubiconcat1: partition@4280000 { | ||||||
|  | 			label = "ubiconcat1"; | ||||||
|  | 			reg = <0x4280000 0x3d00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		/* | ||||||
|  | 		 * last 512 KiB are for the bad block table | ||||||
|  | 		 */ | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie1 { | ||||||
|  | 	wifi@0,0 { | ||||||
|  | 		compatible = "mediatek,mt76"; | ||||||
|  | 		reg = <0x0000 0 0 0 0>; | ||||||
|  | 		mediatek,mtd-eeprom = <&factory 0x0>; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &gmac0 { | ||||||
|  | 	mtd-mac-address = <&factory 0x3fff4>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &switch0 { | ||||||
|  | 	ports { | ||||||
|  | 		port@0 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 			label = "wan"; | ||||||
|  | 			mtd-mac-address = <&factory 0x3fffa>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		port@1 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 			label = "lan1"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		port@4 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 			label = "lan2"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &state_default { | ||||||
|  | 	gpio { | ||||||
|  | 		groups = "jtag", "wdt"; | ||||||
|  | 		function = "gpio"; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
| @@ -720,6 +720,23 @@ define Device/jcg_jhr-ac876m | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += jcg_jhr-ac876m | TARGET_DEVICES += jcg_jhr-ac876m | ||||||
|  |  | ||||||
|  | define Device/jcg_q20 | ||||||
|  |   $(Device/dsa-migration) | ||||||
|  |   BLOCKSIZE := 128k | ||||||
|  |   PAGESIZE := 2048 | ||||||
|  |   UBINIZE_OPTS := -E 5 | ||||||
|  |   KERNEL_SIZE := 4096k | ||||||
|  |   IMAGE_SIZE := 91136k | ||||||
|  |   IMAGES += factory.bin | ||||||
|  |   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | ||||||
|  |   IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \ | ||||||
|  | 	check-size | ||||||
|  |   DEVICE_VENDOR := JCG | ||||||
|  |   DEVICE_MODEL := Q20 | ||||||
|  |   DEVICE_PACKAGES := kmod-mt7915e uboot-envtools | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += jcg_q20 | ||||||
|  |  | ||||||
| define Device/jcg_y2 | define Device/jcg_y2 | ||||||
|   $(Device/dsa-migration) |   $(Device/dsa-migration) | ||||||
|   $(Device/uimage-lzma-loader) |   $(Device/uimage-lzma-loader) | ||||||
|   | |||||||
| @@ -14,6 +14,7 @@ ramips_setup_interfaces() | |||||||
| 		;; | 		;; | ||||||
| 	asiarf,ap7621-nv1|\ | 	asiarf,ap7621-nv1|\ | ||||||
| 	glinet,gl-mt1300|\ | 	glinet,gl-mt1300|\ | ||||||
|  | 	jcg,q20|\ | ||||||
| 	lenovo,newifi-d1|\ | 	lenovo,newifi-d1|\ | ||||||
| 	mikrotik,routerboard-m33g|\ | 	mikrotik,routerboard-m33g|\ | ||||||
| 	xiaomi,mi-router-3g|\ | 	xiaomi,mi-router-3g|\ | ||||||
|   | |||||||
| @@ -14,6 +14,10 @@ case "$board" in | |||||||
| 		[ "$PHYNBR" = "1" ] && \ | 		[ "$PHYNBR" = "1" ] && \ | ||||||
| 			macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1 > /sys${DEVPATH}/macaddress | 			macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1 > /sys${DEVPATH}/macaddress | ||||||
| 		;; | 		;; | ||||||
|  | 	jcg,q20) | ||||||
|  | 		[ "$PHYNBR" = "1" ] && \ | ||||||
|  | 			macaddr_setbit_la "$(mtd_get_mac_binary Factory 0x4)" > /sys${DEVPATH}/macaddress | ||||||
|  | 		;; | ||||||
| 	linksys,ea7300-v1|\ | 	linksys,ea7300-v1|\ | ||||||
| 	linksys,ea7300-v2|\ | 	linksys,ea7300-v2|\ | ||||||
| 	linksys,ea7500-v2) | 	linksys,ea7500-v2) | ||||||
|   | |||||||
| @@ -49,6 +49,7 @@ platform_do_upgrade() { | |||||||
| 	dlink,dir-2640-a1|\ | 	dlink,dir-2640-a1|\ | ||||||
| 	dlink,dir-2660-a1|\ | 	dlink,dir-2660-a1|\ | ||||||
| 	hiwifi,hc5962|\ | 	hiwifi,hc5962|\ | ||||||
|  | 	jcg,q20|\ | ||||||
| 	linksys,ea7300-v1|\ | 	linksys,ea7300-v1|\ | ||||||
| 	linksys,ea7300-v2|\ | 	linksys,ea7300-v2|\ | ||||||
| 	linksys,ea7500-v2|\ | 	linksys,ea7500-v2|\ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Chukun Pan
					Chukun Pan