xref: /openbmc/linux/arch/arm/mach-shmobile/sh73a0.h (revision e8f6f3b4)
1 #ifndef __ASM_SH73A0_H__
2 #define __ASM_SH73A0_H__
3 
4 /* DMA slave IDs */
5 enum {
6 	SHDMA_SLAVE_INVALID,
7 	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,
33 	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,
40 };
41 
42 /*
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)
73 
74 extern void sh73a0_init_irq(void);
75 extern void sh73a0_init_irq_dt(void);
76 extern void sh73a0_map_io(void);
77 extern void sh73a0_earlytimer_init(void);
78 extern void sh73a0_add_early_devices(void);
79 extern void sh73a0_add_standard_devices(void);
80 extern void sh73a0_add_standard_devices_dt(void);
81 extern void sh73a0_clock_init(void);
82 extern void sh73a0_pinmux_init(void);
83 extern void sh73a0_pm_init(void);
84 extern struct clk sh73a0_extal1_clk;
85 extern struct clk sh73a0_extal2_clk;
86 extern struct clk sh73a0_extcki_clk;
87 extern struct clk sh73a0_extalr_clk;
88 extern struct smp_operations sh73a0_smp_ops;
89 
90 #endif /* __ASM_SH73A0_H__ */
91