Porting guide ar71xx to ath79?

worked on TL-MR3020-V1, this is the PR and I have the LAN led status problem, like on 841, adding the lan port to swconfig made the led working but traffic would stop after some seconds
all mdio on this devices are detected as a switch
using swconfig in 02_network the lan port is bound to cpu port 0 on vlan 1 and if I manually set it to vlan 0 and delete the generated eth0.1 interface from lan, everything is working.

vlan1

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '1 0t'

swconfig show

VLAN 0:
        vid: 0
        ports: 0t 2 3 4
VLAN 1:
        vid: 1
        ports: 0t 1

is there a way that I can setup port 1 of the switch to be bound to tagged port 0 on vlan 0 using ucidef ?

edit:
found it ucidef_add_switch_vlan "switch0" "0" "0t 1", hope it works

Hmmm, VLAN ID 0 and 4095 are both reserved. VLAN 0 is taken by some hardware to look at the priority bits only.

I just found out that any vlan is ok as long as eth0 is not bridged to br-lan
I think I have to do this
ucidef_set_interface_lan "eth0.1" instead of ucidef_set_interface_lan "eth0"

edit:
yes that made it work, it was a leftover before I encountered the led problem

1 Like

I have a couple of mikrotik routers that running lede 17.04.x right now. I wouldn't mind testing 18.06 on them. I am busy until June 1st but if you send me directions on where to download the file from, unless you are wanting me to test snapshots, I can get the process started. Are the snapshots stable?

18.06 doesn't include kernel 4.14, for the moment only few devices are ported to kernel 4.14 and most of them are not full working

@juppin how are you today ? :smiley:

I've tried the 1043nd v4, and it's a bummer it locks at this:

Summary
Starting kernel ...

[    0.000000] Linux version 4.14.43 (build@build) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r6854-4aacd6388a)) #0 Fri May 25 14:01:59 2018
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[    0.000000] MIPS: machine is TP-Link TL-WR1043ND Version 4
[    0.000000] SoC: Qualcomm Atheros QCA956X ver 1 rev 0
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] random: get_random_bytes called from start_kernel+0x8c/0x474 with crng_init=0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 51480K/65536K available (3705K kernel code, 146K rwdata, 892K rodata, 8048K init, 212K bss, 14056K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] CPU clock: 775.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 4932285024 ns
[    0.000007] sched_clock: 32 bits at 387MHz, resolution 2ns, wraps every 5541893118ns

the template is from qca9557, the PR is here, should I try to keep 9550 stuff is 956x so different ?

the 4.9 kernel dmesg:

