EBG (Emmitsburg) PCH is used in Intel SPR-SP chipset. Its datasheet is Intel doc# 606161. Add Intel Emmitsburg PCH GPIO pin definitions. Also common code change is made to support Intel Emmitsburg PCH: a. Instead of 2 PAD registers per GPIO, it has 4 PAD registers. b. The register address space may not be contiguous from one GPIO group to the next GPIO group. Change-Id: Ia0d9179544020b6abb0be1ecd275a9a46356db8a Signed-off-by: Jonathan Zhang <jonzhang@meta.com> Signed-off-by: Christian Walter <christian.walter@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/71943 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: David Hendricks <david.hendricks@gmail.com>
		
			
				
	
	
		
			24 lines
		
	
	
		
			519 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			519 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef GPIO_NAMES_GPIO_GROUPS_H
 | |
| #define GPIO_NAMES_GPIO_GROUPS_H
 | |
| 
 | |
| struct gpio_group {
 | |
| 	const char *display;
 | |
| 	size_t pad_count;
 | |
| 	size_t func_count;
 | |
| 	/*
 | |
| 	 * This field is necessary for EBG, since the pad configuration registers
 | |
| 	 * within a community are no longer contiguous.
 | |
| 	 */
 | |
| 	uint32_t pad_offset;
 | |
| 	const char *const *pad_names; /* indexed by 'pad * func_count + func' */
 | |
| };
 | |
| 
 | |
| struct gpio_community {
 | |
| 	const char *name;
 | |
| 	uint8_t pcr_port_id;
 | |
| 	size_t group_count;
 | |
| 	const struct gpio_group *const *groups;
 | |
| };
 | |
| 
 | |
| #endif
 |