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