Hi Jagan, On Mon, Apr 20, 2020 at 4:15 PM Jagan Teki <[email protected]> wrote: > > Hi Bin, > > On Mon, Apr 20, 2020 at 1:24 PM Bin Meng <[email protected]> wrote: > > > > Hi Jagan, > > > > On Tue, Apr 7, 2020 at 5:21 PM Jagan Teki <[email protected]> > > wrote: > > > > > > On Tue, Apr 7, 2020 at 1:40 PM Pragnesh Patel <[email protected]> > > > wrote: > > > > > > > > Hi Jagan, > > > > > > > > >-----Original Message----- > > > > >From: Jagan Teki <[email protected]> > > > > >Sent: 07 April 2020 13:32 > > > > >To: Pragnesh Patel <[email protected]> > > > > >Cc: U-Boot-Denx <[email protected]>; Atish Patra > > > > ><[email protected]>; [email protected]; Bin Meng > > > > ><[email protected]>; Paul Walmsley <[email protected]>; Troy > > > > >Benjegerdes <[email protected]>; Anup Patel > > > > ><[email protected]>; Sagar Kadam <[email protected]>; Rick Chen > > > > ><[email protected]>; Palmer Dabbelt <[email protected]> > > > > >Subject: Re: [PATCH v6 02/17] riscv: sifive: fu540: Use OTP DM driver > > > > >for serial > > > > >environment variable > > > > > > > > > >[External Email] Do not click links or attachments unless you > > > > >recognize the > > > > >sender and know the content is safe > > > > > > > > > >On Thu, Apr 2, 2020 at 3:47 PM Pragnesh Patel > > > > ><[email protected]> > > > > >wrote: > > > > >> > > > > >> Hi Jagan, > > > > >> > > > > >> >-----Original Message----- > > > > >> >From: Jagan Teki <[email protected]> > > > > >> >Sent: 02 April 2020 14:59 > > > > >> >To: Pragnesh Patel <[email protected]> > > > > >> >Cc: U-Boot-Denx <[email protected]>; Atish Patra > > > > >> ><[email protected]>; [email protected]; Bin Meng > > > > >> ><[email protected]>; Paul Walmsley <[email protected]>; > > > > >Troy > > > > >> >Benjegerdes <[email protected]>; Anup Patel > > > > >> ><[email protected]>; Sagar Kadam <[email protected]>; Rick > > > > >Chen > > > > >> ><[email protected]>; Palmer Dabbelt <[email protected]> > > > > >> >Subject: Re: [PATCH v6 02/17] riscv: sifive: fu540: Use OTP DM > > > > >> >driver > > > > >> >for serial environment variable > > > > >> > > > > > >> >[External Email] Do not click links or attachments unless you > > > > >> >recognize the sender and know the content is safe > > > > >> > > > > > >> >On Thu, Apr 2, 2020 at 2:54 PM Pragnesh Patel > > > > >> ><[email protected]> > > > > >> >wrote: > > > > >> >> > > > > >> >> > > > > >> >> Hi Jagan, > > > > >> >> > > > > >> >> >-----Original Message----- > > > > >> >> >From: Jagan Teki <[email protected]> > > > > >> >> >Sent: 02 April 2020 14:49 > > > > >> >> >To: Pragnesh Patel <[email protected]> > > > > >> >> >Cc: U-Boot-Denx <[email protected]>; Atish Patra > > > > >> >> ><[email protected]>; [email protected]; Bin Meng > > > > >> >> ><[email protected]>; Paul Walmsley <[email protected]>; > > > > >> >Troy > > > > >> >> >Benjegerdes <[email protected]>; Anup Patel > > > > >> >> ><[email protected]>; Sagar Kadam <[email protected]>; Rick > > > > >> >Chen > > > > >> >> ><[email protected]>; Palmer Dabbelt <[email protected]> > > > > >> >> >Subject: Re: [PATCH v6 02/17] riscv: sifive: fu540: Use OTP DM > > > > >> >> >driver for serial environment variable > > > > >> >> > > > > > >> >> >[External Email] Do not click links or attachments unless you > > > > >> >> >recognize the sender and know the content is safe > > > > >> >> > > > > > >> >> >On Sun, Mar 29, 2020 at 10:36 PM Pragnesh Patel > > > > >> >> ><[email protected]> wrote: > > > > >> >> >> > > > > >> >> >> Use the OTP DM driver to set the serial environment variable. > > > > >> >> >> > > > > >> >> >> Signed-off-by: Pragnesh Patel <[email protected]> > > > > >> >> >> --- > > > > >> >> >> arch/riscv/dts/fu540-c000-u-boot.dtsi | 14 +++ > > > > >> >> >> .../dts/hifive-unleashed-a00-u-boot.dtsi | 6 + > > > > >> >> >> board/sifive/fu540/Kconfig | 2 + > > > > >> >> >> board/sifive/fu540/fu540.c | 111 > > > > >> >> >> ++++++------------ > > > > >> >> >> 4 files changed, 61 insertions(+), 72 deletions(-) create > > > > >> >> >> mode > > > > >> >> >> 100644 arch/riscv/dts/fu540-c000-u-boot.dtsi > > > > >> >> >> create mode 100644 > > > > >> >> >> arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi > > > > >> >> >> > > > > >> >> >> diff --git a/arch/riscv/dts/fu540-c000-u-boot.dtsi > > > > >> >> >> b/arch/riscv/dts/fu540-c000-u-boot.dtsi > > > > >> >> >> new file mode 100644 > > > > >> >> >> index 0000000000..db55773bd2 > > > > >> >> >> --- /dev/null > > > > >> >> >> +++ b/arch/riscv/dts/fu540-c000-u-boot.dtsi > > > > >> >> >> @@ -0,0 +1,14 @@ > > > > >> >> >> +// SPDX-License-Identifier: (GPL-2.0 OR MIT) > > > > >> >> >> +/* > > > > >> >> >> + * (C) Copyright 2019 SiFive, Inc */ > > > > >> >> >> + > > > > >> >> >> +/ { > > > > >> >> >> + soc { > > > > >> >> >> + otp: otp@10070000 { > > > > >> >> >> + compatible = "sifive,fu540-c000-otp"; > > > > >> >> >> + reg = <0x0 0x10070000 0x0 0x0FFF>; > > > > >> >> >> + fuse-count = <0x1000>; > > > > >> >> >> + }; > > > > >> >> >> + }; > > > > >> >> >> +}; > > > > >> >> >> diff --git a/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi > > > > >> >> >> b/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi > > > > >> >> >> new file mode 100644 > > > > >> >> >> index 0000000000..f1735c1385 > > > > >> >> >> --- /dev/null > > > > >> >> >> +++ b/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi > > > > >> >> >> @@ -0,0 +1,6 @@ > > > > >> >> >> +// SPDX-License-Identifier: (GPL-2.0 OR MIT) > > > > >> >> >> +/* > > > > >> >> >> + * Copyright (C) 2019 SiFive, Inc */ > > > > >> >> >> + > > > > >> >> >> +#include "fu540-c000-u-boot.dtsi" > > > > >> >> >> diff --git a/board/sifive/fu540/Kconfig > > > > >> >> >> b/board/sifive/fu540/Kconfig index 5ca21474de..900197bbb2 > > > > >> >> >> 100644 > > > > >> >> >> --- a/board/sifive/fu540/Kconfig > > > > >> >> >> +++ b/board/sifive/fu540/Kconfig > > > > >> >> >> @@ -48,5 +48,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy > > > > >> >> >> imply SIFIVE_GPIO > > > > >> >> >> imply CMD_GPIO > > > > >> >> >> imply SMP > > > > >> >> >> + imply MISC > > > > >> >> >> + imply SIFIVE_OTP > > > > >> >> > > > > > >> >> >Mark this default y if it is SIFIVE. > > > > >> >> > > > > >> >> All other SiFive drivers (SPI_SIFIVE, SIFIVE_GPIO) are enabled by > > > > >> >> "imply", so I > > > > >> >am following the same. I think "imply" will make it default y. > > > > >> > > > > > >> >Just mark 'default y' on SIFIVE_OTP area of drivers/misc/Kconfig > > > > >> >depends on SIFIVE SoC would select this driver so-that you no need > > > > >> >to > > > > >> >add impy SIFIVE_OTP here. > > > > >> > > > > >> I am not sure if all SiFive SoC will contain SiFive OTP controller, > > > > >> so it's better > > > > >not to make it default y. > > > > >> > > > > >> If all Sifive SoCs contain OTP controller then I need to add another > > > > >> Kconfig option like "RISCV_SIFIVE" as shown below, config SIFIVE_OTP > > > > >> default y if RISCV_SIFIVE > > > > > > > > > >Yes, use this TARGET_SIFIVE_FU540 > > > > > > > > I am okay with this but if other future SiFive SoCs support this OTP > > > > then it would be a long chain. > > > > What's your opinion on this ? > > > > > > That is fine, these are at least SoC not boards. boards will increment > > > a lot but SoC may not. Having SoC dependency or select would be > > > meaningful. > > > > > > > I am not in favor of adding default y if TARGET_SIFIVE_FU540 in the > > driver Kconfig file. > > > > I think we can add the "imply" or "select" in the SoC Kconfig file > > instead if adding such "imply" in the board level Kconfig is a > > concern. > > Technically this is an SoC driver and doesn't relate to a specific > board and to be precise TARGET_SIFIVE_FU540 is SoC not the > target(board). We do have several examples of following this strategy > and having a driver selecting on board will be redundant to select the > same in other boards if they use the same SoC. > > On this specific note, I've been encouraged to select it on driver > Kconfig if SoC (TARGET_SIFIVE_FU540) is defined.
Yes, I understand this is SoC specific. So as I mentioned let's do this in the SoC Kconfig file instead. Linux also is using the SoC Kconfig practice to select drivers. Regards, Bin

