ath79: add support for ALFA Network AP121FE
The AP121FE is a slightly modified version of already supported AP121F model (added to ar71xx in0c6165d21aand to ath79 in334bbc5198). The differences in compare to AP121F: - no micro SD card reader - USB data lines are included in Type-A plug - USB bus switched to device/peripheral mode (permanently, in bootstrap) Other than that, specifications are the same: - Atheros AR9331 - 400/400/200 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR1) - 16 MB of flash (SPI NOR) - 1x 10/100 Mbps Ethernet - 1T1R 2.4 GHz Wi-Fi, up to 15 dBm - 1x IPEX/U.FL connector, internal PCB antenna - 3x LED, 1x button, 1x switch - 4-pin UART header on PCB (2 mm pitch) - USB 2.0 Type-A plug (power and data) Flash instruction (under U-Boot web recovery mode): 1. Configure PC with static IP 192.168.1.2/24. 2. Connect PC with RJ45 port, press the reset button, power up device, wait for first blink of all LEDs (indicates network setup), then keep button for 3 following blinks and release it. 3. Open 192.168.1.1 address in your browser and upload sysupgrade image. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
This commit is contained in:
		| @@ -1,38 +1,11 @@ | |||||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||||
|  |  | ||||||
| #include "ar9331.dtsi" | #include "ar9331_alfa-network_ap121f.dtsi" | ||||||
|  |  | ||||||
| #include <dt-bindings/gpio/gpio.h> |  | ||||||
| #include <dt-bindings/input/input.h> |  | ||||||
|  |  | ||||||
| / { | / { | ||||||
| 	model = "ALFA Network AP121F"; | 	model = "ALFA Network AP121F"; | ||||||
| 	compatible = "alfa-network,ap121f", "qca,ar9331"; | 	compatible = "alfa-network,ap121f", "qca,ar9331"; | ||||||
|  |  | ||||||
| 	aliases { |  | ||||||
| 		label-mac-device = &wmac; |  | ||||||
| 		led-boot = &led_vpn; |  | ||||||
| 		led-failsafe = &led_vpn; |  | ||||||
| 		led-upgrade = &led_vpn; |  | ||||||
| 		serial0 = &uart; |  | ||||||
| 	}; |  | ||||||
|  |  | ||||||
| 	keys { |  | ||||||
| 		compatible = "gpio-keys"; |  | ||||||
|  |  | ||||||
| 		reset { |  | ||||||
| 			label = "reset"; |  | ||||||
| 			linux,code = <KEY_RESTART>; |  | ||||||
| 			gpios = <&gpio 12 GPIO_ACTIVE_LOW>; |  | ||||||
| 		}; |  | ||||||
|  |  | ||||||
| 		switch { |  | ||||||
| 			label = "switch"; |  | ||||||
| 			linux,code = <BTN_0>; |  | ||||||
| 			gpios = <&gpio 21 GPIO_ACTIVE_HIGH>; |  | ||||||
| 		}; |  | ||||||
| 	}; |  | ||||||
|  |  | ||||||
| 	leds { | 	leds { | ||||||
| 		compatible = "gpio-leds"; | 		compatible = "gpio-leds"; | ||||||
|  |  | ||||||
| @@ -54,81 +27,6 @@ | |||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| ð0 { |  | ||||||
| 	status = "okay"; |  | ||||||
|  |  | ||||||
| 	mtd-mac-address = <&art 0x0>; |  | ||||||
|  |  | ||||||
| 	gmac-config { |  | ||||||
| 		device = <&gmac>; |  | ||||||
| 		switch-phy-addr-swap = <0>; |  | ||||||
| 		switch-phy-swap = <0>; |  | ||||||
| 	}; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| ð1 { |  | ||||||
| 	status = "okay"; |  | ||||||
|  |  | ||||||
| 	compatible = "syscon", "simple-mfd"; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| &spi { |  | ||||||
| 	status = "okay"; |  | ||||||
|  |  | ||||||
| 	num-cs = <1>; |  | ||||||
|  |  | ||||||
| 	flash@0 { |  | ||||||
| 		compatible = "jedec,spi-nor"; |  | ||||||
| 		reg = <0>; |  | ||||||
| 		spi-max-frequency = <50000000>; |  | ||||||
| 		m25p,fast-read; |  | ||||||
|  |  | ||||||
| 		partitions { |  | ||||||
| 			compatible = "fixed-partitions"; |  | ||||||
| 			#address-cells = <1>; |  | ||||||
| 			#size-cells = <1>; |  | ||||||
|  |  | ||||||
| 			partition@0 { |  | ||||||
| 				label = "u-boot"; |  | ||||||
| 				reg = <0x000000 0x030000>; |  | ||||||
| 				read-only; |  | ||||||
| 			}; |  | ||||||
|  |  | ||||||
| 			partition@30000 { |  | ||||||
| 				label = "u-boot-env"; |  | ||||||
| 				reg = <0x030000 0x010000>; |  | ||||||
| 			}; |  | ||||||
|  |  | ||||||
| 			art: partition@40000 { |  | ||||||
| 				label = "art"; |  | ||||||
| 				reg = <0x040000 0x010000>; |  | ||||||
| 				read-only; |  | ||||||
| 			}; |  | ||||||
|  |  | ||||||
| 			partition@50000 { |  | ||||||
| 				compatible = "denx,uimage"; |  | ||||||
| 				label = "firmware"; |  | ||||||
| 				reg = <0x050000 0xfb0000>; |  | ||||||
| 			}; |  | ||||||
| 		}; |  | ||||||
| 	}; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| &uart { |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| &usb { | &usb { | ||||||
| 	status = "okay"; |  | ||||||
| 	dr_mode = "host"; | 	dr_mode = "host"; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| &usb_phy { |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| &wmac { |  | ||||||
| 	status = "okay"; |  | ||||||
|  |  | ||||||
| 	mtd-cal-data = <&art 0x1000>; |  | ||||||
| }; |  | ||||||
|   | |||||||
							
								
								
									
										112
									
								
								target/linux/ath79/dts/ar9331_alfa-network_ap121f.dtsi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								target/linux/ath79/dts/ar9331_alfa-network_ap121f.dtsi
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,112 @@ | |||||||
|  | // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||||
|  |  | ||||||
|  | #include "ar9331.dtsi" | ||||||
|  |  | ||||||
|  | #include <dt-bindings/gpio/gpio.h> | ||||||
|  | #include <dt-bindings/input/input.h> | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	aliases { | ||||||
|  | 		label-mac-device = &wmac; | ||||||
|  | 		led-boot = &led_vpn; | ||||||
|  | 		led-failsafe = &led_vpn; | ||||||
|  | 		led-upgrade = &led_vpn; | ||||||
|  | 		serial0 = &uart; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	keys { | ||||||
|  | 		compatible = "gpio-keys"; | ||||||
|  |  | ||||||
|  | 		reset { | ||||||
|  | 			label = "reset"; | ||||||
|  | 			linux,code = <KEY_RESTART>; | ||||||
|  | 			gpios = <&gpio 12 GPIO_ACTIVE_LOW>; | ||||||
|  | 			debounce-interval = <60>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		switch { | ||||||
|  | 			label = "switch"; | ||||||
|  | 			linux,code = <BTN_0>; | ||||||
|  | 			gpios = <&gpio 21 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			debounce-interval = <60>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | ð0 { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	mtd-mac-address = <&art 0x0>; | ||||||
|  |  | ||||||
|  | 	gmac-config { | ||||||
|  | 		device = <&gmac>; | ||||||
|  | 		switch-phy-addr-swap = <0>; | ||||||
|  | 		switch-phy-swap = <0>; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | ð1 { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	compatible = "syscon", "simple-mfd"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &spi { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	num-cs = <1>; | ||||||
|  |  | ||||||
|  | 	flash@0 { | ||||||
|  | 		compatible = "jedec,spi-nor"; | ||||||
|  | 		reg = <0>; | ||||||
|  | 		spi-max-frequency = <50000000>; | ||||||
|  | 		m25p,fast-read; | ||||||
|  |  | ||||||
|  | 		partitions { | ||||||
|  | 			compatible = "fixed-partitions"; | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <1>; | ||||||
|  |  | ||||||
|  | 			partition@0 { | ||||||
|  | 				label = "u-boot"; | ||||||
|  | 				reg = <0x000000 0x030000>; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			partition@30000 { | ||||||
|  | 				label = "u-boot-env"; | ||||||
|  | 				reg = <0x030000 0x010000>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			art: partition@40000 { | ||||||
|  | 				label = "art"; | ||||||
|  | 				reg = <0x040000 0x010000>; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			partition@50000 { | ||||||
|  | 				compatible = "denx,uimage"; | ||||||
|  | 				label = "firmware"; | ||||||
|  | 				reg = <0x050000 0xfb0000>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &uart { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb_phy { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wmac { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	mtd-cal-data = <&art 0x1000>; | ||||||
|  | }; | ||||||
							
								
								
									
										32
									
								
								target/linux/ath79/dts/ar9331_alfa-network_ap121fe.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								target/linux/ath79/dts/ar9331_alfa-network_ap121fe.dts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | |||||||
|  | // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||||
|  |  | ||||||
|  | #include "ar9331_alfa-network_ap121f.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	model = "ALFA Network AP121FE"; | ||||||
|  | 	compatible = "alfa-network,ap121fe", "qca,ar9331"; | ||||||
|  |  | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  |  | ||||||
|  | 		lan { | ||||||
|  | 			label = "ap121fe:green:lan"; | ||||||
|  | 			gpios = <&gpio 17 GPIO_ACTIVE_LOW>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		led_vpn: vpn { | ||||||
|  | 			label = "ap121fe:green:vpn"; | ||||||
|  | 			gpios = <&gpio 27 GPIO_ACTIVE_LOW>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		wlan { | ||||||
|  | 			label = "ap121fe:green:wlan"; | ||||||
|  | 			gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "phy0tpt"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb { | ||||||
|  | 	dr_mode = "peripheral"; | ||||||
|  | }; | ||||||
| @@ -13,6 +13,7 @@ case "$board" in | |||||||
| 	ucidef_set_led_switch "wan" "WAN" "$boardname:orange:eth1" "switch0" "0x04" | 	ucidef_set_led_switch "wan" "WAN" "$boardname:orange:eth1" "switch0" "0x04" | ||||||
| 	;; | 	;; | ||||||
| alfa-network,ap121f|\ | alfa-network,ap121f|\ | ||||||
|  | alfa-network,ap121fe|\ | ||||||
| avm,fritz450e) | avm,fritz450e) | ||||||
| 	ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0" | 	ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0" | ||||||
| 	;; | 	;; | ||||||
|   | |||||||
| @@ -75,6 +75,9 @@ ath79_setup_interfaces() | |||||||
| 	winchannel,wb2000) | 	winchannel,wb2000) | ||||||
| 		ucidef_set_interface_lan "eth0" | 		ucidef_set_interface_lan "eth0" | ||||||
| 		;; | 		;; | ||||||
|  | 	alfa-network,ap121fe) | ||||||
|  | 		ucidef_set_interface_lan "eth0 usb0" | ||||||
|  | 		;; | ||||||
| 	avm,fritz4020|\ | 	avm,fritz4020|\ | ||||||
| 	pcs,cr3000|\ | 	pcs,cr3000|\ | ||||||
| 	tplink,archer-c58-v1|\ | 	tplink,archer-c58-v1|\ | ||||||
| @@ -398,6 +401,7 @@ ath79_setup_macs() | |||||||
| 		label_mac=$lan_mac | 		label_mac=$lan_mac | ||||||
| 		;; | 		;; | ||||||
| 	alfa-network,ap121f|\ | 	alfa-network,ap121f|\ | ||||||
|  | 	alfa-network,ap121fe|\ | ||||||
| 	engenius,ens202ext-v1) | 	engenius,ens202ext-v1) | ||||||
| 		label_mac=$(mtd_get_mac_binary art 0x1002) | 		label_mac=$(mtd_get_mac_binary art 0x1002) | ||||||
| 		;; | 		;; | ||||||
|   | |||||||
| @@ -228,6 +228,15 @@ define Device/alfa-network_ap121f | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += alfa-network_ap121f | TARGET_DEVICES += alfa-network_ap121f | ||||||
|  |  | ||||||
|  | define Device/alfa-network_ap121fe | ||||||
|  |   SOC := ar9331 | ||||||
|  |   DEVICE_VENDOR := ALFA Network | ||||||
|  |   DEVICE_MODEL := AP121FE | ||||||
|  |   DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-usb-gadget-eth -swconfig | ||||||
|  |   IMAGE_SIZE := 16064k | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += alfa-network_ap121fe | ||||||
|  |  | ||||||
| define Device/allnet_all-wap02860ac | define Device/allnet_all-wap02860ac | ||||||
|   SOC := qca9558 |   SOC := qca9558 | ||||||
|   DEVICE_VENDOR := ALLNET |   DEVICE_VENDOR := ALLNET | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Piotr Dymacz
					Piotr Dymacz