ath79: add support for EnGenius ECB1750
Specification: - Qualcomm Atheros SoC QCA9558 - 720/600/200 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 1x 10/100/1000 Mbps Ethernet - 3T3R 2.4 GHz (QCA9558 WMAC) - 3T3R 5.8 Ghz (QCA9880-BR4A, Senao PCE4553AH) https://fccid.io/A8J-ECB1750 Tested and working: - lan, wireless, leds, sysupgrade (tftp) Flash instructions: 1.) tftp recovery - use a 1GbE switch or direct attached 1GbE link - setup client ip address 192.168.1.10 and start tftpd - save "openwrt-ath79-generic-engenius_ecb1750-initramfs-kernel.bin" as "ap.bin" in tfpd root directory - plugin powercord and hold reset button 10secs.. "ap.bin" will be downloaded and executed - afterwards login via ssh and do a sysuprade 2.) oem webinterface factory install (not tested) Use normal webinterface upgrade page und select "openwrt-ath79-generic-engenius_ecb1750-squashfs-factory.bin". 3.) oem webinterface command injection OEM Firmware already running OpenWrt (Attitude Adjustment 12.09). Use OEM webinterface and command injection. See wiki for details. https://openwrt.org/toh/engenius/engenius_ecb1750_1 Signed-off-by: sven friedmann <sf.openwrt@okay.ms> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [use interrupt-driven "gpio-keys" binding]
This commit is contained in:
		 sven friedmann
					sven friedmann
				
			
				
					committed by
					
						 Christian Lamparter
						Christian Lamparter
					
				
			
			
				
	
			
			
			 Christian Lamparter
						Christian Lamparter
					
				
			
						parent
						
							819e7946b0
						
					
				
				
					commit
					30dcbc741d
				
			| @@ -17,6 +17,7 @@ buffalo,wzr-hp-ag300h) | |||||||
