162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * rt5514-spi.h -- RT5514 driver 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright 2015 Realtek Semiconductor Corp. 662306a36Sopenharmony_ci * Author: Oder Chiou <oder_chiou@realtek.com> 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#ifndef __RT5514_SPI_H__ 1062306a36Sopenharmony_ci#define __RT5514_SPI_H__ 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci/** 1362306a36Sopenharmony_ci * RT5514_SPI_BUF_LEN is the buffer size of SPI master controller. 1462306a36Sopenharmony_ci*/ 1562306a36Sopenharmony_ci#define RT5514_SPI_BUF_LEN 240 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci#define RT5514_BUFFER_VOICE_BASE 0x18000200 1862306a36Sopenharmony_ci#define RT5514_BUFFER_VOICE_LIMIT 0x18000204 1962306a36Sopenharmony_ci#define RT5514_BUFFER_VOICE_WP 0x1800020c 2062306a36Sopenharmony_ci#define RT5514_IRQ_CTRL 0x18002094 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci#define RT5514_IRQ_STATUS_BIT (0x1 << 5) 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci/* SPI Command */ 2562306a36Sopenharmony_cienum { 2662306a36Sopenharmony_ci RT5514_SPI_CMD_16_READ = 0, 2762306a36Sopenharmony_ci RT5514_SPI_CMD_16_WRITE, 2862306a36Sopenharmony_ci RT5514_SPI_CMD_32_READ, 2962306a36Sopenharmony_ci RT5514_SPI_CMD_32_WRITE, 3062306a36Sopenharmony_ci RT5514_SPI_CMD_BURST_READ, 3162306a36Sopenharmony_ci RT5514_SPI_CMD_BURST_WRITE, 3262306a36Sopenharmony_ci}; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ciint rt5514_spi_burst_read(unsigned int addr, u8 *rxbuf, size_t len); 3562306a36Sopenharmony_ciint rt5514_spi_burst_write(u32 addr, const u8 *txbuf, size_t len); 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci#endif /* __RT5514_SPI_H__ */ 38