18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * cxd2880_spi.h
48c2ecf20Sopenharmony_ci * Sony CXD2880 DVB-T2/T tuner + demodulator driver
58c2ecf20Sopenharmony_ci * SPI access definitions
68c2ecf20Sopenharmony_ci *
78c2ecf20Sopenharmony_ci * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation
88c2ecf20Sopenharmony_ci */
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci#ifndef CXD2880_SPI_H
118c2ecf20Sopenharmony_ci#define CXD2880_SPI_H
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci#include "cxd2880_common.h"
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_cienum cxd2880_spi_mode {
168c2ecf20Sopenharmony_ci	CXD2880_SPI_MODE_0,
178c2ecf20Sopenharmony_ci	CXD2880_SPI_MODE_1,
188c2ecf20Sopenharmony_ci	CXD2880_SPI_MODE_2,
198c2ecf20Sopenharmony_ci	CXD2880_SPI_MODE_3
208c2ecf20Sopenharmony_ci};
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_cistruct cxd2880_spi {
238c2ecf20Sopenharmony_ci	int (*read)(struct cxd2880_spi *spi, u8 *data,
248c2ecf20Sopenharmony_ci		    u32 size);
258c2ecf20Sopenharmony_ci	int (*write)(struct cxd2880_spi *spi, const u8 *data,
268c2ecf20Sopenharmony_ci		     u32 size);
278c2ecf20Sopenharmony_ci	int (*write_read)(struct cxd2880_spi *spi,
288c2ecf20Sopenharmony_ci			  const u8 *tx_data, u32 tx_size,
298c2ecf20Sopenharmony_ci			  u8 *rx_data, u32 rx_size);
308c2ecf20Sopenharmony_ci	u32 flags;
318c2ecf20Sopenharmony_ci	void *user;
328c2ecf20Sopenharmony_ci};
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci#endif
35