|         ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x10000" "0x10000" |         ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x10000" "0x10000" | ||||||
|         ;; |         ;; | ||||||
| buffalo,bhr-4grv2|\ | buffalo,bhr-4grv2|\ | ||||||
|  | engenius,ecb1750|\ | ||||||
| glinet,gl-ar300m-nand|\ | glinet,gl-ar300m-nand|\ | ||||||
| glinet,gl-ar300m-nor|\ | glinet,gl-ar300m-nor|\ | ||||||
| librerouter,librerouter-v1|\ | librerouter,librerouter-v1|\ | ||||||
|   | |||||||
| @@ -58,6 +58,9 @@ comfast,cf-e5) | |||||||
| dlink,dir-859-a1) | dlink,dir-859-a1) | ||||||
| 	ucidef_set_led_switch "internet" "WAN" "$boardname:green:internet" "switch0" "0x20" | 	ucidef_set_led_switch "internet" "WAN" "$boardname:green:internet" "switch0" "0x20" | ||||||
| 	;; | 	;; | ||||||
|  | engenius,ecb1750) | ||||||
|  | 	ucidef_set_led_netdev "lan" "LAN" "$boardname:blue:lan" "eth0" | ||||||
|  | 	;; | ||||||
| engenius,ews511ap) | engenius,ews511ap) | ||||||
| 	ucidef_set_led_netdev "lan1" "LAN1" "$boardname:blue:lan1" "eth0" | 	ucidef_set_led_netdev "lan1" "LAN1" "$boardname:blue:lan1" "eth0" | ||||||
| 	ucidef_set_led_netdev "lan2" "LAN2" "$boardname:blue:lan2" "eth1" | 	ucidef_set_led_netdev "lan2" "LAN2" "$boardname:blue:lan2" "eth1" | ||||||
|   | |||||||
| @@ -13,6 +13,7 @@ ath79_setup_interfaces() | |||||||
| 	devolo,dvl1200i|\ | 	devolo,dvl1200i|\ | ||||||
| 	devolo,dvl1750c|\ | 	devolo,dvl1750c|\ | ||||||
| 	devolo,dvl1750i|\ | 	devolo,dvl1750i|\ | ||||||
|  | 	engenius,ecb1750|\ | ||||||
| 	glinet,ar300m-lite|\ | 	glinet,ar300m-lite|\ | ||||||
| 	netgear,ex6400|\ | 	netgear,ex6400|\ | ||||||
| 	netgear,ex7300|\ | 	netgear,ex7300|\ | ||||||
| @@ -291,6 +292,9 @@ ath79_setup_macs() | |||||||
| 	elecom,wrc-300ghbk2-i) | 	elecom,wrc-300ghbk2-i) | ||||||
| 		wan_mac=$(macaddr_add "$(mtd_get_mac_binary ART 4098)" -2) | 		wan_mac=$(macaddr_add "$(mtd_get_mac_binary ART 4098)" -2) | ||||||
| 		;; | 		;; | ||||||
|  | 	engenius,ecb1750) | ||||||
|  | 		lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) | ||||||
|  | 		;; | ||||||
| 	engenius,epg5000|\ | 	engenius,epg5000|\ | ||||||
| 	iodata,wn-ac1167dgr|\ | 	iodata,wn-ac1167dgr|\ | ||||||
| 	iodata,wn-ac1600dgr|\ | 	iodata,wn-ac1600dgr|\ | ||||||
|   | |||||||
| @@ -109,6 +109,10 @@ case "$FIRMWARE" in | |||||||
| 		ath9k_eeprom_extract "art" 4096 1088 | 		ath9k_eeprom_extract "art" 4096 1088 | ||||||
| 		ath9k_patch_fw_mac $(mtd_get_mac_ascii devdata "wlan24mac") 2 | 		ath9k_patch_fw_mac $(mtd_get_mac_ascii devdata "wlan24mac") 2 | ||||||
| 		;; | 		;; | ||||||
|  | 	engenius,ecb1750) | ||||||
|  | 		ath9k_eeprom_extract "art" 4096 1088 | ||||||
|  | 		ath9k_patch_fw_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env "athaddr") +1) 2 | ||||||
|  | 		;; | ||||||
| 	engenius,epg5000|\ | 	engenius,epg5000|\ | ||||||
| 	iodata,wn-ac1167dgr|\ | 	iodata,wn-ac1167dgr|\ | ||||||
| 	iodata,wn-ac1600dgr|\ | 	iodata,wn-ac1600dgr|\ | ||||||
|   | |||||||
| @@ -102,6 +102,10 @@ case "$FIRMWARE" in | |||||||
| 	elecom,wrc-1750ghbk2-i) | 	elecom,wrc-1750ghbk2-i) | ||||||
| 		ath10kcal_extract "ART" 20480 2116 | 		ath10kcal_extract "ART" 20480 2116 | ||||||
| 		;; | 		;; | ||||||
|  | 	engenius,ecb1750) | ||||||
|  | 		ath10kcal_extract "art" 20480 2116 | ||||||
|  | 		ath10kcal_patch_mac $(mtd_get_mac_ascii u-boot-env athaddr) | ||||||
|  | 		;; | ||||||
| 	engenius,epg5000|\ | 	engenius,epg5000|\ | ||||||
| 	iodata,wn-ac1167dgr|\ | 	iodata,wn-ac1167dgr|\ | ||||||
| 	iodata,wn-ac1600dgr2) | 	iodata,wn-ac1600dgr2) | ||||||
|   | |||||||
							
								
								
									
										144
									
								
								target/linux/ath79/dts/qca9558_engenius_ecb1750.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										144
									
								
								target/linux/ath79/dts/qca9558_engenius_ecb1750.dts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,144 @@ | |||||||
