coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
spi.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef __NVIDIA_TEGRA124_SPI_H__
4 #define __NVIDIA_TEGRA124_SPI_H__
5 
6 #include <spi-generic.h>
7 #include <soc/dma.h>
8 #include <stddef.h>
9 
11  u32 command1; /* 0x000: SPI_COMMAND1 */
12  u32 command2; /* 0x004: SPI_COMMAND2 */
13  u32 timing1; /* 0x008: SPI_CS_TIM1 */
14  u32 timing2; /* 0x00c: SPI_CS_TIM2 */
15  u32 trans_status; /* 0x010: SPI_TRANS_STATUS */
16  u32 fifo_status; /* 0x014: SPI_FIFO_STATUS */
17  u32 tx_data; /* 0x018: SPI_TX_DATA */
18  u32 rx_data; /* 0x01c: SPI_RX_DATA */
19  u32 dma_ctl; /* 0x020: SPI_DMA_CTL */
20  u32 dma_blk; /* 0x024: SPI_DMA_BLK */
21  u32 rsvd[56]; /* 0x028-0x107: reserved */
22  u32 tx_fifo; /* 0x108: SPI_FIFO1 */
23  u32 rsvd2[31]; /* 0x10c-0x187 reserved */
24  u32 rx_fifo; /* 0x188: SPI_FIFO2 */
25  u32 spare_ctl; /* 0x18c: SPI_SPARE_CTRL */
27 check_member(tegra_spi_regs, spare_ctl, 0x18c);
28 
33 };
34 
37 
38  /* static configuration */
39  struct spi_slave slave;
40  unsigned int req_sel;
41 
42  int dual_mode; /* for x2 transfers with bit interleaving */
43 
44  /* context (used internally) */
48 };
49 
50 struct tegra_spi_channel *tegra_spi_init(unsigned int bus);
51 
52 #endif /* __NVIDIA_TEGRA124_SPI_H__ */
struct em100_msg_header __packed
struct tegra_spi_channel * tegra_spi_init(unsigned int bus)
Definition: spi.c:156
spi_xfer_mode
Definition: spi.h:29
@ XFER_MODE_PIO
Definition: spi.h:31
@ XFER_MODE_NONE
Definition: spi.h:30
@ XFER_MODE_DMA
Definition: spi.h:32
check_member(tegra_spi_regs, spare_ctl, 0x18c)
uint32_t u32
Definition: stdint.h:51
uint8_t u8
Definition: stdint.h:45
Definition: device.h:76
enum spi_xfer_mode xfer_mode
Definition: spi.h:47
unsigned int req_sel
Definition: spi.h:40
struct tegra_spi_regs * regs
Definition: spi.h:36
struct apb_dma_channel * dma_in
Definition: spi.h:46
int dual_mode
Definition: spi.h:42
u8 * in_buf
Definition: spi.h:45
u8 * out_buf
Definition: spi.h:45
struct apb_dma_channel * dma_out
Definition: spi.h:46
struct spi_slave slave
Definition: spi.h:39
u32 tx_data
Definition: spi.h:17
u32 spare_ctl
Definition: spi.h:25
u32 trans_status
Definition: spi.h:15
u32 command1
Definition: spi.h:11
u32 timing2
Definition: spi.h:14
u32 command2
Definition: spi.h:12
u32 fifo_status
Definition: spi.h:16
u32 dma_blk
Definition: spi.h:20
u32 rsvd[56]
Definition: spi.h:21
u32 rx_data
Definition: spi.h:18
u32 rsvd2[31]
Definition: spi.h:23
u32 tx_fifo
Definition: spi.h:22
u32 rx_fifo
Definition: spi.h:24
u32 dma_ctl
Definition: spi.h:19
u32 timing1
Definition: spi.h:13