immap_5282.h 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. * MCF5282 Internal Memory Map
  3. *
  4. * Copyright (c) 2003 Josef Baumgartner <josef.baumgartner@telex.de>
  5. *
  6. * See file CREDITS for list of people who contributed to this
  7. * project.
  8. *
  9. * This program is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU General Public License as
  11. * published by the Free Software Foundation; either version 2 of
  12. * the License, or (at your option) any later version.
  13. *
  14. * This program is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU General Public License
  20. * along with this program; if not, write to the Free Software
  21. * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  22. * MA 02111-1307 USA
  23. */
  24. #ifndef __IMMAP_5282__
  25. #define __IMMAP_5282__
  26. struct sys_ctrl {
  27. uint ipsbar;
  28. char res1[4];
  29. uint rambar;
  30. char res2[4];
  31. uchar crsr;
  32. uchar cwcr;
  33. uchar lpicr;
  34. uchar cwsr;
  35. uint dmareqc;
  36. char res3[4];
  37. uint mpark;
  38. /* TODO: finish these */
  39. };
  40. /* Fast ethernet controller registers
  41. */
  42. typedef struct fec {
  43. uint res1; /* reserved 1000*/
  44. uint fec_ievent; /* interrupt event register 1004*/ /* EIR */
  45. uint fec_imask; /* interrupt mask register 1008*/ /* EIMR */
  46. uint res2; /* reserved 100c*/
  47. uint fec_r_des_active; /* Rx ring updated flag 1010*/ /* RDAR */
  48. uint fec_x_des_active; /* Tx ring updated flag 1014*/ /* XDAR */
  49. uint res3[3]; /* reserved 1018*/
  50. uint fec_ecntrl; /* ethernet control register 1024*/ /* ECR */
  51. uint res4[6]; /* reserved 1028*/
  52. uint fec_mii_data; /* MII data register 1040*/ /* MDATA */
  53. uint fec_mii_speed; /* MII speed control register 1044*/ /* MSCR */
  54. /*1044*/
  55. uint res5[7]; /* reserved 1048*/
  56. uint fec_mibc; /* MIB Control/Status register 1064*/ /* MIBC */
  57. uint res6[7]; /* reserved 1068*/
  58. uint fec_r_cntrl; /* Rx control register 1084*/ /* RCR */
  59. uint res7[15]; /* reserved 1088*/
  60. uint fec_x_cntrl; /* Tx control register 10C4*/ /* TCR */
  61. uint res8[7]; /* reserved 10C8*/
  62. uint fec_addr_low; /* lower 32 bits of station address */ /* PALR */
  63. uint fec_addr_high; /* upper 16 bits of station address */ /* PAUR */
  64. uint fec_opd; /* opcode + pause duration 10EC*/ /* OPD */
  65. uint res9[10]; /* reserved 10F0*/
  66. uint fec_ihash_table_high; /* upper 32-bits of individual hash */ /* IAUR */
  67. uint fec_ihash_table_low; /* lower 32-bits of individual hash */ /* IALR */
  68. uint fec_ghash_table_high; /* upper 32-bits of group hash */ /* GAUR */
  69. uint fec_ghash_table_low; /* lower 32-bits of group hash */ /* GALR */
  70. uint res10[7]; /* reserved 1128*/
  71. uint fec_tfwr; /* Transmit FIFO watermark 1144*/ /* TFWR */
  72. uint res11; /* reserved 1148*/
  73. uint fec_r_bound; /* FIFO Receive Bound Register = end of */ /* FRBR */
  74. uint fec_r_fstart; /* FIFO Receive FIfo Start Registers = */ /* FRSR */
  75. uint res12[11]; /* reserved 1154*/
  76. uint fec_r_des_start;/* beginning of Rx descriptor ring 1180*/ /* ERDSR */
  77. uint fec_x_des_start;/* beginning of Tx descriptor ring 1184*/ /* ETDSR */
  78. uint fec_r_buff_size;/* Rx buffer size 1188*/ /* EMRBR */
  79. } fec_t;
  80. #endif /* __IMMAP_5282__ */