Re: [U-Boot] [PATCH v2 7/8] arm: socfpga: gen5: deassert peripheral reset by default

2019-02-22 Thread Marek Vasut
On 2/22/19 6:55 AM, Simon Goldschmidt wrote:
> On Thu, Feb 21, 2019 at 11:17 PM Marek Vasut  wrote:
>>
>> On 2/21/19 11:09 PM, Simon Goldschmidt wrote:
>>>
>>>
>>> Am Do., 21. Feb. 2019, 22:56 hat Marek Vasut >> > geschrieben:
>>>
>>> On 2/21/19 10:43 PM, Simon Goldschmidt wrote:
>>> > To keep the current behaviour of taking all peripherals out of reset
>>> > before booting the OS before removing that code from socfpga gen5 SPL,
>>> > this enables the new behaviour by default for all gen5 boards by
>>> adding
>>> > the environment variable "socfpga_permodrst_ungate=1" to the default
>>> > environment.
>>> >
>>> > This can be overridden in board config files or by saving an
>>> environment
>>> > without this variable enabled.
>>> >
>>> > Signed-off-by: Simon Goldschmidt >> >
>>> > ---
>>> >
>>> > Changes in v2:
>>> > - this patch is new in v2
>>> >
>>> >  include/configs/socfpga_common.h | 14 ++
>>> >  1 file changed, 14 insertions(+)
>>> >
>>> > diff --git a/include/configs/socfpga_common.h
>>> b/include/configs/socfpga_common.h
>>> > index c9cbf8f5e3..2510c6fd7b 100644
>>> > --- a/include/configs/socfpga_common.h
>>> > +++ b/include/configs/socfpga_common.h
>>> > @@ -321,6 +321,19 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
>>> >
>>> >  #include 
>>> >
>>> > +#ifdef CONFIG_TARGET_SOCFPGA_GEN5
>>> > +/*
>>> > + * Handle compatibility for peripheral reset for Linux kernels
>>> that haven't
>>> > + * implemented peripheral reset for all drivers.
>>> > + * Define this to "" disable this compatibility.
>>> > + */
>>> > +#ifndef SOCFPGA_PERMODRST_UNGATE
>>> > +#define SOCFPGA_PERMODRST_UNGATE "socfpga_permodrst_ungate=1\0"
>>> > +#endif
>>> > +#else
>>> > +#define SOCFPGA_PERMODRST_UNGATE ""
>>> > +#endif
>>>
>>> Just add this socfpga_permodrst_ungate to the default end and drop all
>>> those macros/Kconfig options.
>>>
>>>
>>> But how would it then be overridden?
>>
>> User would setenv it to "" and saveenv ? I might be missing something
>> obvious.
> 
> Of course. I meant how to override it for the default env. E.g. to test on
> some boards.
> 
> But it's probably enough that CONFIG_EXTRA_ENV_SETTINGS is overridable.

I think so ... or ?

-- 
Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2 7/8] arm: socfpga: gen5: deassert peripheral reset by default

2019-02-21 Thread Simon Goldschmidt
On Thu, Feb 21, 2019 at 11:17 PM Marek Vasut  wrote:
>
> On 2/21/19 11:09 PM, Simon Goldschmidt wrote:
> >
> >
> > Am Do., 21. Feb. 2019, 22:56 hat Marek Vasut  > > geschrieben:
> >
> > On 2/21/19 10:43 PM, Simon Goldschmidt wrote:
> > > To keep the current behaviour of taking all peripherals out of reset
> > > before booting the OS before removing that code from socfpga gen5 SPL,
> > > this enables the new behaviour by default for all gen5 boards by
> > adding
> > > the environment variable "socfpga_permodrst_ungate=1" to the default
> > > environment.
> > >
> > > This can be overridden in board config files or by saving an
> > environment
> > > without this variable enabled.
> > >
> > > Signed-off-by: Simon Goldschmidt  > >
> > > ---
> > >
> > > Changes in v2:
> > > - this patch is new in v2
> > >
> > >  include/configs/socfpga_common.h | 14 ++
> > >  1 file changed, 14 insertions(+)
> > >
> > > diff --git a/include/configs/socfpga_common.h
> > b/include/configs/socfpga_common.h
> > > index c9cbf8f5e3..2510c6fd7b 100644
> > > --- a/include/configs/socfpga_common.h
> > > +++ b/include/configs/socfpga_common.h
> > > @@ -321,6 +321,19 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
> > >
> > >  #include 
> > >
> > > +#ifdef CONFIG_TARGET_SOCFPGA_GEN5
> > > +/*
> > > + * Handle compatibility for peripheral reset for Linux kernels
> > that haven't
> > > + * implemented peripheral reset for all drivers.
> > > + * Define this to "" disable this compatibility.
> > > + */
> > > +#ifndef SOCFPGA_PERMODRST_UNGATE
> > > +#define SOCFPGA_PERMODRST_UNGATE "socfpga_permodrst_ungate=1\0"
> > > +#endif
> > > +#else
> > > +#define SOCFPGA_PERMODRST_UNGATE ""
> > > +#endif
> >
> > Just add this socfpga_permodrst_ungate to the default end and drop all
> > those macros/Kconfig options.
> >
> >
> > But how would it then be overridden?
>
> User would setenv it to "" and saveenv ? I might be missing something
> obvious.

