Could the problem with setting gpio44 be that the PHY has id 0x00000000:
root@OpenWrt:~# mdio 9*
DEV PHY-ID LINK
0x00 0x004dd0b1 down
0x01 0x004dd0b1 down
0x02 0x004dd0b1 down
0x03 0x004dd0b1 up
0x04 0x004dd0b1 down
0x05 0x04820a05 down
0x08 0x00000000 down
AQR-s are C45 only PHY-s so they dont have a C22 address at all and that is probably confusing the probe code completely.
As far as the 6GHz support goes, I am not sure if the 6E power/regulatory commits for ath11k have been backported, have newer tried it as I dont have any boards that support 6E
Its not simple, as compatible pretty much accounts only for C22 ID-s and not for C45 ID-s which are not located in the usual registers 0x2 and 0x3 and those are empty on C45 only devices.
I managed to reproduce it on my 301W.
Fun thing is that reset-gpios "work" on 301W simply because bootloader will deassert the reset so they are already out of reset before booting, manually changing the reset before booting exposes the same issue.
I plan to poke around the core to see where the check is failling to see if we can add fixup it at least for our usage.
IPQ807x# help
? - alias for 'help'
aes_256 - AES 256 CBC/ECB encryption/decryption
aq_load_fw- LOAD aq-fw-binary
aq_phy_restart- Restart Aquantia phy
base - print or set address offset
bdinfo - print Board Info structure
bootipq - bootipq from flash device
bootm - boot application image from memory
bootp - boot image via network using BOOTP/TFTP protocol
bootz - boot Linux zImage image from memory
canary - test stack canary
chpart - change active partition
cmp - memory compare
cp - memory copy
crc32 - checksum calculation
dcache - enable or disable data cache
devinfo - devinfo - devinfo handling commands
dhcp - boot image via network using DHCP/TFTP protocol
dm - Driver model low level access
echo - echo args to console
env - environment handling commands
erase - erase FLASH memory
exectzt - execute TZT
exit - exit script
false - do nothing, unsuccessfully
fdt - flattened device tree utility commands
flash - flash part_name
flash part_name load_addr file_size
flasherase- flerase part_name
flinfo - print FLASH memory information
fuseipq - fuse QFPROM registers from memory
go - start application at address 'addr'
gpio - control gpio pin
help - print command description/usage
i2c - I2C sub-system
icache - enable or disable instruction cache
imxtract- extract a part of a multi-image
ipq_mdio- IPQ mdio utility commands
is_sec_boot_enabled- check secure boot fuse is enabled or not
itest - return true/false on integer compare
loop - infinite loop on address range
md - memory display
mfg - Diagnostic tools for MFG (mfg gpio/led/btn/badblk/usb/rtc)
mii - MII utility commands
mm - memory modify (auto-incrementing address)
mmc - MMC sub system
mmcinfo - display MMC info
mtdparts- define flash/nand partitions
mtest - simple RAM read/write test
mw - memory write (fill)
nand - NAND sub-system
nboot - boot from NAND device
nm - memory modify (constant address)
pci - list and access PCI Configuration Space
ping - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
reset - Perform RESET of the CPU
run - run commands in an environment variable
runmulticore- Enable and schedule secondary cores
saveenv - save environment variables to persistent storage
secure_authenticate- authenticate the signed image
senv - senv handling commands
setenv - set environment variables
sf - SPI flash sub-system
showvar - print local hushshell variables
sleep - delay execution for some time
smeminfo- print SMEM FLASH information
source - run script from memory
test - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
tftpput - TFTP put command, for uploading files to a server
true - do nothing, successfully
uart - UART sub-system
ubi - ubi commands
usb - USB sub-system
usbboot - boot from USB device
version - print monitor, compiler and linker version