1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __ASM_MAPLE_H
3#define __ASM_MAPLE_H
4
5#define MAPLE_PORTS 4
6#define MAPLE_PNP_INTERVAL HZ
7#define MAPLE_MAXPACKETS 8
8#define MAPLE_DMA_ORDER 14
9#define MAPLE_DMA_SIZE (1 << MAPLE_DMA_ORDER)
10#define MAPLE_DMA_PAGES ((MAPLE_DMA_ORDER > PAGE_SHIFT) ? \
11			  MAPLE_DMA_ORDER - PAGE_SHIFT : 0)
12
13/* Maple Bus registers */
14#define MAPLE_BASE     0xa05f6c00
15#define MAPLE_DMAADDR  (MAPLE_BASE+0x04)
16#define MAPLE_TRIGTYPE (MAPLE_BASE+0x10)
17#define MAPLE_ENABLE   (MAPLE_BASE+0x14)
18#define MAPLE_STATE    (MAPLE_BASE+0x18)
19#define MAPLE_SPEED    (MAPLE_BASE+0x80)
20#define MAPLE_RESET    (MAPLE_BASE+0x8c)
21
22#define MAPLE_MAGIC    0x6155404f
23#define MAPLE_2MBPS    0
24#define MAPLE_TIMEOUT(n) ((n)<<15)
25
26/* Function codes */
27#define MAPLE_FUNC_CONTROLLER 0x001
28#define MAPLE_FUNC_MEMCARD    0x002
29#define MAPLE_FUNC_LCD        0x004
30#define MAPLE_FUNC_CLOCK      0x008
31#define MAPLE_FUNC_MICROPHONE 0x010
32#define MAPLE_FUNC_ARGUN      0x020
33#define MAPLE_FUNC_KEYBOARD   0x040
34#define MAPLE_FUNC_LIGHTGUN   0x080
35#define MAPLE_FUNC_PURUPURU   0x100
36#define MAPLE_FUNC_MOUSE      0x200
37
38#endif /* __ASM_MAPLE_H */
39