Of course. I meant how to override it for the default env. E.g. to test on
some boards.

But it's probably enough that CONFIG_EXTRA_ENV_SETTINGS is overridable.

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2 7/8] arm: socfpga: gen5: deassert peripheral reset by default

2019-02-21 Thread Marek Vasut
On 2/21/19 11:09 PM, Simon Goldschmidt wrote:
> 
> 
> Am Do., 21. Feb. 2019, 22:56 hat Marek Vasut  > geschrieben:
> 
> On 2/21/19 10:43 PM, Simon Goldschmidt wrote:
> > To keep the current behaviour of taking all peripherals out of reset
> > before booting the OS before removing that code from socfpga gen5 SPL,
> > this enables the new behaviour by default for all gen5 boards by
> adding
> > the environment variable "socfpga_permodrst_ungate=1" to the default
> > environment.
> >
> > This can be overridden in board config files or by saving an
> environment
> > without this variable enabled.
> >
> > Signed-off-by: Simon Goldschmidt  >
> > ---
> >
> > Changes in v2:
> > - this patch is new in v2
> >
> >  include/configs/socfpga_common.h | 14 ++
> >  1 file changed, 14 insertions(+)
> >
> > diff --git a/include/configs/socfpga_common.h
> b/include/configs/socfpga_common.h
> > index c9cbf8f5e3..2510c6fd7b 100644
> > --- a/include/configs/socfpga_common.h
> > +++ b/include/configs/socfpga_common.h
> > @@ -321,6 +321,19 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
> > 
> >  #include 
> > 
> > +#ifdef CONFIG_TARGET_SOCFPGA_GEN5
> > +/*
> > + * Handle compatibility for peripheral reset for Linux kernels
> that haven't
> > + * implemented peripheral reset for all drivers.
> > + * Define this to "" disable this compatibility.
> > + */
> > +#ifndef SOCFPGA_PERMODRST_UNGATE
> > +#define SOCFPGA_PERMODRST_UNGATE "socfpga_permodrst_ungate=1\0"
> > +#endif
> > +#else
> > +#define SOCFPGA_PERMODRST_UNGATE ""
> > +#endif
> 
> Just add this socfpga_permodrst_ungate to the default end and drop all
> those macros/Kconfig options.
> 
> 
> But how would it then be overridden?

User would setenv it to "" and saveenv ? I might be missing something
obvious.

-- 
Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2 7/8] arm: socfpga: gen5: deassert peripheral reset by default

2019-02-21 Thread Simon Goldschmidt
Am Do., 21. Feb. 2019, 22:56 hat Marek Vasut  geschrieben:

