aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlrich Hecht <ulrich.hecht@gmail.com>2013-05-31 11:57:02 -0400
committerSimon Horman <horms+renesas@verge.net.au>2013-06-17 05:09:54 -0400
commitd44f8308cf7a65f4c97a041da07d872aefe47ca7 (patch)
tree33226f32d0a206eacdd8e86e71cd4d8d640d7aae
parentf303b364b41d3fc5bf879799128958400b7859aa (diff)
ARM: shmobile: r8a7790: HSCIF support
Adds support for HSCIF0 and HSCIF1 on the r8a7790. Signed-off-by: Ulrich Hecht <ulrich.hecht@gmail.com> [ horms+renesas@verge.net.au this is the setup-r8a7790.c which I somehow miss-applied as part of another patch. The clock-r8a7790.c portion of this patch has already been merged. ] Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7790.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/arm/mach-shmobile/setup-r8a7790.c b/arch/arm/mach-shmobile/setup-r8a7790.c
index 49de2d56f86d..896d374b9a32 100644
--- a/arch/arm/mach-shmobile/setup-r8a7790.c
+++ b/arch/arm/mach-shmobile/setup-r8a7790.c
@@ -67,7 +67,15 @@ void __init r8a7790_pinmux_init(void)
67 .scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1, \ 67 .scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1, \
68} 68}
69 69
70enum { SCIFA0, SCIFA1, SCIFB0, SCIFB1, SCIFB2, SCIFA2, SCIF0, SCIF1 }; 70#define HSCIF_DATA(index, baseaddr, irq) \
71[index] = { \
72 SCIF_COMMON(PORT_HSCIF, baseaddr, irq), \
73 .scbrr_algo_id = SCBRR_ALGO_6, \
74 .scscr = SCSCR_RE | SCSCR_TE, \
75}
76
77enum { SCIFA0, SCIFA1, SCIFB0, SCIFB1, SCIFB2, SCIFA2, SCIF0, SCIF1,
78 HSCIF0, HSCIF1 };
71 79
72static const struct plat_sci_port scif[] = { 80static const struct plat_sci_port scif[] = {
73 SCIFA_DATA(SCIFA0, 0xe6c40000, gic_spi(144)), /* SCIFA0 */ 81 SCIFA_DATA(SCIFA0, 0xe6c40000, gic_spi(144)), /* SCIFA0 */
@@ -78,6 +86,8 @@ static const struct plat_sci_port scif[] = {
78 SCIFA_DATA(SCIFA2, 0xe6c60000, gic_spi(151)), /* SCIFA2 */ 86 SCIFA_DATA(SCIFA2, 0xe6c60000, gic_spi(151)), /* SCIFA2 */
79 SCIF_DATA(SCIF0, 0xe6e60000, gic_spi(152)), /* SCIF0 */ 87 SCIF_DATA(SCIF0, 0xe6e60000, gic_spi(152)), /* SCIF0 */
80 SCIF_DATA(SCIF1, 0xe6e68000, gic_spi(153)), /* SCIF1 */ 88 SCIF_DATA(SCIF1, 0xe6e68000, gic_spi(153)), /* SCIF1 */
89 HSCIF_DATA(HSCIF0, 0xe62c0000, gic_spi(154)), /* HSCIF0 */
90 HSCIF_DATA(HSCIF1, 0xe62c8000, gic_spi(155)), /* HSCIF1 */
81}; 91};
82 92
83static inline void r8a7790_register_scif(int idx) 93static inline void r8a7790_register_scif(int idx)
@@ -115,6 +125,8 @@ void __init r8a7790_add_standard_devices(void)
115 r8a7790_register_scif(SCIFA2); 125 r8a7790_register_scif(SCIFA2);
116 r8a7790_register_scif(SCIF0); 126 r8a7790_register_scif(SCIF0);
117 r8a7790_register_scif(SCIF1); 127 r8a7790_register_scif(SCIF1);
128 r8a7790_register_scif(HSCIF0);
129 r8a7790_register_scif(HSCIF1);
118 r8a7790_register_irqc(0); 130 r8a7790_register_irqc(0);
119} 131}
120 132