|
1 | 1 | /*
|
2 | 2 | * Copyright (c) 2024 Nordic Semiconductor ASA
|
| 3 | + * Copyright (c) 2025 Tenstorrent AI ULC |
3 | 4 | *
|
4 | 5 | * SPDX-License-Identifier: Apache-2.0
|
5 | 6 | */
|
6 | 7 |
|
| 8 | +#if DT_HAS_COMPAT_STATUS_OKAY(snps_designware_ssi_v2) |
| 9 | +/* |
| 10 | + * Later versions of the SSI have different register offsets. Define a macro |
| 11 | + * to use these. |
| 12 | + */ |
| 13 | +#define SSI_VERSION_2 1 |
| 14 | +#endif |
| 15 | + |
7 | 16 | /*
|
8 | 17 | * This header is part of mspi_dw.c extracted only for clarity.
|
9 | 18 | * It is not supposed to be included by any file other than mspi_dw.c.
|
10 | 19 | */
|
11 | 20 |
|
12 | 21 | /* CTRLR0 - Control Register 0 */
|
13 |
| -#define CTRLR0_SPI_FRF_MASK GENMASK(23, 22) |
| 22 | +#define CTRLR0_SPI_FRF_MASK COND_CODE_1(SSI_VERSION_2, GENMASK(22, 21), GENMASK(23, 22)) |
14 | 23 | #define CTRLR0_SPI_FRF_STANDARD 0UL
|
15 | 24 | #define CTRLR0_SPI_FRF_DUAL 1UL
|
16 | 25 | #define CTRLR0_SPI_FRF_QUAD 2UL
|
17 | 26 | #define CTRLR0_SPI_FRF_OCTAL 3UL
|
18 |
| -#define CTRLR0_TMOD_MASK GENMASK(11, 10) |
| 27 | +#define CTRLR0_TMOD_MASK COND_CODE_1(SSI_VERSION_2, GENMASK(9, 8), GENMASK(11, 10)) |
19 | 28 | #define CTRLR0_TMOD_TX_RX 0UL
|
20 | 29 | #define CTRLR0_TMOD_TX 1UL
|
21 | 30 | #define CTRLR0_TMOD_RX 2UL
|
22 | 31 | #define CTRLR0_TMOD_EEPROM 3UL
|
23 |
| -#define CTRLR0_SCPOL_BIT BIT(9) |
24 |
| -#define CTRLR0_SCPH_BIT BIT(8) |
25 |
| -#define CTRLR0_FRF_MASK GENMASK(7, 6) |
| 32 | +#define CTRLR0_SCPOL_BIT COND_CODE_1(SSI_VERSION_2, BIT(7), BIT(9)) |
| 33 | +#define CTRLR0_SCPH_BIT COND_CODE_1(SSI_VERSION_2, BIT(6), BIT(8)) |
| 34 | +#define CTRLR0_FRF_MASK COND_CODE_1(SSI_VERSION_2, GENMASK(5, 4), GENMASK(7, 6)) |
26 | 35 | #define CTRLR0_FRF_SPI 0UL
|
27 | 36 | #define CTRLR0_FRF_SSP 1UL
|
28 | 37 | #define CTRLR0_FRF_MICROWIRE 2UL
|
29 |
| -#define CTRLR0_DFS_MASK GENMASK(4, 0) |
| 38 | +#define CTRLR0_DFS_MASK COND_CODE_1(SSI_VERSION_2, GENMASK(3, 0), GENMASK(4, 0)) |
| 39 | +#define CTRLR0_DFS32_MASK COND_CODE_1(SSI_VERSION_2, GENMASK(20, 16), (0)) |
30 | 40 |
|
31 | 41 | /* CTRLR1- Control Register 1 */
|
32 | 42 | #define CTRLR1_NDF_MASK GENMASK(15, 0)
|
|
0 commit comments