1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Copyright 2019 Broadcom Ltd.
9 #define BOOTLUT_BASE 0xffff0000
10 #define BIUCFG_BASE 0x81060000
12 typedef struct BIUCFG_Access
{
13 uint32_t permission
; /* 0x0 */
14 uint32_t reserved0
; /* 0x4 */
15 uint32_t cpu_defeature
; /* 0x8 */
16 uint32_t dbg_security
; /* 0xc */
17 uint32_t rsvd1
[36]; /* 0x10 - 0x9f */
18 uint32_t ts_access
; /* 0xa0 - 0xa3 */
19 uint32_t rsvd2
[23]; /* 0xa4 - 0xff */
22 typedef struct BIUCFG_Cluster
{
23 uint32_t permission
; /* 0x0 */
24 uint32_t config
; /* 0x4 */
25 uint32_t status
; /* 0x8 */
26 uint32_t control
; /* 0xc */
27 uint32_t cpucfg
; /* 0x10 */
28 uint32_t dbgrom
; /* 0x14 */
29 uint32_t rsvd1
[2]; /* 0x18 - 0x1f */
30 uint32_t rvbar_addr
[8]; /* 0x20 - 0x3f */
31 uint32_t rsvd2
[48]; /* 0x40 - 0xff */
34 typedef struct BIUCFG_AuxClkCtrl
{
35 uint32_t clk_control
; /* 0x0 */
36 uint32_t clk_ramp
; /* 0x4 */
37 uint32_t clk_pattern
; /* 0x8 */
38 uint32_t rsvd
; /* 0xC */
41 typedef struct BIUCFGux
{
42 uint32_t permission
; /* 0 */
43 uint32_t rsvd1
[3]; /* 0x04 - 0x0c */
44 BIUCFG_AuxClkCtrl cluster_clkctrl
[2]; /* 0x10 - 0x2c */
45 uint32_t rsvd2
[52]; /* 0x30 - 0xFF */
48 typedef struct BIUCFG
{
49 BIUCFG_Access access
; /* 0x0 - 0xff */
50 BIUCFG_Cluster cluster
[1]; /* 0x100 - 0x1ff */
51 uint32_t rsvd1
[320]; /* 0x200 - 0x6ff */
52 BIUCFG_Aux aux
; /* 0x700 - 0x7ff */
53 uint32_t rsrvd2
[512]; /* 0x800 - 0xfff */
54 uint32_t TSO_CNTCR
; /* 0x1000 */
55 uint32_t rsvd2
[2047]; /* 0x1004 - 0x2fff */
58 #define BIUCFG ((volatile BIUCFG * const) BIUCFG_BASE)