diff options
author | Ulrich Hecht <ulrich.hecht@gmail.com> | 2013-05-31 11:57:02 -0400 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2013-06-17 05:09:54 -0400 |
commit | d44f8308cf7a65f4c97a041da07d872aefe47ca7 (patch) | |
tree | 33226f32d0a206eacdd8e86e71cd4d8d640d7aae | |
parent | f303b364b41d3fc5bf879799128958400b7859aa (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.c | 14 |
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 | ||
70 | enum { 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 | |||
77 | enum { SCIFA0, SCIFA1, SCIFB0, SCIFB1, SCIFB2, SCIFA2, SCIF0, SCIF1, | ||
78 | HSCIF0, HSCIF1 }; | ||
71 | 79 | ||
72 | static const struct plat_sci_port scif[] = { | 80 | static 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 | ||
83 | static inline void r8a7790_register_scif(int idx) | 93 | static 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 | ||