Generic.Board.Mos 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. MODULE Board;
  2. (**
  3. AUTHOR Timothée Martiel, 12/2015
  4. PURPOSE Board-specific hardware constants for Minos.
  5. *)
  6. CONST
  7. k * = 1024; (** 1 k *)
  8. M * = k * k; (** 1 M *)
  9. G * = k * k * k; (** 1 G *)
  10. CpuNb * = 2; (** Number of CPU cores available *)
  11. CpuClockHz * = 666666666; (** CPU clock frequency in Hz *)
  12. PsRefClockHz * = 33333333; (** Processing System (PS) external reference clock frequency in Hz *)
  13. DDRSize * = 512 * M; (** DDR Memory Size *)
  14. KernelOutputUart * = 1; (** index of UART controller used for kernel output; -1 if UART is not used for kernel output *)
  15. UartInputClockHz * = 50000000; (** UART input clock frequency (Hz) *)
  16. UsbPhyRstGpio * = [-1, -1]; (** Reset GPIO pins for USB PHYs *)
  17. UsbEnable * = [FALSE, FALSE]; (** Which USB controller to enable? *)
  18. UsbViewportInit * = TRUE; (** Use USB Viewport mechanism to reset PHY? *)
  19. SdEnable * = [TRUE, FALSE]; (** Which SD controller to enable? *)
  20. SdInputClockHz * = PsRefClockHz; (** SD controller input clock frequency (Hz) *)
  21. PageTableBase* = ADDRESS( 1FEF0000H );
  22. RAMBASE* = ADDRESS( 310000H );
  23. STACKBASE = ADDRESS( 300000H );
  24. UNDSP* = ADDRESS( 300000H );
  25. ABORTSP* = ADDRESS( 2F0000H );
  26. IRQSP* = ADDRESS( 2E0000H );
  27. SVCSP* = ADDRESS( 1E0000H );
  28. HeapBase* = ADDRESS( 0600000H ); (* 64 MBytes of HEAP *)
  29. HeapEnd* = ADDRESS( 04500000H );
  30. InitializeHeap* = TRUE; (** Initialize allocated block heaps to 0 *)
  31. UncachedHeapBase* = HeapEnd;
  32. UncachedHeapEnd* = UncachedHeapBase + 2 * M;
  33. InitializeUncachedHeap* = TRUE; (** Initialize allocated uncached blocks to 0 *)
  34. StartAddress* = 0;
  35. END Board.