I'm building a laptop with a custom battery pack. I know that the pack has to communicate through an I2C/SM port on the motherboard, but I don't know how to make the bios/os recognize it. Is there a particular I2C address and standard protocol on top of I2C for battery state information exchange? If there is – where can I find the documentation for it? If no – is the protocol just proprietary to the bios manufacturer and then the OS reads it from the bios? I will be bitbanging I2C from the microcontroller that regulates the battery so I can do whatever is needed.
Electronic – standard I2C/SM bus protocol for laptop battery packs
Since you already know about the SMBus, why not look into the Smart Battery Data Specification or the Smart Battery Charger Specification, as this is what you'll have to simulate. Yet, this won't describe if the System Management chip has some additional features which are undocumented ;-)