summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/gen5200/ata/pcmcia_ide.h
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/powerpc/gen5200/ata/pcmcia_ide.h')
-rw-r--r--bsps/powerpc/gen5200/ata/pcmcia_ide.h98
1 files changed, 98 insertions, 0 deletions
diff --git a/bsps/powerpc/gen5200/ata/pcmcia_ide.h b/bsps/powerpc/gen5200/ata/pcmcia_ide.h
new file mode 100644
index 0000000000..8cd74729a5
--- /dev/null
+++ b/bsps/powerpc/gen5200/ata/pcmcia_ide.h
@@ -0,0 +1,98 @@
+/*===============================================================*\
+| Project: RTEMS generic MPC5200 BSP |
++-----------------------------------------------------------------+
+| Partially based on the code references which are named below. |
+| Adaptions, modifications, enhancements and any recent parts of |
+| the code are: |
+| Copyright (c) 2005 |
+| Embedded Brains GmbH |
+| Obere Lagerstr. 30 |
+| D-82178 Puchheim |
+| Germany |
+| rtems@embedded-brains.de |
++-----------------------------------------------------------------+
+| The license and distribution terms for this file may be |
+| found in the file LICENSE in this distribution or at |
+| |
+| http://www.rtems.org/license/LICENSE. |
+| |
++-----------------------------------------------------------------+
+| this file contains declarations for the PCMCIA IDE Interface |
+\*===============================================================*/
+/***********************************************************************/
+/* */
+/* Module: pcmcia_ide.h */
+/* Date: 17/07/2003 */
+/* Purpose: RTEMS MPC5x00 PCMCIA IDE harddisk header file */
+/* */
+/*---------------------------------------------------------------------*/
+/* */
+/* Description: */
+/* */
+/*---------------------------------------------------------------------*/
+/* */
+/* Code */
+/* References: none */
+/* Module: */
+/* Project: */
+/* Version */
+/* Date: */
+/* */
+/* Author(s) / Copyright(s): */
+/* */
+/*---------------------------------------------------------------------*/
+/* */
+/* Partially based on the code references which are named above. */
+/* Adaptions, modifications, enhancements and any recent parts of */
+/* the code are under the right of */
+/* */
+/* IPR Engineering, Dachauer Straße 38, D-80335 München */
+/* Copyright(C) 2003 */
+/* */
+/*---------------------------------------------------------------------*/
+/* */
+/* IPR Engineering makes no representation or warranties with */
+/* respect to the performance of this computer program, and */
+/* specifically disclaims any responsibility for any damages, */
+/* special or consequential, connected with the use of this program. */
+/* */
+/*---------------------------------------------------------------------*/
+/* */
+/* Version history: 1.0 */
+/* */
+/***********************************************************************/
+
+#ifndef __PCMCIA_IDE_h
+#define __PCMCIA_IDE_h
+
+#include <bsp.h>
+
+#define GPIOPCR_ATA_CS_4_5 (1 << 24)
+
+/*#define DEBUG_OUT*/
+#define GET_UP_BYTE_OF_MPC5200_ATA_DRIVE_REG(val32) ((uint16_t)((val32) >> 24))
+#define SET_UP_BYTE_OF_MPC5200_ATA_DRIVE_REG(val8) ((uint32_t)((val8) << 24))
+#define GET_UP_WORD_OF_MPC5200_ATA_DRIVE_REG(val32) ((uint16_t)((val32) >> 16))
+#define SET_UP_WORD_OF_MPC5200_ATA_DRIVE_REG(val16) ((uint32_t)((val16) << 16))
+
+#define ATA_HCFG_SMR (1 << 31)
+#define ATA_HCFG_FR (1 << 30)
+#define ATA_HCFG_IORDY (1 << 24)
+#define ATA_HCFG_IE (1 << 25)
+
+#define COUNT_VAL(nsec) (((nsec) * (IPB_CLOCK / 1000000) + 999) / 1000)
+
+#define PIO_3 0
+#define PIO_4 1
+
+#define T0 0
+#define T2_8 1
+#define T2_16 2
+#define T4 3
+#define T1 4
+#define TA 5
+
+#define ATA_PIO_TIMING_1(t0,t2_8,t2_16) (((COUNT_VAL(t0)) << 24) | ((COUNT_VAL(t2_8)) << 16) | ((COUNT_VAL(t2_16)) << 8))
+#define ATA_PIO_TIMING_2(t4,t1,ta) (((COUNT_VAL(t4)) << 24) | ((COUNT_VAL(t1)) << 16) | ((COUNT_VAL(ta)) << 8))
+
+#endif