All of lore.kernel.org
 help / color / mirror / Atom feed
* [RESEND PATCH 5/6] arm64: defconfig: Enable Samsung I2C driver
@ 2021-12-20 16:50 Krzysztof Kozlowski
  2021-12-20 16:50 ` [RESEND PATCH 6/6] arm64: exynos: Enable Exynos Multi-Core Timer driver Krzysztof Kozlowski
  0 siblings, 1 reply; 4+ messages in thread
From: Krzysztof Kozlowski @ 2021-12-20 16:50 UTC (permalink / raw)
  To: arm, soc, Arnd Bergmann, Olof Johansson
  Cc: Sam Protsenko, Krzysztof Kozlowski

From: Sam Protsenko <semen.protsenko@linaro.org>

i2c-s3c2410 driver is needed for some arm64 Exynos SoCs, e.g. Exynos850.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Link: https://lore.kernel.org/r/20211121150558.21801-1-semen.protsenko@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
---
 arch/arm64/configs/defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index f2e2b9bdd702..0da6a944d5cd 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -461,6 +461,7 @@ CONFIG_I2C_QCOM_GENI=m
 CONFIG_I2C_QUP=y
 CONFIG_I2C_RIIC=y
 CONFIG_I2C_RK3X=y
+CONFIG_I2C_S3C2410=y
 CONFIG_I2C_SH_MOBILE=y
 CONFIG_I2C_TEGRA=y
 CONFIG_I2C_UNIPHIER_F=y
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [RESEND PATCH 6/6] arm64: exynos: Enable Exynos Multi-Core Timer driver
  2021-12-20 16:50 [RESEND PATCH 5/6] arm64: defconfig: Enable Samsung I2C driver Krzysztof Kozlowski
@ 2021-12-20 16:50 ` Krzysztof Kozlowski
  2021-12-21 12:30   ` Arnd Bergmann
  0 siblings, 1 reply; 4+ messages in thread
From: Krzysztof Kozlowski @ 2021-12-20 16:50 UTC (permalink / raw)
  To: arm, soc, Arnd Bergmann, Olof Johansson
  Cc: Marek Szyprowski, Krzysztof Kozlowski, Chanwoo Choi,
	Sam Protsenko, Krzysztof Kozlowski

From: Marek Szyprowski <m.szyprowski@samsung.com>

Some ARM64 Exynos SoCs have MCT timer block, e.g. Exynos850 and
Exynos5433. CLKSRC_EXYNOS_MCT option is not visible unless COMPILE_TEST
is enabled. Select CLKSRC_EXYNOS_MCT option for ARM64 ARCH_EXYNOS like
it's done in arch/arm/mach-exynos/Kconfig, to enable MCT timer support
for ARM64 Exynos SoCs.

Even though ARM architected timer is available on all ARM64 SoCs, and
used for managing timer hardware and clock source events, MCT timer
still can be used as a wakeup source, as stated in commitae460fd9164b
("clocksource/drivers/exynos_mct: Prioritise Arm arch timer on arm64").
It's also nice to be able to test available MCT IP-core.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Link: https://lore.kernel.org/r/20211101193531.15078-3-semen.protsenko@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
---
 arch/arm64/Kconfig.platforms | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 1aa8b7073218..91f5e9568122 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -89,6 +89,7 @@ config ARCH_BRCMSTB
 config ARCH_EXYNOS
 	bool "ARMv8 based Samsung Exynos SoC family"
 	select COMMON_CLK_SAMSUNG
+	select CLKSRC_EXYNOS_MCT
 	select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS
 	select EXYNOS_PMU
 	select PINCTRL
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [RESEND PATCH 6/6] arm64: exynos: Enable Exynos Multi-Core Timer driver
  2021-12-20 16:50 ` [RESEND PATCH 6/6] arm64: exynos: Enable Exynos Multi-Core Timer driver Krzysztof Kozlowski
