forked from mirrors/linux
		
	 6a4e9307cd
			
		
	
	
		6a4e9307cd
		
	
	
	
	
		
			
			Spelling mistake (triple letters) in comment. Detected with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr> Link: https://lore.kernel.org/r/20220521111145.81697-62-Julia.Lawall@inria.fr Signed-off-by: Vinod Koul <vkoul@kernel.org>
		
			
				
	
	
		
			83 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| /*
 | |
|  * Copyright (c) 2020, Linaro Limited
 | |
|  */
 | |
| 
 | |
| #ifndef QCOM_GPI_DMA_H
 | |
| #define QCOM_GPI_DMA_H
 | |
| 
 | |
| /**
 | |
|  * enum spi_transfer_cmd - spi transfer commands
 | |
|  */
 | |
| enum spi_transfer_cmd {
 | |
| 	SPI_TX = 1,
 | |
| 	SPI_RX,
 | |
| 	SPI_DUPLEX,
 | |
| };
 | |
| 
 | |
| /**
 | |
|  * struct gpi_spi_config - spi config for peripheral
 | |
|  *
 | |
|  * @loopback_en: spi loopback enable when set
 | |
|  * @clock_pol_high: clock polarity
 | |
|  * @data_pol_high: data polarity
 | |
|  * @pack_en: process tx/rx buffers as packed
 | |
|  * @word_len: spi word length
 | |
|  * @clk_div: source clock divider
 | |
|  * @clk_src: serial clock
 | |
|  * @cmd: spi cmd
 | |
|  * @fragmentation: keep CS asserted at end of sequence
 | |
|  * @cs: chip select toggle
 | |
|  * @set_config: set peripheral config
 | |
|  * @rx_len: receive length for buffer
 | |
|  */
 | |
| struct gpi_spi_config {
 | |
| 	u8 set_config;
 | |
| 	u8 loopback_en;
 | |
| 	u8 clock_pol_high;
 | |
| 	u8 data_pol_high;
 | |
| 	u8 pack_en;
 | |
| 	u8 word_len;
 | |
| 	u8 fragmentation;
 | |
| 	u8 cs;
 | |
| 	u32 clk_div;
 | |
| 	u32 clk_src;
 | |
| 	enum spi_transfer_cmd cmd;
 | |
| 	u32 rx_len;
 | |
| };
 | |
| 
 | |
| enum i2c_op {
 | |
| 	I2C_WRITE = 1,
 | |
| 	I2C_READ,
 | |
| };
 | |
| 
 | |
| /**
 | |
|  * struct gpi_i2c_config - i2c config for peripheral
 | |
|  *
 | |
|  * @pack_enable: process tx/rx buffers as packed
 | |
|  * @cycle_count: clock cycles to be sent
 | |
|  * @high_count: high period of clock
 | |
|  * @low_count: low period of clock
 | |
|  * @clk_div: source clock divider
 | |
|  * @addr: i2c bus address
 | |
|  * @stretch: stretch the clock at eot
 | |
|  * @set_config: set peripheral config
 | |
|  * @rx_len: receive length for buffer
 | |
|  * @op: i2c cmd
 | |
|  * @muli-msg: is part of multi i2c r-w msgs
 | |
|  */
 | |
| struct gpi_i2c_config {
 | |
| 	u8 set_config;
 | |
| 	u8 pack_enable;
 | |
| 	u8 cycle_count;
 | |
| 	u8 high_count;
 | |
| 	u8 low_count;
 | |
| 	u8 addr;
 | |
| 	u8 stretch;
 | |
| 	u16 clk_div;
 | |
| 	u32 rx_len;
 | |
| 	enum i2c_op op;
 | |
| 	bool multi_msg;
 | |
| };
 | |
| 
 | |
| #endif /* QCOM_GPI_DMA_H */
 |