baytrail: Basic DPTF framework

This is not complete yet but it compiles and doesn't cause
any issues by itself.  It is tied into the EC pretty closely
so that is part of the same commit.

Once we have more of the EC support done it will need some
more work to make use of those new interfaces properly.

BUG=chrome-os-partner:17279
BRANCH=none
TEST=build and boot on rambi, dump DSDT and look over \_SB.DPTF

Change-Id: I4b27e38baae18627a275488d77944208950b98bd
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/179459
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/5002
Tested-by: build bot (Jenkins)
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
diff --git a/src/soc/intel/baytrail/acpi/dptf/charger.asl b/src/soc/intel/baytrail/acpi/dptf/charger.asl
new file mode 100644
index 0000000..7560f139
--- /dev/null
+++ b/src/soc/intel/baytrail/acpi/dptf/charger.asl
@@ -0,0 +1,36 @@
+Device (TCHG)
+{
+	Name (_HID, "INT3403")
+	Name (_UID, 0)
+	Name (PTYP, 0x0B)
+	Name (_STR, Unicode("Battery Charger"))
+
+	Method (_STA)
+	{
+		If (LEqual (\DPTE, One)) {
+			Return (0xF)
+		} Else {
+			Return (0x0)
+		}
+	}
+
+	Name (PPSS, Package ()
+	{
+		Package () { 0, 0, 0, 0, 0, 0x880, "mA", 0 }, /* 2.1A */
+		Package () { 0, 0, 0, 0, 1, 0x800, "mA", 0 }, /* 2.0A */
+		Package () { 0, 0, 0, 0, 2, 0x600, "mA", 0 }, /* 1.5A */
+		Package () { 0, 0, 0, 0, 3, 0x400, "mA", 0 }, /* 1.0A */
+		Package () { 0, 0, 0, 0, 4, 0x200, "mA", 0 }, /* 0.5A */
+		Package () { 0, 0, 0, 0, 5, 0x000, "mA", 0 }, /* 0.0A */
+	})
+
+	Method (PPPC)
+	{
+		Return (0)
+	}
+
+	Method (SPPC, 1, Serialized)
+	{
+		/* TODO: Tell EC to limit battery charging */
+	}
+}