add arasan sdcard controller specific header
[AROS.git] / arch / arm-raspi / include / hardware / arasan.h
blobb75af6bd1fabb4e72bb445acee54a64ab9322564
1 /*
2 Copyright © 2013, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef ARASAN_H
7 #define ARASAN_H
9 #define ARASAN_BASE (ARM_PERIIOBASE + 0x300000)
11 #define ARASAN_CMD (ARASAN_BASE + 0x00)
12 #define ARASAN_ARG (ARASAN_BASE + 0x04)
13 #define ARASAN_TIMEOUT (ARASAN_BASE + 0x08)
14 #define ARASAN_CLKDIV (ARASAN_BASE + 0x0C)
15 #define ARASAN_RESPONSE_0 (ARASAN_BASE + 0x10)
16 #define ARASAN_RESPONSE_1 (ARASAN_BASE + 0x14)
17 #define ARASAN_RESPONSE_2 (ARASAN_BASE + 0x18)
18 #define ARASAN_RESPONSE_3 (ARASAN_BASE + 0x1C)
19 #define ARASAN_STATUS (ARASAN_BASE + 0x20)
20 #define ARASAN_VDD (ARASAN_BASE + 0x30)
21 #define ARASAN_EDM (ARASAN_BASE + 0x34)
22 #define ARASAN_HOSTCONFIG (ARASAN_BASE + 0x38)
23 #define ARASAN_HBCT (ARASAN_BASE + 0x3c)
24 #define ARASAN_DATA (ARASAN_BASE + 0x40)
25 #define ARASAN_HBLC (ARASAN_BASE + 0x50)
27 #define ARASAN_CMD_READ (1 << 6)
28 #define ARASAN_CMD_WRITE (1 << 7)
29 #define ARASAN_CMD_LONGRSP (1 << 9)
30 #define ARASAN_CMD_NORSP (1 << 10)
31 #define ARASAN_CMD_BUSY (1 << 11)
32 #define ARASAN_CMD_FAIL (1 << 14)
33 #define ARASAN_CMD_ENABLE (1 << 15)
35 #define ARASAN_VDD_ENABLE (1 << 0)
37 #define ARASAN_HOSTCONFIG_WIDE_INT_BUS 0x2
38 #define ARASAN_HOSTCONFIG_WIDEEXT_4BIT 0x4
39 #define ARASAN_HOSTCONFIG_SLOW_CARD 0x8
40 #define ARASAN_HOSTCONFIG_BLOCK_IRPT_EN (1<<8)
41 #define ARASAN_HOSTCONFIG_BUSY_IRPT_EN (1<<10)
42 #define ARASAN_HOSTCONFIG_WIDEEXT_CLR 0xFFFFFFFB
44 #define ARASAN_DATAFLAG (1 << 0)
45 #define ARASAN_CMDTIMEOUT (1 << 6)
46 #define ARASAN_HSTS_BLOCK (1 << 9) /**< block flag in status reg */
47 #define ARASAN_HSTS_BUSY (1 << 10) /**< Busy flag in status reg */
49 #define ARASAN_RW_THRESHOLD 3
51 #endif /* ARASAN_H */