blob: 359b582dc270d6a96408b145a063f7ebf12b6a3c [file] [log] [blame]
Magnus Damm6d9598e2010-11-17 10:59:31 +00001#ifndef __ASM_SH73A0_H__
2#define __ASM_SH73A0_H__
3
Magnus Damm681e1b32011-05-24 10:37:16 +00004/* DMA slave IDs */
5enum {
Magnus Damm416656c2011-05-24 11:19:35 +00006 SHDMA_SLAVE_INVALID,
Magnus Damm681e1b32011-05-24 10:37:16 +00007 SHDMA_SLAVE_SCIF0_TX,
8 SHDMA_SLAVE_SCIF0_RX,
9 SHDMA_SLAVE_SCIF1_TX,
10 SHDMA_SLAVE_SCIF1_RX,
11 SHDMA_SLAVE_SCIF2_TX,
12 SHDMA_SLAVE_SCIF2_RX,
13 SHDMA_SLAVE_SCIF3_TX,
14 SHDMA_SLAVE_SCIF3_RX,
15 SHDMA_SLAVE_SCIF4_TX,
16 SHDMA_SLAVE_SCIF4_RX,
17 SHDMA_SLAVE_SCIF5_TX,
18 SHDMA_SLAVE_SCIF5_RX,
19 SHDMA_SLAVE_SCIF6_TX,
20 SHDMA_SLAVE_SCIF6_RX,
21 SHDMA_SLAVE_SCIF7_TX,
22 SHDMA_SLAVE_SCIF7_RX,
23 SHDMA_SLAVE_SCIF8_TX,
24 SHDMA_SLAVE_SCIF8_RX,
25 SHDMA_SLAVE_SDHI0_TX,
26 SHDMA_SLAVE_SDHI0_RX,
27 SHDMA_SLAVE_SDHI1_TX,
28 SHDMA_SLAVE_SDHI1_RX,
29 SHDMA_SLAVE_SDHI2_TX,
30 SHDMA_SLAVE_SDHI2_RX,
31 SHDMA_SLAVE_MMCIF_TX,
32 SHDMA_SLAVE_MMCIF_RX,
Kuninori Morimoto832290b2012-06-25 03:39:20 -070033 SHDMA_SLAVE_FSI2A_TX,
34 SHDMA_SLAVE_FSI2A_RX,
35 SHDMA_SLAVE_FSI2B_TX,
36 SHDMA_SLAVE_FSI2B_RX,
37 SHDMA_SLAVE_FSI2C_TX,
38 SHDMA_SLAVE_FSI2C_RX,
39 SHDMA_SLAVE_FSI2D_RX,
Magnus Damm681e1b32011-05-24 10:37:16 +000040};
Magnus Damm6d9598e2010-11-17 10:59:31 +000041
Kuninori Morimoto4da77312012-05-17 00:25:14 +020042/*
43 * SH73A0 IRQ LOCATION TABLE
44 *
45 * 416 -----------------------------------------
46 * IRQ0-IRQ15
47 * 431 -----------------------------------------
48 * ...
49 * 448 -----------------------------------------
50 * sh73a0-intcs
51 * sh73a0-intca-irq-pins
52 * 680 -----------------------------------------
53 * ...
54 * 700 -----------------------------------------
55 * sh73a0-pint0
56 * 731 -----------------------------------------
57 * 732 -----------------------------------------
58 * sh73a0-pint1
59 * 739 -----------------------------------------
60 * ...
61 * 800 -----------------------------------------
62 * IRQ16-IRQ31
63 * 815 -----------------------------------------
64 * ...
65 * 928 -----------------------------------------
66 * sh73a0-intca-irq-pins
67 * 943 -----------------------------------------
68 */
69
70/* PINT interrupts are located at Linux IRQ 700 and up */
71#define SH73A0_PINT0_IRQ(irq) ((irq) + 700)
72#define SH73A0_PINT1_IRQ(irq) ((irq) + 732)
Magnus Damm566aad32011-10-17 18:00:52 +090073
Kuninori Morimoto014f93a2013-03-28 01:48:30 -070074extern void sh73a0_init_delay(void);
75extern void sh73a0_init_irq(void);
76extern void sh73a0_init_irq_dt(void);
77extern void sh73a0_map_io(void);
78extern void sh73a0_earlytimer_init(void);
79extern void sh73a0_add_early_devices(void);
80extern void sh73a0_add_standard_devices(void);
81extern void sh73a0_add_standard_devices_dt(void);
82extern void sh73a0_clock_init(void);
83extern void sh73a0_pinmux_init(void);
84extern void sh73a0_pm_init(void);
85extern struct clk sh73a0_extal1_clk;
86extern struct clk sh73a0_extal2_clk;
87extern struct clk sh73a0_extcki_clk;
88extern struct clk sh73a0_extalr_clk;
Marc Zyngiera62580e2011-09-08 13:15:22 +010089extern struct smp_operations sh73a0_smp_ops;
90
Magnus Damm6d9598e2010-11-17 10:59:31 +000091#endif /* __ASM_SH73A0_H__ */