original files of m241

This commit is contained in:
neelimap
2026-07-30 11:19:44 +05:30
parent 170c2b3f3a
commit afc7070c1f
12254 changed files with 7655111 additions and 0 deletions
@@ -0,0 +1,100 @@
/* cavCvmMemCtl.h - CVMMEMCTL register structure */
/*
* Copyright (c) 2008, 2011 Wind River Systems, Inc.
*
* The right to copy, distribute, modify or otherwise make use
* of this software may be licensed only pursuant to the terms
* of an applicable Wind River license agreement.
*/
/*
modification history
--------------------
01b,20jul11,d_c Clean up SDK abstraction layer. Make file and function naming
consistent
01a,24sep08,pgh Fix copyright.
DESCRIPTION
This module handles the initialization of the CVMMEMCTL register.
*/
#ifndef _INCcavCvmMemCtlh
#define _INCcavCvmMemCtlh
#include <arch/mips/private/cavSdkDrvInclude.h>
#define CAV_INCLUDE_TYPEDEFS_ONLY
#include CAV_SDK_DRV_INCLUDE(cvmx-abi.h)
/* typedefs */
typedef union
{
uint64_t u64;
struct
{
uint64_t tlbbist : 1; /**< RO 1 = BIST fail, 0 = BIST pass */
uint64_t l1cbist : 1; /**< RO 1 = BIST fail, 0 = BIST pass */
uint64_t l1dbist : 1; /**< RO 1 = BIST fail, 0 = BIST pass */
uint64_t dcmbist : 1; /**< RO 1 = BIST fail, 0 = BIST pass */
uint64_t ptgbist : 1; /**< RO 1 = BIST fail, 0 = BIST pass */
uint64_t wbfbist : 1; /**< RO 1 = BIST fail, 0 = BIST pass */
uint64_t reserved : 22; /**< Reserved */
uint64_t dismarkwblongto : 1; /**< R/W If set, marked write-buffer entries time out the same as
as other entries; if clear, marked write-buffer entries use the
maximum timeout. */
uint64_t dismrgclrwbto : 1; /**< R/W If set, a merged store does not clear the write-buffer entry
timeout state. */
uint64_t iobdmascrmsb : 2; /**< R/W Two bits that are the MSBs of the resultant CVMSEG LM word
location for an IOBDMA. The other 8 bits come from the SCRADDR
field of the IOBDMA. */
uint64_t syncwsmarked : 1; /**< R/W If set, SYNCWS and SYNCS only order marked stores; if clear,
SYNCWS and SYNCS only order unmarked stores. SYNCWSMARKED has no
effect when DISSYNCWS is set. */
uint64_t dissyncws : 1; /**< R/W If set, SYNCWS acts as SYNCW and SYNCS acts as SYNC. */
uint64_t diswbfst : 1; /**< R/W If set, no stall happens on write buffer full. */
uint64_t xkmemenas : 1; /**< R/W If set (and SX set), supervisor-level loads/stores can use
XKPHYS addresses with VA<48>==0 */
uint64_t xkmemenau : 1; /**< R/W If set (and UX set), user-level loads/stores can use XKPHYS
addresses with VA<48>==0 */
uint64_t xkioenas : 1; /**< R/W If set (and SX set), supervisor-level loads/stores can use
XKPHYS addresses with VA<48>==1 */
uint64_t xkioenau : 1; /**< R/W If set (and UX set), user-level loads/stores can use XKPHYS
addresses with VA<48>==1 */
uint64_t allsyncw : 1; /**< R/W If set, all stores act as SYNCW (NOMERGE must be set when
this is set) RW, reset to 0. */
uint64_t nomerge : 1; /**< R/W If set, no stores merge, and all stores reach the coherent
bus in order. */
uint64_t didtto : 2; /**< R/W Selects the bit in the counter used for DID time-outs
0 = 231, 1 = 230, 2 = 229, 3 = 214. Actual time-out is between
1× and 2× this interval. For example, with DIDTTO=3, expiration
interval is between 16K and 32K. */
uint64_t csrckalwys : 1; /**< R/W If set, the (mem) CSR clock never turns off. */
uint64_t mclkalwys : 1; /**< R/W If set, mclk never turns off. */
uint64_t wbfltime : 3; /**< R/W Selects the bit in the counter used for write buffer flush
time-outs (WBFLT+11) is the bit position in an internal counter
used to determine expiration. The write buffer expires between
1× and 2× this interval. For example, with WBFLT = 0, a write
buffer expires between 2K and 4K cycles after the write buffer
entry is allocated. */
uint64_t istrnol2 : 1; /**< R/W If set, do not put Istream in the L2 cache. */
uint64_t wbthresh : 4; /**< R/W The write buffer threshold. */
uint64_t reserved2 : 2; /**< Reserved */
uint64_t cvmsegenak : 1; /**< R/W If set, CVMSEG is available for loads/stores in kernel/debug mode. */
uint64_t cvmsegenas : 1; /**< R/W If set, CVMSEG is available for loads/stores in supervisor mode. */
uint64_t cvmsegenau : 1; /**< R/W If set, CVMSEG is available for loads/stores in user mode. */
uint64_t lmemsz : 6; /**< R/W Size of local memory in cache blocks, 54 (6912 bytes) is max legal value. */
} s;
} CAV_CVMMEMCTL_T;
/* functions */
extern void cavCvmMemCtlInit(void);
#endif /* _INCcavCvmMemCtlh */