Commit e5273381 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

greybus: APBridge: move APBridge request protocol to a common .h file

This moves all of the APBridge request protocol commands that are
currently used to a common .h file for everyone to be able to use them
in the future, where needed.
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Tested-by: default avatarMark Greer <mgreer@animalcreek.com>
Reviewed-by: default avatarJohan Hovold <johan@hovoldconsulting.com>
parent ed4596e9
...@@ -73,9 +73,6 @@ struct gb_camera_stream_config { ...@@ -73,9 +73,6 @@ struct gb_camera_stream_config {
* Camera Protocol Operations * Camera Protocol Operations
*/ */
/* vendor request to control the CSI transmitter */
#define REQUEST_CSI_TX_CONTROL 0x08
struct ap_csi_config_request { struct ap_csi_config_request {
__u8 csi_id; __u8 csi_id;
__u8 clock_mode; __u8 clock_mode;
...@@ -169,13 +166,13 @@ static int gb_camera_configure_streams(struct gb_camera *gcam, ...@@ -169,13 +166,13 @@ static int gb_camera_configure_streams(struct gb_camera *gcam,
csi_cfg.num_lanes = 4; csi_cfg.num_lanes = 4;
csi_cfg.bus_freq = cpu_to_le32(960000000); csi_cfg.bus_freq = cpu_to_le32(960000000);
ret = gb_hd_output(gcam->connection->hd, &csi_cfg, ret = gb_hd_output(gcam->connection->hd, &csi_cfg,
sizeof(csi_cfg), REQUEST_CSI_TX_CONTROL, sizeof(csi_cfg),
false); GB_APB_REQUEST_CSI_TX_CONTROL, false);
} else if (nstreams == 0) { } else if (nstreams == 0) {
csi_cfg.csi_id = 1; csi_cfg.csi_id = 1;
ret = gb_hd_output(gcam->connection->hd, &csi_cfg, ret = gb_hd_output(gcam->connection->hd, &csi_cfg,
sizeof(csi_cfg), REQUEST_CSI_TX_CONTROL, sizeof(csi_cfg),
false); GB_APB_REQUEST_CSI_TX_CONTROL, false);
} }
if (ret < 0) if (ret < 0)
......
...@@ -44,25 +44,6 @@ MODULE_DEVICE_TABLE(usb, id_table); ...@@ -44,25 +44,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
*/ */
#define NUM_CPORT_OUT_URB (8 * NUM_BULKS) #define NUM_CPORT_OUT_URB (8 * NUM_BULKS)
/* vendor request APB1 log */
#define REQUEST_LOG 0x02
/* vendor request to map a cport to bulk in and bulk out endpoints */
#define REQUEST_EP_MAPPING 0x03
/* vendor request to get the number of cports available */
#define REQUEST_CPORT_COUNT 0x04
/* vendor request to reset a cport state */
#define REQUEST_RESET_CPORT 0x05
/* vendor request to time the latency of messages on a given cport */
#define REQUEST_LATENCY_TAG_EN 0x06
#define REQUEST_LATENCY_TAG_DIS 0x07
/* vendor request to control the CSI transmitter */
#define REQUEST_CSI_TX_CONTROL 0x08
/* /*
* @endpoint: bulk in endpoint for CPort data * @endpoint: bulk in endpoint for CPort data
* @urb: array of urbs for the CPort in messages * @urb: array of urbs for the CPort in messages
...@@ -191,7 +172,7 @@ static int map_cport_to_ep(struct es2_ap_dev *es2, ...@@ -191,7 +172,7 @@ static int map_cport_to_ep(struct es2_ap_dev *es2,
retval = usb_control_msg(es2->usb_dev, retval = usb_control_msg(es2->usb_dev,
usb_sndctrlpipe(es2->usb_dev, 0), usb_sndctrlpipe(es2->usb_dev, 0),
REQUEST_EP_MAPPING, GB_APB_REQUEST_EP_MAPPING,
USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_INTERFACE, USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_INTERFACE,
0x00, 0x00, 0x00, 0x00,
(char *)cport_to_ep, (char *)cport_to_ep,
...@@ -521,7 +502,7 @@ static int cport_reset(struct gb_host_device *hd, u16 cport_id) ...@@ -521,7 +502,7 @@ static int cport_reset(struct gb_host_device *hd, u16 cport_id)
int retval; int retval;
retval = usb_control_msg(udev, usb_sndctrlpipe(udev, 0), retval = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
REQUEST_RESET_CPORT, GB_APB_REQUEST_RESET_CPORT,
USB_DIR_OUT | USB_TYPE_VENDOR | USB_DIR_OUT | USB_TYPE_VENDOR |
USB_RECIP_INTERFACE, cport_id, 0, USB_RECIP_INTERFACE, cport_id, 0,
NULL, 0, ES2_TIMEOUT); NULL, 0, ES2_TIMEOUT);
...@@ -559,7 +540,7 @@ static int latency_tag_enable(struct gb_host_device *hd, u16 cport_id) ...@@ -559,7 +540,7 @@ static int latency_tag_enable(struct gb_host_device *hd, u16 cport_id)
} }
retval = usb_control_msg(udev, usb_sndctrlpipe(udev, 0), retval = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
REQUEST_LATENCY_TAG_EN, GB_APB_REQUEST_LATENCY_TAG_EN,
USB_DIR_OUT | USB_TYPE_VENDOR | USB_DIR_OUT | USB_TYPE_VENDOR |
USB_RECIP_INTERFACE, cport_id, 0, NULL, USB_RECIP_INTERFACE, cport_id, 0, NULL,
0, ES2_TIMEOUT); 0, ES2_TIMEOUT);
...@@ -582,7 +563,7 @@ static int latency_tag_disable(struct gb_host_device *hd, u16 cport_id) ...@@ -582,7 +563,7 @@ static int latency_tag_disable(struct gb_host_device *hd, u16 cport_id)
} }
retval = usb_control_msg(udev, usb_sndctrlpipe(udev, 0), retval = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
REQUEST_LATENCY_TAG_DIS, GB_APB_REQUEST_LATENCY_TAG_DIS,
USB_DIR_OUT | USB_TYPE_VENDOR | USB_DIR_OUT | USB_TYPE_VENDOR |
USB_RECIP_INTERFACE, cport_id, 0, NULL, USB_RECIP_INTERFACE, cport_id, 0, NULL,
0, ES2_TIMEOUT); 0, ES2_TIMEOUT);
...@@ -756,7 +737,7 @@ static void apb_log_get(struct es2_ap_dev *es2, char *buf) ...@@ -756,7 +737,7 @@ static void apb_log_get(struct es2_ap_dev *es2, char *buf)
do { do {
retval = usb_control_msg(es2->usb_dev, retval = usb_control_msg(es2->usb_dev,
usb_rcvctrlpipe(es2->usb_dev, 0), usb_rcvctrlpipe(es2->usb_dev, 0),
REQUEST_LOG, GB_APB_REQUEST_LOG,
USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_INTERFACE, USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_INTERFACE,
0x00, 0x00, 0x00, 0x00,
buf, buf,
...@@ -885,7 +866,7 @@ static int apb_get_cport_count(struct usb_device *udev) ...@@ -885,7 +866,7 @@ static int apb_get_cport_count(struct usb_device *udev)
return -ENOMEM; return -ENOMEM;
retval = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), retval = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
REQUEST_CPORT_COUNT, GB_APB_REQUEST_CPORT_COUNT,
USB_DIR_IN | USB_TYPE_VENDOR | USB_DIR_IN | USB_TYPE_VENDOR |
USB_RECIP_INTERFACE, 0, 0, cport_count, USB_RECIP_INTERFACE, 0, 0, cport_count,
sizeof(*cport_count), ES2_TIMEOUT); sizeof(*cport_count), ES2_TIMEOUT);
......
...@@ -154,6 +154,28 @@ struct gb_control_interface_version_response { ...@@ -154,6 +154,28 @@ struct gb_control_interface_version_response {
} __packed; } __packed;
/* APBridge protocol */
/* request APB1 log */
#define GB_APB_REQUEST_LOG 0x02
/* request to map a cport to bulk in and bulk out endpoints */
#define GB_APB_REQUEST_EP_MAPPING 0x03
/* request to get the number of cports available */
#define GB_APB_REQUEST_CPORT_COUNT 0x04
/* request to reset a cport state */
#define GB_APB_REQUEST_RESET_CPORT 0x05
/* request to time the latency of messages on a given cport */
#define GB_APB_REQUEST_LATENCY_TAG_EN 0x06
#define GB_APB_REQUEST_LATENCY_TAG_DIS 0x07
/* request to control the CSI transmitter */
#define GB_APB_REQUEST_CSI_TX_CONTROL 0x08
/* Firmware Protocol */ /* Firmware Protocol */
/* Version of the Greybus firmware protocol we support */ /* Version of the Greybus firmware protocol we support */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment