cros_ec: Add function to read back flash parameters
authorMoritz Fischer <moritz.fischer@ettus.com>
Tue, 13 Sep 2016 21:44:48 +0000 (14:44 -0700)
committersjg <sjg@chromium.org>
Sun, 9 Oct 2016 15:30:32 +0000 (09:30 -0600)
Add support for reading back flash parameters as reported by
the ec.

Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: u-boot@lists.denx.de
Acked-by: Simon Glass <sjg@chromium.org>
drivers/misc/cros_ec.c

index 5225cdb1c0eb61c0b8701a6f39c7b69f2f8923c4..bb6e8fe91dbda011137877cbf4b87eae8aa2e670 100644 (file)
@@ -790,6 +790,27 @@ static int cros_ec_data_is_erased(const uint32_t *data, int size)
        return 1;
 }
 
+/**
+ * Read back flash parameters
+ *
+ * This function reads back parameters of the flash as reported by the EC
+ *
+ * @param dev  Pointer to device
+ * @param info Pointer to output flash info struct
+ */
+int cros_ec_read_flashinfo(struct cros_ec_dev *dev,
+                         struct ec_response_flash_info *info)
+{
+       int ret;
+
+       ret = ec_command(dev, EC_CMD_FLASH_INFO, 0,
+                        NULL, 0, info, sizeof(*info));
+       if (ret < 0)
+               return ret;
+
+       return ret < sizeof(*info) ? -1 : 0;
+}
+
 int cros_ec_flash_write(struct cros_ec_dev *dev, const uint8_t *data,
                     uint32_t offset, uint32_t size)
 {