Summary
[    0.000000] Linux version 4.9.91 (build@build) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r6514-ed369e0481) ) #0 Fri Apr 20 19:08:52 2018
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[    0.000000] SoC: Qualcomm Atheros QCA956X ver 1 rev 0
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line:  board=TL-WR1043ND-v4 mtdparts=spi0.0:128k(u-boot)ro,1536k(kernel),14016k(rootfs),128k(product-info)ro,320k(config)ro,64k(partition-table)ro,128k(logs)ro,64k(ART)ro,15552k@0x20000(firmware) console=ttyS0,115200 rootfstype=squashfs noinitrd
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 59960K/65536K available (3122K kernel code, 165K rwdata, 788K rodata, 268K init, 213K bss, 5576K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:51
[    0.000000] Clocks: CPU:775.000MHz, DDR:650.000MHz, AHB:258.333MHz, Ref:25.000MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 4932285024 ns
[    0.000007] sched_clock: 32 bits at 387MHz, resolution 2ns, wraps every 5541893118ns
[    0.008215] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[    0.071025] pid_max: default: 32768 minimum: 301
[    0.075976] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.082948] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.092531] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.102935] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.109854] NET: Registered protocol family 16
[    0.115840] MIPS: machine is TP-LINK TL-WR1043ND v4
[    0.368593] clocksource: Switched to clocksource MIPS
[    0.374859] NET: Registered protocol family 2
[    0.380119] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.387476] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.394218] TCP: Hash tables configured (established 1024 bind 1024)
[    0.401007] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.407172] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.413993] NET: Registered protocol family 1
[    0.422059] Crashlog allocated RAM at address 0x3f00000
[    0.428363] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[    0.440692] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.446836] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.464176] io scheduler noop registered
[    0.468309] io scheduler deadline registered (default)
[    0.474049] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.481123] console [ttyS0] disabled
[    0.504956] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 1562500) is a 16550A
[    0.514054] console [ttyS0] enabled
[    0.514054] console [ttyS0] enabled
[    0.521602] bootconsole [early0] disabled
[    0.521602] bootconsole [early0] disabled
[    0.532990] m25p80 spi0.0: found w25q128, expected m25p80
[    0.549457] m25p80 spi0.0: w25q128 (16384 Kbytes)
[    0.554359] 9 cmdlinepart partitions found on MTD device spi0.0
[    0.560492] Creating 9 MTD partitions on "spi0.0":
[    0.565443] 0x000000000000-0x000000020000 : "u-boot"
[    0.571807] 0x000000020000-0x0000001a0000 : "kernel"
[    0.578240] 0x0000001a0000-0x000000f50000 : "rootfs"
[    0.584693] mtd: device 2 (rootfs) set to be root filesystem
[    0.590636] 1 squashfs-split partitions found on MTD device rootfs
[    0.597020] 0x000000880000-0x000000f50000 : "rootfs_data"
[    0.603902] 0x000000f50000-0x000000f70000 : "product-info"
[    0.610944] 0x000000f70000-0x000000fc0000 : "config"
[    0.617380] 0x000000fc0000-0x000000fd0000 : "partition-table"
[    0.624672] 0x000000fd0000-0x000000ff0000 : "logs"
[    0.630995] 0x000000ff0000-0x000001000000 : "ART"
[    0.637171] 0x000000020000-0x000000f50000 : "firmware"
[    0.644701] libphy: Fixed MDIO Bus: probed
[    0.664584] switch0: Atheros AR8337 rev. 2 switch registered on ag71xx-mdio.0
[    1.394516] libphy: ag71xx_mdio: probed
[    2.030211] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.0:00 [uid=004dd036, driver=Atheros AR8216/AR8236/AR8316]
[    2.041743] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:SGMII
[    2.049902] NET: Registered protocol family 10
[    2.057683] NET: Registered protocol family 17
[    2.062452] 8021q: 802.1Q VLAN Support v1.8
[    2.071785] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
[    2.080566] Freeing unused kernel memory: 268K
[    2.085158] This architecture does not have kernel memory protection.
[    2.548624] random: fast init done
[    2.762067] init: Console is alive
[    2.765766] init: - watchdog -
[    4.043307] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    4.150888] usbcore: registered new interface driver usbfs
[    4.156662] usbcore: registered new interface driver hub
[    4.162258] usbcore: registered new device driver usb
[    4.185146] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    4.199291] SCSI subsystem initialized
[    4.207304] ehci-platform: EHCI generic platform driver
[    4.212830] ehci-platform ehci-platform.0: EHCI Host Controller
[    4.218991] ehci-platform ehci-platform.0: new USB bus registered, assigned bus number 1
[    4.229432] ehci-platform ehci-platform.0: irq 48, io mem 0x1b000000
[    4.258630] ehci-platform ehci-platform.0: USB 2.0 started, EHCI 1.00
[    4.265988] hub 1-0:1.0: USB hub found
[    4.270202] hub 1-0:1.0: 1 port detected
[    4.274568] ehci-platform ehci-platform.1: EHCI Host Controller
[    4.280752] ehci-platform ehci-platform.1: new USB bus registered, assigned bus number 2
[    4.291219] ehci-platform ehci-platform.1: irq 49, io mem 0x1b400000
[    4.318611] ehci-platform ehci-platform.1: USB 2.0 started, EHCI 1.00
[    4.325954] hub 2-0:1.0: USB hub found
[    4.330165] hub 2-0:1.0: 1 port detected
[    4.337914] usbcore: registered new interface driver usb-storage
[    4.344750] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.354652] init: - preinit -
[    5.217802] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    6.260237] eth0: link up (1000Mbps/Full duplex)
[    6.265210] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    8.463604] mount_root: loading kmods from internal overlay
[    8.501660] kmodloader: loading kernel modules from //etc/modules-boot.d/*
[    8.509910] kmodloader: done loading kernel modules from //etc/modules-boot.d/*
[    9.544530] jffs2: notice: (439) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[    9.560949] block: attempting to load /tmp/jffs_cfg/upper/etc/config/fstab
[    9.571617] block: extroot: not configured
[    9.691026] jffs2: notice: (437) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[   10.358995] block: attempting to load /tmp/jffs_cfg/upper/etc/config/fstab
[   10.369383] block: extroot: not configured
[   10.374536] mount_root: switching to jffs2 overlay
[   10.416415] urandom-seed: Seeding with /etc/urandom.seed
[   10.519475] eth0: link down
[   10.532467] procd: - early -
[   10.535526] procd: - watchdog -
[   11.117892] procd: - watchdog -
[   11.121386] procd: - ubus -
[   11.225623] procd: - init -
Please press Enter to activate this console.
[   11.891157] kmodloader: loading kernel modules from /etc/modules.d/*
[   11.902213] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   11.916613] Netfilter messages via NETLINK v0.30.
[   11.923893] ip_set: protocol 6
[   11.958292] Loading modules backported from Linux version wt-2017-11-01-0-gfe248fc2c180
[   11.966605] Backport generated by backports.git v4.14-rc2-1-31-g86cf0e5d
[   11.976500] ip_tables: (C) 2000-2006 Netfilter Core Team
[   11.991348] nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
[   12.000190] ctnetlink v0.93: registering with nfnetlink.
[   12.085897] xt_time: kernel timezone is -0000
[   12.111039] fast-classifier (PBR safe v0.1): starting up
[   12.116682] fast-classifier: registered
[   12.157114] PPP generic driver version 2.4.2
[   12.163841] NET: Registered protocol family 24
[   12.224046] ieee80211 phy0: Atheros AR9561 Rev:0 mem=0xb8100000, irq=47
[   12.315964] kmodloader: done loading kernel modules from /etc/modules.d/*
[   21.482376] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   21.508509] br-lan: port 1(eth0.1) entered blocking state
[   21.514144] br-lan: port 1(eth0.1) entered disabled state
[   21.520050] device eth0.1 entered promiscuous mode
[   21.525000] device eth0 entered promiscuous mode
[   21.713361] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   21.777243] IPv6: ADDRCONF(NETDEV_UP): eth0.2: link is not ready
[   21.805372] IPv6: ADDRCONF(NETDEV_UP): eth0.3: link is not ready
[   22.751203] eth0: link up (1000Mbps/Full duplex)
[   22.756176] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   22.805299] br-lan: port 1(eth0.1) entered blocking state
[   22.810938] br-lan: port 1(eth0.1) entered forwarding state
[   22.816829] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.2: link becomes ready
[   22.823678] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.3: link becomes ready
[   23.418691] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   26.893934] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   27.028907] br-lan: port 2(wlan0) entered blocking state
[   27.034401] br-lan: port 2(wlan0) entered disabled state
[   27.040222] device wlan0 entered promiscuous mode
[   27.045135] br-lan: port 2(wlan0) entered blocking state
[   27.050659] br-lan: port 2(wlan0) entered forwarding state
[   27.171290] br-lan: port 2(wlan0) entered disabled state
[   28.469080] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   28.475772] br-lan: port 2(wlan0) entered blocking state
[   28.481310] br-lan: port 2(wlan0) entered forwarding state

@lucize
I have been following the whole 4.9 vs 4.14 discussion. Is there enough information in the 4.4 and 4.9 kernels to construct the dts files? If not what information would be needed? Are there directions how convert the mach files to dts?

yes there can be enough info in the mach files, but first we need to figure out every SoC quirks and after that is just an adjustment for every specific board. so if you have a board with an existing SoC then for sure you can boot it and you will have to adjust the gpio leds, buttons, the way mac is read from the device and the network config, all that info is available on ar71xx targets

and about the directions you can read the datasheet

@lucize Hi there...
I also have a wr1043v4.
I donĀ“t think is that much different from qca955x. Main differenece would be pll, wmac and gmac.

There are some small errors in your dtsi.. Looks like it stucks because of bad pll node / ref clock...

Try it with this inside pll node:

clocks = <&ref>;
clock-names = "ref";

I see this isnĀ“t also set in qca9557.dtsi, but probably this is done here in the code and pll code for qca95560 does need it.

but isn't this that solves the pll clocks ?

&pll {
clocks = <&extosc>;
};

extosc: ref {
	compatible = "fixed-clock";
	#clock-cells = <0>;
	clock-output-names = "ref";
	clock-frequency = <40000000>;
};

I tried this without success

                    pll: pll-controller@18050000 {
                            compatible = "qca,qca9563-pll",
                                            "qca,qca9560-pll";
                            reg = <0x18050000 0x20>;

                            #clock-cells = <1>;
                            clocks = <&ref>;
                            clock-names = "ref";
                            clock-output-names = "cpu", "ddr", "ahb";
                    };

Yes, this is mostly the same... HavenĀ“t seen this until now in your dts(i)...

You could check your compiled dts files with "fdtdump" if you want... On debian the package that this includes is "device-tree-compiler"...

The compiled dtb is somewhere in build_dir/target_xxx/linux-ath79-xxx/image-xxx.dtb

Yes I know where they are because you need to delete them to be recreated

here they are

Summary
**** fdtdump is a low-level debugging tool, not meant for general use.
**** If you want to decompile a dtb, you probably want
****     dtc -I dtb -O dts <filename>

/dts-v1/;
// magic:               0xd00dfeed
// totalsize:           0x205f (8287)
// off_dt_struct:       0x38
// off_dt_strings:      0x1cb8
// off_mem_rsvmap:      0x28
// version:             17
// last_comp_version:   16
// boot_cpuid_phys:     0x0
// size_dt_strings:     0x3a7
// size_dt_struct:      0x1c80

/ {
    #address-cells = <0x00000001>;
    #size-cells = <0x00000001>;
    compatible = "tplink,tl-wr1043nd-v4", "qca,qca9563";
    model = "TP-Link TL-WR1043ND Version 4";
    interrupt-controller {
        compatible = "qca,ar7100-cpu-intc";
        interrupt-controller;
        #interrupt-cells = <0x00000001>;
        qca,ddr-wb-channel-interrupts = <0x00000002 0x00000003 0x00000004 0x00000005 0x00000006>;
        qca,ddr-wb-channels = <0x00000001 0x00000003 0x00000001 0x00000002 0x00000001 0x00000000 0x00000001 0x00000001 0x00000001 0x00000001 0x00000001 0x00000004>;
        linux,phandle = <0x00000002>;
        phandle = <0x00000002>;
    };
    ahb {
        compatible = "simple-bus";
        ranges;
        #address-cells = <0x00000001>;
        #size-cells = <0x00000001>;
        interrupt-parent = <0x00000002>;
        apb {
            compatible = "simple-bus";
            ranges;
            #address-cells = <0x00000001>;
            #size-cells = <0x00000001>;
            interrupt-parent = <0x00000003>;
            interrupt-controller@18060010 {
                compatible = "qca,ar7240-misc-intc";
                reg = <0x18060010 0x00000004>;
                interrupt-parent = <0x00000002>;
                interrupts = <0x00000006>;
                interrupt-controller;
                #interrupt-cells = <0x00000001>;
                linux,phandle = <0x00000003>;
                phandle = <0x00000003>;
            };
            memory-controller@18000000 {
                compatible = "qca,qca9563-ddr-controller", "qca,ar7240-ddr-controller";
                reg = <0x18000000 0x00000020>;
                #qca,ddr-wb-channel-cells = <0x00000001>;
                linux,phandle = <0x00000001>;
                phandle = <0x00000001>;
            };
            uart@18020000 {
                compatible = "ns16550a";
                reg = <0x18020000 0x00000020>;
                interrupts = <0x00000003>;
                clocks = <0x00000004 0x00000003>;
                clock-names = "uart";
                reg-io-width = <0x00000004>;
                reg-shift = <0x00000002>;
                no-loopback-test;
                status = "okay";
            };
            usb-phy@18030000 {
                compatible = "qca,qca9560-usb-phy", "qca,ar7200-usb-phy";
                reset-names = "usb-phy", "usb-suspend-override";
                resets = <0x00000005 0x00000004 0x00000005 0x00000003>;
                #phy-cells = <0x00000000>;
                status = "okay";
                linux,phandle = <0x0000000f>;
                phandle = <0x0000000f>;
            };
            gpio@18040000 {
                compatible = "qca,ar9563-gpio", "qca,ar9340-gpio";
                reg = <0x18040000 0x00000028>;
                interrupts = <0x00000002>;
                ngpios = <0x00000018>;
                gpio-controller;
                #gpio-cells = <0x00000002>;
                interrupt-controller;
                #interrupt-cells = <0x00000002>;
                status = "okay";
                linux,phandle = <0x00000010>;
                phandle = <0x00000010>;
            };
            pinmux@1804002c {
                compatible = "pinctrl-single";
                reg = <0x1804002c 0x00000040>;
                #size-cells = <0x00000000>;
                pinctrl-single,bit-per-mux;
                pinctrl-single,register-width = <0x00000020>;
                pinctrl-single,function-mask = <0x00000001>;
                #pinctrl-cells = <0x00000002>;
                pinmux_jtag_disable_pins {
                    pinctrl-single,bits = <0x00000040 0x00000002 0x00000002>;
                };
            };
            pll-controller@18050000 {
                compatible = "qca,qca9563-pll", "qca,qca9560-pll";
                reg = <0x18050000 0x00000020>;
                #clock-cells = <0x00000001>;
                clocks = <0x00000006>;
                clock-names = "ref";
                clock-output-names = "cpu", "ddr", "ahb";
                linux,phandle = <0x00000004>;
                phandle = <0x00000004>;
            };
            wdt@18060008 {
                compatible = "qca,ar7130-wdt";
                reg = <0x18060008 0x00000008>;
                interrupts = <0x00000004>;
                clocks = <0x00000004 0x00000002>;
                clock-names = "wdt";
            };
            reset-controller@1806001c {
                compatible = "qca,qca9563-reset", "qca,ar7100-reset", "simple-bus";
                reg = <0x1806001c 0x00000020>;
                #reset-cells = <0x00000001>;
                interrupt-parent = <0x00000002>;
                linux,phandle = <0x00000005>;
                phandle = <0x00000005>;
                interrupt-controller@2 {
                    compatible = "qcom,qca9563-intc";
                    interrupts = <0x00000002>;
                    interrupt-controller;
                    #interrupt-cells = <0x00000001>;
                    qcom,pending-bits = <0x000001f0 0x0000000f>;
                    linux,phandle = <0x00000007>;
                    phandle = <0x00000007>;
                };
                interrupt-controller@3 {
                    compatible = "qcom,qca9563-intc";
                    interrupts = <0x00000003>;
                    interrupt-controller;
                    #interrupt-cells = <0x00000001>;
                    qcom,pending-bits = <0x0001f000 0x01000000 0x10000000>;
                    linux,phandle = <0x0000000e>;
                    phandle = <0x0000000e>;
                };
            };
            pcie-controller@180c0000 {
                compatible = "qcom,ar7240-pci";
                #address-cells = <0x00000003>;
                #size-cells = <0x00000002>;
                bus-range = <0x00000000 0x00000000>;
                reg = <0x180c0000 0x00001000 0x180f0000 0x00000100 0x14000000 0x00001000>;
                reg-names = "crp_base", "ctrl_base", "cfg_base";
                ranges = <0x02000000 0x00000000 0x10000000 0x10000000 0x00000000 0x04000000 0x01000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000001>;
                interrupt-parent = <0x00000007>;
                interrupts = <0x00000000>;
                interrupt-controller;
                #interrupt-cells = <0x00000001>;
                interrupt-map-mask = <0x00000000 0x00000000 0x00000000 0x00000001>;
                interrupt-map = <0x00000000 0x00000000 0x00000000 0x00000000 0x00000008 0x00000000>;
                status = "disabled";
                linux,phandle = <0x00000008>;
                phandle = <0x00000008>;
            };
            gmac@18100000 {
                compatible = "qca,qca9560-wmac";
                reg = <0x18100000 0x00230000>;
                interrupt-parent = <0x00000007>;
                interrupts = <0x00000001>;
                status = "okay";
                mtd-cal-data = <0x00000009 0x00001000>;
                mtd-mac-address = <0x0000000a 0x0001fc00>;
            };
        };
        eth@19000000 {
            status = "okay";
            compatible = "qca,qca9560-eth", "syscon";
            reg = <0x19000000 0x00000200>;
            interrupts = <0x00000004>;
            phy-mode = "rgmii";
            pll-data = <0x82000101 0x80000101 0x80001313>;
            resets = <0x00000005 0x00000009>;
            reset-names = "mac";
            mtd-mac-address = <0x0000000a 0x00050008>;
            phy-handle = <0x0000000b>;
            linux,phandle = <0x0000000c>;
            phandle = <0x0000000c>;
            mdio-bus {
                status = "okay";
                regmap = <0x0000000c>;
                clocks = <0x00000004 0x00000004>;
                clock-names = "ref";
                resets = <0x00000005 0x00000016>;
                reset-names = "mdio";
                ethernet-phy@0 {
                    reg = <0x00000000>;
                    qca,ar8337-initvals = <0x00000004 0x00080080 0x0000000c 0x07600000 0x00000010 0x81000080 0x00000050 0xcc35cc35 0x00000054 0xca35ca35 0x00000058 0xc935c935 0x0000005c 0x03ffff00 0x0000007c 0x0000007e 0x00000094 0x0000007e>;
                    linux,phandle = <0x0000000b>;
                    phandle = <0x0000000b>;
                };
            };
        };
        eth@1a000000 {
            status = "disabled";
            compatible = "qca,ath79-eth", "syscon";
            reg = <0x1a000000 0x00000200>;
            interrupts = <0x00000005>;
            phy-mode = "mii";
            linux,phandle = <0x0000000d>;
            phandle = <0x0000000d>;
            mdio-bus {
                status = "disabled";
                regmap = <0x0000000d>;
                clocks = <0x00000004 0x00000004>;
                clock-names = "ref";
            };
        };
        usb@1b000000 {
            compatible = "generic-ehci";
            reg = <0x1b000000 0x00001000>;
            interrupt-parent = <0x0000000e>;
            interrupts = <0x00000001>;
            resets = <0x00000005 0x00000005>;
            reset-names = "usb-host";
            has-transaction-translator;
            caps-offset = <0x00000100>;
            phy-names = "usb-phy";
            phys = <0x0000000f>;
            status = "okay";
            port@1 {
                reg = <0x00000001>;
                #trigger-source-cells = <0x00000000>;
                linux,phandle = <0x00000011>;
                phandle = <0x00000011>;
            };
        };
        usb@1b400000 {
            compatible = "generic-ehci";
            reg = <0x1b400000 0x00001000>;
            interrupt-parent = <0x0000000e>;
            interrupts = <0x00000001>;
            resets = <0x00000005 0x00000005>;
            reset-names = "usb-host";
            has-transaction-translator;
            caps-offset = <0x00000100>;
            phy-names = "usb-phy";
            phys = <0x0000000f>;
            status = "disabled";
        };
        spi@1f000000 {
            compatible = "qca,ar9563-spi", "qca,ar7100-spi";
            reg = <0x1f000000 0x00000010>;
            clocks = <0x00000004 0x00000002>;
            clock-names = "ahb";
            status = "okay";
            #address-cells = <0x00000001>;
            #size-cells = <0x00000000>;
            num-cs = <0x00000001>;
            flash@0 {
                #address-cells = <0x00000001>;
                #size-cells = <0x00000001>;
                compatible = "jedec,spi-nor";
                reg = <0x00000000>;
                spi-max-frequency = <0x017d7840>;
                partitions {
                    compatible = "fixed-partitions";
                    #address-cells = <0x00000001>;
                    #size-cells = <0x00000001>;
                    partition@0 {
                        label = "u-boot";
                        reg = <0x00000000 0x00020000>;
                        read-only;
                        linux,phandle = <0x0000000a>;
                        phandle = <0x0000000a>;
                    };
                    partition@20000 {
                        label = "firmware";
                        reg = <0x00020000 0x00f30000>;
                    };
                    partition@f50000 {
                        label = "product-info";
                        reg = <0x00f50000 0x00020000>;
                        read-only;
                    };
                    partition@f70000 {
                        label = "config";
                        reg = <0x00f70000 0x00050000>;
                        read-only;
                    };
                    partition@fc0000 {
                        label = "partition-table";
                        reg = <0x00fc0000 0x00010000>;
                        read-only;
                    };
                    partition@fd0000 {
                        label = "logs";
                        reg = <0x00fd0000 0x00020000>;
                        read-only;
                    };
                    partition@ff0000 {
                        label = "ART";
                        reg = <0x00ff0000 0x00010000>;
                        read-only;
                        linux,phandle = <0x00000009>;
                        phandle = <0x00000009>;
                    };
                };
            };
        };
    };
    cpus {
        #address-cells = <0x00000001>;
        #size-cells = <0x00000000>;
        cpu@0 {
            device_type = "cpu";
            compatible = "mips,mips74Kc";
            clocks = <0x00000004 0x00000000>;
            reg = <0x00000000>;
        };
    };
    ref {
        compatible = "fixed-clock";
        #clock-cells = <0x00000000>;
        clock-output-names = "ref";
        clock-frequency = <0x017d7840>;
        linux,phandle = <0x00000006>;
        phandle = <0x00000006>;
    };
    memory@0 {
        device_type = "memory";
        reg = <0x00000000 0x04000000>;
    };
    chosen {
        bootargs = "console=ttyS0,115200n8";
    };
    aliases {
        led-status = "/leds/system";
    };
    leds {
        compatible = "gpio-leds";
        system {
            label = "tp-link:green:system";
            gpios = <0x00000010 0x00000006 0x00000001>;
            linux,default-trigger = "heartbeat";
        };
        usb {
            label = "tp-link:green:usb";
            gpios = <0x00000010 0x00000007 0x00000001>;
            default-state = "off";
            trigger-sources = <0x00000011>;
            linux,default-trigger = "usbport";
        };
        wifi_green {
            label = "tp-link:green:wlan";
            gpios = <0x00000010 0x00000013 0x00000001>;
            default-state = "off";
            linux,default-trigger = "phy0tpt";
        };
        wifi_wps {
            label = "tp-link:green:wps";
            gpios = <0x00000010 0x00000001 0x00000001>;
            default-state = "off";
        };
        wan {
            label = "tp-link:green:wan";
            gpios = <0x00000010 0x0000000f 0x00000001>;
            default-state = "off";
        };
        lan1 {
            label = "tp-link:green:lan1";
            gpios = <0x00000010 0x00000009 0x00000001>;
            default-state = "off";
        };
        lan2 {
            label = "tp-link:green:lan2";
            gpios = <0x00000010 0x0000000e 0x00000001>;
            default-state = "off";
        };
        lan3 {
            label = "tp-link:green:lan3";
            gpios = <0x00000010 0x00000015 0x00000001>;
            default-state = "off";
        };
        lan4 {
            label = "tp-link:green:lan4";
            gpios = <0x00000010 0x00000014 0x00000001>;
            default-state = "off";
        };
    };
    keys {
        compatible = "gpio-keys";
        #address-cells = <0x00000001>;
        #size-cells = <0x00000000>;
        button@0 {
            label = "Reset button";
            linux,code = <0x00000198>;
            gpios = <0x00000010 0x00000002 0x00000001>;
            debounce-interval = <0x0000003c>;
        };
        button@1 {
            label = "RFKILL button";
            linux,code = <0x000000f7>;
            gpios = <0x00000010 0x00000005 0x00000001>;
            debounce-interval = <0x0000003c>;
        };
    };
    gpio-export {
        compatible = "gpio-export";
        #size-cells = <0x00000000>;
        gpio_usb_power {
            gpio-export,name = "tp-link:power:usb";
            gpio-export,output = <0x00000001>;
            gpios = <0x00000010 0x00000008 0x00000000>;
        };
    };
};

Sorry, i have no time to take a look into this now...

I havenĀ“t deleted them and they were always compiled new on my devel machine...
Probably that happens all the time or only if they are edited.

I'm sure I had some times that they weren't recreated and I just chose to delete them

@lucize Any furter success on wr1043v4?

I was a bit busy in the town and didn't looked on it, meanwhile I thought about fixing the dts files for the warnings, it's really hard to spot compile mistakes when you do -j24 or something like that. And because cpu and other timers are detected like on 4.9 I don't know where to look next, we don't have the ddr and ahb printed so don't know what to say

Are you sure wr1043v4 uses 25 MHz ref clk?
If you have your dev open, could you verify that there is a 25MHz or 40MHz clk generator???
Look at this picture to get a feeling what are you looking for...
This one is labeled as 25.000 and is a 25MHz oscillator

That could also be read from OpenWRT bootlog.
Simply flash it and there will be ref clock value with the rest of clocks in early stages of bootlog

the ar71xx says 25mhz, is more tiny on this one, first time I started without 25mhz and the cpu clock was shown ~1200mhz

here is the pic
image

edit:
I think that google photo or the forum cut on quality, zooming it shows that is 25
is really tiny compared to the standard types

Then its 25MHz