Re: [PATCH v3 0/3] Add RISC-V 32 NOMMU support

From: Randy Dunlap
Date: Tue Mar 07 2023 - 22:51:47 EST




On 3/7/23 19:42, Damien Le Moal wrote:
> On 3/8/23 12:23, Randy Dunlap wrote:
>>>> OK, I don't know how it happened. I cannot reproduce it now.
>>>> The failing .config files has CONFIG_MMU is not set (for RV32I), which
>>>> appears to be impossible.
>>> These patches add `CONFIG_MMU is not set` (for RV32I).
>>> But no worries it seems to be a non issue  now.
>>>
>>> Your thoughts Damien?
>>>
>>
>> Thanks for reminding me.
>>
>> With these 3 patches applied to linux-next-20230307,
>> I still get this build error.
>
> Does this help ?
>
> diff --git a/drivers/soc/canaan/Kconfig b/drivers/soc/canaan/Kconfig
> index 2527cf5757ec..7796c5f1d109 100644
> --- a/drivers/soc/canaan/Kconfig
> +++ b/drivers/soc/canaan/Kconfig
> @@ -4,7 +4,8 @@ config SOC_K210_SYSCTL
> bool "Canaan Kendryte K210 SoC system controller"
> depends on RISCV && SOC_CANAAN && OF
> default SOC_CANAAN
> - select PM
> - select MFD_SYSCON
> + select COMMON_CLK_K210
> + select PM
> + select MFD_SYSCON
> help
> Canaan Kendryte K210 SoC system controller driver.
>
> (just noticed that there are whitespace errors here...)

Yes, this patch allows it to build cleanly.
Thanks.

I didn't test any of the below changes.

> Note that both the sysctl and clk driver depend on RISCV. I think these should
> probably also depend on 64BIT, and eventually add a "|| COMPILE_TEST" as well.
> So something like this:
>
> diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
> index b6c5bf69a2b2..657a36d2640d 100644
> --- a/drivers/clk/Kconfig
> +++ b/drivers/clk/Kconfig
> @@ -431,7 +431,7 @@ config COMMON_CLK_FIXED_MMIO
>
> config COMMON_CLK_K210
> bool "Clock driver for the Canaan Kendryte K210 SoC"
> - depends on OF && RISCV && SOC_CANAAN
> + depends on OF && RISCV && SOC_CANAAN && (64BIT || COMPILE_TEST)
> default SOC_CANAAN
> help
> Support for the Canaan Kendryte K210 RISC-V SoC clocks.
> diff --git a/drivers/soc/canaan/Kconfig b/drivers/soc/canaan/Kconfig
> index 2527cf5757ec..1745a614d2a7 100644
> --- a/drivers/soc/canaan/Kconfig
> +++ b/drivers/soc/canaan/Kconfig
> @@ -2,9 +2,10 @@
>
> config SOC_K210_SYSCTL
> bool "Canaan Kendryte K210 SoC system controller"
> - depends on RISCV && SOC_CANAAN && OF
> + depends on RISCV && SOC_CANAAN && OF && (64BIT || COMPILE_TEST)
> default SOC_CANAAN
> - select PM
> - select MFD_SYSCON
> + select COMMON_CLK_K210
> + select PM
> + select MFD_SYSCON
> help
> Canaan Kendryte K210 SoC system controller driver.
>
> COMPILE_TEST is optional though, but I do not see any reason why not eventhough
> in practice these drivers will likely never end up in 32-bits SoC.
>
>

--
~Randy