Message ID | 1397239311-27717-4-git-send-email-a.kesavan@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Apr 11, 2014 at 11:31:49PM +0530, Abhilash Kesavan wrote: > On the Exynos5420 non-secure SYSRAM is used for secondary CPU bring-up, > so add a mapping for it. > > Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> > Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> > --- > arch/arm/mach-exynos/exynos.c | 11 +++++++++++ > arch/arm/mach-exynos/include/mach/map.h | 1 + > 2 files changed, 12 insertions(+) > > diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c > index b32a907..b1cf9d5 100644 > --- a/arch/arm/mach-exynos/exynos.c > +++ b/arch/arm/mach-exynos/exynos.c > @@ -159,6 +159,15 @@ static struct map_desc exynos5250_iodesc[] __initdata = { > }, > }; > > +static struct map_desc exynos5420_iodesc[] __initdata = { > + { > + .virtual = (unsigned long)S5P_VA_SYSRAM_NS, > + .pfn = __phys_to_pfn(EXYNOS5420_PA_SYSRAM_NS), > + .length = SZ_4K, > + .type = MT_DEVICE, > + }, > +}; > + Regarding Arnd's NAK in http://lists.infradead.org/pipermail/linux-arm-kernel/2014-April/246936.html, this looks like another instance of the same thing. Arnd, what was your preferred solution? Should this be described in DT? Cheers ---Dave
On Monday 14 April 2014 12:25:20 Dave Martin wrote: > On Fri, Apr 11, 2014 at 11:31:49PM +0530, Abhilash Kesavan wrote: > > On the Exynos5420 non-secure SYSRAM is used for secondary CPU bring-up, > > so add a mapping for it. > > > > Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> > > Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> > > --- > > arch/arm/mach-exynos/exynos.c | 11 +++++++++++ > > arch/arm/mach-exynos/include/mach/map.h | 1 + > > 2 files changed, 12 insertions(+) > > > > diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c > > index b32a907..b1cf9d5 100644 > > --- a/arch/arm/mach-exynos/exynos.c > > +++ b/arch/arm/mach-exynos/exynos.c > > @@ -159,6 +159,15 @@ static struct map_desc exynos5250_iodesc[] __initdata = { > > }, > > }; > > > > +static struct map_desc exynos5420_iodesc[] __initdata = { > > + { > > + .virtual = (unsigned long)S5P_VA_SYSRAM_NS, > > + .pfn = __phys_to_pfn(EXYNOS5420_PA_SYSRAM_NS), > > + .length = SZ_4K, > > + .type = MT_DEVICE, > > + }, > > +}; > > + > > Regarding Arnd's NAK in > http://lists.infradead.org/pipermail/linux-arm-kernel/2014-April/246936.html, > this looks like another instance of the same thing. > > Arnd, what was your preferred solution? Should this be described in DT? Yes. There are already patches on the list to do this right. Arnd
On Mon, Apr 14, 2014 at 01:47:56PM +0200, Arnd Bergmann wrote: > On Monday 14 April 2014 12:25:20 Dave Martin wrote: > > On Fri, Apr 11, 2014 at 11:31:49PM +0530, Abhilash Kesavan wrote: > > > On the Exynos5420 non-secure SYSRAM is used for secondary CPU bring-up, > > > so add a mapping for it. > > > > > > Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> > > > Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> > > > --- > > > arch/arm/mach-exynos/exynos.c | 11 +++++++++++ > > > arch/arm/mach-exynos/include/mach/map.h | 1 + > > > 2 files changed, 12 insertions(+) > > > > > > diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c > > > index b32a907..b1cf9d5 100644 > > > --- a/arch/arm/mach-exynos/exynos.c > > > +++ b/arch/arm/mach-exynos/exynos.c > > > @@ -159,6 +159,15 @@ static struct map_desc exynos5250_iodesc[] __initdata = { > > > }, > > > }; > > > > > > +static struct map_desc exynos5420_iodesc[] __initdata = { > > > + { > > > + .virtual = (unsigned long)S5P_VA_SYSRAM_NS, > > > + .pfn = __phys_to_pfn(EXYNOS5420_PA_SYSRAM_NS), > > > + .length = SZ_4K, > > > + .type = MT_DEVICE, > > > + }, > > > +}; > > > + > > > > Regarding Arnd's NAK in > > http://lists.infradead.org/pipermail/linux-arm-kernel/2014-April/246936.html, > > this looks like another instance of the same thing. > > > > Arnd, what was your preferred solution? Should this be described in DT? > > Yes. There are already patches on the list to do this right. This is http://www.spinics.net/lists/linux-samsung-soc/msg27647.html, right? If so, it looks like exynos5420 should definitely follow the same approach. Cheers ---Dave
On Monday 14 April 2014 12:59:11 Dave Martin wrote: > On Mon, Apr 14, 2014 at 01:47:56PM +0200, Arnd Bergmann wrote: > > On Monday 14 April 2014 12:25:20 Dave Martin wrote: > > > Arnd, what was your preferred solution? Should this be described in DT? > > > > Yes. There are already patches on the list to do this right. > > This is http://www.spinics.net/lists/linux-samsung-soc/msg27647.html, > right? > > If so, it looks like exynos5420 should definitely follow the same > approach. > Yes, exactly. Arnd
Hi Dave and Arnd, On Mon, Apr 14, 2014 at 6:54 PM, Arnd Bergmann <arnd@arndb.de> wrote: > On Monday 14 April 2014 12:59:11 Dave Martin wrote: >> On Mon, Apr 14, 2014 at 01:47:56PM +0200, Arnd Bergmann wrote: >> > On Monday 14 April 2014 12:25:20 Dave Martin wrote: >> > > Arnd, what was your preferred solution? Should this be described in DT? >> > >> > Yes. There are already patches on the list to do this right. >> >> This is http://www.spinics.net/lists/linux-samsung-soc/msg27647.html, >> right? >> >> If so, it looks like exynos5420 should definitely follow the same >> approach. >> > > Yes, exactly. I'll make use of the SYSRAM dt patch in my next patchset. > > Arnd Regards, Abhilash > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c index b32a907..b1cf9d5 100644 --- a/arch/arm/mach-exynos/exynos.c +++ b/arch/arm/mach-exynos/exynos.c @@ -159,6 +159,15 @@ static struct map_desc exynos5250_iodesc[] __initdata = { }, }; +static struct map_desc exynos5420_iodesc[] __initdata = { + { + .virtual = (unsigned long)S5P_VA_SYSRAM_NS, + .pfn = __phys_to_pfn(EXYNOS5420_PA_SYSRAM_NS), + .length = SZ_4K, + .type = MT_DEVICE, + }, +}; + static struct map_desc exynos5_iodesc[] __initdata = { { .virtual = (unsigned long)S3C_VA_SYS, @@ -294,6 +303,8 @@ static void __init exynos_map_io(void) iotable_init(exynos4x12_iodesc, ARRAY_SIZE(exynos4x12_iodesc)); if (soc_is_exynos5250()) iotable_init(exynos5250_iodesc, ARRAY_SIZE(exynos5250_iodesc)); + if (soc_is_exynos5420()) + iotable_init(exynos5420_iodesc, ARRAY_SIZE(exynos5420_iodesc)); } void __init exynos_init_io(void) diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h index 7b046b5..8c5be19 100644 --- a/arch/arm/mach-exynos/include/mach/map.h +++ b/arch/arm/mach-exynos/include/mach/map.h @@ -29,6 +29,7 @@ #define EXYNOS4210_PA_SYSRAM_NS 0x0203F000 #define EXYNOS4x12_PA_SYSRAM_NS 0x0204F000 #define EXYNOS5250_PA_SYSRAM_NS 0x0204F000 +#define EXYNOS5420_PA_SYSRAM_NS 0x02073000 #define EXYNOS_PA_CHIPID 0x10000000