浏览代码

ath79: improve support for D-Link DIR-8x9 A1 series

1. Remove unnecessary new lines in the dts.
2. Remove duplicate included file "gpio.h" in the device dts.
3. Add missing button labels "reset" and "wps".
4. Unify the format of the reg properties.
5. Add u-boot environment support.
6. Reduce spi clock frequency since the max value suggested by the
   chip datasheet is only 25 MHz.
7. Add seama header fixup for DIR-859 A1. Without this header fixup,
   u-boot checksum for kernel will fail after the first boot.

Signed-off-by: Shiji Yang <[email protected]>
Shiji Yang 2 年之前
父节点
当前提交
e5d8739aa8

+ 2 - 0
package/boot/uboot-envtools/files/ath79

@@ -27,6 +27,8 @@ araknis,an-700-ap-i-ac|\
 arduino,yun|\
 arduino,yun|\
 buffalo,bhr-4grv2|\
 buffalo,bhr-4grv2|\
 devolo,magic-2-wifi|\
 devolo,magic-2-wifi|\
+dlink,dir-859-a1|\
+dlink,dir-869-a1|\
 engenius,eap1200h|\
 engenius,eap1200h|\
 engenius,eap1750h|\
 engenius,eap1750h|\
 engenius,eap300-v2|\
 engenius,eap300-v2|\

+ 0 - 1
target/linux/ath79/dts/qca9563_dlink_dir-859-a1.dts

@@ -1,7 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
 
 #include "qca9563_dlink_dir-8x9-a1.dtsi"
 #include "qca9563_dlink_dir-8x9-a1.dtsi"
-#include <dt-bindings/gpio/gpio.h>
 
 
 / {
 / {
 	model = "D-Link DIR-859 A1";
 	model = "D-Link DIR-859 A1";

+ 0 - 2
target/linux/ath79/dts/qca9563_dlink_dir-869-a1.dts

@@ -1,7 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
 
 #include "qca9563_dlink_dir-8x9-a1.dtsi"
 #include "qca9563_dlink_dir-8x9-a1.dtsi"
-#include <dt-bindings/gpio/gpio.h>
 
 
 / {
 / {
 	model = "D-Link DIR-869 A1";
 	model = "D-Link DIR-869 A1";
@@ -28,4 +27,3 @@
 		};
 		};
 	};
 	};
 };
 };
-

+ 8 - 7
target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi

@@ -6,17 +6,18 @@
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/input/input.h>
 
 
 / {
 / {
-
 	keys {
 	keys {
 		compatible = "gpio-keys";
 		compatible = "gpio-keys";
 
 
 		wps {
 		wps {
+			label = "wps";
 			linux,code = <KEY_WPS_BUTTON>;
 			linux,code = <KEY_WPS_BUTTON>;
 			gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
 			gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
 			debounce-interval = <60>;
 			debounce-interval = <60>;
 		};
 		};
 
 
 		reset {
 		reset {
+			label = "reset";
 			linux,code = <KEY_RESTART>;
 			linux,code = <KEY_RESTART>;
 			gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
 			gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
 			debounce-interval = <60>;
 			debounce-interval = <60>;
@@ -42,7 +43,7 @@
 	flash@0 {
 	flash@0 {
 		compatible = "jedec,spi-nor";
 		compatible = "jedec,spi-nor";
 		reg = <0>;
 		reg = <0>;
-		spi-max-frequency = <50000000>;
+		spi-max-frequency = <25000000>;
 
 
 		partitions {
 		partitions {
 			compatible = "fixed-partitions";
 			compatible = "fixed-partitions";
@@ -51,19 +52,19 @@
 
 
 			partition@0 {
 			partition@0 {
 				label = "bootloader";
 				label = "bootloader";
-				reg = <0x000000 0x40000>;
+				reg = <0x000000 0x040000>;
 				read-only;
 				read-only;
 			};
 			};
 
 
 			partition@40000 {
 			partition@40000 {
+				compatible = "u-boot,env";
 				label = "bdcfg";
 				label = "bdcfg";
-				reg = <0x040000 0x10000>;
-				read-only;
+				reg = <0x040000 0x010000>;
 			};
 			};
 
 
 			partition@50000 {
 			partition@50000 {
 				label = "devdata";
 				label = "devdata";
-				reg = <0x050000 0x10000>;
+				reg = <0x050000 0x010000>;
 				read-only;
 				read-only;
 
 
 				compatible = "nvmem-cells";
 				compatible = "nvmem-cells";
@@ -81,7 +82,7 @@
 
 
 			partition@60000 {
 			partition@60000 {
 				label = "devconf";
 				label = "devconf";
-				reg = <0x060000 0x10000>;
+				reg = <0x060000 0x010000>;
 				read-only;
 				read-only;
 			};
 			};
 
 

+ 1 - 0
target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum

@@ -22,6 +22,7 @@ dlink,dap-3662-a1)
 	fixwrgg
 	fixwrgg
 	;;
 	;;
 dlink,dir-629-a1|\
 dlink,dir-629-a1|\
+dlink,dir-859-a1|\
 dlink,dir-869-a1|\
 dlink,dir-869-a1|\
 qihoo,c301)
 qihoo,c301)
 	fix_seama_header
 	fix_seama_header