> On 2/21/19 10:43 PM, Simon Goldschmidt wrote:
> > To keep the current behaviour of taking all peripherals out of reset
> > before booting the OS before removing that code from socfpga gen5 SPL,
> > this enables the new behaviour by default for all gen5 boards by adding
> > the environment variable "socfpga_permodrst_ungate=1" to the default
> > environment.
> >
> > This can be overridden in board config files or by saving an environment
> > without this variable enabled.
> >
> > Signed-off-by: Simon Goldschmidt 
> > ---
> >
> > Changes in v2:
> > - this patch is new in v2
> >
> >  include/configs/socfpga_common.h | 14 ++
> >  1 file changed, 14 insertions(+)
> >
> > diff --git a/include/configs/socfpga_common.h
> b/include/configs/socfpga_common.h
> > index c9cbf8f5e3..2510c6fd7b 100644
> > --- a/include/configs/socfpga_common.h
> > +++ b/include/configs/socfpga_common.h
> > @@ -321,6 +321,19 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
> >
> >  #include 
> >
> > +#ifdef CONFIG_TARGET_SOCFPGA_GEN5
> > +/*
> > + * Handle compatibility for peripheral reset for Linux kernels that
> haven't
> > + * implemented peripheral reset for all drivers.
> > + * Define this to "" disable this compatibility.
> > + */
> > +#ifndef SOCFPGA_PERMODRST_UNGATE
> > +#define SOCFPGA_PERMODRST_UNGATE "socfpga_permodrst_ungate=1\0"
> > +#endif
> > +#else
> > +#define SOCFPGA_PERMODRST_UNGATE ""
> > +#endif
>
> Just add this socfpga_permodrst_ungate to the default end and drop all
> those macros/Kconfig options.
>

But how would it then be overridden?

I think it'd be better to call it socfpga_legacy_reset_compat or something.
>

Ok.

Regards,
Simon


> >  #ifndef CONFIG_EXTRA_ENV_SETTINGS
> >  #define CONFIG_EXTRA_ENV_SETTINGS \
> >   "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
> > @@ -330,6 +343,7 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
> >   "scriptaddr=0x0210\0" \
> >   "pxefile_addr_r=0x0220\0" \
> >   "ramdisk_addr_r=0x0230\0" \
> > + SOCFPGA_PERMODRST_UNGATE \
> >   BOOTENV
> >
> >  #endif
> >
>
>
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2 7/8] arm: socfpga: gen5: deassert peripheral reset by default

2019-02-21 Thread Marek Vasut
On 2/21/19 10:43 PM, Simon Goldschmidt wrote:
> To keep the current behaviour of taking all peripherals out of reset
> before booting the OS before removing that code from socfpga gen5 SPL,
> this enables the new behaviour by default for all gen5 boards by adding
> the environment variable "socfpga_permodrst_ungate=1" to the default
> environment.
> 
> This can be overridden in board config files or by saving an environment
> without this variable enabled.
> 
> Signed-off-by: Simon Goldschmidt 
> ---
> 
> Changes in v2:
> - this patch is new in v2
> 
>  include/configs/socfpga_common.h | 14 ++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/include/configs/socfpga_common.h 
> b/include/configs/socfpga_common.h
> index c9cbf8f5e3..2510c6fd7b 100644
> --- a/include/configs/socfpga_common.h
> +++ b/include/configs/socfpga_common.h
> @@ -321,6 +321,19 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
>  
>  #include 
>  
> +#ifdef CONFIG_TARGET_SOCFPGA_GEN5
> +/*
> + * Handle compatibility for peripheral reset for Linux kernels that haven't
> + * implemented peripheral reset for all drivers.
> + * Define this to "" disable this compatibility.
> + */
> +#ifndef SOCFPGA_PERMODRST_UNGATE
> +#define SOCFPGA_PERMODRST_UNGATE "socfpga_permodrst_ungate=1\0"
> +#endif
> +#else
> +#define SOCFPGA_PERMODRST_UNGATE ""
> +#endif

Just add this socfpga_permodrst_ungate to the default end and drop all
those macros/Kconfig options.

I think it'd be better to call it socfpga_legacy_reset_compat or something.

>  #ifndef CONFIG_EXTRA_ENV_SETTINGS
>  #define CONFIG_EXTRA_ENV_SETTINGS \
>   "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
> @@ -330,6 +343,7 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
>   "scriptaddr=0x0210\0" \
>   "pxefile_addr_r=0x0220\0" \
>   "ramdisk_addr_r=0x0230\0" \
> + SOCFPGA_PERMODRST_UNGATE \
>   BOOTENV
>  
>  #endif
> 


-- 
Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot