#include "wch_common.h"


PCI_BOARD wch_pci_board_conf[] = {
	// NONE
	{
		// VenID	DevID	SubVenID	SubSysID	SerPort	IntrBar	IntrOffset	Name	BoardFlag		part_number
		0,			0,		0,			0,			0,		0,		0x00,		"none",	BOARDFLAG_NONE,	PART_NUMBER_NONE,
		{
			//	type	bar1	ofs1	len1		bar2	ofs2	len2	intmask		flags
			{	'n',	-1,		0,		0,			-1,		0,		0,		0x0000,		NONE_HWID	},					
		},	
	},

	// CH352_2S
	{
		// VenID			DevID					SubVenID				SubSysID					SerPort IntrBar	IntrOffset	Name		BoardFlag		 part_number
		VENDOR_ID_WCH_PCI,	DEVICE_ID_WCH_CH352_2S, SUB_VENDOR_ID_WCH_PCI,	SUB_DEVICE_ID_WCH_CH352_2S,	2,		0,		0x00,		"CH352_2S",	BOARDFLAG_REMAP, PART_NUMBER_NONE,
		{
			//	type	bar1	ofs1	len1		bar2	ofs2	len2	intmask		flags
			{	's',	0,		0,		8,			-1,		0,		0,		0x0001,		CH352_HWID	},					
			{	's',	1,		0,		8,			-1,		0,		0,		0x0002,		CH352_HWID	},
		},	
	},

	// CH352_1S1P
	{
		// VenID			DevID						SubVenID				SubSysID						SerPort	IntrBar	IntrOffset	Name			BoardFlag		 part_number
		VENDOR_ID_WCH_PCI,	DEVICE_ID_WCH_CH352_1S1P,	SUB_VENDOR_ID_WCH_PCI,	SUB_DEVICE_ID_WCH_CH352_1S1P,	1,		0,		0x00,		"CH352_1S1P",	BOARDFLAG_REMAP, PART_NUMBER_NONE,
		{
			//	type	bar1	ofs1	len1		bar2	ofs2	len2	intmask		flags
			{	's',	0,		0,		8,			-1,		0,		0,		0x0001,		CH352_HWID	},
		},	
	},

	// CH353_4S
	{				
		// VenID			DevID					SubVenID				SubSysID					SerPort IntrBar	IntrOffset	Name		BoardFlag		part_number
		VENDOR_ID_WCH_PCI,	DEVICE_ID_WCH_CH353_4S, SUB_VENDOR_ID_WCH_PCI,	SUB_DEVICE_ID_WCH_CH353_4S,	4,		3,		0x0F,		"CH353_4S",	BOARDFLAG_NONE,	PART_NUMBER_NONE,
		{
			//	type	bar1	ofs1	len1		bar2	ofs2	len2	intmask		flags
			{	's',	0,		0,		8,			-1,		0,		0,		0x0001,		CH353_HWID	},					
			{	's',	1,		0,		8,			-1,		0,		0,		0x0002,		CH353_HWID	},
			{	's',	2,		0,		8,			-1,		0,		0,		0x0004,		CH353_HWID	},
			{	's',	3,		0,		8,			-1,		0,		0,		0x0008,		CH353_HWID	},

		},	
	},

	// CH353_2S1P
	{
		// VenID			DevID						SubVenID				SubSysID						SerPort	IntrBar	IntrOffset	Name		    BoardFlag		part_number
		VENDOR_ID_WCH_PCI,	DEVICE_ID_WCH_CH353_2S1P,	SUB_VENDOR_ID_WCH_PCI,	SUB_DEVICE_ID_WCH_CH353_2S1P,	2,		3,		0x0F,		"CH353_2S1P",	BOARDFLAG_NONE,	PART_NUMBER_NONE,
		{
			//	type	bar1	ofs1	len1		bar2	ofs2	len2	intmask		flags
			{	's',	0,		0,		8,			-1,		0,		0,		0x0001,		CH353_HWID	},					
			{	's',	1,		0,		8,			-1,		0,		0,		0x0002,		CH353_HWID	},
		},	
	},

	// CH353_2S1PAR
	{
		// VenID			DevID						SubVenID				SubSysID						SerPort	IntrBar	IntrOffset	Name		    BoardFlag		part_number
		VENDOR_ID_WCH_PCI,	DEVICE_ID_WCH_CH353_2S1PAR, SUB_VENDOR_ID_WCH_PCI,	SUB_DEVICE_ID_WCH_CH353_2S1PAR,	2,		3,		0x0F,		"CH353_2S1PAR",	BOARDFLAG_NONE,	PART_NUMBER_NONE,
		{
			//	type	bar1	ofs1	len1		bar2	ofs2	len2	intmask		flags
			{	's',	0,		0,		8,			-1,		0,		0,		0x0001,		CH353_HWID	},					
			{	's',	1,		0,		8,			-1,		0,		0,		0x0002,		CH353_HWID	},
		},	
	},

	// CH355_4S
	{
		// VenID			DevID					SubVenID				SubSysID					SerPort	IntrBar	IntrOffset	Name		BoardFlag		part_number
		VENDOR_ID_WCH_PCI,	DEVICE_ID_WCH_CH355_4S, SUB_VENDOR_ID_WCH_PCI,	SUB_DEVICE_ID_WCH_CH355_4S,	4,		4,		0x20,		"CH355_4S",	BOARDFLAG_NONE,	PART_NUMBER_NONE,
		{
			//	type	bar1	ofs1	len1		bar2	ofs2	len2	intmask		flags
			{	's',	0,		0,		8,			-1,		0,		0,		0x0001,		CH355_HWID	},					
			{	's',	1,		0,		8,			-1,		0,		0,		0x0002,		CH355_HWID	},
			{	's',	2,		0,		8,			-1,		0,		0,		0x0004,		CH355_HWID	},
			{	's',	3,		0,		8,			-1,		0,		0,		0x0008,		CH355_HWID	},

		},	
	},

	// CH356_4S1P
	{
		// VenID			DevID						SubVenID				SubSysID						SerPort IntrBar IntrOffset	Name		  BoardFlag		  part_number
		VENDOR_ID_WCH_PCI,	DEVICE_ID_WCH_CH356_4S1P,	SUB_VENDOR_ID_WCH_PCI,	SUB_DEVICE_ID_WCH_CH356_4S1P,	4,		4,		 0x3F,		"CH356_4S1P", BOARDFLAG_NONE, PART_NUMBER_NONE,
		{
			//	type	bar1	ofs1	len1		bar2	ofs2	len2	intmask		flags
			{	's',	0,		0,		8,			-1,		0,		0,		0x0001,		CH356_HWID	},					
			{	's',	1,		0,		8,			-1,		0,		0,		0x0002,		CH356_HWID	},
			{	's',	2,		0,		8,			-1,		0,		0,		0x0004,		CH356_HWID	},
			{	's',	3,		0,		8,			-1,		0,		0,		0x0008,		CH356_HWID	},
		},	
	},

	// CH356_6S(CH356+CH432(1P))
	{
		// VenID			DevID					SubVenID				SubSysID					SerPort	IntrBar	IntrOffset	Name		BoardFlag		part_number
		VENDOR_ID_WCH_PCI,	DEVICE_ID_WCH_CH356_6S, SUB_VENDOR_ID_WCH_PCI,	SUB_DEVICE_ID_WCH_CH356_6S,	6,		4,		0x3F,		"CH356_6S",	BOARDFLAG_NONE,	PART_NUMBER_NONE,
		{
			//	type	bar1	ofs1	len1		bar2	ofs2	len2	intmask		flags
			{	's',	0,		0,		8,			-1,		0,		0,		0x0001,		CH356_HWID	},					
			{	's',	1,		0,		8,			-1,		0,		0,		0x0002,		CH356_HWID	},
			{	's',	2,		0,		8,			-1,		0,		0,		0x0004,		CH356_HWID	},
			{	's',	3,		0,		8,			-1,		0,		0,		0x0008,		CH356_HWID	},
			{	's',	4,		0,		8,			-1,		0,		0,		0x0010,		CH356_HWID	},
			{	's',	4,		8,		8,			-1,		0,		0,		0x0020,		CH356_HWID	},
		},	
	},

	// CH356_8S(CH356+CH432(2P))
	{
		// VenID			DevID					SubVenID				SubSysID					SerPort	IntrBar	IntrOffset	Name		BoardFlag		part_number
		VENDOR_ID_WCH_PCI,	DEVICE_ID_WCH_CH356_8S, SUB_VENDOR_ID_WCH_PCI,	SUB_DEVICE_ID_WCH_CH356_8S,	8,		4,		0x3F,		"CH356_8S",	BOARDFLAG_NONE,	PART_NUMBER_NONE,
		{
			//	type	bar1	ofs1	len1		bar2	ofs2	len2	intmask		flags
			{	's',	0,		0,		8,			-1,		0,		0,		0x0001,		CH356_HWID	},
			{	's',	1,		0,		8,			-1,		0,		0,		0x0002,		CH356_HWID	},
			{	's',	2,		0,		8,			-1,		0,		0,		0x0004,		CH356_HWID	},
			{	's',	3,		0,		8,			-1,		0,		0,		0x0008,		CH356_HWID	},
			{	's',	4,		0,		8,			-1,		0,		0,		0x0010,		CH356_HWID	},
			{	's',	4,		8,		8,			-1,		0,		0,		0x0020,		CH356_HWID	},
			{	's',	4,		16,		8,			-1,		0,		0,		0x0040,		CH356_HWID	},
			{	's',	4,		24,		8,			-1,		0,		0,		0x0080,		CH356_HWID	},
		},	
	},

	// CH357_4S
	{
		// VenID			DevID					SubVenID				SubSysID					SerPort	IntrBar	IntrOffset	Name		BoardFlag		part_number
		VENDOR_ID_WCH_PCI,	DEVICE_ID_WCH_CH357_4S, SUB_VENDOR_ID_WCH_PCI,	SUB_DEVICE_ID_WCH_CH357_4S,	4,		4,		0x6F,		"CH357_4S",	BOARDFLAG_NONE,	PART_NUMBER_NONE,
		{
			//	type	bar1	ofs1	len1		bar2	ofs2	len2	intmask		flags
			{	's',	0,		0,		8,			-1,		0,		0,		0x0001,		CH357_HWID	},					
			{	's',	1,		0,		8,			-1,		0,		0,		0x0002,		CH357_HWID	},
			{	's',	2,		0,		8,			-1,		0,		0,		0x0004,		CH357_HWID	},
			{	's',	3,		0,		8,			-1,		0,		0,		0x0008,		CH357_HWID	},
		},
	},

	// CH358_4S1P
	{
		// VenID			DevID						SubVenID				SubSysID						SerPort	IntrBar	IntrOffset	Name			BoardFlag		part_number
		VENDOR_ID_WCH_PCI,	DEVICE_ID_WCH_CH358_4S1P,	SUB_VENDOR_ID_WCH_PCI,	SUB_DEVICE_ID_WCH_CH358_4S1P,	4,		4,		0x6F,		"CH358_4S1P",	BOARDFLAG_NONE,	PART_NUMBER_NONE,
		{
			//	type	bar1	ofs1	len1		bar2	ofs2	len2	intmask		flags
			{	's',	0,		0,		8,			-1,		0,		0,		0x0001,		CH358_HWID	},					
			{	's',	1,		0,		8,			-1,		0,		0,		0x0002,		CH358_HWID	},
			{	's',	2,		0,		8,			-1,		0,		0,		0x0004,		CH358_HWID	},
			{	's',	3,		0,		8,			-1,		0,		0,		0x0008,		CH358_HWID	},
		},	
	},

	// CH358_8S
	{
		// VenID			DevID					SubVenID				SubSysID					SerPort	IntrBar IntrOffset	Name		BoardFlag		part_number
		VENDOR_ID_WCH_PCI,	DEVICE_ID_WCH_CH358_8S, SUB_VENDOR_ID_WCH_PCI,	SUB_DEVICE_ID_WCH_CH358_8S, 8,		4,		0x6F,		"CH358_8S", BOARDFLAG_NONE, PART_NUMBER_NONE,
		{
			//	type	bar1	ofs1	len1		bar2	ofs2	len2	intmask		flags
			{	's',	0,		0,		8,			-1,		0,		0,		0x0001,		CH358_HWID	},					
			{	's',	1,		0,		8,			-1,		0,		0,		0x0002,		CH358_HWID	},
			{	's',	2,		0,		8,			-1,		0,		0,		0x0004,		CH358_HWID	},
			{	's',	3,		0,		8,			-1,		0,		0,		0x0008,		CH358_HWID	},
			{	's',	0,		8,		8,			-1,		0,		0,		0x0010,		CH358_HWID	},
			{	's',	1,		8,		8,			-1,		0,		0,		0x0020,		CH358_HWID	},
			{	's',	2,		8,		8,			-1,		0,		0,		0x0040,		CH358_HWID	},
			{	's',	3,		8,		8,			-1,		0,		0,		0x0080,		CH358_HWID	},
		},
	},
		
	// CH359_16S
	{
		// VenID			DevID					SubVenID				SubSysID					SerPort	IntrBar IntrOffset	Name		BoardFlag		part_number
		VENDOR_ID_WCH_PCI,	DEVICE_ID_WCH_CH359_16S,SUB_VENDOR_ID_WCH_PCI,	SUB_DEVICE_ID_WCH_CH359_16S,16,		4,		0x6F,		"CH359_16S",BOARDFLAG_NONE, PART_NUMBER_NONE,
		{
			//	type	bar1	ofs1	len1		bar2	ofs2	len2	intmask		flags
			{	's',	0,		0,		8,			-1,		0,		0,		0x0001,		CH359_HWID	},
			{	's',	1,		0,		8,			-1,		0,		0,		0x0002,		CH359_HWID	},
			{	's',	2,		0,		8,			-1,		0,		0,		0x0004,		CH359_HWID	},
			{	's',	3,		0,		8,			-1,		0,		0,		0x0008,		CH359_HWID	},
			{	's',	0,		8,		8,			-1,		0,		0,		0x0010,		CH359_HWID	},
			{	's',	1,		8,		8,			-1,		0,		0,		0x0020,		CH359_HWID	},
			{	's',	2,		8,		8,			-1,		0,		0,		0x0040,		CH359_HWID	},
			{	's',	3,		8,		8,			-1,		0,		0,		0x0080,		CH359_HWID	},

			{	's',	4,		0,		8,			-1,		0,		0,		0x0001,		CH359_HWID	},
			{	's',	4,		8,		8,			-1,		0,		0,		0x0002,		CH359_HWID	},
			{	's',	4,		16,		8,			-1,		0,		0,		0x0004,		CH359_HWID	},
			{	's',	4,		24,		8,			-1,		0,		0,		0x0008,		CH359_HWID	},
			{	's',	4,		32,		8,			-1,		0,		0,		0x0010,		CH359_HWID	},
			{	's',	4,		40,		8,			-1,		0,		0,		0x0020,		CH359_HWID	},
			{	's',	4,		48,		8,			-1,		0,		0,		0x0040,		CH359_HWID	},
			{	's',	4,		56,		8,			-1,		0,		0,		0x0080,		CH359_HWID	},
		},
	},	
};

