/* SPDX-License-Identifier: GPL-2.0+ */ /* * Copyright 2019 Broadcom Ltd. */ #ifndef _63138_CPU_H #define _63138_CPU_H #define ARMGTIM_BASE 0x8001e200 #define AIP_BASE 0x80018000 #define ARMCFG_BASE 0x80020000 typedef struct ArmGTimer { uint32_t gtim_glob_low; /* 0x00 */ uint32_t gtim_glob_hi; /* 0x04 */ uint32_t gtim_glob_ctrl; /* 0x08 */ #define ARM_GTIM_GLOB_CTRL_PRESCALE_SHIFT 8 #define ARM_GTIM_GLOB_CTRL_PRESCALE_MASK (0xff<> AIPACP_WCACHE_SHIFT) & AIPACP_WCACHE_MASK) #define AIPACP_WCACHE_SET(reg_val,new_val) ((reg_val & ~(AIPACP_WCACHE_MASK << AIPACP_WCACHE_SHIFT)) | (new_val << AIPACP_WCACHE_SHIFT)) #define AIPACP_RCACHE_SHIFT 4 #define AIPACP_RCACHE_MASK 0xf #define AIPACP_RCACHE_GET(reg_val) ((reg_val >> AIPACP_RCACHE_SHIFT) & AIPACP_RCACHE_MASK) #define AIPACP_RCACHE_SET(reg_val,new_val) ((reg_val & ~(AIPACP_RCACHE_MASK << AIPACP_RCACHE_SHIFT)) | (new_val << AIPACP_RCACHE_SHIFT)) #define AIPACP_WUSER_SHIFT 8 #define AIPACP_WUSER_MASK 0x1f #define AIPACP_WUSER_GET(reg_val) ((reg_val >> AIPACP_WUSER_SHIFT) & AIPACP_WUSER_MASK) #define AIPACP_WUSER_SET(reg_val,new_val) ((reg_val & ~(AIPACP_WUSER_MASK << AIPACP_WUSER_SHIFT)) | (new_val << AIPACP_WUSER_SHIFT)) #define AIPACP_RUSER_SHIFT 13 #define AIPACP_RUSER_MASK 0x1f #define AIPACP_RUSER_GET(reg_val) ((reg_val >> AIPACP_RUSER_SHIFT) & AIPACP_RUSER_MASK) #define AIPACP_RUSER_SET(reg_val,new_val) ((reg_val & ~(AIPACP_RUSER_MASK << AIPACP_RUSER_SHIFT)) | (new_val << AIPACP_RUSER_SHIFT)) uint32_t unused1[12]; uint32_t debug_permission; /* 0xc0 */ uint32_t debug_en; /* 0xc4 */ } ArmAipCtrl; #define ARMAIPCTRL ((volatile ArmAipCtrl * const) AIP_BASE) /* * ARM CFG */ typedef struct ArmProcClkMgr { uint32_t wr_access; /* 0x00 */ #define ARM_PROC_CLK_WR_ACCESS_PASSWORD_SHIFT 8 #define ARM_PROC_CLK_WR_ACCESS_PASSWORD_MASK (0xffff<