summaryrefslogtreecommitdiff
path: root/arch/arm/mach-shmobile/sh73a0.h
blob: 359b582dc270d6a96408b145a063f7ebf12b6a3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#ifndef __ASM_SH73A0_H__
#define __ASM_SH73A0_H__

/* DMA slave IDs */
enum {
	SHDMA_SLAVE_INVALID,
	SHDMA_SLAVE_SCIF0_TX,
	SHDMA_SLAVE_SCIF0_RX,
	SHDMA_SLAVE_SCIF1_TX,
	SHDMA_SLAVE_SCIF1_RX,
	SHDMA_SLAVE_SCIF2_TX,
	SHDMA_SLAVE_SCIF2_RX,
	SHDMA_SLAVE_SCIF3_TX,
	SHDMA_SLAVE_SCIF3_RX,
	SHDMA_SLAVE_SCIF4_TX,
	SHDMA_SLAVE_SCIF4_RX,
	SHDMA_SLAVE_SCIF5_TX,
	SHDMA_SLAVE_SCIF5_RX,
	SHDMA_SLAVE_SCIF6_TX,
	SHDMA_SLAVE_SCIF6_RX,
	SHDMA_SLAVE_SCIF7_TX,
	SHDMA_SLAVE_SCIF7_RX,
	SHDMA_SLAVE_SCIF8_TX,
	SHDMA_SLAVE_SCIF8_RX,
	SHDMA_SLAVE_SDHI0_TX,
	SHDMA_SLAVE_SDHI0_RX,
	SHDMA_SLAVE_SDHI1_TX,
	SHDMA_SLAVE_SDHI1_RX,
	SHDMA_SLAVE_SDHI2_TX,
	SHDMA_SLAVE_SDHI2_RX,
	SHDMA_SLAVE_MMCIF_TX,
	SHDMA_SLAVE_MMCIF_RX,
	SHDMA_SLAVE_FSI2A_TX,
	SHDMA_SLAVE_FSI2A_RX,
	SHDMA_SLAVE_FSI2B_TX,
	SHDMA_SLAVE_FSI2B_RX,
	SHDMA_SLAVE_FSI2C_TX,
	SHDMA_SLAVE_FSI2C_RX,
	SHDMA_SLAVE_FSI2D_RX,
};

/*
 *		SH73A0 IRQ LOCATION TABLE
 *
 * 416	-----------------------------------------
 *		IRQ0-IRQ15
 * 431	-----------------------------------------
 * ...
 * 448	-----------------------------------------
 *		sh73a0-intcs
 *		sh73a0-intca-irq-pins
 * 680	-----------------------------------------
 * ...
 * 700	-----------------------------------------
 *		sh73a0-pint0
 * 731	-----------------------------------------
 * 732	-----------------------------------------
 *		sh73a0-pint1
 * 739	-----------------------------------------
 * ...
 * 800	-----------------------------------------
 *		IRQ16-IRQ31
 * 815	-----------------------------------------
 * ...
 * 928	-----------------------------------------
 *		sh73a0-intca-irq-pins
 * 943	-----------------------------------------
 */

/* PINT interrupts are located at Linux IRQ 700 and up */
#define SH73A0_PINT0_IRQ(irq) ((irq) + 700)
#define SH73A0_PINT1_IRQ(irq) ((irq) + 732)

extern void sh73a0_init_delay(void);
extern void sh73a0_init_irq(void);
extern void sh73a0_init_irq_dt(void);
extern void sh73a0_map_io(void);
extern void sh73a0_earlytimer_init(void);
extern void sh73a0_add_early_devices(void);
extern void sh73a0_add_standard_devices(void);
extern void sh73a0_add_standard_devices_dt(void);
extern void sh73a0_clock_init(void);
extern void sh73a0_pinmux_init(void);
extern void sh73a0_pm_init(void);
extern struct clk sh73a0_extal1_clk;
extern struct clk sh73a0_extal2_clk;
extern struct clk sh73a0_extcki_clk;
extern struct clk sh73a0_extalr_clk;
extern struct smp_operations sh73a0_smp_ops;

#endif /* __ASM_SH73A0_H__ */