162306a36Sopenharmony_ci/*
262306a36Sopenharmony_ci * Copyright (c) 2003-2016 Cavium Inc.
362306a36Sopenharmony_ci *
462306a36Sopenharmony_ci * This file is free software; you can redistribute it and/or modify
562306a36Sopenharmony_ci * it under the terms of the GNU General Public License, Version 2, as
662306a36Sopenharmony_ci * published by the Free Software Foundation.
762306a36Sopenharmony_ci *
862306a36Sopenharmony_ci * This file is distributed in the hope that it will be useful, but
962306a36Sopenharmony_ci * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
1062306a36Sopenharmony_ci * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
1162306a36Sopenharmony_ci * NONINFRINGEMENT.  See the GNU General Public License for more
1262306a36Sopenharmony_ci * details.
1362306a36Sopenharmony_ci *
1462306a36Sopenharmony_ci */
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#ifndef __CVMX_CIU3_DEFS_H__
1762306a36Sopenharmony_ci#define __CVMX_CIU3_DEFS_H__
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci#define CVMX_CIU3_FUSE CVMX_ADD_IO_SEG(0x00010100000001A0ull)
2062306a36Sopenharmony_ci#define CVMX_CIU3_BIST CVMX_ADD_IO_SEG(0x00010100000001C0ull)
2162306a36Sopenharmony_ci#define CVMX_CIU3_CONST CVMX_ADD_IO_SEG(0x0001010000000220ull)
2262306a36Sopenharmony_ci#define CVMX_CIU3_CTL CVMX_ADD_IO_SEG(0x00010100000000E0ull)
2362306a36Sopenharmony_ci#define CVMX_CIU3_DESTX_IO_INT(offset) (CVMX_ADD_IO_SEG(0x0001010000210000ull) + ((offset) & 7) * 8)
2462306a36Sopenharmony_ci#define CVMX_CIU3_DESTX_PP_INT(offset) (CVMX_ADD_IO_SEG(0x0001010000200000ull) + ((offset) & 255) * 8)
2562306a36Sopenharmony_ci#define CVMX_CIU3_GSTOP CVMX_ADD_IO_SEG(0x0001010000000140ull)
2662306a36Sopenharmony_ci#define CVMX_CIU3_IDTX_CTL(offset) (CVMX_ADD_IO_SEG(0x0001010000110000ull) + ((offset) & 255) * 8)
2762306a36Sopenharmony_ci#define CVMX_CIU3_IDTX_IO(offset) (CVMX_ADD_IO_SEG(0x0001010000130000ull) + ((offset) & 255) * 8)
2862306a36Sopenharmony_ci#define CVMX_CIU3_IDTX_PPX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001010000120000ull) + ((block_id) & 255) * 0x20ull)
2962306a36Sopenharmony_ci#define CVMX_CIU3_INTR_RAM_ECC_CTL CVMX_ADD_IO_SEG(0x0001010000000260ull)
3062306a36Sopenharmony_ci#define CVMX_CIU3_INTR_RAM_ECC_ST CVMX_ADD_IO_SEG(0x0001010000000280ull)
3162306a36Sopenharmony_ci#define CVMX_CIU3_INTR_READY CVMX_ADD_IO_SEG(0x00010100000002A0ull)
3262306a36Sopenharmony_ci#define CVMX_CIU3_INTR_SLOWDOWN CVMX_ADD_IO_SEG(0x0001010000000240ull)
3362306a36Sopenharmony_ci#define CVMX_CIU3_ISCX_CTL(offset) (CVMX_ADD_IO_SEG(0x0001010080000000ull) + ((offset) & 1048575) * 8)
3462306a36Sopenharmony_ci#define CVMX_CIU3_ISCX_W1C(offset) (CVMX_ADD_IO_SEG(0x0001010090000000ull) + ((offset) & 1048575) * 8)
3562306a36Sopenharmony_ci#define CVMX_CIU3_ISCX_W1S(offset) (CVMX_ADD_IO_SEG(0x00010100A0000000ull) + ((offset) & 1048575) * 8)
3662306a36Sopenharmony_ci#define CVMX_CIU3_NMI CVMX_ADD_IO_SEG(0x0001010000000160ull)
3762306a36Sopenharmony_ci#define CVMX_CIU3_SISCX(offset) (CVMX_ADD_IO_SEG(0x0001010000220000ull) + ((offset) & 255) * 8)
3862306a36Sopenharmony_ci#define CVMX_CIU3_TIMX(offset) (CVMX_ADD_IO_SEG(0x0001010000010000ull) + ((offset) & 15) * 8)
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciunion cvmx_ciu3_bist {
4162306a36Sopenharmony_ci	uint64_t u64;
4262306a36Sopenharmony_ci	struct cvmx_ciu3_bist_s {
4362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
4462306a36Sopenharmony_ci	uint64_t reserved_9_63                : 55;
4562306a36Sopenharmony_ci	uint64_t bist                         : 9;
4662306a36Sopenharmony_ci#else
4762306a36Sopenharmony_ci	uint64_t bist                         : 9;
4862306a36Sopenharmony_ci	uint64_t reserved_9_63                : 55;
4962306a36Sopenharmony_ci#endif
5062306a36Sopenharmony_ci	} s;
5162306a36Sopenharmony_ci};
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciunion cvmx_ciu3_const {
5462306a36Sopenharmony_ci	uint64_t u64;
5562306a36Sopenharmony_ci	struct cvmx_ciu3_const_s {
5662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
5762306a36Sopenharmony_ci	uint64_t dests_io                     : 16;
5862306a36Sopenharmony_ci	uint64_t pintsn                       : 16;
5962306a36Sopenharmony_ci	uint64_t dests_pp                     : 16;
6062306a36Sopenharmony_ci	uint64_t idt                          : 16;
6162306a36Sopenharmony_ci#else
6262306a36Sopenharmony_ci	uint64_t idt                          : 16;
6362306a36Sopenharmony_ci	uint64_t dests_pp                     : 16;
6462306a36Sopenharmony_ci	uint64_t pintsn                       : 16;
6562306a36Sopenharmony_ci	uint64_t dests_io                     : 16;
6662306a36Sopenharmony_ci#endif
6762306a36Sopenharmony_ci	} s;
6862306a36Sopenharmony_ci};
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ciunion cvmx_ciu3_ctl {
7162306a36Sopenharmony_ci	uint64_t u64;
7262306a36Sopenharmony_ci	struct cvmx_ciu3_ctl_s {
7362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
7462306a36Sopenharmony_ci	uint64_t reserved_5_63                : 59;
7562306a36Sopenharmony_ci	uint64_t mcd_sel                      : 2;
7662306a36Sopenharmony_ci	uint64_t iscmem_le                    : 1;
7762306a36Sopenharmony_ci	uint64_t seq_dis                      : 1;
7862306a36Sopenharmony_ci	uint64_t cclk_dis                     : 1;
7962306a36Sopenharmony_ci#else
8062306a36Sopenharmony_ci	uint64_t cclk_dis                     : 1;
8162306a36Sopenharmony_ci	uint64_t seq_dis                      : 1;
8262306a36Sopenharmony_ci	uint64_t iscmem_le                    : 1;
8362306a36Sopenharmony_ci	uint64_t mcd_sel                      : 2;
8462306a36Sopenharmony_ci	uint64_t reserved_5_63                : 59;
8562306a36Sopenharmony_ci#endif
8662306a36Sopenharmony_ci	} s;
8762306a36Sopenharmony_ci};
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ciunion cvmx_ciu3_destx_io_int {
9062306a36Sopenharmony_ci	uint64_t u64;
9162306a36Sopenharmony_ci	struct cvmx_ciu3_destx_io_int_s {
9262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
9362306a36Sopenharmony_ci	uint64_t reserved_52_63               : 12;
9462306a36Sopenharmony_ci	uint64_t intsn                        : 20;
9562306a36Sopenharmony_ci	uint64_t reserved_10_31               : 22;
9662306a36Sopenharmony_ci	uint64_t intidt                       : 8;
9762306a36Sopenharmony_ci	uint64_t newint                       : 1;
9862306a36Sopenharmony_ci	uint64_t intr                         : 1;
9962306a36Sopenharmony_ci#else
10062306a36Sopenharmony_ci	uint64_t intr                         : 1;
10162306a36Sopenharmony_ci	uint64_t newint                       : 1;
10262306a36Sopenharmony_ci	uint64_t intidt                       : 8;
10362306a36Sopenharmony_ci	uint64_t reserved_10_31               : 22;
10462306a36Sopenharmony_ci	uint64_t intsn                        : 20;
10562306a36Sopenharmony_ci	uint64_t reserved_52_63               : 12;
10662306a36Sopenharmony_ci#endif
10762306a36Sopenharmony_ci	} s;
10862306a36Sopenharmony_ci};
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ciunion cvmx_ciu3_destx_pp_int {
11162306a36Sopenharmony_ci	uint64_t u64;
11262306a36Sopenharmony_ci	struct cvmx_ciu3_destx_pp_int_s {
11362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
11462306a36Sopenharmony_ci	uint64_t reserved_52_63               : 12;
11562306a36Sopenharmony_ci	uint64_t intsn                        : 20;
11662306a36Sopenharmony_ci	uint64_t reserved_10_31               : 22;
11762306a36Sopenharmony_ci	uint64_t intidt                       : 8;
11862306a36Sopenharmony_ci	uint64_t newint                       : 1;
11962306a36Sopenharmony_ci	uint64_t intr                         : 1;
12062306a36Sopenharmony_ci#else
12162306a36Sopenharmony_ci	uint64_t intr                         : 1;
12262306a36Sopenharmony_ci	uint64_t newint                       : 1;
12362306a36Sopenharmony_ci	uint64_t intidt                       : 8;
12462306a36Sopenharmony_ci	uint64_t reserved_10_31               : 22;
12562306a36Sopenharmony_ci	uint64_t intsn                        : 20;
12662306a36Sopenharmony_ci	uint64_t reserved_52_63               : 12;
12762306a36Sopenharmony_ci#endif
12862306a36Sopenharmony_ci	} s;
12962306a36Sopenharmony_ci};
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ciunion cvmx_ciu3_gstop {
13262306a36Sopenharmony_ci	uint64_t u64;
13362306a36Sopenharmony_ci	struct cvmx_ciu3_gstop_s {
13462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
13562306a36Sopenharmony_ci	uint64_t reserved_1_63                : 63;
13662306a36Sopenharmony_ci	uint64_t gstop                        : 1;
13762306a36Sopenharmony_ci#else
13862306a36Sopenharmony_ci	uint64_t gstop                        : 1;
13962306a36Sopenharmony_ci	uint64_t reserved_1_63                : 63;
14062306a36Sopenharmony_ci#endif
14162306a36Sopenharmony_ci	} s;
14262306a36Sopenharmony_ci};
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_ciunion cvmx_ciu3_idtx_ctl {
14562306a36Sopenharmony_ci	uint64_t u64;
14662306a36Sopenharmony_ci	struct cvmx_ciu3_idtx_ctl_s {
14762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
14862306a36Sopenharmony_ci	uint64_t reserved_52_63               : 12;
14962306a36Sopenharmony_ci	uint64_t intsn                        : 20;
15062306a36Sopenharmony_ci	uint64_t reserved_4_31                : 28;
15162306a36Sopenharmony_ci	uint64_t intr                         : 1;
15262306a36Sopenharmony_ci	uint64_t newint                       : 1;
15362306a36Sopenharmony_ci	uint64_t ip_num                       : 2;
15462306a36Sopenharmony_ci#else
15562306a36Sopenharmony_ci	uint64_t ip_num                       : 2;
15662306a36Sopenharmony_ci	uint64_t newint                       : 1;
15762306a36Sopenharmony_ci	uint64_t intr                         : 1;
15862306a36Sopenharmony_ci	uint64_t reserved_4_31                : 28;
15962306a36Sopenharmony_ci	uint64_t intsn                        : 20;
16062306a36Sopenharmony_ci	uint64_t reserved_52_63               : 12;
16162306a36Sopenharmony_ci#endif
16262306a36Sopenharmony_ci	} s;
16362306a36Sopenharmony_ci};
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ciunion cvmx_ciu3_idtx_io {
16662306a36Sopenharmony_ci	uint64_t u64;
16762306a36Sopenharmony_ci	struct cvmx_ciu3_idtx_io_s {
16862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
16962306a36Sopenharmony_ci	uint64_t reserved_5_63                : 59;
17062306a36Sopenharmony_ci	uint64_t io                           : 5;
17162306a36Sopenharmony_ci#else
17262306a36Sopenharmony_ci	uint64_t io                           : 5;
17362306a36Sopenharmony_ci	uint64_t reserved_5_63                : 59;
17462306a36Sopenharmony_ci#endif
17562306a36Sopenharmony_ci	} s;
17662306a36Sopenharmony_ci};
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ciunion cvmx_ciu3_idtx_ppx {
17962306a36Sopenharmony_ci	uint64_t u64;
18062306a36Sopenharmony_ci	struct cvmx_ciu3_idtx_ppx_s {
18162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
18262306a36Sopenharmony_ci	uint64_t reserved_48_63               : 16;
18362306a36Sopenharmony_ci	uint64_t pp                           : 48;
18462306a36Sopenharmony_ci#else
18562306a36Sopenharmony_ci	uint64_t pp                           : 48;
18662306a36Sopenharmony_ci	uint64_t reserved_48_63               : 16;
18762306a36Sopenharmony_ci#endif
18862306a36Sopenharmony_ci	} s;
18962306a36Sopenharmony_ci};
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ciunion cvmx_ciu3_intr_ram_ecc_ctl {
19262306a36Sopenharmony_ci	uint64_t u64;
19362306a36Sopenharmony_ci	struct cvmx_ciu3_intr_ram_ecc_ctl_s {
19462306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
19562306a36Sopenharmony_ci	uint64_t reserved_3_63                : 61;
19662306a36Sopenharmony_ci	uint64_t flip_synd                    : 2;
19762306a36Sopenharmony_ci	uint64_t ecc_ena                      : 1;
19862306a36Sopenharmony_ci#else
19962306a36Sopenharmony_ci	uint64_t ecc_ena                      : 1;
20062306a36Sopenharmony_ci	uint64_t flip_synd                    : 2;
20162306a36Sopenharmony_ci	uint64_t reserved_3_63                : 61;
20262306a36Sopenharmony_ci#endif
20362306a36Sopenharmony_ci	} s;
20462306a36Sopenharmony_ci};
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_ciunion cvmx_ciu3_intr_ram_ecc_st {
20762306a36Sopenharmony_ci	uint64_t u64;
20862306a36Sopenharmony_ci	struct cvmx_ciu3_intr_ram_ecc_st_s {
20962306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
21062306a36Sopenharmony_ci	uint64_t reserved_52_63               : 12;
21162306a36Sopenharmony_ci	uint64_t addr                         : 20;
21262306a36Sopenharmony_ci	uint64_t reserved_6_31                : 26;
21362306a36Sopenharmony_ci	uint64_t sisc_dbe                     : 1;
21462306a36Sopenharmony_ci	uint64_t sisc_sbe                     : 1;
21562306a36Sopenharmony_ci	uint64_t idt_dbe                      : 1;
21662306a36Sopenharmony_ci	uint64_t idt_sbe                      : 1;
21762306a36Sopenharmony_ci	uint64_t isc_dbe                      : 1;
21862306a36Sopenharmony_ci	uint64_t isc_sbe                      : 1;
21962306a36Sopenharmony_ci#else
22062306a36Sopenharmony_ci	uint64_t isc_sbe                      : 1;
22162306a36Sopenharmony_ci	uint64_t isc_dbe                      : 1;
22262306a36Sopenharmony_ci	uint64_t idt_sbe                      : 1;
22362306a36Sopenharmony_ci	uint64_t idt_dbe                      : 1;
22462306a36Sopenharmony_ci	uint64_t sisc_sbe                     : 1;
22562306a36Sopenharmony_ci	uint64_t sisc_dbe                     : 1;
22662306a36Sopenharmony_ci	uint64_t reserved_6_31                : 26;
22762306a36Sopenharmony_ci	uint64_t addr                         : 20;
22862306a36Sopenharmony_ci	uint64_t reserved_52_63               : 12;
22962306a36Sopenharmony_ci#endif
23062306a36Sopenharmony_ci	} s;
23162306a36Sopenharmony_ci};
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ciunion cvmx_ciu3_intr_ready {
23462306a36Sopenharmony_ci	uint64_t u64;
23562306a36Sopenharmony_ci	struct cvmx_ciu3_intr_ready_s {
23662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
23762306a36Sopenharmony_ci	uint64_t reserved_46_63               : 18;
23862306a36Sopenharmony_ci	uint64_t index                        : 14;
23962306a36Sopenharmony_ci	uint64_t reserved_1_31                : 31;
24062306a36Sopenharmony_ci	uint64_t ready                        : 1;
24162306a36Sopenharmony_ci#else
24262306a36Sopenharmony_ci	uint64_t ready                        : 1;
24362306a36Sopenharmony_ci	uint64_t reserved_1_31                : 31;
24462306a36Sopenharmony_ci	uint64_t index                        : 14;
24562306a36Sopenharmony_ci	uint64_t reserved_46_63               : 18;
24662306a36Sopenharmony_ci#endif
24762306a36Sopenharmony_ci	} s;
24862306a36Sopenharmony_ci};
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ciunion cvmx_ciu3_intr_slowdown {
25162306a36Sopenharmony_ci	uint64_t u64;
25262306a36Sopenharmony_ci	struct cvmx_ciu3_intr_slowdown_s {
25362306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
25462306a36Sopenharmony_ci	uint64_t reserved_3_63                : 61;
25562306a36Sopenharmony_ci	uint64_t ctl                          : 3;
25662306a36Sopenharmony_ci#else
25762306a36Sopenharmony_ci	uint64_t ctl                          : 3;
25862306a36Sopenharmony_ci	uint64_t reserved_3_63                : 61;
25962306a36Sopenharmony_ci#endif
26062306a36Sopenharmony_ci	} s;
26162306a36Sopenharmony_ci};
26262306a36Sopenharmony_ci
26362306a36Sopenharmony_ciunion cvmx_ciu3_iscx_ctl {
26462306a36Sopenharmony_ci	uint64_t u64;
26562306a36Sopenharmony_ci	struct cvmx_ciu3_iscx_ctl_s {
26662306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
26762306a36Sopenharmony_ci	uint64_t reserved_24_63               : 40;
26862306a36Sopenharmony_ci	uint64_t idt                          : 8;
26962306a36Sopenharmony_ci	uint64_t imp                          : 1;
27062306a36Sopenharmony_ci	uint64_t reserved_2_14                : 13;
27162306a36Sopenharmony_ci	uint64_t en                           : 1;
27262306a36Sopenharmony_ci	uint64_t raw                          : 1;
27362306a36Sopenharmony_ci#else
27462306a36Sopenharmony_ci	uint64_t raw                          : 1;
27562306a36Sopenharmony_ci	uint64_t en                           : 1;
27662306a36Sopenharmony_ci	uint64_t reserved_2_14                : 13;
27762306a36Sopenharmony_ci	uint64_t imp                          : 1;
27862306a36Sopenharmony_ci	uint64_t idt                          : 8;
27962306a36Sopenharmony_ci	uint64_t reserved_24_63               : 40;
28062306a36Sopenharmony_ci#endif
28162306a36Sopenharmony_ci	} s;
28262306a36Sopenharmony_ci};
28362306a36Sopenharmony_ci
28462306a36Sopenharmony_ciunion cvmx_ciu3_iscx_w1c {
28562306a36Sopenharmony_ci	uint64_t u64;
28662306a36Sopenharmony_ci	struct cvmx_ciu3_iscx_w1c_s {
28762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
28862306a36Sopenharmony_ci	uint64_t reserved_2_63                : 62;
28962306a36Sopenharmony_ci	uint64_t en                           : 1;
29062306a36Sopenharmony_ci	uint64_t raw                          : 1;
29162306a36Sopenharmony_ci#else
29262306a36Sopenharmony_ci	uint64_t raw                          : 1;
29362306a36Sopenharmony_ci	uint64_t en                           : 1;
29462306a36Sopenharmony_ci	uint64_t reserved_2_63                : 62;
29562306a36Sopenharmony_ci#endif
29662306a36Sopenharmony_ci	} s;
29762306a36Sopenharmony_ci};
29862306a36Sopenharmony_ci
29962306a36Sopenharmony_ciunion cvmx_ciu3_iscx_w1s {
30062306a36Sopenharmony_ci	uint64_t u64;
30162306a36Sopenharmony_ci	struct cvmx_ciu3_iscx_w1s_s {
30262306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
30362306a36Sopenharmony_ci	uint64_t reserved_2_63                : 62;
30462306a36Sopenharmony_ci	uint64_t en                           : 1;
30562306a36Sopenharmony_ci	uint64_t raw                          : 1;
30662306a36Sopenharmony_ci#else
30762306a36Sopenharmony_ci	uint64_t raw                          : 1;
30862306a36Sopenharmony_ci	uint64_t en                           : 1;
30962306a36Sopenharmony_ci	uint64_t reserved_2_63                : 62;
31062306a36Sopenharmony_ci#endif
31162306a36Sopenharmony_ci	} s;
31262306a36Sopenharmony_ci};
31362306a36Sopenharmony_ci
31462306a36Sopenharmony_ciunion cvmx_ciu3_nmi {
31562306a36Sopenharmony_ci	uint64_t u64;
31662306a36Sopenharmony_ci	struct cvmx_ciu3_nmi_s {
31762306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
31862306a36Sopenharmony_ci	uint64_t reserved_48_63               : 16;
31962306a36Sopenharmony_ci	uint64_t nmi                          : 48;
32062306a36Sopenharmony_ci#else
32162306a36Sopenharmony_ci	uint64_t nmi                          : 48;
32262306a36Sopenharmony_ci	uint64_t reserved_48_63               : 16;
32362306a36Sopenharmony_ci#endif
32462306a36Sopenharmony_ci	} s;
32562306a36Sopenharmony_ci};
32662306a36Sopenharmony_ci
32762306a36Sopenharmony_ciunion cvmx_ciu3_siscx {
32862306a36Sopenharmony_ci	uint64_t u64;
32962306a36Sopenharmony_ci	struct cvmx_ciu3_siscx_s {
33062306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
33162306a36Sopenharmony_ci	uint64_t en                           : 64;
33262306a36Sopenharmony_ci#else
33362306a36Sopenharmony_ci	uint64_t en                           : 64;
33462306a36Sopenharmony_ci#endif
33562306a36Sopenharmony_ci	} s;
33662306a36Sopenharmony_ci};
33762306a36Sopenharmony_ci
33862306a36Sopenharmony_ciunion cvmx_ciu3_timx {
33962306a36Sopenharmony_ci	uint64_t u64;
34062306a36Sopenharmony_ci	struct cvmx_ciu3_timx_s {
34162306a36Sopenharmony_ci#ifdef __BIG_ENDIAN_BITFIELD
34262306a36Sopenharmony_ci	uint64_t reserved_37_63               : 27;
34362306a36Sopenharmony_ci	uint64_t one_shot                     : 1;
34462306a36Sopenharmony_ci	uint64_t len                          : 36;
34562306a36Sopenharmony_ci#else
34662306a36Sopenharmony_ci	uint64_t len                          : 36;
34762306a36Sopenharmony_ci	uint64_t one_shot                     : 1;
34862306a36Sopenharmony_ci	uint64_t reserved_37_63               : 27;
34962306a36Sopenharmony_ci#endif
35062306a36Sopenharmony_ci	} s;
35162306a36Sopenharmony_ci};
35262306a36Sopenharmony_ci
35362306a36Sopenharmony_ci#endif
354