1*4e67e6cbSYasunari Takiguchi /* SPDX-License-Identifier: GPL-2.0 */ 2*4e67e6cbSYasunari Takiguchi /* 3*4e67e6cbSYasunari Takiguchi * cxd2880_spi.h 4*4e67e6cbSYasunari Takiguchi * Sony CXD2880 DVB-T2/T tuner + demodulator driver 5*4e67e6cbSYasunari Takiguchi * SPI access definitions 6*4e67e6cbSYasunari Takiguchi * 7*4e67e6cbSYasunari Takiguchi * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation 8*4e67e6cbSYasunari Takiguchi */ 9*4e67e6cbSYasunari Takiguchi 10*4e67e6cbSYasunari Takiguchi #ifndef CXD2880_SPI_H 11*4e67e6cbSYasunari Takiguchi #define CXD2880_SPI_H 12*4e67e6cbSYasunari Takiguchi 13*4e67e6cbSYasunari Takiguchi #include "cxd2880_common.h" 14*4e67e6cbSYasunari Takiguchi 15*4e67e6cbSYasunari Takiguchi enum cxd2880_spi_mode { 16*4e67e6cbSYasunari Takiguchi CXD2880_SPI_MODE_0, 17*4e67e6cbSYasunari Takiguchi CXD2880_SPI_MODE_1, 18*4e67e6cbSYasunari Takiguchi CXD2880_SPI_MODE_2, 19*4e67e6cbSYasunari Takiguchi CXD2880_SPI_MODE_3 20*4e67e6cbSYasunari Takiguchi }; 21*4e67e6cbSYasunari Takiguchi 22*4e67e6cbSYasunari Takiguchi struct cxd2880_spi { 23*4e67e6cbSYasunari Takiguchi int (*read)(struct cxd2880_spi *spi, u8 *data, 24*4e67e6cbSYasunari Takiguchi u32 size); 25*4e67e6cbSYasunari Takiguchi int (*write)(struct cxd2880_spi *spi, const u8 *data, 26*4e67e6cbSYasunari Takiguchi u32 size); 27*4e67e6cbSYasunari Takiguchi int (*write_read)(struct cxd2880_spi *spi, 28*4e67e6cbSYasunari Takiguchi const u8 *tx_data, u32 tx_size, 29*4e67e6cbSYasunari Takiguchi u8 *rx_data, u32 rx_size); 30*4e67e6cbSYasunari Takiguchi u32 flags; 31*4e67e6cbSYasunari Takiguchi void *user; 32*4e67e6cbSYasunari Takiguchi }; 33*4e67e6cbSYasunari Takiguchi 34*4e67e6cbSYasunari Takiguchi #endif 35