aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/dts
diff options
context:
space:
mode:
authorShiji Yang <yangshiji66@qq.com>2023-01-19 14:20:59 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2023-01-26 00:32:36 +0100
commitcfb296b79a9568386267828374eb5f2dd3ba0d37 (patch)
tree3cc390c3293b7b3cbdd7a20eec518f9c73bfa81e /target/linux/ath79/dts
parent340d3d84dc545429b028d3250ddd084b3d084367 (diff)
downloadupstream-cfb296b79a9568386267828374eb5f2dd3ba0d37.tar.gz
upstream-cfb296b79a9568386267828374eb5f2dd3ba0d37.tar.bz2
upstream-cfb296b79a9568386267828374eb5f2dd3ba0d37.zip
ath79: add support for D-Link DIR-629 A1
Specifications: SOC: QCA9588 CPU 720 MHz AHB 200 MHz Switch: AR8236 RAM: 64 MiB DDR2-600 Flash: 8 MiB WLAN: Wi-Fi4 2.4 GHz 3*3 LAN: LAN ports *4 WAN: WAN port *1 Buttons: reset *1 + wps *1 LEDs: ethernet *5, power, wlan, wps MAC Address: use address source label 70:62:b8:xx:xx:96 lan && wlan lan 70:62:b8:xx:xx:96 mfcdata@0x35 wan 70:62:b8:xx:xx:97 mfcdata@0x6a wlan 70:62:b8:xx:xx:96 mfcdata@0x51 Install via Web UI: Apply factory image in the stock firmware's Web UI. Install via Emergency Room Mode: DIR-629 A1 will enter recovery mode when the system fails to boot or press reset button for about 10 seconds. First, set IP address to 192.168.0.1 and server IP to 192.168.0.10. Then we can open http://192.168.0.1 in the web browser to upload OpenWrt factory image or stock firmware. Some modern browsers may need to turn on compatibility mode. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Diffstat (limited to 'target/linux/ath79/dts')
-rw-r--r--target/linux/ath79/dts/qca9558_dlink_dir-629-a1.dts170
1 files changed, 170 insertions, 0 deletions
diff --git a/target/linux/ath79/dts/qca9558_dlink_dir-629-a1.dts b/target/linux/ath79/dts/qca9558_dlink_dir-629-a1.dts
new file mode 100644
index 0000000000..41b0039e93
--- /dev/null
+++ b/target/linux/ath79/dts/qca9558_dlink_dir-629-a1.dts
@@ -0,0 +1,170 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "qca955x.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+ compatible = "dlink,dir-629-a1", "qca,qca9558";
+ model = "D-Link DIR-629 A1";
+
+ aliases {
+ label-mac-device = &eth0;
+ led-boot = &led_power;
+ led-failsafe = &led_power;
+ led-running = &led_power;
+ led-upgrade = &led_power;
+ serial0 = &uart;
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
+ };
+
+ wps {
+ label = "wps";
+ linux,code = <KEY_WPS_BUTTON>;
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led-0 {
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_WLAN;
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0tpt";
+ };
+
+ led_power: led-1 {
+ label = "green:power";
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_POWER;
+ gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
+ };
+
+ led-2 {
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_WPS;
+ gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&eth0 {
+ status = "okay";
+
+ phy-mode = "mii";
+
+ nvmem-cells = <&macaddr_mfcdata_35>;
+ nvmem-cell-names = "mac-address-ascii";
+
+ fixed-link {
+ speed = <100>;
+ full-duplex;
+ };
+};
+
+&mdio0 {
+ status = "okay";
+
+ switch0@1f {
+ compatible = "qca,ar8236";
+ reg = <0x1f>;
+ };
+};
+
+&spi {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <30000000>;
+ m25p,fast-read;
+
+ 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 0x008000>;
+ read-only;
+ };
+
+ partition@48000 {
+ label = "mfcdata";
+ reg = <0x048000 0x008000>;
+ read-only;
+
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_mfcdata_35: macaddr@35 {
+ reg = <0x35 0x11>;
+ };
+
+ macaddr_mfcdata_51: macaddr@51 {
+ reg = <0x51 0x11>;
+ };
+ };
+
+ partition@50000 {
+ label = "devconf";
+ reg = <0x050000 0x010000>;
+ read-only;
+ };
+
+ partition@60000 {
+ label = "langpack";
+ reg = <0x060000 0x020000>;
+ read-only;
+ };
+
+ partition@80000 {
+ label = "art";
+ reg = <0x080000 0x010000>;
+ read-only;
+
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ cal_art_1000: calibration@1000 {
+ reg = <0x1000 0x440>;
+ };
+ };
+
+ partition@90000 {
+ compatible = "seama";
+ label = "firmware";
+ reg = <0x090000 0x770000>;
+ };
+ };
+ };
+};
+
+&wmac {
+ status = "okay";
+
+ nvmem-cells = <&cal_art_1000>, <&macaddr_mfcdata_51>;
+ nvmem-cell-names = "calibration", "mac-address-ascii";
+};