/** I2cDxe.h Header defining the constant, base address amd function for I2C controller Copyright 2017-2020 NXP SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef I2C_DXE_H_ #define I2C_DXE_H_ #include #include #include #include #define NXP_I2C_SIGNATURE SIGNATURE_32 ('N', 'I', '2', 'C') #define NXP_I2C_FROM_THIS(a) CR ((a), NXP_I2C_MASTER, \ I2cMaster, NXP_I2C_SIGNATURE) extern EFI_COMPONENT_NAME2_PROTOCOL gNxpI2cDriverComponentName2; #pragma pack(1) typedef struct { VENDOR_DEVICE_PATH Vendor; UINT64 MmioBase; EFI_DEVICE_PATH_PROTOCOL End; } NXP_I2C_DEVICE_PATH; #pragma pack() typedef struct { UINT32 Signature; EFI_I2C_MASTER_PROTOCOL I2cMaster; NXP_I2C_DEVICE_PATH DevicePath; NON_DISCOVERABLE_DEVICE *Dev; } NXP_I2C_MASTER; EFI_STATUS NxpI2cInit ( IN EFI_HANDLE DriverBindingHandle, IN EFI_HANDLE ControllerHandle ); EFI_STATUS NxpI2cRelease ( IN EFI_HANDLE DriverBindingHandle, IN EFI_HANDLE ControllerHandle ); #endif //I2C_DXE_H_