The document discusses identifying and supporting hardware blocks that are compatible with existing driver models in Linux even if they are not exact matches. It provides examples of standard interfaces like AHCI, EHCI, and OHCI that have driver libraries while the platform driver handles platform-specific details. Licensed IP cores and clones that have the same logic but different register layouts are also discussed. Methods for identifying compatible hardware include examining datasheets, vendor kernels, and experience. Driver implementations can use driver libraries along with platform drivers to manage platform-specific resources and setup. Techniques for handling register changes like offset tables, regmap, and custom I/O functions are presented. Specific examples of compatible hardware implementations for things like 8250 UART, Design