hw.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // Copyright 2014 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include "common/common_types.h"
  6. namespace HW {
  7. enum {
  8. VADDR_IO = 0x1EC00000,
  9. VADDR_HASH = 0x1EC01000,
  10. VADDR_CSND = 0x1EC03000,
  11. VADDR_DSP = 0x1EC40000,
  12. VADDR_PDN = 0x1EC41000,
  13. VADDR_CODEC = 0x1EC41000,
  14. VADDR_SPI = 0x1EC42000,
  15. VADDR_SPI_2 = 0x1EC43000, // Only used under TWL_FIRM?
  16. VADDR_I2C = 0x1EC44000,
  17. VADDR_CODEC_2 = 0x1EC45000,
  18. VADDR_HID = 0x1EC46000,
  19. VADDR_GPIO = 0x1EC47000,
  20. VADDR_I2C_2 = 0x1EC48000,
  21. VADDR_SPI_3 = 0x1EC60000,
  22. VADDR_I2C_3 = 0x1EC61000,
  23. VADDR_MIC = 0x1EC62000,
  24. VADDR_PXI = 0x1EC63000, // 0xFFFD2000
  25. //VADDR_NTRCARD
  26. VADDR_CDMA = 0xFFFDA000, // CoreLink DMA-330? Info
  27. VADDR_LCD = 0x1ED02000,
  28. VADDR_DSP_2 = 0x1ED03000,
  29. VADDR_HASH_2 = 0x1EE01000,
  30. VADDR_GPU = 0x1EF00000,
  31. };
  32. template <typename T>
  33. void Read(T &var, const u32 addr);
  34. template <typename T>
  35. void Write(u32 addr, const T data);
  36. /// Update hardware
  37. void Update();
  38. /// Initialize hardware
  39. void Init();
  40. /// Shutdown hardware
  41. void Shutdown();
  42. } // namespace