1 /*
2  * Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef _HARDWARE_STRUCTS_SSI_H
8 #define _HARDWARE_STRUCTS_SSI_H
9 
10 #include "hardware/address_mapped.h"
11 #include "hardware/platform_defs.h"
12 #include "hardware/regs/ssi.h"
13 
14 typedef struct {
15     io_rw_32 ctrlr0;
16     io_rw_32 ctrlr1;
17     io_rw_32 ssienr;
18     io_rw_32 mwcr;
19     io_rw_32 ser;
20     io_rw_32 baudr;
21     io_rw_32 txftlr;
22     io_rw_32 rxftlr;
23     io_rw_32 txflr;
24     io_rw_32 rxflr;
25     io_rw_32 sr;
26     io_rw_32 imr;
27     io_rw_32 isr;
28     io_rw_32 risr;
29     io_rw_32 txoicr;
30     io_rw_32 rxoicr;
31     io_rw_32 rxuicr;
32     io_rw_32 msticr;
33     io_rw_32 icr;
34     io_rw_32 dmacr;
35     io_rw_32 dmatdlr;
36     io_rw_32 dmardlr;
37     io_rw_32 idr;
38     io_rw_32 ssi_version_id;
39     io_rw_32 dr0;
40     uint32_t _pad[(0xf0 - 0x60) / 4 - 1];
41     io_rw_32 rx_sample_dly;
42     io_rw_32 spi_ctrlr0;
43     io_rw_32 txd_drive_edge;
44 } ssi_hw_t;
45 
46 #define ssi_hw ((ssi_hw_t *const)XIP_SSI_BASE)
47 #endif
48