cros_ec: Support the LDO access method used by spring
Add a driver to support the special LDO access used by spring. This is a custom method in the cros_ec protocol - it does not use an I2C pass-through. There are two implementation choices: 1. Write a special LDO driver which can talk across the EC. Duplicate all the logic from TPS65090 for retrying when the LDO fails to come up. 2. Write a special I2C bus driver which pretends to be a TPS65090 and transfers reads and writes using the LDO message. Either is distasteful. The latter method is chosen since it results in less code duplication and a fairly simple (30-line) implementation of the core logic. The crosec 'ldo' subcommand could be removed (since i2c md/mw will work instead) but is retained as a convenience. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -350,7 +350,7 @@ int cros_ec_read_build_info(struct cros_ec_dev *dev, char **strp);
|
||||
* @param state new state of the LDO/FET : EC_LDO_STATE_ON|OFF
|
||||
* @return 0 if ok, -1 on error
|
||||
*/
|
||||
int cros_ec_set_ldo(struct cros_ec_dev *dev, uint8_t index, uint8_t state);
|
||||
int cros_ec_set_ldo(struct udevice *dev, uint8_t index, uint8_t state);
|
||||
|
||||
/**
|
||||
* Read back a LDO / FET current state.
|
||||
@@ -360,7 +360,7 @@ int cros_ec_set_ldo(struct cros_ec_dev *dev, uint8_t index, uint8_t state);
|
||||
* @param state current state of the LDO/FET : EC_LDO_STATE_ON|OFF
|
||||
* @return 0 if ok, -1 on error
|
||||
*/
|
||||
int cros_ec_get_ldo(struct cros_ec_dev *dev, uint8_t index, uint8_t *state);
|
||||
int cros_ec_get_ldo(struct udevice *dev, uint8_t index, uint8_t *state);
|
||||
|
||||
/**
|
||||
* Get access to the error reported when cros_ec_board_init() was called
|
||||
|
||||
Reference in New Issue
Block a user