hw.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. /// Beginnings of IO register regions, in the user VA space.
  8. enum : u32 {
  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,
  25. VADDR_LCD = 0x1ED02000,
  26. VADDR_DSP_2 = 0x1ED03000,
  27. VADDR_HASH_2 = 0x1EE01000,
  28. VADDR_GPU = 0x1EF00000,
  29. };
  30. template <typename T>
  31. void Read(T& var, const u32 addr);
  32. template <typename T>
  33. void Write(u32 addr, const T data);
  34. /// Update hardware
  35. void Update();
  36. /// Initialize hardware
  37. void Init();
  38. /// Shutdown hardware
  39. void Shutdown();
  40. } // namespace HW