ec/starlabs/merlin/battery: Add extended battery information
Add BIX Method to report extended battery information. Change-Id: Ie5baecb20c7d4600e0cf1d19ff5f67ce2003fa1d Signed-off-by: Sean Rhodes <sean@starlabs.systems> Reviewed-on: https://review.coreboot.org/c/coreboot/+/81402 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
This commit is contained in:
		@@ -15,41 +15,90 @@ Device (BAT0)
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
		Return (0x0F)
 | 
							Return (0x0F)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	Name (BPKG, Package (13)
 | 
					
 | 
				
			||||||
 | 
						Name (SBIF, Package (13)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		1,		//  0: Power Unit
 | 
							1,					//  0: Power Unit			0:	mWh
 | 
				
			||||||
		0xFFFFFFFF,	//  1: Design Capacity
 | 
												//					1:	mA
 | 
				
			||||||
		0xFFFFFFFF,	//  2: Last Full Charge Capacity
 | 
							0xffffffff,				//  1: Design Capacity
 | 
				
			||||||
		1,		//  3: Battery Technology(Rechargeable)
 | 
							0xffffffff,				//  2: Last Full Charge Capacity
 | 
				
			||||||
		0xFFFFFFFF,	//  4: Design Voltage 10.8V
 | 
							1,					//  3: Battery Technology		0:	Primary (non-rechargeable)
 | 
				
			||||||
		0,		//  5: Design capacity of warning
 | 
												//					1:	Secondary (rechargeable)
 | 
				
			||||||
		0,		//  6: Design capacity of low
 | 
							0xffffffff,				//  4: Design Voltage
 | 
				
			||||||
		100,		//  7: Battery capacity granularity 1
 | 
							0,					//  5: Design capacity of Warning
 | 
				
			||||||
		0,		//  8: Battery capacity granularity 2
 | 
							0,					//  6: Design capacity of Low
 | 
				
			||||||
		"597077-3S",	//  9: Model Number
 | 
							0xffffffff,				//  7: Battery capacity Decrement Granularity
 | 
				
			||||||
		"3ICP6/70/77",	// 10: Serial Number
 | 
							0xffffffff,				//  8: Battery capacity Increment Granularity
 | 
				
			||||||
		"Real",		// 11: Battery Type
 | 
							CONFIG_EC_STARLABS_BATTERY_MODEL,	//  9: Model Number
 | 
				
			||||||
		"DGFGE"		// 12: OEM Information
 | 
							"Unknown",				// 10: Serial Number
 | 
				
			||||||
 | 
							CONFIG_EC_STARLABS_BATTERY_TYPE,	// 11: Battery Type
 | 
				
			||||||
 | 
							CONFIG_EC_STARLABS_BATTERY_OEM		// 12: OEM Information
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	Method (_BIF, 0, Serialized)
 | 
						Method (_BIF, 0, NotSerialized)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		BPKG[1] = B1DC
 | 
							If (B1DC) {
 | 
				
			||||||
		BPKG[2] = B1FC
 | 
								SBIF  [1] = B1DC
 | 
				
			||||||
		BPKG[4] = B1DV
 | 
								SBIF  [2] = B1FC
 | 
				
			||||||
		If (B1FC)
 | 
								SBIF  [4] = B1DV
 | 
				
			||||||
 | 
								SBIF  [5] = B1DC / 5	// 20%
 | 
				
			||||||
 | 
								SBIF  [6] = B1DC / 20	// 5%
 | 
				
			||||||
 | 
								SBIF  [7] = B1DC / 500	// 0.2%
 | 
				
			||||||
 | 
								SBIF  [8] = B1DC / 500	// 0.2%
 | 
				
			||||||
 | 
								SBIF [10] = B1SN
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							Return (SBIF)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Name (XBIF, Package (21)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
			BPKG[5] = B1FC / 10
 | 
							1,					//  0: Revision				0:	3.0
 | 
				
			||||||
			BPKG[6] = B1FC / 100
 | 
												//					1:	4.0
 | 
				
			||||||
			BPKG[7] = B1DC / 100
 | 
							1,					//  1: Power Unit			0:	mWh
 | 
				
			||||||
 | 
												//					1:	mA
 | 
				
			||||||
 | 
							0xffffffff,				//  2: Design Capacity
 | 
				
			||||||
 | 
							0xffffffff,				//  3: Last Full Charge Capacity
 | 
				
			||||||
 | 
							1,					//  4: Battery Technology		0:	Primary (non-rechargeable)
 | 
				
			||||||
 | 
												//					1:	Secondary (rechargeable)
 | 
				
			||||||
 | 
							0xffffffff,				//  5: Design Voltage
 | 
				
			||||||
 | 
							0xffffffff,				//  6: Design Capacity of Warning
 | 
				
			||||||
 | 
							0xffffffff,				//  7: Design Capacity of Low
 | 
				
			||||||
 | 
							0xffffffff,				//  8: Cycle Count
 | 
				
			||||||
 | 
							2,					//  9: Measurement Accuracy
 | 
				
			||||||
 | 
							5000,					// 10: Max Sampling Time (ms)
 | 
				
			||||||
 | 
							1000,					// 11: Min Sampling Time (ms)
 | 
				
			||||||
 | 
							5000,					// 12: Max Averaging Interval
 | 
				
			||||||
 | 
							1000,					// 13: Min Averaging Interval
 | 
				
			||||||
 | 
							0xffffffff,				// 14: Battery Capacity Decrement Granularity
 | 
				
			||||||
 | 
							0xffffffff,				// 15: Battery Capacity Increment Granularity
 | 
				
			||||||
 | 
							CONFIG_EC_STARLABS_BATTERY_MODEL,	// 16: Model Number
 | 
				
			||||||
 | 
							"Unknown",				// 17: Serial Number
 | 
				
			||||||
 | 
							CONFIG_EC_STARLABS_BATTERY_TYPE,	// 18: Battery Type
 | 
				
			||||||
 | 
							CONFIG_EC_STARLABS_BATTERY_OEM,		// 19: OEM Information
 | 
				
			||||||
 | 
							1,					// 20: Swapping Capability		0:	Non swappable
 | 
				
			||||||
 | 
												//					1:	Cold swappable
 | 
				
			||||||
 | 
												//					16:	Hot swappable
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
						Method (_BIX, 0, NotSerialized)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							If (B1DC) {
 | 
				
			||||||
 | 
								XBIF  [2] = B1DC
 | 
				
			||||||
 | 
								XBIF  [3] = B1FC
 | 
				
			||||||
 | 
								XBIF  [5] = B1DV
 | 
				
			||||||
 | 
								XBIF  [6] = B1DC / 5	// 20%
 | 
				
			||||||
 | 
								XBIF  [7] = B1DC / 20	// 5%
 | 
				
			||||||
 | 
								XBIF [14] = B1DC / 500	// 0.2%
 | 
				
			||||||
 | 
								XBIF [15] = B1DC / 500	// 0.2%
 | 
				
			||||||
 | 
								XBIF [17] = B1SN
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		Return (BPKG)
 | 
							Return (XBIF)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	Name (PKG1, Package (4)
 | 
						Name (PKG1, Package (4)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		0xFFFFFFFF,	// Battery State
 | 
							0xffffffff,	//  0: Battery State
 | 
				
			||||||
		0xFFFFFFFF,	// Battery Present Rate
 | 
							0xffffffff,	//  1: Battery Present Rate
 | 
				
			||||||
		0xFFFFFFFF,	// Battery Remaining Capacity
 | 
							0xffffffff,	//  2: Battery Remaining Capacity
 | 
				
			||||||
		0xFFFFFFFF,	// Battery Present Voltage
 | 
							0xffffffff,	//  3: Battery Present Voltage
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	Method (_BST, 0, NotSerialized)
 | 
						Method (_BST, 0, NotSerialized)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user