|  | // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||||
|  | /dts-v1/; | ||||||
|  |  | ||||||
|  | #include <dt-bindings/gpio/gpio.h> | ||||||
|  | #include <dt-bindings/input/input.h> | ||||||
|  |  | ||||||
|  | #include "qca9557.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	compatible = "engenius,ecb1750", "qca,qca9557"; | ||||||
|  | 	model = "EnGenius ECB1750"; | ||||||
|  |  | ||||||
|  | 	chosen { | ||||||
|  | 		bootargs = "console=ttyS0,115200n8"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	aliases { | ||||||
|  | 		led-boot = &power_orange; | ||||||
|  | 		led-failsafe = &power_orange; | ||||||
|  | 		led-running = &power_orange; | ||||||
|  | 		led-upgrade = &power_orange; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  |  | ||||||
|  | 		power_orange: power_orange { | ||||||
|  | 			label = "ecb1750:orange:power"; | ||||||
|  | 			gpios = <&gpio 22 GPIO_ACTIVE_LOW>; | ||||||
|  | 			default-state = "on"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		wlan2g { | ||||||
|  | 			label = "ecb1750:blue:wlan2g"; | ||||||
|  | 			gpios = <&gpio 13 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,default-trigger = "phy1tpt"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		wlan5g { | ||||||
|  | 			label = "ecb1750:blue:wlan5g"; | ||||||
|  | 			gpios = <&gpio 23 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,default-trigger = "phy0tpt"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		lan { | ||||||
|  | 			label = "ecb1750:blue:lan"; | ||||||
|  | 			gpios = <&gpio 12 GPIO_ACTIVE_LOW>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	keys { | ||||||
|  | 		compatible = "gpio-keys"; | ||||||
|  |  | ||||||
|  | 		reset { | ||||||
|  | 			label = "reset"; | ||||||
|  | 			linux,code = <KEY_RESTART>; | ||||||
|  | 			gpios = <&gpio 17 GPIO_ACTIVE_LOW>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie0 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &uart { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &spi { | ||||||
|  | 	status = "okay"; | ||||||
|  | 	num-cs = <1>; | ||||||
|  |  | ||||||
|  | 	flash@0 { | ||||||
|  | 		compatible = "jedec,spi-nor"; | ||||||
|  | 		reg = <0>; | ||||||
|  | 		spi-max-frequency = <25000000>; | ||||||
|  |  | ||||||
|  | 		partitions { | ||||||
|  | 			compatible = "fixed-partitions"; | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <1>; | ||||||
|  |  | ||||||
|  | 			uboot: partition@0 { | ||||||
|  | 				label = "u-boot"; | ||||||
|  | 				reg = <0x000000 0x040000>; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			partition@40000 { | ||||||
|  | 				label = "u-boot-env"; | ||||||
|  | 				reg = <0x040000 0x010000>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			partition@50000 { | ||||||
|  | 				label = "firmware"; | ||||||
|  | 				reg = <0x050000 0xf50000>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			partition@fa0000 { | ||||||
|  | 				label = "userconfig"; | ||||||
|  | 				reg = <0xfa0000 0x050000>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			art: partition@ff0000 { | ||||||
|  | 				label = "art"; | ||||||
|  | 				reg = <0xff0000 0x010000>; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wmac { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	qca,no-eeprom; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &mdio0 { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	phy5: ethernet-phy@5 { | ||||||
|  | 		reg = <5>; | ||||||
|  | 		at803x-disable-smarteee; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | ð0 { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	pll-data = <0x9a000000 0x80000101 0x80001313>; | ||||||
|  |  | ||||||
|  | 	phy-handle = <&phy5>; | ||||||
|  | 	phy-mode = "rgmii"; | ||||||
|  |  | ||||||
|  | 	gmac-config { | ||||||
|  | 		device = <&gmac>; | ||||||
|  | 		rgmii-gmac0 = <1>; | ||||||
|  | 		rxd-delay = <3>; | ||||||
|  | 		rxdv-delay = <3>; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
| @@ -302,6 +302,18 @@ define Device/embeddedwireless_dorin | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += embeddedwireless_dorin | TARGET_DEVICES += embeddedwireless_dorin | ||||||
|  |  | ||||||
|  | define Device/engenius_ecb1750 | ||||||
|  |   ATH_SOC := qca9558 | ||||||
|  |   DEVICE_TITLE := EnGenius ECB1750 | ||||||
|  |   DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct | ||||||
|  |   IMAGE_SIZE := 15680k | ||||||
|  |   IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \ | ||||||
|  |     append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \ | ||||||
|  |     senao-header -r 0x101 -p 0x6d -t 2 | ||||||
|  |   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE) | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += engenius_ecb1750 | ||||||
|  |  | ||||||
| define Device/engenius_epg5000 | define Device/engenius_epg5000 | ||||||
|   ATH_SOC := qca9558 |   ATH_SOC := qca9558 | ||||||
|   DEVICE_TITLE := EnGenius EPG5000 |   DEVICE_TITLE := EnGenius EPG5000 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user