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.