mb/intel/x200: Add data.vbt
There are 2 vendor BIOS's for the Lenovo X200 with the difference being the settings in the VBT blob to accommodate different backlight frequencies. Linux however sticks with the setting set by the firmware. Tested on Lenovo X200 with CCFL backlight. Change-Id: I4c4a7011ce03cdd511fa2e2160c2f006ba2707ba Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/29904 Reviewed-by: Nico Huber <nico.h@gmx.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
		
				
					committed by
					
						 Patrick Georgi
						Patrick Georgi
					
				
			
			
				
	
			
			
			
						parent
						
							b81dcc6c4d
						
					
				
				
					commit
					4cdb2b9b75
				
			| @@ -19,3 +19,12 @@ ramstage-y += blc.c | ||||
| romstage-y += gpio.c | ||||
|  | ||||
| ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += gma-mainboard.ads | ||||
|  | ||||
| add_vbt_to_cbfs= \ | ||||
| 	$(eval cbfs-files-y += $1) \ | ||||
| 	$(eval $1-file := $2) \ | ||||
| 	$(eval $1-type := raw) \ | ||||
|         $(eval $1-compression := lzma) | ||||
|  | ||||
| $(call add_vbt_to_cbfs, data_ccfl.vbt, data_ccfl.vbt) | ||||
| $(call add_vbt_to_cbfs, data_led.vbt, data_led.vbt) | ||||
|   | ||||
| @@ -15,7 +15,9 @@ | ||||
|  | ||||
| #include <stdint.h> | ||||
| #include <commonlib/helpers.h> | ||||
| #include <console/console.h> | ||||
| #include <northbridge/intel/gm45/gm45.h> | ||||
| #include <drivers/intel/gma/opregion.h> | ||||
|  | ||||
| static const struct blc_pwm_t blc_entries[] = { | ||||
| 	/* corrected to 320MHz CDClk, vendor set 753; works fine at both: */ | ||||
| @@ -43,3 +45,22 @@ int get_blc_values(const struct blc_pwm_t **entries) | ||||
| 	*entries = blc_entries; | ||||
| 	return ARRAY_SIZE(blc_entries); | ||||
| } | ||||
|  | ||||
| const char *mainboard_vbt_filename(void) | ||||
| { | ||||
| 	u16 pwm_freq; | ||||
|  | ||||
| 	pwm_freq = get_blc_pwm_freq_value(NULL); | ||||
|  | ||||
| 	if (pwm_freq == 0) { | ||||
| 		printk(BIOS_DEBUG, | ||||
| 		       "GMA: Display backlight type not found, assuming LED\n"); | ||||
| 		return "data_led.vbt"; | ||||
| 	} else if (pwm_freq > 200) { | ||||
| 		printk(BIOS_DEBUG, "GMA: Using LED backlight VBT\n"); | ||||
| 		return "data_led.vbt"; | ||||
| 	} else { | ||||
| 		printk(BIOS_DEBUG, "GMA: Using CCFL backlight VBT\n"); | ||||
| 		return "data_ccfl.vbt"; | ||||
| 	} | ||||
| } | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								src/mainboard/lenovo/x200/data_ccfl.vbt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/mainboard/lenovo/x200/data_ccfl.vbt
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								src/mainboard/lenovo/x200/data_led.vbt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/mainboard/lenovo/x200/data_led.vbt
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user