Advertisement
Guest User

Untitled

a guest
Mar 27th, 2014
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. void init_gpio(void)
  2. {
  3. /* PRU GPIOs */
  4. GPIO1_CTRL = 0x00000001; /* enable, full clock speed */
  5. GPIO1_OE &= ~(LED0_BIT | LED1_BIT | LED2_BIT | LED3_BIT);
  6. GPIO1_OE &= ~(0x80000000); /* PRU1 connector P8 pin 20 */
  7.  
  8. /* pin mux pin A13 mcasp0_aclkx (GPIO3_14) -> pru0_r31_0 (mode6) */
  9. /* 28 bit shift mode is set up in PRU0 */
  10. GPIO3_CTRL = 0x00000001; /* enable, full clock speed */
  11. GPIO3_OE |= 1 << 14;
  12. GPIO3_DEBOUNCENABLE |= 1 << 14;
  13. CONF_MCASP0_ACLKX = 0x06;
  14.  
  15. /* pin mux pin R1 lcd_data0 (GPIO2_6) -> pru1_r31_0 (mode6) */
  16. /* 28 bit shift mode is set up in PRU1 */
  17. GPIO2_CTRL = 0x00000001; /* enable, full clock speed */
  18. GPIO2_OE |= 1 << 6;
  19. GPIO2_DEBOUNCENABLE |= 1 << 6;
  20. CONF_LCD_DATA0 = 0x06;
  21. }
  22.  
  23.  
  24. START:
  25. // constant 4: PRU-ICSS CFG, register SYSCFG
  26. LBCO r0, C4, 0x04, 4
  27. CLR r0, r0, 4 // clear b4: Enable OCP master ports
  28. SBCO r0, C4, 0x04, 4
  29.  
  30. // PRU0
  31.  
  32. // constant 4: PRU-ICSS CFG, register GPCFG0
  33. // set up serial 28 bit shift mode
  34. // at 200 MHz
  35.  
  36. MOV r20, 0x00000002
  37. SBCO r20, C4, 0x08, 4
  38.  
  39. // r20 as write shadow of GPCFG0
  40. SET r20, r20, 13
  41.  
  42. // PRU1
  43.  
  44. // constant 4: PRU-ICSS CFG, register GPCFG1
  45. // set up serial 28 bit shift mode
  46. // at 200 MHz
  47.  
  48. MOV r21, 0x00000002
  49. SBCO r21, C4, 0x0c, 4
  50.  
  51. // r21 as write shadow of GPCFG1
  52. SET r21, r21, 13
  53.  
  54. start_capture28:
  55. CLR r31, 29
  56. SBCO r20, C4, 0x08, 4
  57. SBCO r21, C4, 0x0c, 4
  58.  
  59.  
  60. poll_capture28_done:
  61. // // r22 as read shadow of GPCFG0
  62. // LBCO r22, C4, 0x08, 4
  63. // QBBS capture28_done, r22, 13
  64. // // r23 as read shadow of GPCFG0
  65. // LBCO r23, C4, 0x08, 4
  66. // QBBC poll_capture28_done, r23, 13
  67.  
  68. QBBC poll_capture28_done, r31, 29
  69.  
  70. capture28_done:
  71.  
  72. // raise ARM interrupt
  73. MOV R31.b0, PRU_VECTOR_VALID + PRU_VECTOR + PRU_NR
  74.  
  75. JMP start_capture28
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement