x86: pch: Add an ioctl to read power-management info
authorSimon Glass <sjg@chromium.org>
Fri, 26 Apr 2019 03:59:01 +0000 (21:59 -0600)
committerBin Meng <bmeng.cn@gmail.com>
Wed, 8 May 2019 05:02:14 +0000 (13:02 +0800)
Add a new ioctl() request to read information about the power-management
system. This can be used to power off the device.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
include/pch.h

index 046a5fd..0b44b66 100644 (file)
@@ -16,6 +16,9 @@ enum pch_req_t {
        /* Returns HDA config info if Azalia V1CTL enabled, -ENOENT if not */
        PCH_REQ_HDA_CONFIG,
 
+       /* Fills out a struct pch_pmbase_info if available */
+       PCH_REQ_PMBASE_INFO,
+
        PCH_REQ_TEST1,          /* Test requests for sandbox driver */
        PCH_REQ_TEST2,
        PCH_REQ_TEST3,
@@ -24,6 +27,21 @@ enum pch_req_t {
 };
 
 /**
+ * struct pch_pmbase_info - Information filled in by PCH_REQ_PMBASE_INFO
+ *
+ * @pmbase: IO address of power-management controller
+ * @gpio0_en_ofs: Offset of GPIO0 enable register
+ * @pm1_sts_ofs: Offset of status register
+ * @pm1_cnt_ofs: Offset of control register
+ */
+struct pch_pmbase_info {
+       u16 base;
+       u8 gpio0_en_ofs;
+       u8 pm1_sts_ofs;
+       u8 pm1_cnt_ofs;
+};
+
+/**
  * struct pch_ops - Operations for the Platform Controller Hub
  *
  * Consider using ioctl() to add rarely used or driver-specific operations.