startup.inc 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #include <hwregs/asm/reg_map_asm.h>
  2. #include <hwregs/asm/gio_defs_asm.h>
  3. #include <hwregs/asm/pio_defs_asm.h>
  4. #include <hwregs/asm/clkgen_defs_asm.h>
  5. #include <hwregs/asm/pinmux_defs_asm.h>
  6. .macro GIO_INIT
  7. move.d CONFIG_ETRAX_DEF_GIO_PA_OUT, $r0
  8. move.d REG_ADDR(gio, regi_gio, rw_pa_dout), $r1
  9. move.d $r0, [$r1]
  10. move.d CONFIG_ETRAX_DEF_GIO_PA_OE, $r0
  11. move.d REG_ADDR(gio, regi_gio, rw_pa_oe), $r1
  12. move.d $r0, [$r1]
  13. move.d CONFIG_ETRAX_DEF_GIO_PB_OUT, $r0
  14. move.d REG_ADDR(gio, regi_gio, rw_pb_dout), $r1
  15. move.d $r0, [$r1]
  16. move.d CONFIG_ETRAX_DEF_GIO_PB_OE, $r0
  17. move.d REG_ADDR(gio, regi_gio, rw_pb_oe), $r1
  18. move.d $r0, [$r1]
  19. move.d CONFIG_ETRAX_DEF_GIO_PC_OUT, $r0
  20. move.d REG_ADDR(gio, regi_gio, rw_pc_dout), $r1
  21. move.d $r0, [$r1]
  22. move.d CONFIG_ETRAX_DEF_GIO_PC_OE, $r0
  23. move.d REG_ADDR(gio, regi_gio, rw_pc_oe), $r1
  24. move.d $r0, [$r1]
  25. move.d 0xFFFFFFFF, $r0
  26. move.d REG_ADDR(pinmux, regi_pinmux, rw_gio_pa), $r1
  27. move.d $r0, [$r1]
  28. move.d REG_ADDR(pinmux, regi_pinmux, rw_gio_pb), $r1
  29. move.d $r0, [$r1]
  30. move.d REG_ADDR(pinmux, regi_pinmux, rw_gio_pc), $r1
  31. move.d $r0, [$r1]
  32. .endm
  33. .macro START_CLOCKS
  34. move.d REG_ADDR(clkgen, regi_clkgen, rw_clk_ctrl), $r1
  35. move.d [$r1], $r0
  36. or.d REG_STATE(clkgen, rw_clk_ctrl, cpu, yes) | \
  37. REG_STATE(clkgen, rw_clk_ctrl, ddr2, yes) | \
  38. REG_STATE(clkgen, rw_clk_ctrl, memarb_bar_ddr, yes), $r0
  39. move.d $r0, [$r1]
  40. .endm
  41. .macro SETUP_WAIT_STATES
  42. move.d REG_ADDR(pio, regi_pio, rw_ce0_cfg), $r0
  43. move.d CONFIG_ETRAX_PIO_CE0_CFG, $r1
  44. move.d $r1, [$r0]
  45. move.d REG_ADDR(pio, regi_pio, rw_ce1_cfg), $r0
  46. move.d CONFIG_ETRAX_PIO_CE1_CFG, $r1
  47. move.d $r1, [$r0]
  48. move.d REG_ADDR(pio, regi_pio, rw_ce2_cfg), $r0
  49. move.d CONFIG_ETRAX_PIO_CE2_CFG, $r1
  50. move.d $r1, [$r0]
  51. .endm