* [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board [not found] ` <1311659456-6659-3-git-send-email-m.szyprowski@samsung.com> @ 2011-09-14 5:02 ` Kyungmin Park 2011-09-14 11:50 ` Kukjin Kim 2011-09-15 6:03 ` Kukjin Kim 0 siblings, 2 replies; 6+ messages in thread From: Kyungmin Park @ 2011-09-14 5:02 UTC (permalink / raw) To: linux-arm-kernel Hi, It's required for boot universal c210 w/ EVT0 chip. Can you include it at 3.1 fixed branch? Thank you, Kyungmin Park On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski <m.szyprowski@samsung.com> wrote: > Commit 069d4e743 removed support for local timers and forced to use MCT as > event source. However MCT is not operating properly on early revision (EVT0) > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 EVT0, so that > commit broke support for it. This patch provides a workaround that enables > UniversalC210 boards to boot again. s5p-timer is used as an event source. > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> > --- > ?arch/arm/mach-exynos4/Kconfig ? ? ? ? ? ? ? | ? ?3 +++ > ?arch/arm/mach-exynos4/mach-universal_c210.c | ? ?4 +++- > ?2 files changed, 6 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig > index 9d62e13..2aad73f 100644 > --- a/arch/arm/mach-exynos4/Kconfig > +++ b/arch/arm/mach-exynos4/Kconfig > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210 > ?config MACH_UNIVERSAL_C210 > ? ? ? ?bool "Mobile UNIVERSAL_C210 Board" > ? ? ? ?select CPU_EXYNOS4210 > + ? ? ? select S5P_HRT > + ? ? ? select CLKSRC_MMIO > + ? ? ? select HAVE_SCHED_CLOCK > ? ? ? ?select S5P_GPIO_INT > ? ? ? ?select S5P_DEV_FIMC0 > ? ? ? ?select S5P_DEV_FIMC1 > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c b/arch/arm/mach-exynos4/mach-universal_c210.c > index 0e280d1..ca9e7b7 100644 > --- a/arch/arm/mach-exynos4/mach-universal_c210.c > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c > @@ -34,6 +34,7 @@ > ?#include <plat/mfc.h> > ?#include <plat/sdhci.h> > ?#include <plat/pd.h> > +#include <plat/s5p-time.h> > > ?#include <mach/map.h> > > @@ -730,6 +731,7 @@ static void __init universal_map_io(void) > ? ? ? ?s5p_init_io(NULL, 0, S5P_VA_CHIPID); > ? ? ? ?s3c24xx_init_clocks(24000000); > ? ? ? ?s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs)); > + ? ? ? s5p_set_timer_source(S5P_PWM2, S5P_PWM4); > ?} > > ?static void __init universal_reserve(void) > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210") > ? ? ? ?.init_irq ? ? ? = exynos4_init_irq, > ? ? ? ?.map_io ? ? ? ? = universal_map_io, > ? ? ? ?.init_machine ? = universal_machine_init, > - ? ? ? .timer ? ? ? ? ?= &exynos4_timer, > + ? ? ? .timer ? ? ? ? ?= &s5p_timer, > ? ? ? ?.reserve ? ? ? ?= &universal_reserve, > ?MACHINE_END > -- > 1.7.1.569.g6f426 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at ?http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board 2011-09-14 5:02 ` [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board Kyungmin Park @ 2011-09-14 11:50 ` Kukjin Kim 2011-09-15 6:03 ` Kukjin Kim 1 sibling, 0 replies; 6+ messages in thread From: Kukjin Kim @ 2011-09-14 11:50 UTC (permalink / raw) To: linux-arm-kernel Kyungmin Park wrote: > > Hi, > > It's required for boot universal c210 w/ EVT0 chip. > Can you include it at 3.1 fixed branch? > Sure, will apply into samsung-fixes for 3.1. Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. > Thank you, > Kyungmin Park > > On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski > <m.szyprowski@samsung.com> wrote: > > Commit 069d4e743 removed support for local timers and forced to use MCT as > > event source. However MCT is not operating properly on early revision (EVT0) > > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 EVT0, so > that > > commit broke support for it. This patch provides a workaround that enables > > UniversalC210 boards to boot again. s5p-timer is used as an event source. > > > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> > > --- > > ?arch/arm/mach-exynos4/Kconfig ? ? ? ? ? ? ? | ? ?3 +++ > > ?arch/arm/mach-exynos4/mach-universal_c210.c | ? ?4 +++- > > ?2 files changed, 6 insertions(+), 1 deletions(-) > > > > diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig > > index 9d62e13..2aad73f 100644 > > --- a/arch/arm/mach-exynos4/Kconfig > > +++ b/arch/arm/mach-exynos4/Kconfig > > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210 > > ?config MACH_UNIVERSAL_C210 > > ? ? ? ?bool "Mobile UNIVERSAL_C210 Board" > > ? ? ? ?select CPU_EXYNOS4210 > > + ? ? ? select S5P_HRT > > + ? ? ? select CLKSRC_MMIO > > + ? ? ? select HAVE_SCHED_CLOCK > > ? ? ? ?select S5P_GPIO_INT > > ? ? ? ?select S5P_DEV_FIMC0 > > ? ? ? ?select S5P_DEV_FIMC1 > > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c b/arch/arm/mach- > exynos4/mach-universal_c210.c > > index 0e280d1..ca9e7b7 100644 > > --- a/arch/arm/mach-exynos4/mach-universal_c210.c > > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c > > @@ -34,6 +34,7 @@ > > ?#include <plat/mfc.h> > > ?#include <plat/sdhci.h> > > ?#include <plat/pd.h> > > +#include <plat/s5p-time.h> > > > > ?#include <mach/map.h> > > > > @@ -730,6 +731,7 @@ static void __init universal_map_io(void) > > ? ? ? ?s5p_init_io(NULL, 0, S5P_VA_CHIPID); > > ? ? ? ?s3c24xx_init_clocks(24000000); > > ? ? ? ?s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs)); > > + ? ? ? s5p_set_timer_source(S5P_PWM2, S5P_PWM4); > > ?} > > > > ?static void __init universal_reserve(void) > > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210, > "UNIVERSAL_C210") > > ? ? ? ?.init_irq ? ? ? = exynos4_init_irq, > > ? ? ? ?.map_io ? ? ? ? = universal_map_io, > > ? ? ? ?.init_machine ? = universal_machine_init, > > - ? ? ? .timer ? ? ? ? ?= &exynos4_timer, > > + ? ? ? .timer ? ? ? ? ?= &s5p_timer, > > ? ? ? ?.reserve ? ? ? ?= &universal_reserve, > > ?MACHINE_END > > -- > > 1.7.1.569.g6f426 > > > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in > > the body of a message to majordomo at vger.kernel.org > > More majordomo info at ?http://vger.kernel.org/majordomo-info.html > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board 2011-09-14 5:02 ` [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board Kyungmin Park 2011-09-14 11:50 ` Kukjin Kim @ 2011-09-15 6:03 ` Kukjin Kim 2011-09-15 6:32 ` Kyungmin Park 1 sibling, 1 reply; 6+ messages in thread From: Kukjin Kim @ 2011-09-15 6:03 UTC (permalink / raw) To: linux-arm-kernel Kukjin Kim wrote: > > Kyungmin Park wrote: > > > > Hi, > > > > It's required for boot universal c210 w/ EVT0 chip. > > Can you include it at 3.1 fixed branch? > > > Sure, will apply into samsung-fixes for 3.1. Unfortunately, it happens boot failure with this patch on other EXYNOS4210 boards and it is due to HAVE_SCHED_CLOCK. > > > + select HAVE_SCHED_CLOCK I think, we need to sort out the method... Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. > > > Thank you, > > Kyungmin Park > > > > On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski > > <m.szyprowski@samsung.com> wrote: > > > Commit 069d4e743 removed support for local timers and forced to use MCT > as > > > event source. However MCT is not operating properly on early revision (EVT0) > > > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 EVT0, so > > that > > > commit broke support for it. This patch provides a workaround that enables > > > UniversalC210 boards to boot again. s5p-timer is used as an event source. > > > > > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> > > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> > > > --- > > > ?arch/arm/mach-exynos4/Kconfig ? ? ? ? ? ? ? | ? ?3 +++ > > > ?arch/arm/mach-exynos4/mach-universal_c210.c | ? ?4 +++- > > > ?2 files changed, 6 insertions(+), 1 deletions(-) > > > > > > diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig > > > index 9d62e13..2aad73f 100644 > > > --- a/arch/arm/mach-exynos4/Kconfig > > > +++ b/arch/arm/mach-exynos4/Kconfig > > > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210 > > > ?config MACH_UNIVERSAL_C210 > > > ? ? ? ?bool "Mobile UNIVERSAL_C210 Board" > > > ? ? ? ?select CPU_EXYNOS4210 > > > + ? ? ? select S5P_HRT > > > + ? ? ? select CLKSRC_MMIO > > > + ? ? ? select HAVE_SCHED_CLOCK > > > ? ? ? ?select S5P_GPIO_INT > > > ? ? ? ?select S5P_DEV_FIMC0 > > > ? ? ? ?select S5P_DEV_FIMC1 > > > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c b/arch/arm/mach- > > exynos4/mach-universal_c210.c > > > index 0e280d1..ca9e7b7 100644 > > > --- a/arch/arm/mach-exynos4/mach-universal_c210.c > > > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c > > > @@ -34,6 +34,7 @@ > > > ?#include <plat/mfc.h> > > > ?#include <plat/sdhci.h> > > > ?#include <plat/pd.h> > > > +#include <plat/s5p-time.h> > > > > > > ?#include <mach/map.h> > > > > > > @@ -730,6 +731,7 @@ static void __init universal_map_io(void) > > > ? ? ? ?s5p_init_io(NULL, 0, S5P_VA_CHIPID); > > > ? ? ? ?s3c24xx_init_clocks(24000000); > > > ? ? ? ?s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs)); > > > + ? ? ? s5p_set_timer_source(S5P_PWM2, S5P_PWM4); > > > ?} > > > > > > ?static void __init universal_reserve(void) > > > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210, > > "UNIVERSAL_C210") > > > ? ? ? ?.init_irq ? ? ? = exynos4_init_irq, > > > ? ? ? ?.map_io ? ? ? ? = universal_map_io, > > > ? ? ? ?.init_machine ? = universal_machine_init, > > > - ? ? ? .timer ? ? ? ? ?= &exynos4_timer, > > > + ? ? ? .timer ? ? ? ? ?= &s5p_timer, > > > ? ? ? ?.reserve ? ? ? ?= &universal_reserve, > > > ?MACHINE_END > > > -- > > > 1.7.1.569.g6f426 > > > > > > -- > > > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in > > > the body of a message to majordomo at vger.kernel.org > > > More majordomo info at ?http://vger.kernel.org/majordomo-info.html > > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board 2011-09-15 6:03 ` Kukjin Kim @ 2011-09-15 6:32 ` Kyungmin Park 2011-09-15 7:38 ` Kukjin Kim 0 siblings, 1 reply; 6+ messages in thread From: Kyungmin Park @ 2011-09-15 6:32 UTC (permalink / raw) To: linux-arm-kernel On Thu, Sep 15, 2011 at 3:03 PM, Kukjin Kim <kgene.kim@samsung.com> wrote: > Kukjin Kim wrote: >> >> Kyungmin Park wrote: >> > >> > Hi, >> > >> > It's required for boot universal c210 w/ EVT0 chip. >> > Can you include it at 3.1 fixed branch? >> > >> Sure, will apply into samsung-fixes for 3.1. > > Unfortunately, it happens boot failure with this patch on other EXYNOS4210 > boards and it is due to HAVE_SCHED_CLOCK. > >> > > + ? ? ? select HAVE_SCHED_CLOCK > > I think, we need to sort out the method... As sched_clock_postinit is called at generic time code by HAVE_SCHED_CLOCK. and there's no sched_clock_update_fn() is defined. As a work-around, you can test it. static void sched_clock_poll(unsigned long wrap_ticks) { mod_timer(&sched_clock_timer, round_jiffies(jiffies + wrap_ticks)); if (sched_clock_update_fn) sched_clock_update_fn(); } To solve the problem correctly. you can add init_sched_clock at "arch/arm/mach-exynos4/mct.c" properly Please test the work-around and share the result. I'll try to find the proper place to add init_sched_clock at mct.c Thank you, Kyungmin Park > > Thanks. > > Best regards, > Kgene. > -- > Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, > SW Solution Development Team, Samsung Electronics Co., Ltd. > >> >> > Thank you, >> > Kyungmin Park >> > >> > On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski >> > <m.szyprowski@samsung.com> wrote: >> > > Commit 069d4e743 removed support for local timers and forced to use > MCT >> as >> > > event source. However MCT is not operating properly on early revision > (EVT0) >> > > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 EVT0, > so >> > that >> > > commit broke support for it. This patch provides a workaround that > enables >> > > UniversalC210 boards to boot again. s5p-timer is used as an event > source. >> > > >> > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> >> > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> >> > > --- >> > > ?arch/arm/mach-exynos4/Kconfig ? ? ? ? ? ? ? | ? ?3 +++ >> > > ?arch/arm/mach-exynos4/mach-universal_c210.c | ? ?4 +++- >> > > ?2 files changed, 6 insertions(+), 1 deletions(-) >> > > >> > > diff --git a/arch/arm/mach-exynos4/Kconfig > b/arch/arm/mach-exynos4/Kconfig >> > > index 9d62e13..2aad73f 100644 >> > > --- a/arch/arm/mach-exynos4/Kconfig >> > > +++ b/arch/arm/mach-exynos4/Kconfig >> > > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210 >> > > ?config MACH_UNIVERSAL_C210 >> > > ? ? ? ?bool "Mobile UNIVERSAL_C210 Board" >> > > ? ? ? ?select CPU_EXYNOS4210 >> > > + ? ? ? select S5P_HRT >> > > + ? ? ? select CLKSRC_MMIO >> > > + ? ? ? select HAVE_SCHED_CLOCK >> > > ? ? ? ?select S5P_GPIO_INT >> > > ? ? ? ?select S5P_DEV_FIMC0 >> > > ? ? ? ?select S5P_DEV_FIMC1 >> > > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c > b/arch/arm/mach- >> > exynos4/mach-universal_c210.c >> > > index 0e280d1..ca9e7b7 100644 >> > > --- a/arch/arm/mach-exynos4/mach-universal_c210.c >> > > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c >> > > @@ -34,6 +34,7 @@ >> > > ?#include <plat/mfc.h> >> > > ?#include <plat/sdhci.h> >> > > ?#include <plat/pd.h> >> > > +#include <plat/s5p-time.h> >> > > >> > > ?#include <mach/map.h> >> > > >> > > @@ -730,6 +731,7 @@ static void __init universal_map_io(void) >> > > ? ? ? ?s5p_init_io(NULL, 0, S5P_VA_CHIPID); >> > > ? ? ? ?s3c24xx_init_clocks(24000000); >> > > ? ? ? ?s3c24xx_init_uarts(universal_uartcfgs, > ARRAY_SIZE(universal_uartcfgs)); >> > > + ? ? ? s5p_set_timer_source(S5P_PWM2, S5P_PWM4); >> > > ?} >> > > >> > > ?static void __init universal_reserve(void) >> > > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210, >> > "UNIVERSAL_C210") >> > > ? ? ? ?.init_irq ? ? ? = exynos4_init_irq, >> > > ? ? ? ?.map_io ? ? ? ? = universal_map_io, >> > > ? ? ? ?.init_machine ? = universal_machine_init, >> > > - ? ? ? .timer ? ? ? ? ?= &exynos4_timer, >> > > + ? ? ? .timer ? ? ? ? ?= &s5p_timer, >> > > ? ? ? ?.reserve ? ? ? ?= &universal_reserve, >> > > ?MACHINE_END >> > > -- >> > > 1.7.1.569.g6f426 >> > > >> > > -- >> > > To unsubscribe from this list: send the line "unsubscribe > linux-samsung-soc" in >> > > the body of a message to majordomo at vger.kernel.org >> > > More majordomo info at ?http://vger.kernel.org/majordomo-info.html >> > > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at ?http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board 2011-09-15 6:32 ` Kyungmin Park @ 2011-09-15 7:38 ` Kukjin Kim 2011-09-15 7:42 ` Kyungmin Park 0 siblings, 1 reply; 6+ messages in thread From: Kukjin Kim @ 2011-09-15 7:38 UTC (permalink / raw) To: linux-arm-kernel Kyungmin Park wrote: > > On Thu, Sep 15, 2011 at 3:03 PM, Kukjin Kim <kgene.kim@samsung.com> wrote: > > Kukjin Kim wrote: > >> > >> Kyungmin Park wrote: > >> > > >> > Hi, > >> > > >> > It's required for boot universal c210 w/ EVT0 chip. > >> > Can you include it at 3.1 fixed branch? > >> > > >> Sure, will apply into samsung-fixes for 3.1. > > > > Unfortunately, it happens boot failure with this patch on other EXYNOS4210 > > boards and it is due to HAVE_SCHED_CLOCK. > > > >> > > + ? ? ? select HAVE_SCHED_CLOCK > > > > I think, we need to sort out the method... > As sched_clock_postinit is called at generic time code by > HAVE_SCHED_CLOCK. and there's no sched_clock_update_fn() is defined. > As a work-around, you can test it. > > static void sched_clock_poll(unsigned long wrap_ticks) > { > mod_timer(&sched_clock_timer, round_jiffies(jiffies + wrap_ticks)); > if (sched_clock_update_fn) > sched_clock_update_fn(); > } > Following is better than above but need Russell's review diff --git a/arch/arm/kernel/sched_clock.c b/arch/arm/kernel/sched_clock.c index 9a46370..b1a1283 100644 --- a/arch/arm/kernel/sched_clock.c +++ b/arch/arm/kernel/sched_clock.c @@ -70,5 +70,6 @@ void __init init_sched_clock(struct clock_data *cd, void (*update)(void), void __init sched_clock_postinit(void) { - sched_clock_poll(sched_clock_timer.data); + if (sched_clock_update_fn) + sched_clock_poll(sched_clock_timer.data); } > To solve the problem correctly. you can add init_sched_clock at > "arch/arm/mach-exynos4/mct.c" properly > > Please test the work-around and share the result. I'll try to find the > proper place to add init_sched_clock at mct.c > > Thank you, > Kyungmin Park > > > > > > Thanks. > > > > Best regards, > > Kgene. > > -- > > Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, > > SW Solution Development Team, Samsung Electronics Co., Ltd. > > > >> > >> > Thank you, > >> > Kyungmin Park > >> > > >> > On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski > >> > <m.szyprowski@samsung.com> wrote: > >> > > Commit 069d4e743 removed support for local timers and forced to use > > MCT > >> as > >> > > event source. However MCT is not operating properly on early revision > > (EVT0) > >> > > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 EVT0, > > so > >> > that > >> > > commit broke support for it. This patch provides a workaround that > > enables > >> > > UniversalC210 boards to boot again. s5p-timer is used as an event > > source. > >> > > > >> > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> > >> > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> > >> > > --- > >> > > ?arch/arm/mach-exynos4/Kconfig ? ? ? ? ? ? ? | ? ?3 +++ > >> > > ?arch/arm/mach-exynos4/mach-universal_c210.c | ? ?4 +++- > >> > > ?2 files changed, 6 insertions(+), 1 deletions(-) > >> > > > >> > > diff --git a/arch/arm/mach-exynos4/Kconfig > > b/arch/arm/mach-exynos4/Kconfig > >> > > index 9d62e13..2aad73f 100644 > >> > > --- a/arch/arm/mach-exynos4/Kconfig > >> > > +++ b/arch/arm/mach-exynos4/Kconfig > >> > > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210 > >> > > ?config MACH_UNIVERSAL_C210 > >> > > ? ? ? ?bool "Mobile UNIVERSAL_C210 Board" > >> > > ? ? ? ?select CPU_EXYNOS4210 > >> > > + ? ? ? select S5P_HRT > >> > > + ? ? ? select CLKSRC_MMIO > >> > > + ? ? ? select HAVE_SCHED_CLOCK > >> > > ? ? ? ?select S5P_GPIO_INT > >> > > ? ? ? ?select S5P_DEV_FIMC0 > >> > > ? ? ? ?select S5P_DEV_FIMC1 > >> > > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c > > b/arch/arm/mach- > >> > exynos4/mach-universal_c210.c > >> > > index 0e280d1..ca9e7b7 100644 > >> > > --- a/arch/arm/mach-exynos4/mach-universal_c210.c > >> > > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c > >> > > @@ -34,6 +34,7 @@ > >> > > ?#include <plat/mfc.h> > >> > > ?#include <plat/sdhci.h> > >> > > ?#include <plat/pd.h> > >> > > +#include <plat/s5p-time.h> > >> > > > >> > > ?#include <mach/map.h> > >> > > > >> > > @@ -730,6 +731,7 @@ static void __init universal_map_io(void) > >> > > ? ? ? ?s5p_init_io(NULL, 0, S5P_VA_CHIPID); > >> > > ? ? ? ?s3c24xx_init_clocks(24000000); > >> > > ? ? ? ?s3c24xx_init_uarts(universal_uartcfgs, > > ARRAY_SIZE(universal_uartcfgs)); > >> > > + ? ? ? s5p_set_timer_source(S5P_PWM2, S5P_PWM4); > >> > > ?} > >> > > > >> > > ?static void __init universal_reserve(void) > >> > > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210, > >> > "UNIVERSAL_C210") > >> > > ? ? ? ?.init_irq ? ? ? = exynos4_init_irq, > >> > > ? ? ? ?.map_io ? ? ? ? = universal_map_io, > >> > > ? ? ? ?.init_machine ? = universal_machine_init, > >> > > - ? ? ? .timer ? ? ? ? ?= &exynos4_timer, > >> > > + ? ? ? .timer ? ? ? ? ?= &s5p_timer, > >> > > ? ? ? ?.reserve ? ? ? ?= &universal_reserve, > >> > > ?MACHINE_END > >> > > -- > >> > > 1.7.1.569.g6f426 > >> > > > >> > > -- Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board 2011-09-15 7:38 ` Kukjin Kim @ 2011-09-15 7:42 ` Kyungmin Park 0 siblings, 0 replies; 6+ messages in thread From: Kyungmin Park @ 2011-09-15 7:42 UTC (permalink / raw) To: linux-arm-kernel On Thu, Sep 15, 2011 at 4:38 PM, Kukjin Kim <kgene.kim@samsung.com> wrote: > Kyungmin Park wrote: >> >> On Thu, Sep 15, 2011 at 3:03 PM, Kukjin Kim <kgene.kim@samsung.com> wrote: >> > Kukjin Kim wrote: >> >> >> >> Kyungmin Park wrote: >> >> > >> >> > Hi, >> >> > >> >> > It's required for boot universal c210 w/ EVT0 chip. >> >> > Can you include it at 3.1 fixed branch? >> >> > >> >> Sure, will apply into samsung-fixes for 3.1. >> > >> > Unfortunately, it happens boot failure with this patch on other > EXYNOS4210 >> > boards and it is due to HAVE_SCHED_CLOCK. >> > >> >> > > + ? ? ? select HAVE_SCHED_CLOCK >> > >> > I think, we need to sort out the method... >> As sched_clock_postinit is called at generic time code by >> HAVE_SCHED_CLOCK. and there's no sched_clock_update_fn() is defined. >> As a work-around, you can test it. >> >> static void sched_clock_poll(unsigned long wrap_ticks) >> { >> ? ? ? ? mod_timer(&sched_clock_timer, round_jiffies(jiffies + > wrap_ticks)); >> ? ? ? ? if (sched_clock_update_fn) >> ? ? ? ? ? ? ? ? sched_clock_update_fn(); >> } >> > > Following is better than above but need Russell's review Right, during the make a patch, I also found it. Check the patch And boot tested both EVT0 and others. > > diff --git a/arch/arm/kernel/sched_clock.c b/arch/arm/kernel/sched_clock.c > index 9a46370..b1a1283 100644 > --- a/arch/arm/kernel/sched_clock.c > +++ b/arch/arm/kernel/sched_clock.c > @@ -70,5 +70,6 @@ void __init init_sched_clock(struct clock_data *cd, void > (*update)(void), > > ?void __init sched_clock_postinit(void) > ?{ > - ? ? ? sched_clock_poll(sched_clock_timer.data); > + ? ? ? if (sched_clock_update_fn) > + ? ? ? ? ? ? ? sched_clock_poll(sched_clock_timer.data); > ?} > > >> To solve the problem correctly. you can add init_sched_clock at >> "arch/arm/mach-exynos4/mct.c" properly >> >> Please test the work-around and share the result. I'll try to find the >> proper place to add init_sched_clock at mct.c >> >> Thank you, >> Kyungmin Park >> >> >> > >> > Thanks. >> > >> > Best regards, >> > Kgene. >> > -- >> > Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, >> > SW Solution Development Team, Samsung Electronics Co., Ltd. >> > >> >> >> >> > Thank you, >> >> > Kyungmin Park >> >> > >> >> > On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski >> >> > <m.szyprowski@samsung.com> wrote: >> >> > > Commit 069d4e743 removed support for local timers and forced to use >> > MCT >> >> as >> >> > > event source. However MCT is not operating properly on early > revision >> > (EVT0) >> >> > > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 > EVT0, >> > so >> >> > that >> >> > > commit broke support for it. This patch provides a workaround that >> > enables >> >> > > UniversalC210 boards to boot again. s5p-timer is used as an event >> > source. >> >> > > >> >> > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> >> >> > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> >> >> > > --- >> >> > > ?arch/arm/mach-exynos4/Kconfig ? ? ? ? ? ? ? | ? ?3 +++ >> >> > > ?arch/arm/mach-exynos4/mach-universal_c210.c | ? ?4 +++- >> >> > > ?2 files changed, 6 insertions(+), 1 deletions(-) >> >> > > >> >> > > diff --git a/arch/arm/mach-exynos4/Kconfig >> > b/arch/arm/mach-exynos4/Kconfig >> >> > > index 9d62e13..2aad73f 100644 >> >> > > --- a/arch/arm/mach-exynos4/Kconfig >> >> > > +++ b/arch/arm/mach-exynos4/Kconfig >> >> > > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210 >> >> > > ?config MACH_UNIVERSAL_C210 >> >> > > ? ? ? ?bool "Mobile UNIVERSAL_C210 Board" >> >> > > ? ? ? ?select CPU_EXYNOS4210 >> >> > > + ? ? ? select S5P_HRT >> >> > > + ? ? ? select CLKSRC_MMIO >> >> > > + ? ? ? select HAVE_SCHED_CLOCK >> >> > > ? ? ? ?select S5P_GPIO_INT >> >> > > ? ? ? ?select S5P_DEV_FIMC0 >> >> > > ? ? ? ?select S5P_DEV_FIMC1 >> >> > > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c >> > b/arch/arm/mach- >> >> > exynos4/mach-universal_c210.c >> >> > > index 0e280d1..ca9e7b7 100644 >> >> > > --- a/arch/arm/mach-exynos4/mach-universal_c210.c >> >> > > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c >> >> > > @@ -34,6 +34,7 @@ >> >> > > ?#include <plat/mfc.h> >> >> > > ?#include <plat/sdhci.h> >> >> > > ?#include <plat/pd.h> >> >> > > +#include <plat/s5p-time.h> >> >> > > >> >> > > ?#include <mach/map.h> >> >> > > >> >> > > @@ -730,6 +731,7 @@ static void __init universal_map_io(void) >> >> > > ? ? ? ?s5p_init_io(NULL, 0, S5P_VA_CHIPID); >> >> > > ? ? ? ?s3c24xx_init_clocks(24000000); >> >> > > ? ? ? ?s3c24xx_init_uarts(universal_uartcfgs, >> > ARRAY_SIZE(universal_uartcfgs)); >> >> > > + ? ? ? s5p_set_timer_source(S5P_PWM2, S5P_PWM4); >> >> > > ?} >> >> > > >> >> > > ?static void __init universal_reserve(void) >> >> > > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210, >> >> > "UNIVERSAL_C210") >> >> > > ? ? ? ?.init_irq ? ? ? = exynos4_init_irq, >> >> > > ? ? ? ?.map_io ? ? ? ? = universal_map_io, >> >> > > ? ? ? ?.init_machine ? = universal_machine_init, >> >> > > - ? ? ? .timer ? ? ? ? ?= &exynos4_timer, >> >> > > + ? ? ? .timer ? ? ? ? ?= &s5p_timer, >> >> > > ? ? ? ?.reserve ? ? ? ?= &universal_reserve, >> >> > > ?MACHINE_END >> >> > > -- >> >> > > 1.7.1.569.g6f426 >> >> > > >> >> > > -- > > > Thanks. > > Best regards, > Kgene. > -- > Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, > SW Solution Development Team, Samsung Electronics Co., Ltd. > > -- > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at ?http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-09-15 7:42 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1311659456-6659-1-git-send-email-m.szyprowski@samsung.com>
[not found] ` <1311659456-6659-3-git-send-email-m.szyprowski@samsung.com>
2011-09-14 5:02 ` [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board Kyungmin Park
2011-09-14 11:50 ` Kukjin Kim
2011-09-15 6:03 ` Kukjin Kim
2011-09-15 6:32 ` Kyungmin Park
2011-09-15 7:38 ` Kukjin Kim
2011-09-15 7:42 ` Kyungmin Park
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox