/* 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 _RF_TSEN_H_ #define _RF_TSEN_H_ // Auto generated by dtools(see dtools.txt for its version). // Don't edit it manually! #define REG_RF_TSEN_SET_OFFSET (1024) #define REG_RF_TSEN_CLR_OFFSET (2048) #define REG_RF_TSEN_BASE (0x5003b000) typedef volatile struct { uint32_t tst_tsen_bist_cfg; // 0x00000000 uint32_t tst_tsen_bist_time_sel; // 0x00000004 uint32_t tst_bist_sel; // 0x00000008 uint32_t tst_bist_res; // 0x0000000c uint32_t tst_tsen_c0_test_res0; // 0x00000010 uint32_t tst_tsen_c0_test_res1; // 0x00000014 uint32_t tst_tsen_c0_test_res2; // 0x00000018 uint32_t tst_tsen_c0_test_res3; // 0x0000001c uint32_t tst_tsen_c1_test_res0; // 0x00000020 uint32_t tst_tsen_c1_test_res1; // 0x00000024 uint32_t tst_tsen_c1_test_res2; // 0x00000028 uint32_t tst_tsen_c1_test_res3; // 0x0000002c uint32_t tst_tsen_c2_test_res0; // 0x00000030 uint32_t tst_tsen_c2_test_res1; // 0x00000034 uint32_t tst_tsen_c2_test_res2; // 0x00000038 uint32_t tst_tsen_c2_test_res3; // 0x0000003c uint32_t tst_tsen_c3_test_res0; // 0x00000040 uint32_t tst_tsen_c3_test_res1; // 0x00000044 uint32_t tst_tsen_c3_test_res2; // 0x00000048 uint32_t tst_tsen_c3_test_res3; // 0x0000004c uint32_t __80[236]; // 0x00000050 uint32_t tst_tsen_bist_cfg_set; // 0x00000400 uint32_t tst_tsen_bist_time_sel_set; // 0x00000404 uint32_t tst_bist_sel_set; // 0x00000408 uint32_t __1036[253]; // 0x0000040c uint32_t tst_tsen_bist_cfg_clr; // 0x00000800 uint32_t tst_tsen_bist_time_sel_clr; // 0x00000804 uint32_t tst_bist_sel_clr; // 0x00000808 } HWP_RF_TSEN_T; #define hwp_rfTsen ((HWP_RF_TSEN_T *)REG_ACCESS_ADDRESS(REG_RF_TSEN_BASE)) // tst_tsen_bist_cfg typedef union { uint32_t v; struct { uint32_t __0_0 : 1; // [0] uint32_t tst_tsen_bist_cfg3 : 3; // [3:1] uint32_t tst_tsen_bist_cfg2 : 3; // [6:4] uint32_t tst_tsen_bist_cfg1 : 3; // [9:7] uint32_t tst_tsen_bist_cfg0 : 3; // [12:10] uint32_t tst_tsen_bist_bypass : 1; // [13] uint32_t __31_14 : 18; // [31:14] } b; } REG_RF_TSEN_TST_TSEN_BIST_CFG_T; // tst_tsen_bist_time_sel typedef union { uint32_t v; struct { uint32_t tst_tsen_bist_en : 1; // [0] uint32_t tst_tsen_bist_time_sel_cfg0 : 2; // [2:1] uint32_t tst_tsen_bist_time_sel_cfg1 : 2; // [4:3] uint32_t tst_tsen_bist_time_sel_cfg2 : 2; // [6:5] uint32_t tst_tsen_bist_time_sel_cfg3 : 2; // [8:7] uint32_t tst_tsen_bist_code_sel : 1; // [9] uint32_t tst_tsen_bist_code_in : 3; // [12:10] uint32_t __31_13 : 19; // [31:13] } b; } REG_RF_TSEN_TST_TSEN_BIST_TIME_SEL_T; // tst_bist_sel typedef union { uint32_t v; struct { uint32_t tsen_adc_rst_sel_src : 1; // [0] uint32_t tsen_adc_ch_sel_src : 1; // [1] uint32_t tsen_adc_ch_sel_pad : 1; // [2] uint32_t pad_ie_tsx_clk : 1; // [3] uint32_t pad_oe_tsx_clk : 1; // [4] uint32_t pad_ie_tsx_data : 1; // [5] uint32_t pad_oe_tsx_data : 1; // [6] uint32_t pad_ie_tsx_adc_ch_sel : 1; // [7] uint32_t pad_oe_tsx_adc_ch_sel : 1; // [8] uint32_t pad_ie_osc_clk : 1; // [9] uint32_t pad_oe_osc_clk : 1; // [10] uint32_t pad_ie_osc_data : 1; // [11] uint32_t pad_oe_osc_data : 1; // [12] uint32_t __31_13 : 19; // [31:13] } b; } REG_RF_TSEN_TST_BIST_SEL_T; // tst_bist_res typedef union { uint32_t v; struct { uint32_t tst_tsen_bist_done : 1; // [0], read only uint32_t tsen_bist_code : 3; // [3:1], read only uint32_t __31_4 : 28; // [31:4] } b; } REG_RF_TSEN_TST_BIST_RES_T; // tst_tsen_c0_test_res0 typedef union { uint32_t v; struct { uint32_t tst_tsen_c0_res0 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C0_TEST_RES0_T; // tst_tsen_c0_test_res1 typedef union { uint32_t v; struct { uint32_t tst_tsen_c0_res1 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C0_TEST_RES1_T; // tst_tsen_c0_test_res2 typedef union { uint32_t v; struct { uint32_t tst_tsen_c0_res2 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C0_TEST_RES2_T; // tst_tsen_c0_test_res3 typedef union { uint32_t v; struct { uint32_t tst_tsen_c0_res3 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C0_TEST_RES3_T; // tst_tsen_c1_test_res0 typedef union { uint32_t v; struct { uint32_t tst_tsen_c1_res0 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C1_TEST_RES0_T; // tst_tsen_c1_test_res1 typedef union { uint32_t v; struct { uint32_t tst_tsen_c1_res1 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C1_TEST_RES1_T; // tst_tsen_c1_test_res2 typedef union { uint32_t v; struct { uint32_t tst_tsen_c1_res2 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C1_TEST_RES2_T; // tst_tsen_c1_test_res3 typedef union { uint32_t v; struct { uint32_t tst_tsen_c1_res3 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C1_TEST_RES3_T; // tst_tsen_c2_test_res0 typedef union { uint32_t v; struct { uint32_t tst_tsen_c2_res0 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C2_TEST_RES0_T; // tst_tsen_c2_test_res1 typedef union { uint32_t v; struct { uint32_t tst_tsen_c2_res1 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C2_TEST_RES1_T; // tst_tsen_c2_test_res2 typedef union { uint32_t v; struct { uint32_t tst_tsen_c2_res2 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C2_TEST_RES2_T; // tst_tsen_c2_test_res3 typedef union { uint32_t v; struct { uint32_t tst_tsen_c2_res3 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C2_TEST_RES3_T; // tst_tsen_c3_test_res0 typedef union { uint32_t v; struct { uint32_t tst_tsen_c3_res0 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C3_TEST_RES0_T; // tst_tsen_c3_test_res1 typedef union { uint32_t v; struct { uint32_t tst_tsen_c3_res1 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C3_TEST_RES1_T; // tst_tsen_c3_test_res2 typedef union { uint32_t v; struct { uint32_t tst_tsen_c3_res2 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C3_TEST_RES2_T; // tst_tsen_c3_test_res3 typedef union { uint32_t v; struct { uint32_t tst_tsen_c3_res3 : 16; // [15:0], read only uint32_t __31_16 : 16; // [31:16] } b; } REG_RF_TSEN_TST_TSEN_C3_TEST_RES3_T; // tst_tsen_bist_cfg #define RF_TSEN_TST_TSEN_BIST_CFG3(n) (((n)&0x7) << 1) #define RF_TSEN_TST_TSEN_BIST_CFG2(n) (((n)&0x7) << 4) #define RF_TSEN_TST_TSEN_BIST_CFG1(n) (((n)&0x7) << 7) #define RF_TSEN_TST_TSEN_BIST_CFG0(n) (((n)&0x7) << 10) #define RF_TSEN_TST_TSEN_BIST_BYPASS (1 << 13) // tst_tsen_bist_time_sel #define RF_TSEN_TST_TSEN_BIST_EN (1 << 0) #define RF_TSEN_TST_TSEN_BIST_TIME_SEL_CFG0(n) (((n)&0x3) << 1) #define RF_TSEN_TST_TSEN_BIST_TIME_SEL_CFG1(n) (((n)&0x3) << 3) #define RF_TSEN_TST_TSEN_BIST_TIME_SEL_CFG2(n) (((n)&0x3) << 5) #define RF_TSEN_TST_TSEN_BIST_TIME_SEL_CFG3(n) (((n)&0x3) << 7) #define RF_TSEN_TST_TSEN_BIST_CODE_SEL (1 << 9) #define RF_TSEN_TST_TSEN_BIST_CODE_IN(n) (((n)&0x7) << 10) // tst_bist_sel #define RF_TSEN_TSEN_ADC_RST_SEL_SRC (1 << 0) #define RF_TSEN_TSEN_ADC_CH_SEL_SRC (1 << 1) #define RF_TSEN_TSEN_ADC_CH_SEL_PAD (1 << 2) #define RF_TSEN_PAD_IE_TSX_CLK (1 << 3) #define RF_TSEN_PAD_OE_TSX_CLK (1 << 4) #define RF_TSEN_PAD_IE_TSX_DATA (1 << 5) #define RF_TSEN_PAD_OE_TSX_DATA (1 << 6) #define RF_TSEN_PAD_IE_TSX_ADC_CH_SEL (1 << 7) #define RF_TSEN_PAD_OE_TSX_ADC_CH_SEL (1 << 8) #define RF_TSEN_PAD_IE_OSC_CLK (1 << 9) #define RF_TSEN_PAD_OE_OSC_CLK (1 << 10) #define RF_TSEN_PAD_IE_OSC_DATA (1 << 11) #define RF_TSEN_PAD_OE_OSC_DATA (1 << 12) // tst_bist_res #define RF_TSEN_TST_TSEN_BIST_DONE (1 << 0) #define RF_TSEN_TSEN_BIST_CODE(n) (((n)&0x7) << 1) // tst_tsen_c0_test_res0 #define RF_TSEN_TST_TSEN_C0_RES0(n) (((n)&0xffff) << 0) // tst_tsen_c0_test_res1 #define RF_TSEN_TST_TSEN_C0_RES1(n) (((n)&0xffff) << 0) // tst_tsen_c0_test_res2 #define RF_TSEN_TST_TSEN_C0_RES2(n) (((n)&0xffff) << 0) // tst_tsen_c0_test_res3 #define RF_TSEN_TST_TSEN_C0_RES3(n) (((n)&0xffff) << 0) // tst_tsen_c1_test_res0 #define RF_TSEN_TST_TSEN_C1_RES0(n) (((n)&0xffff) << 0) // tst_tsen_c1_test_res1 #define RF_TSEN_TST_TSEN_C1_RES1(n) (((n)&0xffff) << 0) // tst_tsen_c1_test_res2 #define RF_TSEN_TST_TSEN_C1_RES2(n) (((n)&0xffff) << 0) // tst_tsen_c1_test_res3 #define RF_TSEN_TST_TSEN_C1_RES3(n) (((n)&0xffff) << 0) // tst_tsen_c2_test_res0 #define RF_TSEN_TST_TSEN_C2_RES0(n) (((n)&0xffff) << 0) // tst_tsen_c2_test_res1 #define RF_TSEN_TST_TSEN_C2_RES1(n) (((n)&0xffff) << 0) // tst_tsen_c2_test_res2 #define RF_TSEN_TST_TSEN_C2_RES2(n) (((n)&0xffff) << 0) // tst_tsen_c2_test_res3 #define RF_TSEN_TST_TSEN_C2_RES3(n) (((n)&0xffff) << 0) // tst_tsen_c3_test_res0 #define RF_TSEN_TST_TSEN_C3_RES0(n) (((n)&0xffff) << 0) // tst_tsen_c3_test_res1 #define RF_TSEN_TST_TSEN_C3_RES1(n) (((n)&0xffff) << 0) // tst_tsen_c3_test_res2 #define RF_TSEN_TST_TSEN_C3_RES2(n) (((n)&0xffff) << 0) // tst_tsen_c3_test_res3 #define RF_TSEN_TST_TSEN_C3_RES3(n) (((n)&0xffff) << 0) #endif // _RF_TSEN_H_