Useless response, cj. The normal answer is to look at the dmesg output. If it has been awhile since the system booted, you might want the cached-at-boot copy in /var/run/dmesg.boot ... or reboot to freshen the data.
There isn't a good way to map this out easily and reliably across controller types. The device model used by FreeBSD really tries to abstract that away and does a good job of it.