Lines Matching refs:bundle
196 dedic_gpio_bundle_t *bundle = NULL; in dedic_gpio_new_bundle() local
208 bundle = calloc(1, bundle_size); in dedic_gpio_new_bundle()
209 ESP_GOTO_ON_FALSE(bundle, ESP_ERR_NO_MEM, err, TAG, "no mem for bundle"); in dedic_gpio_new_bundle()
236 …"new outward bundle(%p) on core[%d], offset=%"PRIu32", mask(%"PRIx32")", bundle, core_id, out_offs… in dedic_gpio_new_bundle()
258 … "new inward bundle(%p) on core[%d], offset=%"PRIu32", mask(%"PRIx32")", bundle, core_id, in_offse… in dedic_gpio_new_bundle()
279 bundle->core_id = core_id; in dedic_gpio_new_bundle()
280 bundle->out_mask = out_mask; in dedic_gpio_new_bundle()
281 bundle->in_mask = in_mask; in dedic_gpio_new_bundle()
282 bundle->out_offset = out_offset; in dedic_gpio_new_bundle()
283 bundle->in_offset = in_offset; in dedic_gpio_new_bundle()
284 bundle->nr_gpio = config->array_size; in dedic_gpio_new_bundle()
285 …memcpy(bundle->gpio_array, config->gpio_array, config->array_size * sizeof(config->gpio_array[0])); in dedic_gpio_new_bundle()
287 *ret_bundle = bundle; // return bundle instance in dedic_gpio_new_bundle()
297 if (bundle) { in dedic_gpio_new_bundle()
298 free(bundle); in dedic_gpio_new_bundle()
303 esp_err_t dedic_gpio_del_bundle(dedic_gpio_bundle_handle_t bundle) in dedic_gpio_del_bundle() argument
307 ESP_GOTO_ON_FALSE(bundle, ESP_ERR_INVALID_ARG, err, TAG, "invalid argument"); in dedic_gpio_del_bundle()
310 ESP_GOTO_ON_FALSE(core_id == bundle->core_id, ESP_FAIL, err, TAG, "del bundle on wrong CPU"); in dedic_gpio_del_bundle()
313 s_platform[core_id]->out_occupied_mask &= ~(bundle->out_mask); in dedic_gpio_del_bundle()
314 s_platform[core_id]->in_occupied_mask &= ~(bundle->in_mask); in dedic_gpio_del_bundle()
321 free(bundle); in dedic_gpio_del_bundle()
334 esp_err_t dedic_gpio_get_out_mask(dedic_gpio_bundle_handle_t bundle, uint32_t *mask) in dedic_gpio_get_out_mask() argument
337 ESP_GOTO_ON_FALSE(bundle && mask, ESP_ERR_INVALID_ARG, err, TAG, "invalid argument"); in dedic_gpio_get_out_mask()
338 *mask = bundle->out_mask; in dedic_gpio_get_out_mask()
343 esp_err_t dedic_gpio_get_in_mask(dedic_gpio_bundle_handle_t bundle, uint32_t *mask) in dedic_gpio_get_in_mask() argument
346 ESP_GOTO_ON_FALSE(bundle && mask, ESP_ERR_INVALID_ARG, err, TAG, "invalid argument"); in dedic_gpio_get_in_mask()
347 *mask = bundle->in_mask; in dedic_gpio_get_in_mask()
353 esp_err_t dedic_gpio_get_out_offset(dedic_gpio_bundle_handle_t bundle, uint32_t *offset) in dedic_gpio_get_out_offset() argument
356 ESP_GOTO_ON_FALSE(bundle && offset, ESP_ERR_INVALID_ARG, err, TAG, "invalid argument"); in dedic_gpio_get_out_offset()
357 *offset = bundle->out_offset; in dedic_gpio_get_out_offset()
362 esp_err_t dedic_gpio_get_in_offset(dedic_gpio_bundle_handle_t bundle, uint32_t *offset) in dedic_gpio_get_in_offset() argument
365 ESP_GOTO_ON_FALSE(bundle && offset, ESP_ERR_INVALID_ARG, err, TAG, "invalid argument"); in dedic_gpio_get_in_offset()
366 *offset = bundle->in_offset; in dedic_gpio_get_in_offset()
371 void dedic_gpio_bundle_write(dedic_gpio_bundle_handle_t bundle, uint32_t mask, uint32_t value) in dedic_gpio_bundle_write() argument
375 …dedic_gpio_cpu_ll_write_mask(bundle->out_mask & (mask << bundle->out_offset), value << bundle->out… in dedic_gpio_bundle_write()
378 uint32_t dedic_gpio_bundle_read_out(dedic_gpio_bundle_handle_t bundle) in dedic_gpio_bundle_read_out() argument
383 return (value & bundle->out_mask) >> (bundle->out_offset); in dedic_gpio_bundle_read_out()
386 uint32_t dedic_gpio_bundle_read_in(dedic_gpio_bundle_handle_t bundle) in dedic_gpio_bundle_read_in() argument
391 return (value & bundle->in_mask) >> (bundle->in_offset); in dedic_gpio_bundle_read_in()
395 esp_err_t dedic_gpio_bundle_set_interrupt_and_callback(dedic_gpio_bundle_handle_t bundle, uint32_t … in dedic_gpio_bundle_set_interrupt_and_callback() argument
398 ESP_GOTO_ON_FALSE(bundle, ESP_ERR_INVALID_ARG, err, TAG, "invalid argument"); in dedic_gpio_bundle_set_interrupt_and_callback()
403 uint32_t channel_mask = bundle->in_mask & (mask << bundle->in_offset); in dedic_gpio_bundle_set_interrupt_and_callback()
413 s_platform[core_id]->in_bundles[channel] = bundle; in dedic_gpio_bundle_set_interrupt_and_callback()