#include <linux/compiler.h>
#include <ec_commands.h>
-#include <fdtdec.h>
#include <cros_ec_message.h>
#include <asm/gpio.h>
+#include <dm/of_extra.h>
/* Our configuration information */
struct cros_ec_dev {
* @param scan Place to put the scan results
* @return 0 if ok, -1 on error
*/
-int cros_ec_scan_keyboard(struct cros_ec_dev *dev, struct mbkp_keyscan *scan);
+int cros_ec_scan_keyboard(struct udevice *dev, struct mbkp_keyscan *scan);
/**
* Read which image is currently running on the CROS-EC device.
* @param dev CROS-EC device
* @return 0 if no interrupt is pending
*/
-int cros_ec_interrupt_pending(struct cros_ec_dev *dev);
+int cros_ec_interrupt_pending(struct udevice *dev);
enum {
CROS_EC_OK,
*/
int cros_ec_calc_checksum(const uint8_t *data, int size);
-/**
- * Decode a flash region parameter
- *
- * @param argc Number of params remaining
- * @param argv List of remaining parameters
- * @return flash region (EC_FLASH_REGION_...) or -1 on error
- */
-int cros_ec_decode_region(int argc, char * const argv[]);
-
int cros_ec_flash_erase(struct cros_ec_dev *dev, uint32_t offset,
uint32_t size);
int cros_ec_flash_read(struct cros_ec_dev *dev, uint8_t *data, uint32_t offset,
uint32_t size);
+/**
+ * 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);
+
/**
* Write data to the flash
*
/**
* Returns information from the FDT about the Chrome EC flash
*
- * @param blob FDT blob to use
- * @param node Node offset to read from
+ * @param dev Device to read from
* @param config Structure to use to return information
*/
-int cros_ec_decode_ec_flash(const void *blob, int node,
- struct fdt_cros_ec *config);
+int cros_ec_decode_ec_flash(struct udevice *dev, struct fdt_cros_ec *config);
/**
* Check the current keyboard state, in case recovery mode is requested.
* Tunnel an I2C transfer to the EC
*
* @param dev CROS-EC device
+ * @param port The remote port on EC to use
* @param msg List of messages to transfer
* @param nmsgs Number of messages to transfer
*/
-int cros_ec_i2c_tunnel(struct udevice *dev, struct i2c_msg *msg, int nmsgs);
-
-/*
- * Tunnel an I2C transfer to the EC
- *
- * @param dev CROS-EC device
- * @param chip Chip address (7-bit I2C address)
- * @param addr Register address to read/write
- * @param alen Length of register address in bytes
- * @param buffer Buffer containing data to read/write
- * @param len Length of buffer
- * @param is_read 1 if this is a read, 0 if this is a write
- */
-int cros_ec_i2c_xfer_old(struct cros_ec_dev *dev, uchar chip, uint addr,
- int alen, uchar *buffer, int len, int is_read);
+int cros_ec_i2c_tunnel(struct udevice *dev, int port, struct i2c_msg *msg,
+ int nmsgs);
#endif