Hi Mike,
I'm nearly certain that APU (Family 16h Models 00-0Fh aka Kabini) didn't have a usable IOMMU. It was fused away.
So: after 15h - which had IOMMU...
FWIW, not all Family 15h did either. That's the type of feature that could be specified or removed for different SKUs. For example in Trinity, IIRC,
consumer
products in mobile packages had their IOMMUs fused off because of the power they'd sip. IOMMU wasn't considered a compelling feature for mobile products at that time. Any Trinity in a desktop package allowed them to be enabled. And, unfortunately reading the BKDG doesn't give you that level of granularity -- it explains the highest level of functionality available, and sometimes more.
My wild guess is that AMD
needed some time to remake IOMMU for 16h to function together with AMD
PSP (Platform Security Processor), and maybe they intended to
implement PSP at early 16h as well - but it wasn't ready in time for
early 16h so they removed IOMMU from it too.
Without getting into how features are developed or considered for POR, let me just end with that's definitely not how I remember the discussions for either of those two features.
Thanks,
Marshall