• Home
  • Raw
  • Download

Lines Matching +full:- +full:- +full:setup

2  * Copyright (c) 2008-2015 Travis Geiselbrecht
58 uint8_t *ptr = malloc(desc->len + len); in append_desc_data()
62 memcpy(ptr, desc->desc, desc->len); in append_desc_data()
63 memcpy(ptr + desc->len, dat, len); in append_desc_data()
66 if ((desc->flags & USB_DESC_FLAG_STATIC) == 0) in append_desc_data()
67 free(desc->desc); in append_desc_data()
68 desc->flags &= ~USB_DESC_FLAG_STATIC; in append_desc_data()
70 desc->desc = ptr; in append_desc_data()
71 desc->len += len; in append_desc_data()
78 return ((uint8_t *)desc->desc)[4]; in usb_get_current_iface_num()
83 return usb_get_current_iface_num(&usb.config->highspeed.config); in usb_get_current_iface_num_highspeed()
88 return usb_get_current_iface_num(&usb.config->lowspeed.config); in usb_get_current_iface_num_lowspeed()
113 ((uint16_t *)desc->desc)[1] += len; in usb_append_interface()
115 ((uint8_t *)desc->desc)[4] = interface_num; in usb_append_interface()
118 return interface_num - 1; in usb_append_interface()
123 return usb_append_interface(&usb.config->highspeed.config, int_descr, len); in usb_append_interface_highspeed()
128 return usb_append_interface(&usb.config->lowspeed.config, int_descr, len); in usb_append_interface_lowspeed()
148 desc->desc = (void *)data; in usb_set_string_descriptor()
149 desc->len = datalen; in usb_set_string_descriptor()
155 ((uint16_t *)usb.config->lowspeed.device.desc)[4] = vendor; in set_usb_id()
156 ((uint16_t *)usb.config->lowspeed.device.desc)[5] = product; in set_usb_id()
158 ((uint16_t *)usb.config->highspeed.device.desc)[4] = vendor; in set_usb_id()
159 ((uint16_t *)usb.config->highspeed.device.desc)[5] = product; in set_usb_id()
216 c->cb = cb; in usb_register_callback()
217 c->cookie = cookie; in usb_register_callback()
218 list_add_tail(&usb.cb_list, &c->node); in usb_register_callback()
227 c->cb(c->cookie, op, args); in usb_do_callbacks()
238 const struct usb_setup *setup = args->setup; in usbc_callback() local
239 DEBUG_ASSERT(setup); in usbc_callback()
240 LTRACEF("SETUP: req_type=%#x req=%#x value=%#x index=%#x len=%#x\n", in usbc_callback()
241 setup->request_type, setup->request, setup->value, setup->index, setup->length); in usbc_callback()
243 if ((setup->request_type & TYPE_MASK) == TYPE_STANDARD) { in usbc_callback()
244 switch (setup->request) { in usbc_callback()
246 LTRACEF("SET_ADDRESS 0x%x\n", setup->value); in usbc_callback()
248 usbc_set_address(setup->value); in usbc_callback()
253 LTRACEF("SET/CLEAR_FEATURE, feature 0x%x\n", setup->value); in usbc_callback()
263 if ((setup->request_type & RECIP_MASK) == RECIP_DEVICE) { in usbc_callback()
269 speed = &usb.config->highspeed; in usbc_callback()
271 speed = &usb.config->lowspeed; in usbc_callback()
274 switch (setup->value) { in usbc_callback()
277 usbc_ep0_send(speed->device.desc, speed->device.len, in usbc_callback()
278 setup->length); in usbc_callback()
282 usbc_ep0_send(speed->config.desc, speed->config.len, in usbc_callback()
283 setup->length); in usbc_callback()
287 usbc_ep0_send(usb.config->langid.desc, in usbc_callback()
288 usb.config->langid.len, setup->length); in usbc_callback()
294 uint8_t id = setup->value & 0xff; in usbc_callback()
299 setup->length); in usbc_callback()
312 usbc_ep0_send(speed->device_qual.desc, in usbc_callback()
313 speed->device_qual.len, setup->length); in usbc_callback()
321 LTRACEF("unhandled descriptor %#x\n", setup->value); in usbc_callback()
331 LTRACEF("SET_CONFIGURATION %d\n", setup->value); in usbc_callback()
333 usb_set_active_config(setup->value); in usbc_callback()
338 usbc_ep0_send(&usb.active_config, 1, setup->length); in usbc_callback()
342 LTRACEF("SET_INTERFACE %d\n", setup->value); in usbc_callback()
349 usbc_ep0_send(&i, 1, setup->length); in usbc_callback()
356 usbc_ep0_send(&i, 2, setup->length); in usbc_callback()
360 LTRACEF("unhandled standard request 0x%x\n", setup->request); in usbc_callback()
373 // other non setup messages, pass them down to anyone else in usbc_callback()