@ 2021-12-21 12:30   ` Arnd Bergmann
  2021-12-22 16:04     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 4+ messages in thread
From: Arnd Bergmann @ 2021-12-21 12:30 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: arm-soc, SoC Team, Arnd Bergmann, Olof Johansson,
	Marek Szyprowski, Krzysztof Kozlowski, Chanwoo Choi,
	Sam Protsenko, Daniel Lezcano, Thomas Gleixner

On Mon, Dec 20, 2021 at 5:50 PM Krzysztof Kozlowski
<krzysztof.kozlowski@canonical.com> wrote:
> From: Marek Szyprowski <m.szyprowski@samsung.com>
>
> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> index 1aa8b7073218..91f5e9568122 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -89,6 +89,7 @@ config ARCH_BRCMSTB
>  config ARCH_EXYNOS
>         bool "ARMv8 based Samsung Exynos SoC family"
>         select COMMON_CLK_SAMSUNG
> +       select CLKSRC_EXYNOS_MCT
>         select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS
>         select EXYNOS_PMU
>         select PINCTRL


I applied this, but I don't think this is the best way to do it. As
you describe, the
driver is optional, and we probably shouldn't force-enable it here just because
we build a kernel that may run on a platform that may want to use this.

I understand the clocksource maintainers prefer the 'select' method, but I think
this one shows why that doesn't always work well. This is probably even an
example of a clocksource driver that could be a loadable module if someone
did the work to make this possible.

        Arnd

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RESEND PATCH 6/6] arm64: exynos: Enable Exynos Multi-Core Timer driver
  2021-12-21 12:30   ` Arnd Bergmann
@ 2021-12-22 16:04     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 4+ messages in thread
From: Krzysztof Kozlowski @ 2021-12-22 16:04 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: arm-soc, SoC Team, Olof Johansson, Marek Szyprowski,
	Krzysztof Kozlowski, Chanwoo Choi, Sam Protsenko, Daniel Lezcano,
	Thomas Gleixner

On 21/12/2021 13:30, Arnd Bergmann wrote:
> On Mon, Dec 20, 2021 at 5:50 PM Krzysztof Kozlowski
> <krzysztof.kozlowski@canonical.com> wrote:
>> From: Marek Szyprowski <m.szyprowski@samsung.com>
>>
>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
>> index 1aa8b7073218..91f5e9568122 100644
>> --- a/arch/arm64/Kconfig.platforms
>> +++ b/arch/arm64/Kconfig.platforms
>> @@ -89,6 +89,7 @@ config ARCH_BRCMSTB
>>  config ARCH_EXYNOS
>>         bool "ARMv8 based Samsung Exynos SoC family"
>>         select COMMON_CLK_SAMSUNG
>> +       select CLKSRC_EXYNOS_MCT
>>         select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS
>>         select EXYNOS_PMU
>>         select PINCTRL
> 
> 
> I applied this, but I don't think this is the best way to do it. As
> you describe, the
> driver is optional, and we probably shouldn't force-enable it here just because
> we build a kernel that may run on a platform that may want to use this.

All older ARMv8 designs actually require this because Architected timer
is sharing block with MCT. The newer designs (not supported yet) could
indeed skip it and rely on Architected entirely.

> 
> I understand the clocksource maintainers prefer the 'select' method, but I think
> this one shows why that doesn't always work well. This is probably even an
> example of a clocksource driver that could be a loadable module if someone
> did the work to make this possible.

I understand. Maybe it is the time to make the timer user-visible option
with default value. Probably several other timers could be converted to
such approach as well.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-12-22 16:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-20 16:50 [RESEND PATCH 5/6] arm64: defconfig: Enable Samsung I2C driver Krzysztof Kozlowski
2021-12-20 16:50 ` [RESEND PATCH 6/6] arm64: exynos: Enable Exynos Multi-Core Timer driver Krzysztof Kozlowski
2021-12-21 12:30   ` Arnd Bergmann
2021-12-22 16:04     ` Krzysztof Kozlowski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.