Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) #ifndef _SPARC64_SFAFSR_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) #define _SPARC64_SFAFSR_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) #include <linux/const.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) /* Spitfire Asynchronous Fault Status register, ASI=0x4C VA<63:0>=0x0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) #define SFAFSR_ME		(_AC(1,UL) << SFAFSR_ME_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #define SFAFSR_ME_SHIFT		32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define SFAFSR_PRIV		(_AC(1,UL) << SFAFSR_PRIV_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #define SFAFSR_PRIV_SHIFT	31
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #define SFAFSR_ISAP		(_AC(1,UL) << SFAFSR_ISAP_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #define SFAFSR_ISAP_SHIFT	30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #define SFAFSR_ETP		(_AC(1,UL) << SFAFSR_ETP_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #define SFAFSR_ETP_SHIFT	29
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #define SFAFSR_IVUE		(_AC(1,UL) << SFAFSR_IVUE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #define SFAFSR_IVUE_SHIFT	28
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #define SFAFSR_TO		(_AC(1,UL) << SFAFSR_TO_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #define SFAFSR_TO_SHIFT		27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #define SFAFSR_BERR		(_AC(1,UL) << SFAFSR_BERR_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) #define SFAFSR_BERR_SHIFT	26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #define SFAFSR_LDP		(_AC(1,UL) << SFAFSR_LDP_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #define SFAFSR_LDP_SHIFT	25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #define SFAFSR_CP		(_AC(1,UL) << SFAFSR_CP_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #define SFAFSR_CP_SHIFT		24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #define SFAFSR_WP		(_AC(1,UL) << SFAFSR_WP_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #define SFAFSR_WP_SHIFT		23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) #define SFAFSR_EDP		(_AC(1,UL) << SFAFSR_EDP_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) #define SFAFSR_EDP_SHIFT	22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) #define SFAFSR_UE		(_AC(1,UL) << SFAFSR_UE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) #define SFAFSR_UE_SHIFT		21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) #define SFAFSR_CE		(_AC(1,UL) << SFAFSR_CE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) #define SFAFSR_CE_SHIFT		20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) #define SFAFSR_ETS		(_AC(0xf,UL) << SFAFSR_ETS_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) #define SFAFSR_ETS_SHIFT	16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) #define SFAFSR_PSYND		(_AC(0xffff,UL) << SFAFSR_PSYND_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) #define SFAFSR_PSYND_SHIFT	0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) /* UDB Error Register, ASI=0x7f VA<63:0>=0x0(High),0x18(Low) for read
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)  *                     ASI=0x77 VA<63:0>=0x0(High),0x18(Low) for write
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) #define UDBE_UE			(_AC(1,UL) << 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) #define UDBE_CE			(_AC(1,UL) << 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) #define UDBE_E_SYNDR		(_AC(0xff,UL) << 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) /* The trap handlers for asynchronous errors encode the AFSR and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)  * other pieces of information into a 64-bit argument for C code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)  * encoded as follows:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)  * -----------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)  * |  UDB_H  |  UDB_L  | TL>1  |  TT  |   AFSR   |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)  * -----------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)  *  63     54 53     44    42   41  33 32       0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)  * The AFAR is passed in unchanged.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) #define SFSTAT_UDBH_MASK	(_AC(0x3ff,UL) << SFSTAT_UDBH_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) #define SFSTAT_UDBH_SHIFT	54
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) #define SFSTAT_UDBL_MASK	(_AC(0x3ff,UL) << SFSTAT_UDBH_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) #define SFSTAT_UDBL_SHIFT	44
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) #define SFSTAT_TL_GT_ONE	(_AC(1,UL) << SFSTAT_TL_GT_ONE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) #define SFSTAT_TL_GT_ONE_SHIFT	42
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) #define SFSTAT_TRAP_TYPE	(_AC(0x1FF,UL) << SFSTAT_TRAP_TYPE_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) #define SFSTAT_TRAP_TYPE_SHIFT	33
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) #define SFSTAT_AFSR_MASK	(_AC(0x1ffffffff,UL) << SFSTAT_AFSR_SHIFT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) #define SFSTAT_AFSR_SHIFT	0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) /* ESTATE Error Enable Register, ASI=0x4b VA<63:0>=0x0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) #define ESTATE_ERR_CE		0x1 /* Correctable errors                    */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) #define ESTATE_ERR_NCE		0x2 /* TO, BERR, LDP, ETP, EDP, WP, UE, IVUE */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) #define ESTATE_ERR_ISAP		0x4 /* System address parity error           */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) #define ESTATE_ERR_ALL		(ESTATE_ERR_CE | \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 				 ESTATE_ERR_NCE | \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) 				 ESTATE_ERR_ISAP)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) /* The various trap types that report using the above state. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) #define TRAP_TYPE_IAE		0x09 /* Instruction Access Error             */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) #define TRAP_TYPE_DAE		0x32 /* Data Access Error                    */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) #define TRAP_TYPE_CEE		0x63 /* Correctable ECC Error                */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) #endif /* _SPARC64_SFAFSR_H */