macro.h 564 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * Copyright (C) 2008 Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #ifndef __MACRO_H__
  7. #define __MACRO_H__
  8. #ifdef __ASSEMBLY__
  9. .macro write32, addr, data
  10. mov.l \addr ,r1
  11. mov.l \data ,r0
  12. mov.l r0, @r1
  13. .endm
  14. .macro write16, addr, data
  15. mov.l \addr ,r1
  16. mov.w \data ,r0
  17. mov.w r0, @r1
  18. .endm
  19. .macro write8, addr, data
  20. mov.l \addr ,r1
  21. mov.l \data ,r0
  22. mov.b r0, @r1
  23. .endm
  24. .macro wait_timer, time
  25. mov.l \time ,r3
  26. 1:
  27. nop
  28. tst r3, r3
  29. bf/s 1b
  30. dt r3
  31. .endm
  32. #endif /* __ASSEMBLY__ */
  33. #endif /* __MACRO_H__ */