macro.h 564 B

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