ec/google/wilco: Turn camera power on
Send the EC command required to turn the camera power on
and verify that it shows up on the USB bus.
Change-Id: I9e9ba712a11cef85cde91ac21a4b6b5090ef58dc
Signed-off-by: Duncan Laurie <dlaurie@google.com>
Reviewed-on: https://review.coreboot.org/c/29987
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
diff --git a/src/ec/google/wilco/chip.c b/src/ec/google/wilco/chip.c
index e1f468d..a9caaec 100644
--- a/src/ec/google/wilco/chip.c
+++ b/src/ec/google/wilco/chip.c
@@ -69,6 +69,9 @@
/* Enable WiFi radio */
wilco_ec_radio_control(RADIO_WIFI, 1);
+
+ /* Turn on camera power */
+ wilco_ec_send(KB_CAMERA, CAMERA_ON);
}
static void wilco_ec_resource(struct device *dev, int index,
diff --git a/src/ec/google/wilco/commands.h b/src/ec/google/wilco/commands.h
index 0989b20..752e19b 100644
--- a/src/ec/google/wilco/commands.h
+++ b/src/ec/google/wilco/commands.h
@@ -32,6 +32,8 @@
KB_SAVE = 0x2f,
/* Restore PS/2 data after S3 resume */
KB_RESTORE = 0x30,
+ /* Manage the EC control of camera power */
+ KB_CAMERA = 0x33,
/* Retrieve information about the EC */
KB_EC_INFO = 0x38,
/* Set ACPI mode on or off */
@@ -67,6 +69,11 @@
RADIO_WIFI = 0x02,
};
+enum ec_camera {
+ CAMERA_ON = 0,
+ CAMERA_OFF
+};
+
/**
* wilco_ec_radio_control() - Control wireless radios.
* @ec_radio: Wireless radio type.