I don't know to answer the question, but the Linux kernel should have a Device Tree (DT). The DT is telling the kernel (at boot), what driver to load for each device, and any specific parameters the driver might need. Later, that DT is mapped into a directory tree (in Linux, everything is a file), here mapped at /proc/.
For example, if I search for PCI in /proc/ of my desktop PC, there is a /proc/bus/pci/ directory, and a /proc/bus/pci/devices file. Inside that file there is a line contaning the text ahci, and some addresses/registers.
See if you can make use of any of that info, in order to find the address you are interested in, though never tried that myself.
No idea if this could help changing the settings you are after, if it applies to your OS flavor, or if it brings anything extra other than setpci can already do/show (I don't know much about setpci). But if it does, then it should be possible to decompile the (binary) device tree that is in use, edit the decompiled DT to add your changes in the DT sources, then recompile the DT (the decompiler/compiler is called dtc), so to make your changes persistent after a reboot.