ath79: add support for GL.iNet GL-MiFi
Add support for the ar71xx supported GL.iNet GL-MiFi to ath79. Specifications: - Atheros AR9331 - 64 MB of RAM - 16 MB of FLASH (SPI NOR) - 2x 10/100/1000 Mbps Ethernet - 2.4GHz (AR9330), 802.11b/g/n - 1x USB 2.0 (vbus driven by GPIO) - 4x LED, driven by GPIO - 1x button (reset) - 1x mini pci-e slot (vcc driven by GPIO) Flash instructions: Vendor software is based on openwrt so you can flash the sysupgrade image via the vendor GUI or using command line sysupgrade utility. Make sure to not save configuration over reflash as uci settings differ between versions. Note on MAC addresses: Even though the platform is capable to providing separate MAC addresses to the interfaces vendor firmware does not seem to take advantage of that. It appears that there is only single unique pre-programmed address in the art partition and vendor firmware uses that for every interface (eth0/eth1/wlan0). Similar behaviour has also been implemented in this patch. Note on GPIOs: In vendor firmware the gpio controlling mini pci-e slot is named 3gcontrol while it actually controls power supply to the entire mini pci-e slot. Therefore a more descriptive name (minipcie) was chosen. Also during development of this patch it became apparent that the polarity of the signal is actually active low rather than active high that can be found in vendor firmware. Acknowledgements: This patch is based on earlier work[1] done by Kyson Lok. Since the initial mailing-list submission the patch has been modified to comply with current openwrt naming schemes and dts conventions. [1] http://lists.openwrt.org/pipermail/openwrt-devel/2018-September/019576.html Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
This commit is contained in:
		 Antti Seppälä
					Antti Seppälä
				
			
				
					committed by
					
						 Adrian Schmutzler
						Adrian Schmutzler
					
				
			
			
				
	
			
			
			 Adrian Schmutzler
						Adrian Schmutzler
					
				
			
						parent
						
							472f5b1474
						
					
				
				
					commit
					a175bc8f36
				
			
							
								
								
									
										152
									
								
								target/linux/ath79/dts/ar9331_glinet_gl-mifi.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										152
									
								
								target/linux/ath79/dts/ar9331_glinet_gl-mifi.dts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,152 @@ | |||||||
