ata.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /*
  2. * ATA Internal Memory Map
  3. *
  4. * Copyright (C) 2004-2008 Freescale Semiconductor, Inc.
  5. * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
  6. *
  7. * See file CREDITS for list of people who contributed to this
  8. * project.
  9. *
  10. * This program is free software; you can redistribute it and/or
  11. * modify it under the terms of the GNU General Public License as
  12. * published by the Free Software Foundation; either version 2 of
  13. * the License, or (at your option) any later version.
  14. *
  15. * This program is distributed in the hope that it will be useful,
  16. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. * GNU General Public License for more details.
  19. *
  20. * You should have received a copy of the GNU General Public License
  21. * along with this program; if not, write to the Free Software
  22. * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  23. * MA 02111-1307 USA
  24. */
  25. #ifndef __ATA_H__
  26. #define __ATA_H__
  27. /* ATA */
  28. typedef struct atac {
  29. /* PIO */
  30. u8 toff; /* 0x00 */
  31. u8 ton; /* 0x01 */
  32. u8 t1; /* 0x02 */
  33. u8 t2w; /* 0x03 */
  34. u8 t2r; /* 0x04 */
  35. u8 ta; /* 0x05 */
  36. u8 trd; /* 0x06 */
  37. u8 t4; /* 0x07 */
  38. u8 t9; /* 0x08 */
  39. /* DMA */
  40. u8 tm; /* 0x09 */
  41. u8 tn; /* 0x0A */
  42. u8 td; /* 0x0B */
  43. u8 tk; /* 0x0C */
  44. u8 tack; /* 0x0D */
  45. u8 tenv; /* 0x0E */
  46. u8 trp; /* 0x0F */
  47. u8 tzah; /* 0x10 */
  48. u8 tmli; /* 0x11 */
  49. u8 tdvh; /* 0x12 */
  50. u8 tdzfs; /* 0x13 */
  51. u8 tdvs; /* 0x14 */
  52. u8 tcvh; /* 0x15 */
  53. u8 tss; /* 0x16 */
  54. u8 tcyc; /* 0x17 */
  55. /* FIFO */
  56. u32 fifo32; /* 0x18 */
  57. u16 fifo16; /* 0x1C */
  58. u8 rsvd0[2];
  59. u8 ffill; /* 0x20 */
  60. u8 rsvd1[3];
  61. /* ATA */
  62. u8 cr; /* 0x24 */
  63. u8 rsvd2[3];
  64. u8 isr; /* 0x28 */
  65. u8 rsvd3[3];
  66. u8 ier; /* 0x2C */
  67. u8 rsvd4[3];
  68. u8 icr; /* 0x30 */
  69. u8 rsvd5[3];
  70. u8 falarm; /* 0x34 */
  71. u8 rsvd6[106];
  72. } atac_t;
  73. #endif /* __ATA_H__ */