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-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  * Copyright (C) 2011 Tobias Klauser <tklauser@distanz.ch>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) #ifndef _ASM_NIOS2_REGISTERS_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) #define _ASM_NIOS2_REGISTERS_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) #ifndef __ASSEMBLY__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #include <asm/cpuinfo.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) /* control register numbers */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #define CTL_FSTATUS	0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #define CTL_ESTATUS	1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #define CTL_BSTATUS	2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #define CTL_IENABLE	3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #define CTL_IPENDING	4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #define CTL_CPUID	5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #define CTL_RSV1	6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #define CTL_EXCEPTION	7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) #define CTL_PTEADDR	8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #define CTL_TLBACC	9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #define CTL_TLBMISC	10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #define CTL_RSV2	11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #define CTL_BADADDR	12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #define CTL_CONFIG	13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #define CTL_MPUBASE	14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) #define CTL_MPUACC	15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) /* access control registers using GCC builtins */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) #define RDCTL(r)	__builtin_rdctl(r)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) #define WRCTL(r, v)	__builtin_wrctl(r, v)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) /* status register bits */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) #define STATUS_PIE	(1 << 0)	/* processor interrupt enable */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) #define STATUS_U	(1 << 1)	/* user mode */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) #define STATUS_EH	(1 << 2)	/* Exception mode */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) /* estatus register bits */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) #define ESTATUS_EPIE	(1 << 0)	/* processor interrupt enable */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) #define ESTATUS_EU	(1 << 1)	/* user mode */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) #define ESTATUS_EH	(1 << 2)	/* Exception mode */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) /* tlbmisc register bits */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) #define TLBMISC_PID_SHIFT	4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) #ifndef __ASSEMBLY__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) #define TLBMISC_PID_MASK	((1UL << cpuinfo.tlb_pid_num_bits) - 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) #define TLBMISC_WAY_MASK	0xf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) #define TLBMISC_WAY_SHIFT	20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) #define TLBMISC_PID	(TLBMISC_PID_MASK << TLBMISC_PID_SHIFT)	/* TLB PID */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) #define TLBMISC_WE	(1 << 18)	/* TLB write enable */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) #define TLBMISC_RD	(1 << 19)	/* TLB read */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) #define TLBMISC_WAY	(TLBMISC_WAY_MASK << TLBMISC_WAY_SHIFT) /* TLB way */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) #endif /* _ASM_NIOS2_REGISTERS_H */