ath79: fix support for Buffalo WZR-HP-G450H and split to dts/dtsi
There are many parts that are incorrect or missing in the current code for Buffalo WZR-HP-G450H in ath79, so its support is broken. I fixed that issues and split to dts/dtsi files to add support for Buffalo BHR-4GRV. And WZR-450HP has the same hardware as WZR-HP-G450H, so I change the device name to "WZR-HP-G450H/WZR-450HP". Specification: - Atheros AR7242 - 64 MB of RAM - 32 MB of Flash - 2x 16 MB SPI-NOR flash - 3T3R 2.4 GHz wifi - SoC internal - 5x 10/100/1000 Mbps Ethernet - 6x LEDs, 5x keys - 1x USB 2.0 Type-A - UART header on PCB - JP1: Vcc, GND, TX, RX from reset button side Flash instruction using factory image: 1. Boot the WZR-HP-G450H (or WZR-450HP) normaly and connect the computer to its LAN port 2. Access to "http://192.168.11.1/cgi-bin/cgi?req=frm&frm=py-db/firmup.html" with user "bufpy" and password "otdpopy" 3. Select the OpenWrt factory image and click "OK" button to perform firmware update 4. Wait ~200 seconds to complete flashing Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
This commit is contained in:
		 INAGAKI Hiroshi
					INAGAKI Hiroshi
				
			
				
					committed by
					
						 Mathias Kresin
						Mathias Kresin
					
				
			
			
				
	
			
			
			 Mathias Kresin
						Mathias Kresin
					
				
			
						parent
						
							b6e6785c88
						
					
				
				
					commit
					1df1ea4d7e
				
			| @@ -120,6 +120,9 @@ case "$FIRMWARE" in | |||||||
| 	tplink,tl-wr941-v4) | 	tplink,tl-wr941-v4) | ||||||
| 		ath9k_eeprom_extract "art" 4096 3768 | 		ath9k_eeprom_extract "art" 4096 3768 | ||||||
| 		;; | 		;; | ||||||
|  | 	buffalo,wzr-hp-g450h) | ||||||
|  | 		ath9k_eeprom_extract "ART" 4096 1088 | ||||||
|  | 		;; | ||||||
| 	ocedo,raccoon|\ | 	ocedo,raccoon|\ | ||||||
| 	tplink,tl-wdr3600|\ | 	tplink,tl-wdr3600|\ | ||||||
| 	tplink,tl-wdr4300|\ | 	tplink,tl-wdr4300|\ | ||||||
|   | |||||||
							
								
								
									
										174
									
								
								target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										174
									
								
								target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,174 @@ | |||||||
