174ba9207SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
225aee3deSMauro Carvalho Chehab /*
325aee3deSMauro Carvalho Chehab 	Mantis PCI bridge driver
425aee3deSMauro Carvalho Chehab 
525aee3deSMauro Carvalho Chehab 	Copyright (C) Manu Abraham (abraham.manu@gmail.com)
625aee3deSMauro Carvalho Chehab 
725aee3deSMauro Carvalho Chehab */
825aee3deSMauro Carvalho Chehab 
925aee3deSMauro Carvalho Chehab #ifndef __MANTIS_CORE_H
1025aee3deSMauro Carvalho Chehab #define __MANTIS_CORE_H
1125aee3deSMauro Carvalho Chehab 
1225aee3deSMauro Carvalho Chehab #include "mantis_common.h"
1325aee3deSMauro Carvalho Chehab 
1425aee3deSMauro Carvalho Chehab 
1525aee3deSMauro Carvalho Chehab #define FE_TYPE_SAT	0
1625aee3deSMauro Carvalho Chehab #define FE_TYPE_CAB	1
1725aee3deSMauro Carvalho Chehab #define FE_TYPE_TER	2
1825aee3deSMauro Carvalho Chehab 
1925aee3deSMauro Carvalho Chehab #define FE_TYPE_TS204	0
2025aee3deSMauro Carvalho Chehab #define FE_TYPE_TS188	1
2125aee3deSMauro Carvalho Chehab 
2225aee3deSMauro Carvalho Chehab 
2325aee3deSMauro Carvalho Chehab struct vendorname {
2425aee3deSMauro Carvalho Chehab 	u8  *sub_vendor_name;
2525aee3deSMauro Carvalho Chehab 	u32 sub_vendor_id;
2625aee3deSMauro Carvalho Chehab };
2725aee3deSMauro Carvalho Chehab 
2825aee3deSMauro Carvalho Chehab struct devicetype {
2925aee3deSMauro Carvalho Chehab 	u8  *sub_device_name;
3025aee3deSMauro Carvalho Chehab 	u32 sub_device_id;
3125aee3deSMauro Carvalho Chehab 	u8  device_type;
3225aee3deSMauro Carvalho Chehab 	u32 type_flags;
3325aee3deSMauro Carvalho Chehab };
3425aee3deSMauro Carvalho Chehab 
3525aee3deSMauro Carvalho Chehab 
3625aee3deSMauro Carvalho Chehab extern int mantis_dma_init(struct mantis_pci *mantis);
3725aee3deSMauro Carvalho Chehab extern int mantis_dma_exit(struct mantis_pci *mantis);
3825aee3deSMauro Carvalho Chehab extern void mantis_dma_start(struct mantis_pci *mantis);
3925aee3deSMauro Carvalho Chehab extern void mantis_dma_stop(struct mantis_pci *mantis);
4025aee3deSMauro Carvalho Chehab extern int mantis_i2c_init(struct mantis_pci *mantis);
4125aee3deSMauro Carvalho Chehab extern int mantis_i2c_exit(struct mantis_pci *mantis);
4225aee3deSMauro Carvalho Chehab 
4325aee3deSMauro Carvalho Chehab #endif /* __MANTIS_CORE_H */
44