aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq40xx/files-4.19/arch
diff options
context:
space:
mode:
authorFredrik Olofsson <fredrik.olofsson@anyfinetworks.com>2019-09-10 11:25:53 +0200
committerChristian Lamparter <chunkeey@gmail.com>2020-01-26 01:20:45 +0100
commit52b8c7a8928ccdc80436c76955f237960ea3bf1f (patch)
tree24a4bd67fd44b5c316fb05aad8aa7870ea39d76b /target/linux/ipq40xx/files-4.19/arch
parentb77ce0c7209ee26aed271f894ac1580dce45db0c (diff)
downloadupstream-52b8c7a8928ccdc80436c76955f237960ea3bf1f.tar.gz
upstream-52b8c7a8928ccdc80436c76955f237960ea3bf1f.tar.bz2
upstream-52b8c7a8928ccdc80436c76955f237960ea3bf1f.zip
ipq40xx: Add support for D-Link DAP-2610
Specifications ============== - SOC: IPQ4018 - RAM: DDR3 256MB - Flash: SPI NOR 16MB - WiFi: - 2.4GHz: IPQ4018, 2x2, front end SKY85303-11 - 5GHz: IPQ4018, 2x2, front end SKY85717-21 - Ethernet: 1x 10/100/1000Mbps, POE 802.3af - PHY: QCA8072 - UART: GND, blocked, 3.3V, RX, TX / 115200 8N1 - LED: 1x red / green - Button: 1x reset / factory default - U-Boot bootloader with tftp and "emergency web server" accessible using serial port. Installation ============ Flash factory image from D-Link web UI. Constraints in the D-Link web UI makes the factory image unnecessarily large. Flash again using sysupgrade from inside OpenWrt to reclaim some flash space. Return to stock D-Link firmware =============================== Partition layout is preserved, and it is possible to return to the stock firmware simply by downloading it from D-Link and writing it to the firmware partition. # mtd -r write dap2610-firmware.bin firmware Quirks ====== To be flashable from the D-Link http server, the firmware must be larger then 6MB, and the size in the firmware header must match the actual file size. Also, the boot loader verifies the checksum of the firmware before each boot, thus the jffs2 must be after the checksum covered part. This is solved in the factory image by having the rootfs at the very end of the image (without pad-rootfs). The sysupgrade image which does not have to be flashable from the D-Link web UI may be smaller, and the checksum in the firmware header only covers the kernel part of the image. Signed-off-by: Fredrik Olofsson <fredrik.olofsson@anyfinetworks.com> [added WRGG Variables to DEVICE_VARS, squashed spi pinconf/mux, added emd1's gmac0 config,fix dtc warnings] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Diffstat (limited to 'target/linux/ipq40xx/files-4.19/arch')
-rw-r--r--target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts241
1 files changed, 241 insertions, 0 deletions
diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts
new file mode 100644
index 0000000000..0fd4318527
--- /dev/null
+++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts
@@ -0,0 +1,241 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "qcom-ipq4019.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/soc/qcom,tcsr.h>
+
+/ {
+ model = "D-Link DAP 2610";
+ compatible = "dlink,dap-2610";
+
+ aliases {
+ led-boot = &led_red;
+ led-failsafe = &led_red;
+ led-running = &led_green;
+ led-upgrade = &led_red;
+ };
+
+ soc {
+ edma@c080000 {
+ qcom,num_gmac = <1>;
+ status = "ok";
+ };
+
+ tcsr@1949000 {
+ compatible = "qcom,tcsr";
+ reg = <0x1949000 0x100>;
+ qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
+ };
+
+ ess_tcsr@1953000 {
+ compatible = "qcom,tcsr";
+ reg = <0x1953000 0x1000>;
+ qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
+ };
+
+ tcsr@1957000 {
+ compatible = "qcom,tcsr";
+ reg = <0x1957000 0x100>;
+ qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
+ };
+
+ rng@22000 {
+ status = "ok";
+ };
+
+ crypto@8e3a000 {
+ status = "ok";
+ };
+
+ watchdog@b017000 {
+ status = "ok";
+ };
+
+ ess-switch@c000000 {
+ status = "ok";
+ switch_lan_bmp = <0x20>;
+ switch_wan_bmp = <0x00>;
+ };
+
+ ess-psgmii@98000 {
+ status = "ok";
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_red: red {
+ label = "dap-2610:red:power";
+ gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
+ };
+
+ led_green: green {
+ label = "dap-2610:green:power";
+ gpios = <&tlmm 5 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+};
+
+&blsp1_spi1 {
+ pinctrl-0 = <&spi_0_pins>;
+ pinctrl-names = "default";
+ status = "ok";
+ cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <24000000>;
+
+ partitions {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "fixed-partitions";
+
+ partition@0 {
+ label = "SBL1";
+ reg = <0x0 0x40000>;
+ read-only;
+ };
+ partition@40000 {
+ label = "MIBIB";
+ reg = <0x40000 0x20000>;
+ read-only;
+ };
+ partition@60000 {
+ label = "QSEE";
+ reg = <0x60000 0x60000>;
+ read-only;
+ };
+ partition@c0000 {
+ label = "CDT";
+ reg = <0xc0000 0x10000>;
+ read-only;
+ };
+ partition@d0000 {
+ label = "DDRPARAMS";
+ reg = <0xd0000 0x10000>;
+ read-only;
+ };
+ partition@e0000 {
+ label = "APPSBLENV";
+ reg = <0xe0000 0x10000>;
+ read-only;
+ };
+ partition@f0000 {
+ label = "APPSBL";
+ reg = <0xf0000 0x80000>;
+ read-only;
+ };
+ partition@170000 {
+ label = "ART";
+ reg = <0x170000 0x10000>;
+ read-only;
+ };
+ partition@180000 {
+ compatible = "wrg";
+ label = "firmware";
+ reg = <0x180000 0xdc0000>;
+ };
+ partition@fb0000 {
+ label = "rgbd";
+ reg = <0xfb0000 0x10000>;
+ read-only;
+ };
+ partition@fc0000 {
+ label = "bdcfg";
+ reg = <0xfc0000 0x10000>;
+ read-only;
+ };
+ partition@fd0000 {
+ label = "langpack";
+ reg = <0xfd0000 0x20000>;
+ read-only;
+ };
+ partition@ff0000 {
+ label = "certificate";
+ reg = <0xff0000 0x10000>;
+ read-only;
+ };
+ partition@f40000 {
+ label = "captival";
+ reg = <0xf40000 0x70000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&blsp_dma {
+ status = "ok";
+};
+
+&blsp1_uart1 {
+ pinctrl-0 = <&serial_pins>;
+ pinctrl-names = "default";
+ status = "ok";
+};
+
+&cryptobam {
+ status = "ok";
+};
+
+&gmac0 {
+ qcom,phy_mdio_addr = <4>;
+ qcom,poll_required = <1>;
+ qcom,forced_speed = <1000>;
+ qcom,forced_duplex = <1>;
+ vlan_tag = <1 0x20>;
+};
+
+&mdio {
+ status = "ok";
+};
+
+&tlmm {
+ serial_pins: serial_pinmux {
+ mux {
+ pins = "gpio60", "gpio61";
+ function = "blsp_uart0";
+ bias-disable;
+ };
+ };
+
+ spi_0_pins: spi_0_pinmux {
+ mux {
+ function = "blsp_spi0";
+ pins = "gpio55", "gpio56", "gpio57";
+ drive-strength = <12>;
+ bias-disable;
+ };
+ mux_cs {
+ function = "gpio";
+ pins = "gpio54";
+ drive-strength = <2>;
+ bias-disable;
+ output-high;
+ };
+ };
+};
+
+&wifi0 {
+ status = "ok";
+ qcom,ath10k-calibration-variant = "dlink,dap-2610";
+};
+
+&wifi1 {
+ status = "ok";
+ qcom,ath10k-calibration-variant = "dlink,dap-2610";
+};