|  | // 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 "ar9331.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	compatible = "glinet,gl-mifi", "qca,ar9331"; | ||||||
|  | 	model = "GL.iNet GL-MiFi"; | ||||||
|  |  | ||||||
|  | 	aliases { | ||||||
|  | 		serial0 = &uart; | ||||||
|  | 		label-mac-device = ð0; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  |  | ||||||
|  | 		wlan { | ||||||
|  | 			label = "gl-mifi:green:wlan"; | ||||||
|  | 			gpios = <&gpio 1 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "phy0tpt"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		lan { | ||||||
|  | 			label = "gl-mifi:green:lan"; | ||||||
|  | 			gpios = <&gpio 16 GPIO_ACTIVE_HIGH>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		wan { | ||||||
|  | 			label = "gl-mifi:green:wan"; | ||||||
|  | 			gpios = <&gpio 27 GPIO_ACTIVE_HIGH>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		3g4g { | ||||||
|  | 			label = "gl-mifi:green:3g4g"; | ||||||
|  | 			gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	keys { | ||||||
|  | 		compatible = "gpio-keys"; | ||||||
|  |  | ||||||
|  | 		reset { | ||||||
|  | 			label = "reset"; | ||||||
|  | 			linux,code = <KEY_RESTART>; | ||||||
|  | 			gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			debounce-interval = <60>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	reg_usb_vbus: reg_usb_vbus { | ||||||
|  | 		compatible = "regulator-fixed"; | ||||||
|  | 		regulator-name = "usb_vbus"; | ||||||
|  | 		regulator-min-microvolt = <5000000>; | ||||||
|  | 		regulator-max-microvolt = <5000000>; | ||||||
|  | 		gpio = <&gpio 6 GPIO_ACTIVE_LOW>; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	gpio-export { | ||||||
|  | 		compatible = "gpio-export"; | ||||||
|  |  | ||||||
|  | 		minipcie { | ||||||
|  | 			gpio-export,name = "minipcie"; | ||||||
|  | 			gpio-export,output = <0>; | ||||||
|  | 			gpios = <&gpio 7 GPIO_ACTIVE_LOW>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &uart { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	dr_mode = "host"; | ||||||
|  | 	vbus-supply = <®_usb_vbus>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb_phy { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &spi { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	num-chipselects = <1>; | ||||||
|  |  | ||||||
|  | 	flash@0 { | ||||||
|  | 		compatible = "jedec,spi-nor"; | ||||||
|  | 		spi-max-frequency = <33000000>; | ||||||
|  | 		reg = <0>; | ||||||
|  |  | ||||||
|  | 		partitions { | ||||||
|  | 			compatible = "fixed-partitions"; | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <1>; | ||||||
|  |  | ||||||
|  | 			partition@0 { | ||||||
|  | 				label = "u-boot"; | ||||||
|  | 				reg = <0x000000 0x040000>; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			partition@40000 { | ||||||
|  | 				label = "u-boot-env"; | ||||||
|  | 				reg = <0x040000 0x010000>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			partition@50000 { | ||||||
|  | 				compatible = "denx,uimage"; | ||||||
|  | 				label = "firmware"; | ||||||
|  | 				reg = <0x050000 0xfa0000>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			art: partition@ff0000 { | ||||||
|  | 				label = "art"; | ||||||
|  | 				reg = <0xff0000 0x010000>; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | ð0 { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	mtd-mac-address = <&art 0x0>; | ||||||
|  |  | ||||||
|  | 	gmac-config { | ||||||
|  | 		device = <&gmac>; | ||||||
|  |  | ||||||
|  | 		switch-phy-addr-swap = <0>; | ||||||
|  | 		switch-phy-swap = <0>; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | ð1 { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	mtd-mac-address = <&art 0x0>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wmac { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	mtd-cal-data = <&art 0x1000>; | ||||||
|  | }; | ||||||
| @@ -153,6 +153,10 @@ glinet,gl-ar300m-lite) | |||||||
| glinet,gl-ar300m16) | glinet,gl-ar300m16) | ||||||
| 	ucidef_set_led_netdev "lan" "LAN" "gl-ar300m:green:lan" "eth0" | 	ucidef_set_led_netdev "lan" "LAN" "gl-ar300m:green:lan" "eth0" | ||||||
| 	;; | 	;; | ||||||
|  | glinet,gl-mifi) | ||||||
|  | 	ucidef_set_led_switch "lan" "LAN" "$boardname:green:lan" "switch0" "0x02" | ||||||
|  | 	ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth1" | ||||||
|  | 	;; | ||||||
| glinet,gl-x750) | glinet,gl-x750) | ||||||
| 	ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth1" | 	ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth1" | ||||||
| 	;; | 	;; | ||||||
|   | |||||||
| @@ -8,6 +8,9 @@ case "$board" in | |||||||
| engenius,epg5000) | engenius,epg5000) | ||||||
| 	migrate_leds ":wlan-2g=:wlan2g" ":wlan-5g=:wlan5g" | 	migrate_leds ":wlan-2g=:wlan2g" ":wlan-5g=:wlan5g" | ||||||
| 	;; | 	;; | ||||||
|  | glinet,gl-mifi) | ||||||
|  | 	migrate_leds ":net=:3g4g" | ||||||
|  | 	;; | ||||||
| tplink,archer-c25-v1|\ | tplink,archer-c25-v1|\ | ||||||
| tplink,archer-c58-v1|\ | tplink,archer-c58-v1|\ | ||||||
| tplink,archer-c59-v1|\ | tplink,archer-c59-v1|\ | ||||||
|   | |||||||
| @@ -821,6 +821,16 @@ define Device/glinet_gl-ar750 | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += glinet_gl-ar750 | TARGET_DEVICES += glinet_gl-ar750 | ||||||
|  |  | ||||||
|  | define Device/glinet_gl-mifi | ||||||
|  |   SOC := ar9331 | ||||||
|  |   DEVICE_VENDOR := GL.iNET | ||||||
|  |   DEVICE_MODEL := GL-MiFi | ||||||
|  |   DEVICE_PACKAGES := kmod-usb-chipidea2 | ||||||
|  |   IMAGE_SIZE := 16000k | ||||||
|  |   SUPPORTED_DEVICES += gl-mifi | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += glinet_gl-mifi | ||||||
|  |  | ||||||
| define Device/glinet_gl-x750 | define Device/glinet_gl-x750 | ||||||
|   SOC := qca9531 |   SOC := qca9531 | ||||||
|   DEVICE_VENDOR := GL.iNet |   DEVICE_VENDOR := GL.iNet | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user