|  | // 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 "ar7242.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	aliases { | ||||||
|  | 		led-boot = &diag; | ||||||
|  | 		led-failsafe = &diag; | ||||||
|  | 		led-upgrade = &diag; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	extosc: ref { | ||||||
|  | 		compatible = "fixed-clock"; | ||||||
|  | 		#clock-cells = <0>; | ||||||
|  | 		clock-frequency = <40000000>; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	keys: keys { | ||||||
|  | 		compatible = "gpio-keys-polled"; | ||||||
|  | 		poll-interval = <20>; | ||||||
|  |  | ||||||
|  | 		usb { | ||||||
|  | 			label = "usb"; | ||||||
|  | 			linux,code = <BTN_2>; | ||||||
|  | 			gpios = <&gpio 1 GPIO_ACTIVE_LOW>; | ||||||
|  | 			debounce-interval = <60>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		reset { | ||||||
|  | 			label = "reset"; | ||||||
|  | 			linux,code = <KEY_RESTART>; | ||||||
|  | 			gpios = <&gpio 6 GPIO_ACTIVE_LOW>; | ||||||
|  | 			debounce-interval = <60>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  |  | ||||||
|  | 		sec_vpn: sec_vpn { | ||||||
|  | 			gpios = <&gpio 13 GPIO_ACTIVE_LOW>; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		diag: diag { | ||||||
|  | 			label = "buffalo:red:diag"; | ||||||
|  | 			gpios = <&gpio 14 GPIO_ACTIVE_LOW>; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		usb { | ||||||
|  | 			label = "buffalo:green:usb"; | ||||||
|  | 			gpios = <&gpio 17 GPIO_ACTIVE_LOW>; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 			trigger-sources = <&hub_port>; | ||||||
|  | 			linux,default-trigger = "usbport"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	gpio-export { | ||||||
|  | 		compatible = "gpio-export"; | ||||||
|  | 		#size-cells = <0>; | ||||||
|  |  | ||||||
|  | 		gpio_usb_power { | ||||||
|  | 			gpio-export,name = "buffalo:usb-power"; | ||||||
|  | 			gpio-export,output = <1>; | ||||||
|  | 			gpios = <&gpio 16 GPIO_ACTIVE_HIGH>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	virtual_flash { | ||||||
|  | 		compatible = "mtd-concat"; | ||||||
|  | 		devices = <&flash0 &flash1>; | ||||||
|  |  | ||||||
|  | 		partitions { | ||||||
|  | 			compatible = "fixed-partitions"; | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <1>; | ||||||
|  |  | ||||||
|  | 			partition@0 { | ||||||
|  | 				reg = <0x0 0x40000>; | ||||||
|  | 				label = "u-boot"; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			partition@40000 { | ||||||
|  | 				reg = <0x40000 0x10000>; | ||||||
|  | 				label = "u-boot-env"; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ART: partition@50000 { | ||||||
|  | 				reg = <0x50000 0x10000>; | ||||||
|  | 				label = "ART"; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			partition@60000 { | ||||||
|  | 				reg = <0x60000 0x1f80000>; | ||||||
|  | 				label = "firmware"; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			partition@1fe0000 { | ||||||
|  | 				reg = <0x1fe0000 0x20000>; | ||||||
|  | 				label = "user_property"; | ||||||
|  | 				read-only; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &spi { | ||||||
|  | 	status = "okay"; | ||||||
|  | 	cs-gpios = <0>, <0>; | ||||||
|  | 	num-cs = <2>; | ||||||
|  |  | ||||||
|  | 	flash0: flash@0 { | ||||||
|  | 		compatible = "jedec,spi-nor"; | ||||||
|  | 		reg = <0>; | ||||||
|  | 		spi-max-frequency = <25000000>; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	flash1: flash@1 { | ||||||
|  | 		compatible = "jedec,spi-nor"; | ||||||
|  | 		reg = <1>; | ||||||
|  | 		spi-max-frequency = <25000000>; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &mdio0 { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	phy-mask = <0x1>; | ||||||
|  |  | ||||||
|  | 	phy0: ethernet-phy@0 { | ||||||
|  | 		reg = <0>; | ||||||
|  | 		phy-mode = "rgmii"; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | ð0 { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	mtd-mac-address = <&ART 0x1002>; | ||||||
|  |  | ||||||
|  | 	phy-mode = "rgmii"; | ||||||
|  | 	phy-handle = <&phy0>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pll { | ||||||
|  | 	clocks = <&extosc>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &uart { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb_phy { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb { | ||||||
|  | 	#address-cells = <1>; | ||||||
|  | 	#size-cells = <0>; | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	hub_port: port@1 { | ||||||
|  | 		reg = <1>; | ||||||
|  | 		#trigger-source-cells = <0>; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
| @@ -4,111 +4,74 @@ | |||||||
| #include <dt-bindings/gpio/gpio.h> | #include <dt-bindings/gpio/gpio.h> | ||||||
| #include <dt-bindings/input/input.h> | #include <dt-bindings/input/input.h> | ||||||
|  |  | ||||||
| #include "ar7242.dtsi" | #include "ar7242_buffalo_wzr-bhr.dtsi" | ||||||
|  |  | ||||||
| / { | / { | ||||||
| 	compatible = "buffalo,wzr-hp-g450h", "qca,ar7242"; | 	compatible = "buffalo,wzr-hp-g450h", "qca,ar7242"; | ||||||
| 	model = "Buffalo WZR-HP-G450H"; | 	model = "Buffalo WZR-HP-G450H/WZR-450HP"; | ||||||
|  |  | ||||||
| 	keys { | 	ath9k-leds { | ||||||
| 		compatible = "gpio-keys-polled"; | 		compatible = "gpio-leds"; | ||||||
| 		poll-interval = <20>; |  | ||||||
|  |  | ||||||
| 		usb { | 		led_movie_engine { | ||||||
| 			linux,code = <BTN_2>; | 			label = "buffalo:blue:movie_engine"; | ||||||
| 			gpios = <&gpio 1 GPIO_ACTIVE_LOW>; | 			gpios = <&ath9k 13 GPIO_ACTIVE_LOW>; | ||||||
| 			debounce-interval = <60>; | 			default-state = "off"; | ||||||
| 		}; | 		}; | ||||||
|  |  | ||||||
| 		reset { | 		router { | ||||||
| 			linux,code = <KEY_RESTART>; | 			label = "buffalo:green:router"; | ||||||
| 			gpios = <&gpio 6 GPIO_ACTIVE_LOW>; | 			gpios = <&ath9k 14 GPIO_ACTIVE_LOW>; | ||||||
| 			debounce-interval = <60>; | 			default-state = "off"; | ||||||
| 		}; | 		}; | ||||||
|  |  | ||||||
|  | 		wireless { | ||||||
|  | 			label = "buffalo:green:wireless"; | ||||||
|  | 			gpios = <&ath9k 15 GPIO_ACTIVE_LOW>; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 			linux,default-trigger = "phy0tpt"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &keys { | ||||||
| 	movie_engine { | 	movie_engine { | ||||||
| 			linux,code = <KEY_RESTART>; | 		label = "movie_engine"; | ||||||
|  | 		linux,code = <BTN_6>; | ||||||
|  | 		linux,input-type = <EV_SW>; | ||||||
| 		gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; | 		gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; | ||||||
| 		debounce-interval = <60>; | 		debounce-interval = <60>; | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
| 	aoss { | 	aoss { | ||||||
|  | 		label = "aoss"; | ||||||
| 		linux,code = <KEY_WPS_BUTTON>; | 		linux,code = <KEY_WPS_BUTTON>; | ||||||
| 		gpios = <&gpio 8 GPIO_ACTIVE_LOW>; | 		gpios = <&gpio 8 GPIO_ACTIVE_LOW>; | ||||||
| 		debounce-interval = <60>; | 		debounce-interval = <60>; | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
| 	router_off { | 	router_off { | ||||||
|  | 		label = "router_off"; | ||||||
| 		linux,code = <BTN_5>; | 		linux,code = <BTN_5>; | ||||||
|  | 		linux,input-type = <EV_SW>; | ||||||
| 		gpios = <&gpio 12 GPIO_ACTIVE_HIGH>; | 		gpios = <&gpio 12 GPIO_ACTIVE_HIGH>; | ||||||
| 		debounce-interval = <60>; | 		debounce-interval = <60>; | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| 	leds { | &sec_vpn { | ||||||
| 		compatible = "gpio-leds"; |  | ||||||
| 		security { |  | ||||||
| 	label = "buffalo:orange:security"; | 	label = "buffalo:orange:security"; | ||||||
| 			gpios = <&gpio 13 GPIO_ACTIVE_LOW>; |  | ||||||
| 		}; |  | ||||||
|  |  | ||||||
| 		diag { |  | ||||||
| 			label = "buffalo:red:diag"; |  | ||||||
| 			gpios = <&gpio 14 GPIO_ACTIVE_LOW>; |  | ||||||
| 		}; |  | ||||||
| 	}; |  | ||||||
|  |  | ||||||
| 	gpio-export { |  | ||||||
| 		compatible = "gpio-export"; |  | ||||||
| 		#size-cells = <0>; |  | ||||||
|  |  | ||||||
| 		gpio_usb_power { |  | ||||||
| 			gpio-export,name = "wzr-hp-g450h:usb-power"; |  | ||||||
| 			gpio-export,output = <1>; |  | ||||||
| 			gpios = <&gpio 16 GPIO_ACTIVE_HIGH>; |  | ||||||
| 		}; |  | ||||||
| 	}; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| &mdio0 { |  | ||||||
| 	status = "okay"; |  | ||||||
| 	phy-mask = <0x1>; |  | ||||||
|  |  | ||||||
| 	phy0: ethernet-phy@0 { |  | ||||||
| 		reg = <0>; |  | ||||||
| 		phy-mode = "rgmii"; |  | ||||||
| 	}; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| ð0 { |  | ||||||
| 	status = "okay"; |  | ||||||
|  |  | ||||||
| 	phy-mode = "rgmii"; |  | ||||||
| 	pll-data = <0x62000000 0 0>; |  | ||||||
|  |  | ||||||
| 	fixed-link { |  | ||||||
| 		speed = <1000>; |  | ||||||
| 		full-duplex; |  | ||||||
| 	}; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| &uart { |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| &usb_phy { |  | ||||||
| 	status = "okay"; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| &usb { |  | ||||||
| 	status = "okay"; |  | ||||||
| }; | }; | ||||||
|  |  | ||||||
| &pcie { | &pcie { | ||||||
| 	status = "okay"; | 	status = "okay"; | ||||||
|  |  | ||||||
| 	wifi@0,0 { | 	ath9k: wifi@0,0 { | ||||||
|  | 		compatible = "pci168c,0030"; | ||||||
| 		reg = <0x0000 0 0 0 0>; | 		reg = <0x0000 0 0 0 0>; | ||||||
|  | 		mtd-mac-address = <&ART 0x1002>; | ||||||
| 		qca,no-eeprom; | 		qca,no-eeprom; | ||||||
|  | 		#gpio-cells = <2>; | ||||||
|  | 		gpio-controller; | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
|   | |||||||
| @@ -84,9 +84,13 @@ TARGET_DEVICES += buffalo_wzr-hp-ag300h | |||||||
|  |  | ||||||
| define Device/buffalo_wzr-hp-g450h | define Device/buffalo_wzr-hp-g450h | ||||||
|   ATH_SOC := ar7242 |   ATH_SOC := ar7242 | ||||||
|   DEVICE_TITLE := Buffalo WZR-HP-G450H |   DEVICE_TITLE := Buffalo WZR-HP-G450H/WZR-450HP | ||||||
|   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport |   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport | ||||||
|   IMAGE_SIZE := 32256k |   IMAGE_SIZE := 32256k | ||||||
|  |   IMAGES += factory.bin tftp.bin | ||||||
|  |   IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | ||||||
|  |   IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc WZR-HP-G450H 1.99 | buffalo-tag WZR-HP-G450H | ||||||
|  |   IMAGE/tftp.bin := $$(IMAGE/default) | buffalo-tftp-header | ||||||
|   SUPPORTED_DEVICES += wzr-hp-g450h |   SUPPORTED_DEVICES += wzr-hp-g450h | ||||||
| endef | endef | ||||||
| TARGET_DEVICES += buffalo_wzr-hp-g450h | TARGET_DEVICES += buffalo_wzr-hp-g450h | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user