- Make architecture code separate from BSP code - Make BSPs pull in drivers from a generic folder - Enables reuse of drivers between different BSPs.