| /******************************************************************************** |
| * Marvell GPL License Option |
| * |
| * If you received this File from Marvell, you may opt to use, redistribute and/or |
| * modify this File in accordance with the terms and conditions of the General |
| * Public License Version 2, June 1991 (the "GPL License"), a copy of which is |
| * available along with the File in the license.txt file or by writing to the Free |
| * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or |
| * on the worldwide web at http://www.gnu.org/licenses/gpl.txt. |
| * |
| * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED |
| * WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY |
| * DISCLAIMED. The GPL License provides additional details about this warranty |
| * disclaimer. |
| ******************************************************************************/ |
| |
| ////// |
| /// don't edit! auto-generated by docc: tsSS.h |
| //////////////////////////////////////////////////////////// |
| #ifndef tsSS_h |
| #define tsSS_h (){} |
| |
| |
| #include "ctypes.h" |
| |
| #pragma pack(1) |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #ifndef _DOCC_H_BITOPS_ |
| #define _DOCC_H_BITOPS_ (){} |
| |
| #define _bSETMASK_(b) ((b)<32 ? (1<<((b)&31)) : 0) |
| #define _NSETMASK_(msb,lsb) (_bSETMASK_((msb)+1)-_bSETMASK_(lsb)) |
| #define _bCLRMASK_(b) (~_bSETMASK_(b)) |
| #define _NCLRMASK_(msb,lsb) (~_NSETMASK_(msb,lsb)) |
| #define _BFGET_(r,msb,lsb) (_NSETMASK_((msb)-(lsb),0)&((r)>>(lsb))) |
| #define _BFSET_(r,msb,lsb,v) do{ (r)&=_NCLRMASK_(msb,lsb); (r)|=_NSETMASK_(msb,lsb)&((v)<<(lsb)); }while(0) |
| |
| #endif |
| |
| |
| |
| ////// |
| /// |
| /// $INTERFACE OneReg (4,4) |
| /// # # ---------------------------------------------------------- |
| /// @ 0x00000 OneReg (RW) |
| /// %unsigned 8 Byte0 0x0 |
| /// %unsigned 8 Byte1 0x0 |
| /// %unsigned 8 Byte2 0x0 |
| /// %unsigned 8 Byte3 0x0 |
| /// # # ---------------------------------------------------------- |
| /// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B |
| //////////////////////////////////////////////////////////// |
| #ifndef h_OneReg |
| #define h_OneReg (){} |
| |
| #define RA_OneReg_OneReg 0x0000 |
| |
| #define BA_OneReg_OneReg_Byte0 0x0000 |
| #define B16OneReg_OneReg_Byte0 0x0000 |
| #define LSb32OneReg_OneReg_Byte0 0 |
| #define LSb16OneReg_OneReg_Byte0 0 |
| #define bOneReg_OneReg_Byte0 8 |
| #define MSK32OneReg_OneReg_Byte0 0x000000FF |
| |
| #define BA_OneReg_OneReg_Byte1 0x0001 |
| #define B16OneReg_OneReg_Byte1 0x0000 |
| #define LSb32OneReg_OneReg_Byte1 8 |
| #define LSb16OneReg_OneReg_Byte1 8 |
| #define bOneReg_OneReg_Byte1 8 |
| #define MSK32OneReg_OneReg_Byte1 0x0000FF00 |
| |
| #define BA_OneReg_OneReg_Byte2 0x0002 |
| #define B16OneReg_OneReg_Byte2 0x0002 |
| #define LSb32OneReg_OneReg_Byte2 16 |
| #define LSb16OneReg_OneReg_Byte2 0 |
| #define bOneReg_OneReg_Byte2 8 |
| #define MSK32OneReg_OneReg_Byte2 0x00FF0000 |
| |
| #define BA_OneReg_OneReg_Byte3 0x0003 |
| #define B16OneReg_OneReg_Byte3 0x0002 |
| #define LSb32OneReg_OneReg_Byte3 24 |
| #define LSb16OneReg_OneReg_Byte3 8 |
| #define bOneReg_OneReg_Byte3 8 |
| #define MSK32OneReg_OneReg_Byte3 0xFF000000 |
| /////////////////////////////////////////////////////////// |
| |
| typedef struct SIE_OneReg { |
| /////////////////////////////////////////////////////////// |
| #define GET32OneReg_OneReg_Byte0(r32) _BFGET_(r32, 7, 0) |
| #define SET32OneReg_OneReg_Byte0(r32,v) _BFSET_(r32, 7, 0,v) |
| #define GET16OneReg_OneReg_Byte0(r16) _BFGET_(r16, 7, 0) |
| #define SET16OneReg_OneReg_Byte0(r16,v) _BFSET_(r16, 7, 0,v) |
| |
| #define GET32OneReg_OneReg_Byte1(r32) _BFGET_(r32,15, 8) |
| #define SET32OneReg_OneReg_Byte1(r32,v) _BFSET_(r32,15, 8,v) |
| #define GET16OneReg_OneReg_Byte1(r16) _BFGET_(r16,15, 8) |
| #define SET16OneReg_OneReg_Byte1(r16,v) _BFSET_(r16,15, 8,v) |
| |
| #define GET32OneReg_OneReg_Byte2(r32) _BFGET_(r32,23,16) |
| #define SET32OneReg_OneReg_Byte2(r32,v) _BFSET_(r32,23,16,v) |
| #define GET16OneReg_OneReg_Byte2(r16) _BFGET_(r16, 7, 0) |
| #define SET16OneReg_OneReg_Byte2(r16,v) _BFSET_(r16, 7, 0,v) |
| |
| #define GET32OneReg_OneReg_Byte3(r32) _BFGET_(r32,31,24) |
| #define SET32OneReg_OneReg_Byte3(r32,v) _BFSET_(r32,31,24,v) |
| #define GET16OneReg_OneReg_Byte3(r16) _BFGET_(r16,15, 8) |
| #define SET16OneReg_OneReg_Byte3(r16,v) _BFSET_(r16,15, 8,v) |
| |
| #define w32OneReg_OneReg {\ |
| UNSG32 uOneReg_Byte0 : 8;\ |
| UNSG32 uOneReg_Byte1 : 8;\ |
| UNSG32 uOneReg_Byte2 : 8;\ |
| UNSG32 uOneReg_Byte3 : 8;\ |
| } |
| union { UNSG32 u32OneReg_OneReg; |
| struct w32OneReg_OneReg; |
| }; |
| /////////////////////////////////////////////////////////// |
| } SIE_OneReg; |
| |
| typedef union T32OneReg_OneReg |
| { UNSG32 u32; |
| struct w32OneReg_OneReg; |
| } T32OneReg_OneReg; |
| /////////////////////////////////////////////////////////// |
| |
| typedef union TOneReg_OneReg |
| { UNSG32 u32[1]; |
| struct { |
| struct w32OneReg_OneReg; |
| }; |
| } TOneReg_OneReg; |
| |
| /////////////////////////////////////////////////////////// |
| SIGN32 OneReg_drvrd(SIE_OneReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst); |
| SIGN32 OneReg_drvwr(SIE_OneReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd); |
| void OneReg_reset(SIE_OneReg *p); |
| SIGN32 OneReg_cmp (SIE_OneReg *p, SIE_OneReg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst); |
| #define OneReg_check(p,pie,pfx,hLOG) OneReg_cmp(p,pie,pfx,(void*)(hLOG),0,0) |
| #define OneReg_print(p, pfx,hLOG) OneReg_cmp(p,0, pfx,(void*)(hLOG),0,0) |
| |
| #endif |
| ////// |
| /// ENDOFINTERFACE: OneReg |
| //////////////////////////////////////////////////////////// |
| |
| ////// |
| /// |
| /// $INTERFACE TSOTP (4,4) |
| /// # # ---------------------------------------------------------- |
| /// @ 0x00000 (RW) |
| /// %unsigned 4 test 0x5 |
| /// %unsigned 1 rstb 0x1 |
| /// %unsigned 1 csb 0x1 |
| /// %unsigned 1 pgmb 0x1 |
| /// %unsigned 1 sclk 0x0 |
| /// %unsigned 1 load 0x1 |
| /// %unsigned 1 pdwn 0x0 |
| /// %unsigned 13 addr 0x0 |
| /// ### |
| /// * select the OTP cells to be programmed; only 0~2699 are valid numbers |
| /// ### |
| /// %unsigned 8 crcchk 0x0 |
| /// %% 1 # Stuffing bits... |
| /// @ 0x00004 (RW) |
| /// %unsigned 1 progseqcode 0x0 |
| /// %unsigned 1 progseqcodeclk 0x0 |
| /// %% 30 # Stuffing bits... |
| /// @ 0x00008 (R-) |
| /// %unsigned 32 data0 0x1 |
| /// %unsigned 32 data1 0x1 |
| /// %unsigned 2 data2 0x1 |
| /// %unsigned 1 security 0x1 |
| /// %unsigned 1 rddone 0x0 |
| /// %unsigned 1 dout 0x1 |
| /// %unsigned 1 match 0x1 |
| /// ### |
| /// * please refer to OTP Macro Document regarding to definition and programming timing about these bits. |
| /// ### |
| /// %% 26 # Stuffing bits... |
| /// # # ---------------------------------------------------------- |
| /// $ENDOFINTERFACE # size: 20B, bits: 103b, padding: 0B |
| //////////////////////////////////////////////////////////// |
| #ifndef h_TSOTP |
| #define h_TSOTP (){} |
| |
| #define BA_TSOTP_test 0x0000 |
| #define B16TSOTP_test 0x0000 |
| #define LSb32TSOTP_test 0 |
| #define LSb16TSOTP_test 0 |
| #define bTSOTP_test 4 |
| #define MSK32TSOTP_test 0x0000000F |
| |
| #define BA_TSOTP_rstb 0x0000 |
| #define B16TSOTP_rstb 0x0000 |
| #define LSb32TSOTP_rstb 4 |
| #define LSb16TSOTP_rstb 4 |
| #define bTSOTP_rstb 1 |
| #define MSK32TSOTP_rstb 0x00000010 |
| |
| #define BA_TSOTP_csb 0x0000 |
| #define B16TSOTP_csb 0x0000 |
| #define LSb32TSOTP_csb 5 |
| #define LSb16TSOTP_csb 5 |
| #define bTSOTP_csb 1 |
| #define MSK32TSOTP_csb 0x00000020 |
| |
| #define BA_TSOTP_pgmb 0x0000 |
| #define B16TSOTP_pgmb 0x0000 |
| #define LSb32TSOTP_pgmb 6 |
| #define LSb16TSOTP_pgmb 6 |
| #define bTSOTP_pgmb 1 |
| #define MSK32TSOTP_pgmb 0x00000040 |
| |
| #define BA_TSOTP_sclk 0x0000 |
| #define B16TSOTP_sclk 0x0000 |
| #define LSb32TSOTP_sclk 7 |
| #define LSb16TSOTP_sclk 7 |
| #define bTSOTP_sclk 1 |
| #define MSK32TSOTP_sclk 0x00000080 |
| |
| #define BA_TSOTP_load 0x0001 |
| #define B16TSOTP_load 0x0000 |
| #define LSb32TSOTP_load 8 |
| #define LSb16TSOTP_load 8 |
| #define bTSOTP_load 1 |
| #define MSK32TSOTP_load 0x00000100 |
| |
| #define BA_TSOTP_pdwn 0x0001 |
| #define B16TSOTP_pdwn 0x0000 |
| #define LSb32TSOTP_pdwn 9 |
| #define LSb16TSOTP_pdwn 9 |
| #define bTSOTP_pdwn 1 |
| #define MSK32TSOTP_pdwn 0x00000200 |
| |
| #define BA_TSOTP_addr 0x0001 |
| #define B16TSOTP_addr 0x0000 |
| #define LSb32TSOTP_addr 10 |
| #define LSb16TSOTP_addr 10 |
| #define bTSOTP_addr 13 |
| #define MSK32TSOTP_addr 0x007FFC00 |
| |
| #define BA_TSOTP_crcchk 0x0002 |
| #define B16TSOTP_crcchk 0x0002 |
| #define LSb32TSOTP_crcchk 23 |
| #define LSb16TSOTP_crcchk 7 |
| #define bTSOTP_crcchk 8 |
| #define MSK32TSOTP_crcchk 0x7F800000 |
| /////////////////////////////////////////////////////////// |
| |
| #define BA_TSOTP_progseqcode 0x0004 |
| #define B16TSOTP_progseqcode 0x0004 |
| #define LSb32TSOTP_progseqcode 0 |
| #define LSb16TSOTP_progseqcode 0 |
| #define bTSOTP_progseqcode 1 |
| #define MSK32TSOTP_progseqcode 0x00000001 |
| |
| #define BA_TSOTP_progseqcodeclk 0x0004 |
| #define B16TSOTP_progseqcodeclk 0x0004 |
| #define LSb32TSOTP_progseqcodeclk 1 |
| #define LSb16TSOTP_progseqcodeclk 1 |
| #define bTSOTP_progseqcodeclk 1 |
| #define MSK32TSOTP_progseqcodeclk 0x00000002 |
| /////////////////////////////////////////////////////////// |
| |
| #define BA_TSOTP_data0 0x0008 |
| #define B16TSOTP_data0 0x0008 |
| #define LSb32TSOTP_data0 0 |
| #define LSb16TSOTP_data0 0 |
| #define bTSOTP_data0 32 |
| #define MSK32TSOTP_data0 0xFFFFFFFF |
| |
| #define BA_TSOTP_data1 0x000C |
| #define B16TSOTP_data1 0x000C |
| #define LSb32TSOTP_data1 0 |
| #define LSb16TSOTP_data1 0 |
| #define bTSOTP_data1 32 |
| #define MSK32TSOTP_data1 0xFFFFFFFF |
| |
| #define BA_TSOTP_data2 0x0010 |
| #define B16TSOTP_data2 0x0010 |
| #define LSb32TSOTP_data2 0 |
| #define LSb16TSOTP_data2 0 |
| #define bTSOTP_data2 2 |
| #define MSK32TSOTP_data2 0x00000003 |
| |
| #define BA_TSOTP_security 0x0010 |
| #define B16TSOTP_security 0x0010 |
| #define LSb32TSOTP_security 2 |
| #define LSb16TSOTP_security 2 |
| #define bTSOTP_security 1 |
| #define MSK32TSOTP_security 0x00000004 |
| |
| #define BA_TSOTP_rddone 0x0010 |
| #define B16TSOTP_rddone 0x0010 |
| #define LSb32TSOTP_rddone 3 |
| #define LSb16TSOTP_rddone 3 |
| #define bTSOTP_rddone 1 |
| #define MSK32TSOTP_rddone 0x00000008 |
| |
| #define BA_TSOTP_dout 0x0010 |
| #define B16TSOTP_dout 0x0010 |
| #define LSb32TSOTP_dout 4 |
| #define LSb16TSOTP_dout 4 |
| #define bTSOTP_dout 1 |
| #define MSK32TSOTP_dout 0x00000010 |
| |
| #define BA_TSOTP_match 0x0010 |
| #define B16TSOTP_match 0x0010 |
| #define LSb32TSOTP_match 5 |
| #define LSb16TSOTP_match 5 |
| #define bTSOTP_match 1 |
| #define MSK32TSOTP_match 0x00000020 |
| /////////////////////////////////////////////////////////// |
| |
| typedef struct SIE_TSOTP { |
| /////////////////////////////////////////////////////////// |
| #define GET32TSOTP_test(r32) _BFGET_(r32, 3, 0) |
| #define SET32TSOTP_test(r32,v) _BFSET_(r32, 3, 0,v) |
| #define GET16TSOTP_test(r16) _BFGET_(r16, 3, 0) |
| #define SET16TSOTP_test(r16,v) _BFSET_(r16, 3, 0,v) |
| |
| #define GET32TSOTP_rstb(r32) _BFGET_(r32, 4, 4) |
| #define SET32TSOTP_rstb(r32,v) _BFSET_(r32, 4, 4,v) |
| #define GET16TSOTP_rstb(r16) _BFGET_(r16, 4, 4) |
| #define SET16TSOTP_rstb(r16,v) _BFSET_(r16, 4, 4,v) |
| |
| #define GET32TSOTP_csb(r32) _BFGET_(r32, 5, 5) |
| #define SET32TSOTP_csb(r32,v) _BFSET_(r32, 5, 5,v) |
| #define GET16TSOTP_csb(r16) _BFGET_(r16, 5, 5) |
| #define SET16TSOTP_csb(r16,v) _BFSET_(r16, 5, 5,v) |
| |
| #define GET32TSOTP_pgmb(r32) _BFGET_(r32, 6, 6) |
| #define SET32TSOTP_pgmb(r32,v) _BFSET_(r32, 6, 6,v) |
| #define GET16TSOTP_pgmb(r16) _BFGET_(r16, 6, 6) |
| #define SET16TSOTP_pgmb(r16,v) _BFSET_(r16, 6, 6,v) |
| |
| #define GET32TSOTP_sclk(r32) _BFGET_(r32, 7, 7) |
| #define SET32TSOTP_sclk(r32,v) _BFSET_(r32, 7, 7,v) |
| #define GET16TSOTP_sclk(r16) _BFGET_(r16, 7, 7) |
| #define SET16TSOTP_sclk(r16,v) _BFSET_(r16, 7, 7,v) |
| |
| #define GET32TSOTP_load(r32) _BFGET_(r32, 8, 8) |
| #define SET32TSOTP_load(r32,v) _BFSET_(r32, 8, 8,v) |
| #define GET16TSOTP_load(r16) _BFGET_(r16, 8, 8) |
| #define SET16TSOTP_load(r16,v) _BFSET_(r16, 8, 8,v) |
| |
| #define GET32TSOTP_pdwn(r32) _BFGET_(r32, 9, 9) |
| #define SET32TSOTP_pdwn(r32,v) _BFSET_(r32, 9, 9,v) |
| #define GET16TSOTP_pdwn(r16) _BFGET_(r16, 9, 9) |
| #define SET16TSOTP_pdwn(r16,v) _BFSET_(r16, 9, 9,v) |
| |
| #define GET32TSOTP_addr(r32) _BFGET_(r32,22,10) |
| #define SET32TSOTP_addr(r32,v) _BFSET_(r32,22,10,v) |
| |
| #define GET32TSOTP_crcchk(r32) _BFGET_(r32,30,23) |
| #define SET32TSOTP_crcchk(r32,v) _BFSET_(r32,30,23,v) |
| #define GET16TSOTP_crcchk(r16) _BFGET_(r16,14, 7) |
| #define SET16TSOTP_crcchk(r16,v) _BFSET_(r16,14, 7,v) |
| |
| UNSG32 u_test : 4; |
| UNSG32 u_rstb : 1; |
| UNSG32 u_csb : 1; |
| UNSG32 u_pgmb : 1; |
| UNSG32 u_sclk : 1; |
| UNSG32 u_load : 1; |
| UNSG32 u_pdwn : 1; |
| UNSG32 u_addr : 13; |
| UNSG32 u_crcchk : 8; |
| UNSG32 RSVDx0_b31 : 1; |
| /////////////////////////////////////////////////////////// |
| #define GET32TSOTP_progseqcode(r32) _BFGET_(r32, 0, 0) |
| #define SET32TSOTP_progseqcode(r32,v) _BFSET_(r32, 0, 0,v) |
| #define GET16TSOTP_progseqcode(r16) _BFGET_(r16, 0, 0) |
| #define SET16TSOTP_progseqcode(r16,v) _BFSET_(r16, 0, 0,v) |
| |
| #define GET32TSOTP_progseqcodeclk(r32) _BFGET_(r32, 1, 1) |
| #define SET32TSOTP_progseqcodeclk(r32,v) _BFSET_(r32, 1, 1,v) |
| #define GET16TSOTP_progseqcodeclk(r16) _BFGET_(r16, 1, 1) |
| #define SET16TSOTP_progseqcodeclk(r16,v) _BFSET_(r16, 1, 1,v) |
| |
| UNSG32 u_progseqcode : 1; |
| UNSG32 u_progseqcodeclk : 1; |
| UNSG32 RSVDx4_b2 : 30; |
| /////////////////////////////////////////////////////////// |
| #define GET32TSOTP_data0(r32) _BFGET_(r32,31, 0) |
| #define SET32TSOTP_data0(r32,v) _BFSET_(r32,31, 0,v) |
| |
| UNSG32 u_data0 : 32; |
| /////////////////////////////////////////////////////////// |
| |
| #define GET32TSOTP_data1(r32) _BFGET_(r32,31, 0) |
| #define SET32TSOTP_data1(r32,v) _BFSET_(r32,31, 0,v) |
| |
| UNSG32 u_data1 : 32; |
| /////////////////////////////////////////////////////////// |
| |
| #define GET32TSOTP_data2(r32) _BFGET_(r32, 1, 0) |
| #define SET32TSOTP_data2(r32,v) _BFSET_(r32, 1, 0,v) |
| #define GET16TSOTP_data2(r16) _BFGET_(r16, 1, 0) |
| #define SET16TSOTP_data2(r16,v) _BFSET_(r16, 1, 0,v) |
| |
| #define GET32TSOTP_security(r32) _BFGET_(r32, 2, 2) |
| #define SET32TSOTP_security(r32,v) _BFSET_(r32, 2, 2,v) |
| #define GET16TSOTP_security(r16) _BFGET_(r16, 2, 2) |
| #define SET16TSOTP_security(r16,v) _BFSET_(r16, 2, 2,v) |
| |
| #define GET32TSOTP_rddone(r32) _BFGET_(r32, 3, 3) |
| #define SET32TSOTP_rddone(r32,v) _BFSET_(r32, 3, 3,v) |
| #define GET16TSOTP_rddone(r16) _BFGET_(r16, 3, 3) |
| #define SET16TSOTP_rddone(r16,v) _BFSET_(r16, 3, 3,v) |
| |
| #define GET32TSOTP_dout(r32) _BFGET_(r32, 4, 4) |
| #define SET32TSOTP_dout(r32,v) _BFSET_(r32, 4, 4,v) |
| #define GET16TSOTP_dout(r16) _BFGET_(r16, 4, 4) |
| #define SET16TSOTP_dout(r16,v) _BFSET_(r16, 4, 4,v) |
| |
| #define GET32TSOTP_match(r32) _BFGET_(r32, 5, 5) |
| #define SET32TSOTP_match(r32,v) _BFSET_(r32, 5, 5,v) |
| #define GET16TSOTP_match(r16) _BFGET_(r16, 5, 5) |
| #define SET16TSOTP_match(r16,v) _BFSET_(r16, 5, 5,v) |
| |
| UNSG32 u_data2 : 2; |
| UNSG32 u_security : 1; |
| UNSG32 u_rddone : 1; |
| UNSG32 u_dout : 1; |
| UNSG32 u_match : 1; |
| UNSG32 RSVDx10_b6 : 26; |
| /////////////////////////////////////////////////////////// |
| } SIE_TSOTP; |
| |
| /////////////////////////////////////////////////////////// |
| SIGN32 TSOTP_drvrd(SIE_TSOTP *p, UNSG32 base, SIGN32 mem, SIGN32 tst); |
| SIGN32 TSOTP_drvwr(SIE_TSOTP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd); |
| void TSOTP_reset(SIE_TSOTP *p); |
| SIGN32 TSOTP_cmp (SIE_TSOTP *p, SIE_TSOTP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst); |
| #define TSOTP_check(p,pie,pfx,hLOG) TSOTP_cmp(p,pie,pfx,(void*)(hLOG),0,0) |
| #define TSOTP_print(p, pfx,hLOG) TSOTP_cmp(p,0, pfx,(void*)(hLOG),0,0) |
| |
| #endif |
| ////// |
| /// ENDOFINTERFACE: TSOTP |
| //////////////////////////////////////////////////////////// |
| |
| ////// |
| /// |
| /// $INTERFACE User_password (4,4) |
| /// # # ---------------------------------------------------------- |
| /// @ 0x00000 Password (P) |
| /// # 0x00000 Password |
| /// $OneReg Password REG [4] |
| /// ### |
| /// * User provided password for validation |
| /// ### |
| /// @ 0x00010 Select (P) |
| /// %unsigned 1 Select 0x0 |
| /// ### |
| /// * 0: select password_0 for password matching |
| /// * 1: select password_1 for password matching |
| /// ### |
| /// %% 31 # Stuffing bits... |
| /// @ 0x00014 Valid (P) |
| /// %unsigned 1 Valid 0x0 |
| /// ### |
| /// * Indicate if User_password is valid |
| /// * To do the password matching, user must set this register to 1, otherwise the matching will fail |
| /// ### |
| /// %% 31 # Stuffing bits... |
| /// # # ---------------------------------------------------------- |
| /// $ENDOFINTERFACE # size: 24B, bits: 130b, padding: 0B |
| //////////////////////////////////////////////////////////// |
| #ifndef h_User_password |
| #define h_User_password (){} |
| |
| #define RA_User_password_Password 0x0000 |
| /////////////////////////////////////////////////////////// |
| #define RA_User_password_Select 0x0010 |
| |
| #define BA_User_password_Select_Select 0x0010 |
| #define B16User_password_Select_Select 0x0010 |
| #define LSb32User_password_Select_Select 0 |
| #define LSb16User_password_Select_Select 0 |
| #define bUser_password_Select_Select 1 |
| #define MSK32User_password_Select_Select 0x00000001 |
| /////////////////////////////////////////////////////////// |
| #define RA_User_password_Valid 0x0014 |
| |
| #define BA_User_password_Valid_Valid 0x0014 |
| #define B16User_password_Valid_Valid 0x0014 |
| #define LSb32User_password_Valid_Valid 0 |
| #define LSb16User_password_Valid_Valid 0 |
| #define bUser_password_Valid_Valid 1 |
| #define MSK32User_password_Valid_Valid 0x00000001 |
| /////////////////////////////////////////////////////////// |
| |
| typedef struct SIE_User_password { |
| /////////////////////////////////////////////////////////// |
| SIE_OneReg ie_Password[4]; |
| /////////////////////////////////////////////////////////// |
| #define GET32User_password_Select_Select(r32) _BFGET_(r32, 0, 0) |
| #define SET32User_password_Select_Select(r32,v) _BFSET_(r32, 0, 0,v) |
| #define GET16User_password_Select_Select(r16) _BFGET_(r16, 0, 0) |
| #define SET16User_password_Select_Select(r16,v) _BFSET_(r16, 0, 0,v) |
| |
| #define w32User_password_Select {\ |
| UNSG32 uSelect_Select : 1;\ |
| UNSG32 RSVDx10_b1 : 31;\ |
| } |
| union { UNSG32 u32User_password_Select; |
| struct w32User_password_Select; |
| }; |
| /////////////////////////////////////////////////////////// |
| #define GET32User_password_Valid_Valid(r32) _BFGET_(r32, 0, 0) |
| #define SET32User_password_Valid_Valid(r32,v) _BFSET_(r32, 0, 0,v) |
| #define GET16User_password_Valid_Valid(r16) _BFGET_(r16, 0, 0) |
| #define SET16User_password_Valid_Valid(r16,v) _BFSET_(r16, 0, 0,v) |
| |
| #define w32User_password_Valid {\ |
| UNSG32 uValid_Valid : 1;\ |
| UNSG32 RSVDx14_b1 : 31;\ |
| } |
| union { UNSG32 u32User_password_Valid; |
| struct w32User_password_Valid; |
| }; |
| /////////////////////////////////////////////////////////// |
| } SIE_User_password; |
| |
| typedef union T32User_password_Select |
| { UNSG32 u32; |
| struct w32User_password_Select; |
| } T32User_password_Select; |
| typedef union T32User_password_Valid |
| { UNSG32 u32; |
| struct w32User_password_Valid; |
| } T32User_password_Valid; |
| /////////////////////////////////////////////////////////// |
| |
| typedef union TUser_password_Select |
| { UNSG32 u32[1]; |
| struct { |
| struct w32User_password_Select; |
| }; |
| } TUser_password_Select; |
| typedef union TUser_password_Valid |
| { UNSG32 u32[1]; |
| struct { |
| struct w32User_password_Valid; |
| }; |
| } TUser_password_Valid; |
| |
| /////////////////////////////////////////////////////////// |
| SIGN32 User_password_drvrd(SIE_User_password *p, UNSG32 base, SIGN32 mem, SIGN32 tst); |
| SIGN32 User_password_drvwr(SIE_User_password *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd); |
| void User_password_reset(SIE_User_password *p); |
| SIGN32 User_password_cmp (SIE_User_password *p, SIE_User_password *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst); |
| #define User_password_check(p,pie,pfx,hLOG) User_password_cmp(p,pie,pfx,(void*)(hLOG),0,0) |
| #define User_password_print(p, pfx,hLOG) User_password_cmp(p,0, pfx,(void*)(hLOG),0,0) |
| |
| #endif |
| ////// |
| /// ENDOFINTERFACE: User_password |
| //////////////////////////////////////////////////////////// |
| |
| ////// |
| /// |
| /// $INTERFACE TSSSWrapper (4,4) |
| /// # # ---------------------------------------------------------- |
| /// @ 0x00000 JTAG_password_0 (P) |
| /// # 0x00000 Password_0 |
| /// $OneReg Password_0 REG [4] |
| /// ### |
| /// * Golden password 0. Only SCPU can read/write it |
| /// ### |
| /// @ 0x00010 JTAG_password_1 (P) |
| /// # 0x00010 Password_1 |
| /// $OneReg Password_1 REG [4] |
| /// ### |
| /// * Golden password 1. Only SCPU can read/write it |
| /// ### |
| /// @ 0x00020 JTAG_Protected (P) |
| /// %unsigned 2 JTAG_Protected 0x0 |
| /// ### |
| /// * 00: JTAG disabled |
| /// * 01/10: need password to enable JTAG |
| /// * 11:enable JTAG |
| /// * Only SCPU can read/write it |
| /// ### |
| /// %% 30 # Stuffing bits... |
| /// @ 0x00024 JTAG_password_valid (P) |
| /// %unsigned 2 JTAG_password_valid 0x0 |
| /// ### |
| /// * bit0: password_0 valid |
| /// * bit1: password_1 valid |
| /// * Only SCPU can read/write it |
| /// ### |
| /// %% 30 # Stuffing bits... |
| /// @ 0x00028 IceEn (P) |
| /// %unsigned 1 ZspIceEn 0x0 |
| /// ### |
| /// * ZSP JTAG enable |
| /// * Open for ACPU to read |
| /// ### |
| /// %unsigned 1 Cpu0IceEn 0x1 |
| /// ### |
| /// * CPU0 JTAG enable |
| /// * Open for ACPU to read |
| /// ### |
| /// %unsigned 1 Cpu1IceEn 0x0 |
| /// ### |
| /// * CPU1 JTAG enable |
| /// * Open for ACPU to read |
| /// ### |
| /// %% 29 # Stuffing bits... |
| /// @ 0x0002C (W-) |
| /// # # Stuffing bytes... |
| /// %% 32 |
| /// @ 0x00030 ChipID (P) |
| /// # 0x00030 ChipID |
| /// $OneReg ChipID REG [2] |
| /// ### |
| /// * Chip ID written out by SCPU. Open for ACPU to read. |
| /// ### |
| /// @ 0x00038 (W-) |
| /// # # Stuffing bytes... |
| /// %% 64 |
| /// @ 0x00040 ACPU_Access (P) |
| /// %unsigned 1 TSOTP 0x1 |
| /// ### |
| /// * 1: Grant the R/W access to TSOTP from ACPU |
| /// ### |
| /// %unsigned 1 TspKeyTbl 0x1 |
| /// ### |
| /// * 1: Grant the R/W access to TspKeyTble from ACPU |
| /// ### |
| /// %% 30 # Stuffing bits... |
| /// @ 0x00044 (W-) |
| /// # # Stuffing bytes... |
| /// %% 96 |
| /// @ 0x00050 FeatureCtrlReg (P) |
| /// ### |
| /// * Only SCPU has the R/W access |
| /// ### |
| /// %unsigned 32 V2G_Fuse 0x0 |
| /// ### |
| /// * V2G FeatureCtrl register, only SCPU can R/W |
| /// ### |
| /// # 0x00054 FeatureCtrlReg1 |
| /// %unsigned 32 Hantro_Fuse_Dec 0x0 |
| /// ### |
| /// * Hantro FuseDec FeatureCtrl register, only SCPU can R/W |
| /// ### |
| /// # 0x00058 FeatureCtrlReg2 |
| /// %unsigned 32 Hantro_Fuse_PP 0x0 |
| /// ### |
| /// * Hantro Fuse PP FeatureCtrl register, only SCPU can R/W |
| /// ### |
| /// # # ---------------------------------------------------------- |
| /// $ENDOFINTERFACE # size: 92B, bits: 425b, padding: 0B |
| //////////////////////////////////////////////////////////// |
| #ifndef h_TSSSWrapper |
| #define h_TSSSWrapper (){} |
| |
| #define RA_TSSSWrapper_JTAG_password_0 0x0000 |
| #define RA_TSSSWrapper_Password_0 0x0000 |
| /////////////////////////////////////////////////////////// |
| #define RA_TSSSWrapper_JTAG_password_1 0x0010 |
| #define RA_TSSSWrapper_Password_1 0x0010 |
| /////////////////////////////////////////////////////////// |
| #define RA_TSSSWrapper_JTAG_Protected 0x0020 |
| |
| #define BA_TSSSWrapper_JTAG_Protected_JTAG_Protected 0x0020 |
| #define B16TSSSWrapper_JTAG_Protected_JTAG_Protected 0x0020 |
| #define LSb32TSSSWrapper_JTAG_Protected_JTAG_Protected 0 |
| #define LSb16TSSSWrapper_JTAG_Protected_JTAG_Protected 0 |
| #define bTSSSWrapper_JTAG_Protected_JTAG_Protected 2 |
| #define MSK32TSSSWrapper_JTAG_Protected_JTAG_Protected 0x00000003 |
| /////////////////////////////////////////////////////////// |
| #define RA_TSSSWrapper_JTAG_password_valid 0x0024 |
| |
| #define BA_TSSSWrapper_JTAG_password_valid_JTAG_password_valid 0x0024 |
| #define B16TSSSWrapper_JTAG_password_valid_JTAG_password_valid 0x0024 |
| #define LSb32TSSSWrapper_JTAG_password_valid_JTAG_password_valid 0 |
| #define LSb16TSSSWrapper_JTAG_password_valid_JTAG_password_valid 0 |
| #define bTSSSWrapper_JTAG_password_valid_JTAG_password_valid 2 |
| #define MSK32TSSSWrapper_JTAG_password_valid_JTAG_password_valid 0x00000003 |
| /////////////////////////////////////////////////////////// |
| #define RA_TSSSWrapper_IceEn 0x0028 |
| |
| #define BA_TSSSWrapper_IceEn_ZspIceEn 0x0028 |
| #define B16TSSSWrapper_IceEn_ZspIceEn 0x0028 |
| #define LSb32TSSSWrapper_IceEn_ZspIceEn 0 |
| #define LSb16TSSSWrapper_IceEn_ZspIceEn 0 |
| #define bTSSSWrapper_IceEn_ZspIceEn 1 |
| #define MSK32TSSSWrapper_IceEn_ZspIceEn 0x00000001 |
| |
| #define BA_TSSSWrapper_IceEn_Cpu0IceEn 0x0028 |
| #define B16TSSSWrapper_IceEn_Cpu0IceEn 0x0028 |
| #define LSb32TSSSWrapper_IceEn_Cpu0IceEn 1 |
| #define LSb16TSSSWrapper_IceEn_Cpu0IceEn 1 |
| #define bTSSSWrapper_IceEn_Cpu0IceEn 1 |
| #define MSK32TSSSWrapper_IceEn_Cpu0IceEn 0x00000002 |
| |
| #define BA_TSSSWrapper_IceEn_Cpu1IceEn 0x0028 |
| #define B16TSSSWrapper_IceEn_Cpu1IceEn 0x0028 |
| #define LSb32TSSSWrapper_IceEn_Cpu1IceEn 2 |
| #define LSb16TSSSWrapper_IceEn_Cpu1IceEn 2 |
| #define bTSSSWrapper_IceEn_Cpu1IceEn 1 |
| #define MSK32TSSSWrapper_IceEn_Cpu1IceEn 0x00000004 |
| /////////////////////////////////////////////////////////// |
| #define RA_TSSSWrapper_ChipID 0x0030 |
| /////////////////////////////////////////////////////////// |
| #define RA_TSSSWrapper_ACPU_Access 0x0040 |
| |
| #define BA_TSSSWrapper_ACPU_Access_TSOTP 0x0040 |
| #define B16TSSSWrapper_ACPU_Access_TSOTP 0x0040 |
| #define LSb32TSSSWrapper_ACPU_Access_TSOTP 0 |
| #define LSb16TSSSWrapper_ACPU_Access_TSOTP 0 |
| #define bTSSSWrapper_ACPU_Access_TSOTP 1 |
| #define MSK32TSSSWrapper_ACPU_Access_TSOTP 0x00000001 |
| |
| #define BA_TSSSWrapper_ACPU_Access_TspKeyTbl 0x0040 |
| #define B16TSSSWrapper_ACPU_Access_TspKeyTbl 0x0040 |
| #define LSb32TSSSWrapper_ACPU_Access_TspKeyTbl 1 |
| #define LSb16TSSSWrapper_ACPU_Access_TspKeyTbl 1 |
| #define bTSSSWrapper_ACPU_Access_TspKeyTbl 1 |
| #define MSK32TSSSWrapper_ACPU_Access_TspKeyTbl 0x00000002 |
| /////////////////////////////////////////////////////////// |
| #define RA_TSSSWrapper_FeatureCtrlReg 0x0050 |
| |
| #define BA_TSSSWrapper_FeatureCtrlReg_V2G_Fuse 0x0050 |
| #define B16TSSSWrapper_FeatureCtrlReg_V2G_Fuse 0x0050 |
| #define LSb32TSSSWrapper_FeatureCtrlReg_V2G_Fuse 0 |
| #define LSb16TSSSWrapper_FeatureCtrlReg_V2G_Fuse 0 |
| #define bTSSSWrapper_FeatureCtrlReg_V2G_Fuse 32 |
| #define MSK32TSSSWrapper_FeatureCtrlReg_V2G_Fuse 0xFFFFFFFF |
| |
| #define RA_TSSSWrapper_FeatureCtrlReg1 0x0054 |
| |
| #define BA_TSSSWrapper_FeatureCtrlReg_Hantro_Fuse_Dec 0x0054 |
| #define B16TSSSWrapper_FeatureCtrlReg_Hantro_Fuse_Dec 0x0054 |
| #define LSb32TSSSWrapper_FeatureCtrlReg_Hantro_Fuse_Dec 0 |
| #define LSb16TSSSWrapper_FeatureCtrlReg_Hantro_Fuse_Dec 0 |
| #define bTSSSWrapper_FeatureCtrlReg_Hantro_Fuse_Dec 32 |
| #define MSK32TSSSWrapper_FeatureCtrlReg_Hantro_Fuse_Dec 0xFFFFFFFF |
| |
| #define RA_TSSSWrapper_FeatureCtrlReg2 0x0058 |
| |
| #define BA_TSSSWrapper_FeatureCtrlReg_Hantro_Fuse_PP 0x0058 |
| #define B16TSSSWrapper_FeatureCtrlReg_Hantro_Fuse_PP 0x0058 |
| #define LSb32TSSSWrapper_FeatureCtrlReg_Hantro_Fuse_PP 0 |
| #define LSb16TSSSWrapper_FeatureCtrlReg_Hantro_Fuse_PP 0 |
| #define bTSSSWrapper_FeatureCtrlReg_Hantro_Fuse_PP 32 |
| #define MSK32TSSSWrapper_FeatureCtrlReg_Hantro_Fuse_PP 0xFFFFFFFF |
| /////////////////////////////////////////////////////////// |
| |
| typedef struct SIE_TSSSWrapper { |
| /////////////////////////////////////////////////////////// |
| SIE_OneReg ie_Password_0[4]; |
| /////////////////////////////////////////////////////////// |
| SIE_OneReg ie_Password_1[4]; |
| /////////////////////////////////////////////////////////// |
| #define GET32TSSSWrapper_JTAG_Protected_JTAG_Protected(r32) _BFGET_(r32, 1, 0) |
| #define SET32TSSSWrapper_JTAG_Protected_JTAG_Protected(r32,v) _BFSET_(r32, 1, 0,v) |
| #define GET16TSSSWrapper_JTAG_Protected_JTAG_Protected(r16) _BFGET_(r16, 1, 0) |
| #define SET16TSSSWrapper_JTAG_Protected_JTAG_Protected(r16,v) _BFSET_(r16, 1, 0,v) |
| |
| #define w32TSSSWrapper_JTAG_Protected {\ |
| UNSG32 uJTAG_Protected_JTAG_Protected : 2;\ |
| UNSG32 RSVDx20_b2 : 30;\ |
| } |
| union { UNSG32 u32TSSSWrapper_JTAG_Protected; |
| struct w32TSSSWrapper_JTAG_Protected; |
| }; |
| /////////////////////////////////////////////////////////// |
| #define GET32TSSSWrapper_JTAG_password_valid_JTAG_password_valid(r32) _BFGET_(r32, 1, 0) |
| #define SET32TSSSWrapper_JTAG_password_valid_JTAG_password_valid(r32,v) _BFSET_(r32, 1, 0,v) |
| #define GET16TSSSWrapper_JTAG_password_valid_JTAG_password_valid(r16) _BFGET_(r16, 1, 0) |
| #define SET16TSSSWrapper_JTAG_password_valid_JTAG_password_valid(r16,v) _BFSET_(r16, 1, 0,v) |
| |
| #define w32TSSSWrapper_JTAG_password_valid {\ |
| UNSG32 uJTAG_password_valid_JTAG_password_valid : 2;\ |
| UNSG32 RSVDx24_b2 : 30;\ |
| } |
| union { UNSG32 u32TSSSWrapper_JTAG_password_valid; |
| struct w32TSSSWrapper_JTAG_password_valid; |
| }; |
| /////////////////////////////////////////////////////////// |
| #define GET32TSSSWrapper_IceEn_ZspIceEn(r32) _BFGET_(r32, 0, 0) |
| #define SET32TSSSWrapper_IceEn_ZspIceEn(r32,v) _BFSET_(r32, 0, 0,v) |
| #define GET16TSSSWrapper_IceEn_ZspIceEn(r16) _BFGET_(r16, 0, 0) |
| #define SET16TSSSWrapper_IceEn_ZspIceEn(r16,v) _BFSET_(r16, 0, 0,v) |
| |
| #define GET32TSSSWrapper_IceEn_Cpu0IceEn(r32) _BFGET_(r32, 1, 1) |
| #define SET32TSSSWrapper_IceEn_Cpu0IceEn(r32,v) _BFSET_(r32, 1, 1,v) |
| #define GET16TSSSWrapper_IceEn_Cpu0IceEn(r16) _BFGET_(r16, 1, 1) |
| #define SET16TSSSWrapper_IceEn_Cpu0IceEn(r16,v) _BFSET_(r16, 1, 1,v) |
| |
| #define GET32TSSSWrapper_IceEn_Cpu1IceEn(r32) _BFGET_(r32, 2, 2) |
| #define SET32TSSSWrapper_IceEn_Cpu1IceEn(r32,v) _BFSET_(r32, 2, 2,v) |
| #define GET16TSSSWrapper_IceEn_Cpu1IceEn(r16) _BFGET_(r16, 2, 2) |
| #define SET16TSSSWrapper_IceEn_Cpu1IceEn(r16,v) _BFSET_(r16, 2, 2,v) |
| |
| #define w32TSSSWrapper_IceEn {\ |
| UNSG32 uIceEn_ZspIceEn : 1;\ |
| UNSG32 uIceEn_Cpu0IceEn : 1;\ |
| UNSG32 uIceEn_Cpu1IceEn : 1;\ |
| UNSG32 RSVDx28_b3 : 29;\ |
| } |
| union { UNSG32 u32TSSSWrapper_IceEn; |
| struct w32TSSSWrapper_IceEn; |
| }; |
| /////////////////////////////////////////////////////////// |
| UNSG8 RSVDx2C [4]; |
| /////////////////////////////////////////////////////////// |
| SIE_OneReg ie_ChipID[2]; |
| /////////////////////////////////////////////////////////// |
| UNSG8 RSVDx38 [8]; |
| /////////////////////////////////////////////////////////// |
| #define GET32TSSSWrapper_ACPU_Access_TSOTP(r32) _BFGET_(r32, 0, 0) |
| #define SET32TSSSWrapper_ACPU_Access_TSOTP(r32,v) _BFSET_(r32, 0, 0,v) |
| #define GET16TSSSWrapper_ACPU_Access_TSOTP(r16) _BFGET_(r16, 0, 0) |
| #define SET16TSSSWrapper_ACPU_Access_TSOTP(r16,v) _BFSET_(r16, 0, 0,v) |
| |
| #define GET32TSSSWrapper_ACPU_Access_TspKeyTbl(r32) _BFGET_(r32, 1, 1) |
| #define SET32TSSSWrapper_ACPU_Access_TspKeyTbl(r32,v) _BFSET_(r32, 1, 1,v) |
| #define GET16TSSSWrapper_ACPU_Access_TspKeyTbl(r16) _BFGET_(r16, 1, 1) |
| #define SET16TSSSWrapper_ACPU_Access_TspKeyTbl(r16,v) _BFSET_(r16, 1, 1,v) |
| |
| #define w32TSSSWrapper_ACPU_Access {\ |
| UNSG32 uACPU_Access_TSOTP : 1;\ |
| UNSG32 uACPU_Access_TspKeyTbl : 1;\ |
| UNSG32 RSVDx40_b2 : 30;\ |
| } |
| union { UNSG32 u32TSSSWrapper_ACPU_Access; |
| struct w32TSSSWrapper_ACPU_Access; |
| }; |
| /////////////////////////////////////////////////////////// |
| UNSG8 RSVDx44 [12]; |
| /////////////////////////////////////////////////////////// |
| #define GET32TSSSWrapper_FeatureCtrlReg_V2G_Fuse(r32) _BFGET_(r32,31, 0) |
| #define SET32TSSSWrapper_FeatureCtrlReg_V2G_Fuse(r32,v) _BFSET_(r32,31, 0,v) |
| |
| #define w32TSSSWrapper_FeatureCtrlReg {\ |
| UNSG32 uFeatureCtrlReg_V2G_Fuse : 32;\ |
| } |
| union { UNSG32 u32TSSSWrapper_FeatureCtrlReg; |
| struct w32TSSSWrapper_FeatureCtrlReg; |
| }; |
| #define GET32TSSSWrapper_FeatureCtrlReg_Hantro_Fuse_Dec(r32) _BFGET_(r32,31, 0) |
| #define SET32TSSSWrapper_FeatureCtrlReg_Hantro_Fuse_Dec(r32,v) _BFSET_(r32,31, 0,v) |
| |
| #define w32TSSSWrapper_FeatureCtrlReg1 {\ |
| UNSG32 uFeatureCtrlReg_Hantro_Fuse_Dec : 32;\ |
| } |
| union { UNSG32 u32TSSSWrapper_FeatureCtrlReg1; |
| struct w32TSSSWrapper_FeatureCtrlReg1; |
| }; |
| #define GET32TSSSWrapper_FeatureCtrlReg_Hantro_Fuse_PP(r32) _BFGET_(r32,31, 0) |
| #define SET32TSSSWrapper_FeatureCtrlReg_Hantro_Fuse_PP(r32,v) _BFSET_(r32,31, 0,v) |
| |
| #define w32TSSSWrapper_FeatureCtrlReg2 {\ |
| UNSG32 uFeatureCtrlReg_Hantro_Fuse_PP : 32;\ |
| } |
| union { UNSG32 u32TSSSWrapper_FeatureCtrlReg2; |
| struct w32TSSSWrapper_FeatureCtrlReg2; |
| }; |
| /////////////////////////////////////////////////////////// |
| } SIE_TSSSWrapper; |
| |
| typedef union T32TSSSWrapper_JTAG_Protected |
| { UNSG32 u32; |
| struct w32TSSSWrapper_JTAG_Protected; |
| } T32TSSSWrapper_JTAG_Protected; |
| typedef union T32TSSSWrapper_JTAG_password_valid |
| { UNSG32 u32; |
| struct w32TSSSWrapper_JTAG_password_valid; |
| } T32TSSSWrapper_JTAG_password_valid; |
| typedef union T32TSSSWrapper_IceEn |
| { UNSG32 u32; |
| struct w32TSSSWrapper_IceEn; |
| } T32TSSSWrapper_IceEn; |
| typedef union T32TSSSWrapper_ACPU_Access |
| { UNSG32 u32; |
| struct w32TSSSWrapper_ACPU_Access; |
| } T32TSSSWrapper_ACPU_Access; |
| typedef union T32TSSSWrapper_FeatureCtrlReg |
| { UNSG32 u32; |
| struct w32TSSSWrapper_FeatureCtrlReg; |
| } T32TSSSWrapper_FeatureCtrlReg; |
| typedef union T32TSSSWrapper_FeatureCtrlReg1 |
| { UNSG32 u32; |
| struct w32TSSSWrapper_FeatureCtrlReg1; |
| } T32TSSSWrapper_FeatureCtrlReg1; |
| typedef union T32TSSSWrapper_FeatureCtrlReg2 |
| { UNSG32 u32; |
| struct w32TSSSWrapper_FeatureCtrlReg2; |
| } T32TSSSWrapper_FeatureCtrlReg2; |
| /////////////////////////////////////////////////////////// |
| |
| typedef union TTSSSWrapper_JTAG_Protected |
| { UNSG32 u32[1]; |
| struct { |
| struct w32TSSSWrapper_JTAG_Protected; |
| }; |
| } TTSSSWrapper_JTAG_Protected; |
| typedef union TTSSSWrapper_JTAG_password_valid |
| { UNSG32 u32[1]; |
| struct { |
| struct w32TSSSWrapper_JTAG_password_valid; |
| }; |
| } TTSSSWrapper_JTAG_password_valid; |
| typedef union TTSSSWrapper_IceEn |
| { UNSG32 u32[1]; |
| struct { |
| struct w32TSSSWrapper_IceEn; |
| }; |
| } TTSSSWrapper_IceEn; |
| typedef union TTSSSWrapper_ACPU_Access |
| { UNSG32 u32[1]; |
| struct { |
| struct w32TSSSWrapper_ACPU_Access; |
| }; |
| } TTSSSWrapper_ACPU_Access; |
| typedef union TTSSSWrapper_FeatureCtrlReg |
| { UNSG32 u32[3]; |
| struct { |
| struct w32TSSSWrapper_FeatureCtrlReg; |
| struct w32TSSSWrapper_FeatureCtrlReg1; |
| struct w32TSSSWrapper_FeatureCtrlReg2; |
| }; |
| } TTSSSWrapper_FeatureCtrlReg; |
| |
| /////////////////////////////////////////////////////////// |
| SIGN32 TSSSWrapper_drvrd(SIE_TSSSWrapper *p, UNSG32 base, SIGN32 mem, SIGN32 tst); |
| SIGN32 TSSSWrapper_drvwr(SIE_TSSSWrapper *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd); |
| void TSSSWrapper_reset(SIE_TSSSWrapper *p); |
| SIGN32 TSSSWrapper_cmp (SIE_TSSSWrapper *p, SIE_TSSSWrapper *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst); |
| #define TSSSWrapper_check(p,pie,pfx,hLOG) TSSSWrapper_cmp(p,pie,pfx,(void*)(hLOG),0,0) |
| #define TSSSWrapper_print(p, pfx,hLOG) TSSSWrapper_cmp(p,0, pfx,(void*)(hLOG),0,0) |
| |
| #endif |
| ////// |
| /// ENDOFINTERFACE: TSSSWrapper |
| //////////////////////////////////////////////////////////// |
| |
| ////// |
| /// |
| /// $INTERFACE TSSS biu (4,4) |
| /// # # ---------------------------------------------------------- |
| /// @ 0x00000 (W-) |
| /// # # Stuffing bytes... |
| /// %% 1605632 |
| /// @ 0x31000 TSOTP (P) |
| /// # 0x31000 TSOTP |
| /// $TSOTP TSOTP REG |
| /// ### |
| /// * Accessibility: |
| /// * By default both ACPU and SCPU have R/W access this region. SCPU can set register ‘ACPU_Access_TSOTP’ to 0 to disable the access from ACPU |
| /// ### |
| /// @ 0x31014 (W-) |
| /// # # Stuffing bytes... |
| /// %% 65376 |
| /// @ 0x33000 TspKeyTbl (P) |
| /// # 0x33000 TspKeyTbl |
| /// $OneReg TspKeyTbl MEM [1024] |
| /// @ 0x34000 (W-) |
| /// # # Stuffing bytes... |
| /// %% 32768 |
| /// @ 0x35000 User_password (P) |
| /// # 0x35000 User_password |
| /// $User_password User_password REG |
| /// ### |
| /// * DFT user password registers |
| /// * Accessibility: |
| /// * Always open for ACPU to have R/W access |
| /// ### |
| /// @ 0x35018 (W-) |
| /// # # Stuffing bytes... |
| /// %% 327488 |
| /// @ 0x3F000 Wrapper (P) |
| /// # 0x3F000 Wrapper |
| /// $TSSSWrapper Wrapper REG |
| /// ### |
| /// * wrapper registers |
| /// * Accessibility: |
| /// * Only SPU has the R/W access |
| /// ### |
| /// @ 0x3F05C (W-) |
| /// # # Stuffing bytes... |
| /// %% 32032 |
| /// # # ---------------------------------------------------------- |
| /// $ENDOFINTERFACE # size: 262144B, bits: 690b, padding: 0B |
| //////////////////////////////////////////////////////////// |
| #ifndef h_TSSS |
| #define h_TSSS (){} |
| |
| #define RA_TSSS_TSOTP 0x31000 |
| /////////////////////////////////////////////////////////// |
| #define RA_TSSS_TspKeyTbl 0x33000 |
| /////////////////////////////////////////////////////////// |
| #define RA_TSSS_User_password 0x35000 |
| /////////////////////////////////////////////////////////// |
| #define RA_TSSS_Wrapper 0x3F000 |
| /////////////////////////////////////////////////////////// |
| |
| typedef struct SIE_TSSS { |
| /////////////////////////////////////////////////////////// |
| UNSG8 RSVDx0 [200704]; |
| /////////////////////////////////////////////////////////// |
| SIE_TSOTP ie_TSOTP; |
| /////////////////////////////////////////////////////////// |
| UNSG8 RSVDx31014 [8172]; |
| /////////////////////////////////////////////////////////// |
| SIE_OneReg ie_TspKeyTbl[1024]; |
| /////////////////////////////////////////////////////////// |
| UNSG8 RSVDx34000 [4096]; |
| /////////////////////////////////////////////////////////// |
| SIE_User_password ie_User_password; |
| /////////////////////////////////////////////////////////// |
| UNSG8 RSVDx35018 [40936]; |
| /////////////////////////////////////////////////////////// |
| SIE_TSSSWrapper ie_Wrapper; |
| /////////////////////////////////////////////////////////// |
| UNSG8 RSVDx3F05C [4004]; |
| /////////////////////////////////////////////////////////// |
| } SIE_TSSS; |
| |
| /////////////////////////////////////////////////////////// |
| SIGN32 TSSS_drvrd(SIE_TSSS *p, UNSG32 base, SIGN32 mem, SIGN32 tst); |
| SIGN32 TSSS_drvwr(SIE_TSSS *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd); |
| void TSSS_reset(SIE_TSSS *p); |
| SIGN32 TSSS_cmp (SIE_TSSS *p, SIE_TSSS *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst); |
| #define TSSS_check(p,pie,pfx,hLOG) TSSS_cmp(p,pie,pfx,(void*)(hLOG),0,0) |
| #define TSSS_print(p, pfx,hLOG) TSSS_cmp(p,0, pfx,(void*)(hLOG),0,0) |
| |
| #endif |
| ////// |
| /// ENDOFINTERFACE: TSSS |
| //////////////////////////////////////////////////////////// |
| |
| |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #pragma pack() |
| |
| #endif |
| ////// |
| /// ENDOFFILE: tsSS.h |
| //////////////////////////////////////////////////////////// |
| |