2017-12-15 12:20:25

by Klaus Goger

[permalink] [raw]
Subject: [PATCH] arm64: rockchip: enable Rockchip IO domain support

Make sure the IO domain support is active. This requires to enable
Adaptive Voltage Scaling class support too.

Without Rockchip IO domain support the internal level shifter on the RK3399
will be misconfigured if used in the other voltage domain then the default.

Signed-off-by: Klaus Goger <[email protected]>

---

arch/arm64/Kconfig.platforms | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 2401373565ff..7c0b0ab12f18 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -150,6 +150,8 @@ config ARCH_ROCKCHIP
select GPIOLIB
select PINCTRL
select PINCTRL_ROCKCHIP
+ select POWER_AVS
+ select ROCKCHIP_IODOMAIN
select ROCKCHIP_TIMER
help
This enables support for the ARMv8 based Rockchip chipsets,
--
2.11.0


2017-12-15 15:33:54

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH] arm64: rockchip: enable Rockchip IO domain support

Am Freitag, 15. Dezember 2017, 13:20:10 CET schrieb Klaus Goger:
> Make sure the IO domain support is active. This requires to enable
> Adaptive Voltage Scaling class support too.
>
> Without Rockchip IO domain support the internal level shifter on the RK3399
> will be misconfigured if used in the other voltage domain then the default.
>
> Signed-off-by: Klaus Goger <[email protected]>
>
> ---
>
> arch/arm64/Kconfig.platforms | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> index 2401373565ff..7c0b0ab12f18 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -150,6 +150,8 @@ config ARCH_ROCKCHIP
> select GPIOLIB
> select PINCTRL
> select PINCTRL_ROCKCHIP
> + select POWER_AVS
> + select ROCKCHIP_IODOMAIN

I'm not sure if we really want this in the default arch Kconfig or if there
are cases where the iodomain driver is not necessary.

On arm32 it just gets selected in the regular defconfig [0]


Heiko

[0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/configs/multi_v7_defconfig#n452

2017-12-15 15:55:21

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH] arm64: rockchip: enable Rockchip IO domain support

Am Freitag, 15. Dezember 2017, 16:51:39 CET schrieb klaus.goger@theobroma-
systems.com:
> > On 15.12.2017, at 16:33, Heiko Stübner <[email protected]> wrote:
> >
> > Am Freitag, 15. Dezember 2017, 13:20:10 CET schrieb Klaus Goger:
> >> Make sure the IO domain support is active. This requires to enable
> >> Adaptive Voltage Scaling class support too.
> >>
> >> Without Rockchip IO domain support the internal level shifter on the
> >> RK3399
> >> will be misconfigured if used in the other voltage domain then the
> >> default.
> >>
> >> Signed-off-by: Klaus Goger <[email protected]>
> >>
> >> ---
> >>
> >> arch/arm64/Kconfig.platforms | 2 ++
> >> 1 file changed, 2 insertions(+)
> >>
> >> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> >> index 2401373565ff..7c0b0ab12f18 100644
> >> --- a/arch/arm64/Kconfig.platforms
> >> +++ b/arch/arm64/Kconfig.platforms
> >> @@ -150,6 +150,8 @@ config ARCH_ROCKCHIP
> >>
> >> select GPIOLIB
> >> select PINCTRL
> >> select PINCTRL_ROCKCHIP
> >>
> >> + select POWER_AVS
> >> + select ROCKCHIP_IODOMAIN
> >
> > I'm not sure if we really want this in the default arch Kconfig or if
> > there
> > are cases where the iodomain driver is not necessary.
> >
> > On arm32 it just gets selected in the regular defconfig [0]
>
> At least all currently supported 64bit Rockchip SoCs do have matching VSEL
> GRF settings. For me it looked essential enough to enable for all as not
> setting the correct I/O voltage will result in no output signal at all.
> But I’m fine with a defconfig change if that’s the way to go.
> Should I resend a patch or wait for other opinions?

Personally I would go with a defconfig change. I'd really like to keep the
kconfig stuff minimal and at least all arm64 Rockchip boards can at least
boot without the iodomain driver.


Heiko

2017-12-15 16:03:24

by Klaus Goger

[permalink] [raw]
Subject: Re: [PATCH] arm64: rockchip: enable Rockchip IO domain support

> On 15.12.2017, at 16:55, Heiko Stübner <[email protected]> wrote:
>
> Am Freitag, 15. Dezember 2017, 16:51:39 CET schrieb klaus.goger@theobroma-
> systems.com:
>>> On 15.12.2017, at 16:33, Heiko Stübner <[email protected]> wrote:
>>>
>>> Am Freitag, 15. Dezember 2017, 13:20:10 CET schrieb Klaus Goger:
>>>> Make sure the IO domain support is active. This requires to enable
>>>> Adaptive Voltage Scaling class support too.
>>>>
>>>> Without Rockchip IO domain support the internal level shifter on the
>>>> RK3399
>>>> will be misconfigured if used in the other voltage domain then the
>>>> default.
>>>>
>>>> Signed-off-by: Klaus Goger <[email protected]>
>>>>
>>>> ---
>>>>
>>>> arch/arm64/Kconfig.platforms | 2 ++
>>>> 1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
>>>> index 2401373565ff..7c0b0ab12f18 100644
>>>> --- a/arch/arm64/Kconfig.platforms
>>>> +++ b/arch/arm64/Kconfig.platforms
>>>> @@ -150,6 +150,8 @@ config ARCH_ROCKCHIP
>>>>
>>>> select GPIOLIB
>>>> select PINCTRL
>>>> select PINCTRL_ROCKCHIP
>>>>
>>>> + select POWER_AVS
>>>> + select ROCKCHIP_IODOMAIN
>>>
>>> I'm not sure if we really want this in the default arch Kconfig or if
>>> there
>>> are cases where the iodomain driver is not necessary.
>>>
>>> On arm32 it just gets selected in the regular defconfig [0]
>>
>> At least all currently supported 64bit Rockchip SoCs do have matching VSEL
>> GRF settings. For me it looked essential enough to enable for all as not
>> setting the correct I/O voltage will result in no output signal at all.
>> But I’m fine with a defconfig change if that’s the way to go.
>> Should I resend a patch or wait for other opinions?
>
> Personally I would go with a defconfig change. I'd really like to keep the
> kconfig stuff minimal and at least all arm64 Rockchip boards can at least
> boot without the iodomain driver.

As the gpio driver currently does not depend on iodomain bootup would be an issue
anyway. That's why we currently have to configure boot essential pins that are effected
in U-Boot anyway. So let us drop this patch and I will resend a defconfig one.

Thanks,
Klaus