/* Copyright (C) 2018 RDA Technologies Limited and/or its affiliates("RDA"). * All rights reserved. * * This software is supplied "AS IS" without any warranties. * RDA assumes no responsibility or liability for the use of the software, * conveys no license or title under any patent, copyright, or mask work * right to the product. RDA reserves the right to make changes in the * software without notification. RDA also make no representation or * warranty that such application will be suitable for the specified use * without further testing or modification. */ #ifndef _SLV_FW_LPS_IFC_H_ #define _SLV_FW_LPS_IFC_H_ // Auto generated by dtools(see dtools.txt for its version). // Don't edit it manually! #define REG_SLV_FW_LPS_IFC_BASE (0x51300000) typedef volatile struct { uint32_t port0_default_address_0; // 0x00000000 uint32_t port_int_en; // 0x00000004 uint32_t port_int_clr; // 0x00000008 uint32_t port_int_raw; // 0x0000000c uint32_t port_int_fin; // 0x00000010 uint32_t rd_sec_0; // 0x00000014 uint32_t wr_sec_0; // 0x00000018 uint32_t id0_first_addr_0; // 0x0000001c uint32_t id0_last_addr_0; // 0x00000020 uint32_t id0_mstid_0; // 0x00000024 uint32_t id0_mstid_1; // 0x00000028 uint32_t id0_mstid_2; // 0x0000002c uint32_t id0_mstid_3; // 0x00000030 uint32_t id0_mstid_4; // 0x00000034 uint32_t id0_mstid_5; // 0x00000038 uint32_t id0_mstid_6; // 0x0000003c uint32_t id0_mstid_7; // 0x00000040 uint32_t id1_first_addr_0; // 0x00000044 uint32_t id1_last_addr_0; // 0x00000048 uint32_t id1_mstid_0; // 0x0000004c uint32_t id1_mstid_1; // 0x00000050 uint32_t id1_mstid_2; // 0x00000054 uint32_t id1_mstid_3; // 0x00000058 uint32_t id1_mstid_4; // 0x0000005c uint32_t id1_mstid_5; // 0x00000060 uint32_t id1_mstid_6; // 0x00000064 uint32_t id1_mstid_7; // 0x00000068 uint32_t clk_gate_bypass; // 0x0000006c } HWP_SLV_FW_LPS_IFC_T; #define hwp_slvFwLpsIfc ((HWP_SLV_FW_LPS_IFC_T *)REG_ACCESS_ADDRESS(REG_SLV_FW_LPS_IFC_BASE)) // port0_default_address_0 typedef union { uint32_t v; struct { uint32_t port0_default_address_0 : 16; // [15:0] uint32_t __31_16 : 16; // [31:16] } b; } REG_SLV_FW_LPS_IFC_PORT0_DEFAULT_ADDRESS_0_T; // port_int_en typedef union { uint32_t v; struct { uint32_t port_0_w_en : 1; // [0] uint32_t port_0_r_en : 1; // [1] uint32_t __31_2 : 30; // [31:2] } b; } REG_SLV_FW_LPS_IFC_PORT_INT_EN_T; // port_int_clr typedef union { uint32_t v; struct { uint32_t port_0_w_clr : 1; // [0], write clear uint32_t port_0_r_clr : 1; // [1], write clear uint32_t __31_2 : 30; // [31:2] } b; } REG_SLV_FW_LPS_IFC_PORT_INT_CLR_T; // port_int_raw typedef union { uint32_t v; struct { uint32_t port_0_w_raw : 1; // [0], read only uint32_t port_0_r_raw : 1; // [1], read only uint32_t __31_2 : 30; // [31:2] } b; } REG_SLV_FW_LPS_IFC_PORT_INT_RAW_T; // port_int_fin typedef union { uint32_t v; struct { uint32_t port_0_w_fin : 1; // [0], read only uint32_t port_0_r_fin : 1; // [1], read only uint32_t __31_2 : 30; // [31:2] } b; } REG_SLV_FW_LPS_IFC_PORT_INT_FIN_T; // rd_sec_0 typedef union { uint32_t v; struct { uint32_t lps_ifc_rd_sec : 2; // [1:0] uint32_t ana_wrap3_rd_sec : 2; // [3:2] uint32_t rtc_timer_rd_sec : 2; // [5:4] uint32_t pwrctrl_rd_sec : 2; // [7:6] uint32_t keypad_rd_sec : 2; // [9:8] uint32_t apb_reg_rd_sec : 2; // [11:10] uint32_t gpio1_rd_sec : 2; // [13:12] uint32_t idle_lps_rd_sec : 2; // [15:14] uint32_t uart1_rd_sec : 2; // [17:16] uint32_t __31_18 : 14; // [31:18] } b; } REG_SLV_FW_LPS_IFC_RD_SEC_0_T; // wr_sec_0 typedef union { uint32_t v; struct { uint32_t lps_ifc_wr_sec : 2; // [1:0] uint32_t ana_wrap3_wr_sec : 2; // [3:2] uint32_t rtc_timer_wr_sec : 2; // [5:4] uint32_t pwrctrl_wr_sec : 2; // [7:6] uint32_t keypad_wr_sec : 2; // [9:8] uint32_t apb_reg_wr_sec : 2; // [11:10] uint32_t gpio1_wr_sec : 2; // [13:12] uint32_t idle_lps_wr_sec : 2; // [15:14] uint32_t uart1_wr_sec : 2; // [17:16] uint32_t __31_18 : 14; // [31:18] } b; } REG_SLV_FW_LPS_IFC_WR_SEC_0_T; // id0_first_addr_0 typedef union { uint32_t v; struct { uint32_t first_addr_0 : 16; // [15:0] uint32_t __31_16 : 16; // [31:16] } b; } REG_SLV_FW_LPS_IFC_ID0_FIRST_ADDR_0_T; // id0_last_addr_0 typedef union { uint32_t v; struct { uint32_t last_addr_0 : 16; // [15:0] uint32_t __31_16 : 16; // [31:16] } b; } REG_SLV_FW_LPS_IFC_ID0_LAST_ADDR_0_T; // id1_first_addr_0 typedef union { uint32_t v; struct { uint32_t first_addr_0 : 16; // [15:0] uint32_t __31_16 : 16; // [31:16] } b; } REG_SLV_FW_LPS_IFC_ID1_FIRST_ADDR_0_T; // id1_last_addr_0 typedef union { uint32_t v; struct { uint32_t last_addr_0 : 16; // [15:0] uint32_t __31_16 : 16; // [31:16] } b; } REG_SLV_FW_LPS_IFC_ID1_LAST_ADDR_0_T; // clk_gate_bypass typedef union { uint32_t v; struct { uint32_t clk_gate_bypass : 1; // [0] uint32_t fw_resp_en : 1; // [1] uint32_t __31_2 : 30; // [31:2] } b; } REG_SLV_FW_LPS_IFC_CLK_GATE_BYPASS_T; // port0_default_address_0 #define SLV_FW_LPS_IFC_PORT0_DEFAULT_ADDRESS_0(n) (((n)&0xffff) << 0) // port_int_en #define SLV_FW_LPS_IFC_PORT_0_W_EN (1 << 0) #define SLV_FW_LPS_IFC_PORT_0_R_EN (1 << 1) // port_int_clr #define SLV_FW_LPS_IFC_PORT_0_W_CLR (1 << 0) #define SLV_FW_LPS_IFC_PORT_0_R_CLR (1 << 1) // port_int_raw #define SLV_FW_LPS_IFC_PORT_0_W_RAW (1 << 0) #define SLV_FW_LPS_IFC_PORT_0_R_RAW (1 << 1) // port_int_fin #define SLV_FW_LPS_IFC_PORT_0_W_FIN (1 << 0) #define SLV_FW_LPS_IFC_PORT_0_R_FIN (1 << 1) // rd_sec_0 #define SLV_FW_LPS_IFC_LPS_IFC_RD_SEC(n) (((n)&0x3) << 0) #define SLV_FW_LPS_IFC_ANA_WRAP3_RD_SEC(n) (((n)&0x3) << 2) #define SLV_FW_LPS_IFC_RTC_TIMER_RD_SEC(n) (((n)&0x3) << 4) #define SLV_FW_LPS_IFC_PWRCTRL_RD_SEC(n) (((n)&0x3) << 6) #define SLV_FW_LPS_IFC_KEYPAD_RD_SEC(n) (((n)&0x3) << 8) #define SLV_FW_LPS_IFC_APB_REG_RD_SEC(n) (((n)&0x3) << 10) #define SLV_FW_LPS_IFC_GPIO1_RD_SEC(n) (((n)&0x3) << 12) #define SLV_FW_LPS_IFC_IDLE_LPS_RD_SEC(n) (((n)&0x3) << 14) #define SLV_FW_LPS_IFC_UART1_RD_SEC(n) (((n)&0x3) << 16) // wr_sec_0 #define SLV_FW_LPS_IFC_LPS_IFC_WR_SEC(n) (((n)&0x3) << 0) #define SLV_FW_LPS_IFC_ANA_WRAP3_WR_SEC(n) (((n)&0x3) << 2) #define SLV_FW_LPS_IFC_RTC_TIMER_WR_SEC(n) (((n)&0x3) << 4) #define SLV_FW_LPS_IFC_PWRCTRL_WR_SEC(n) (((n)&0x3) << 6) #define SLV_FW_LPS_IFC_KEYPAD_WR_SEC(n) (((n)&0x3) << 8) #define SLV_FW_LPS_IFC_APB_REG_WR_SEC(n) (((n)&0x3) << 10) #define SLV_FW_LPS_IFC_GPIO1_WR_SEC(n) (((n)&0x3) << 12) #define SLV_FW_LPS_IFC_IDLE_LPS_WR_SEC(n) (((n)&0x3) << 14) #define SLV_FW_LPS_IFC_UART1_WR_SEC(n) (((n)&0x3) << 16) // id0_first_addr_0 #define SLV_FW_LPS_IFC_FIRST_ADDR_0(n) (((n)&0xffff) << 0) // id0_last_addr_0 #define SLV_FW_LPS_IFC_LAST_ADDR_0(n) (((n)&0xffff) << 0) // id1_first_addr_0 #define SLV_FW_LPS_IFC_FIRST_ADDR_0(n) (((n)&0xffff) << 0) // id1_last_addr_0 #define SLV_FW_LPS_IFC_LAST_ADDR_0(n) (((n)&0xffff) << 0) // clk_gate_bypass #define SLV_FW_LPS_IFC_CLK_GATE_BYPASS (1 << 0) #define SLV_FW_LPS_IFC_FW_RESP_EN (1 << 1) #endif // _SLV_FW_LPS_IFC_H_