platform.h 936 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * SPDX-License-Identifier: BSD-2-Clause
  3. */
  4. #ifndef _C910_PLATFORM_H_
  5. #define _C910_PLATFORM_H_
  6. #define C910_HART_COUNT 16
  7. #define SBI_THEAD_FEATURES \
  8. (SBI_PLATFORM_HAS_MFAULTS_DELEGATION | \
  9. SBI_PLATFORM_HAS_HART_SECONDARY_BOOT)
  10. #define CSR_MCOR 0x7c2
  11. #define CSR_MHCR 0x7c1
  12. #define CSR_MCCR2 0x7c3
  13. #define CSR_MHINT 0x7c5
  14. #define CSR_MXSTATUS 0x7c0
  15. #define CSR_PLIC_BASE 0xfc1
  16. #define CSR_MRMR 0x7c6
  17. #define CSR_MRVBR 0x7c7
  18. #define C910_PLIC_CLINT_OFFSET 0x04000000 /* 64M */
  19. #define C910_PLIC_DELEG_OFFSET 0x001ffffc
  20. #define C910_PLIC_DELEG_ENABLE 0x1
  21. struct c910_regs_struct {
  22. u64 pmpaddr0;
  23. u64 pmpaddr1;
  24. u64 pmpaddr2;
  25. u64 pmpaddr3;
  26. u64 pmpaddr4;
  27. u64 pmpaddr5;
  28. u64 pmpaddr6;
  29. u64 pmpaddr7;
  30. u64 pmpcfg0;
  31. u64 mcor;
  32. u64 mhcr;
  33. u64 mccr2;
  34. u64 mhint;
  35. u64 mxstatus;
  36. u64 plic_base_addr;
  37. u64 clint_base_addr;
  38. };
  39. #endif /* _C910_PLATFORM_H_ */