mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-03 22:08:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
 | 
						|
 *
 | 
						|
 * SPDX-License-Identifier: Apache-2.0
 | 
						|
 */
 | 
						|
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include <stdint.h>
 | 
						|
#include "sys/queue.h"
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
/*
 | 
						|
 *  SLC2 DMA Desc struct, aka lldesc_t
 | 
						|
 *
 | 
						|
 * --------------------------------------------------------------
 | 
						|
 * | own | EoF | sub_sof | 5'b0   | length [11:0] | size [11:0] |
 | 
						|
 * --------------------------------------------------------------
 | 
						|
 * |            buf_ptr [31:0]                                  |
 | 
						|
 * --------------------------------------------------------------
 | 
						|
 * |            next_desc_ptr [31:0]                            |
 | 
						|
 * --------------------------------------------------------------
 | 
						|
 */
 | 
						|
 | 
						|
/* this bitfield is start from the LSB!!! */
 | 
						|
typedef struct lldesc_s {
 | 
						|
    volatile uint32_t size  : 12,
 | 
						|
             length: 12,
 | 
						|
             offset: 5, /* h/w reserved 5bit, s/w use it as offset in buffer */
 | 
						|
             sosf  : 1, /* start of sub-frame */
 | 
						|
             eof   : 1, /* end of frame */
 | 
						|
             owner : 1; /* hw or sw */
 | 
						|
    volatile const uint8_t *buf;       /* point to buffer data */
 | 
						|
    union {
 | 
						|
        volatile uint32_t empty;
 | 
						|
        STAILQ_ENTRY(lldesc_s) qe;  /* pointing to the next desc */
 | 
						|
    };
 | 
						|
} lldesc_t;
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 |