add CM Hardware Abstraction Framework

Change-Id: I8b59957836f7b2d2883302962f0e97be4458e6a6