diff --git a/board/intel/minnowboard/acpi/buttons.asl b/board/intel/minnowboard/acpi/buttons.asl
new file mode 100644
index 0000000..2bc4220
--- /dev/null
+++ b/board/intel/minnowboard/acpi/buttons.asl
@@ -0,0 +1,104 @@
+/*
+ * Intel Minnowboard
+ *
+ * http://wiki.minnowboard.org/MinnowBoard
+ *
+ * This adds GPIO buttons device for the 4 switches found on Intel
+ * Minnowboard available for users.
+ *
+ *   GPIO name           GPIO number  switch
+ *   ---------------------------------------
+ *   E6XX_GPIO_S0        0            S0
+ *   E6XX_GPIO_S1        1            S1
+ *   E6XX_GPIO_S2        2            S2
+ *   E6XX_GPIO_S3        3            S3
+ *
+ * In Linux you need to set CONFIG_KEYBOARD_GPIO_POLLED=y (or m) to be
+ * able to use this device.
+ */
+DefinitionBlock ("buttons.aml", "SSDT", 5, "INTEL", "BUTTONS", 1)
+{
+    External (_SB_.PCI0.LPC, DeviceObj)
+
+    Scope (\_SB.PCI0.LPC)
+    {
+        Device (BTNS)
+        {
+            Name (_HID, "PRP0001")
+            Name (_DDN, "GPIO buttons device")
+
+            Name (_CRS, ResourceTemplate () {
+                GpioIo (
+                    Exclusive,                  // Not shared
+                    PullUp,                     // Pull up the line
+                    0,                          // Debounce timeout
+                    0,                          // Drive strength
+                    IoRestrictionInputOnly,     // Only used as input
+                    "\\_SB.PCI0.LPC",           // GPIO controller
+                    0)                          // Must be 0
+                {
+                    0,                         // E6XX_GPIO_S0
+                    1,                         // E6XX_GPIO_S1
+                    2,                         // E6XX_GPIO_S2
+                    3,                         // E6XX_GPIO_S3
+                }
+            })
+
+            Name (_DSD, Package () {
+                ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+                Package () {
+                    Package () {"compatible", "gpio-keys-polled"},
+                    Package () {"poll-interval", 100},
+                    Package () {"autorepeat", 1}
+                },
+                ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
+                Package () {
+                    Package () {"button-0", "BTN0"},
+                    Package () {"button-1", "BTN1"},
+                    Package () {"button-2", "BTN2"},
+                    Package () {"button-3", "BTN3"}
+                }
+            })
+
+            // For more information about these bindings see:
+            // Documentation/devicetree/bindings/input/gpio-keys-polled.txt
+            // and Documentation/acpi/gpio-properties.txt.
+
+            Name (BTN0, Package () {
+                ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+                Package () {
+                    Package () {"linux,code", 105},
+                    Package () {"linux,input-type", 1},
+                    Package () {"gpios", Package () {^BTNS, 0, 0, 1}}
+                }
+            })
+
+            Name (BTN1, Package () {
+                ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+                Package () {
+                    Package () {"linux,code", 108},
+                    Package () {"linux,input-type", 1},
+                    Package () {"gpios", Package (4) {^BTNS, 0, 1, 1}}
+                }
+            })
+
+            Name (BTN2, Package () {
+                ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+                Package () {
+                    Package () {"linux,code", 103},
+                    Package () {"linux,input-type", 1},
+                    Package () {"gpios", Package () {^BTNS, 0, 2, 1}}
+                }
+            })
+
+            Name (BTN3, Package () {
+                ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+                Package () {
+                    Package () {"linux,code", 106},
+                    Package () {"linux,input-type", 1},
+                    Package () {"gpios", Package () {^BTNS, 0, 3, 1}}
+                }
+            })
+        }
+    }
+}
