Re: [PATCH v4 14/21] arch: arm: socfpga: Add 'altr, sysmgr-syscon' for MMC node in device tree

2020-03-11 Thread Marek Vasut
On 3/11/20 8:06 AM, Ang, Chee Hong wrote:
> 
> 
>> -Original Message-
>> From: Simon Goldschmidt 
>> Sent: Wednesday, March 11, 2020 1:06 AM
>> To: Ang, Chee Hong ; u-boot@lists.denx.de
>> Cc: Marek Vasut ; See, Chin Liang ;
>> Tan, Ley Foon ; Westergreen, Dalon
>> ; Gong, Richard 
>> Subject: Re: [PATCH v4 14/21] arch: arm: socfpga: Add 'altr,sysmgr-syscon' 
>> for
>> MMC node in device tree

Can you please fix your mailer to avoid re-adding the entire header into
the message ?

>> Am 09.03.2020 um 10:07 schrieb chee.hong@intel.com:
>>> From: Chee Hong Ang 
>>>
>>> In device tree for all socfpga platforms, a phandle to System Manager
>>> ('altr,sysmgr-syscon') is needed for MMC node to enable the MMC driver
>>> to configure the SDMMC's clock phase shift via System Manager driver
>>> (altera_sysmgr).
>>> This phandle specifies the offset of the SDMCC control register in
>>> System Manager, start of bit field for drvsel and start of bit field
>>> for smplsel.
>>>
>>> Signed-off-by: Chee Hong Ang 
>>> ---
>>>  arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi| 1 +
>>>  arch/arm/dts/socfpga_arria10_socdk_sdmmc.dts | 1 +
>>>  arch/arm/dts/socfpga_arria5_socdk-u-boot.dtsi| 1 +
>>>  arch/arm/dts/socfpga_cyclone5.dtsi   | 1 +
>>>  arch/arm/dts/socfpga_stratix10.dtsi  | 1 -
>>>  arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi | 7 +++
>>>  arch/arm/dts/socfpga_stratix10_socdk.dts | 2 --
>>
>> This looks strange. I would have expected you add the 'syscon' entry to the 
>> base
>> dtsi files (and to the ones in Linux, too, btw). But you're adding it to "-u-
>> boot.dtsi" files, too. Why?
> Where to add new device tree entry is rather confusing to me.
> Linux SDMMC driver doesn't set the SDMMC clock. So this only
> applicable to U-Boot only.

DT describes hardware, so U-Boot and Linux DTs should be ideally
identical. I would expect syscon, which is actual hardware, to be
applicable to both U-Boot and Linux (and other OSes too) ?

> I thought "-u-boot-dtsi" is the place where we should put those
> device tree entries that are only applicable to U-Boot only ?
That is more often used for things which are indeed U-Boot specific,
that is nodes which have u-boot, prefix and/or hardware bits which are
not yet part of Linux DT, but which _will_ be part of Linux DT once they
trickle through the upstream machinery.

[...]

-- 
Best regards,
Marek Vasut


RE: [PATCH v4 14/21] arch: arm: socfpga: Add 'altr, sysmgr-syscon' for MMC node in device tree

2020-03-11 Thread Ang, Chee Hong


> -Original Message-
> From: Simon Goldschmidt 
> Sent: Wednesday, March 11, 2020 1:06 AM
> To: Ang, Chee Hong ; u-boot@lists.denx.de
> Cc: Marek Vasut ; See, Chin Liang ;
> Tan, Ley Foon ; Westergreen, Dalon
> ; Gong, Richard 
> Subject: Re: [PATCH v4 14/21] arch: arm: socfpga: Add 'altr,sysmgr-syscon' for
> MMC node in device tree
> 
> Am 09.03.2020 um 10:07 schrieb chee.hong@intel.com:
> > From: Chee Hong Ang 
> >
> > In device tree for all socfpga platforms, a phandle to System Manager
> > ('altr,sysmgr-syscon') is needed for MMC node to enable the MMC driver
> > to configure the SDMMC's clock phase shift via System Manager driver
> > (altera_sysmgr).
> > This phandle specifies the offset of the SDMCC control register in
> > System Manager, start of bit field for drvsel and start of bit field
> > for smplsel.
> >
> > Signed-off-by: Chee Hong Ang 
> > ---
> >  arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi| 1 +
> >  arch/arm/dts/socfpga_arria10_socdk_sdmmc.dts | 1 +
> >  arch/arm/dts/socfpga_arria5_socdk-u-boot.dtsi| 1 +
> >  arch/arm/dts/socfpga_cyclone5.dtsi   | 1 +
> >  arch/arm/dts/socfpga_stratix10.dtsi  | 1 -
> >  arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi | 7 +++
> >  arch/arm/dts/socfpga_stratix10_socdk.dts | 2 --
> 
> This looks strange. I would have expected you add the 'syscon' entry to the 
> base
> dtsi files (and to the ones in Linux, too, btw). But you're adding it to "-u-
> boot.dtsi" files, too. Why?
Where to add new device tree entry is rather confusing to me.
Linux SDMMC driver doesn't set the SDMMC clock. So this only
applicable to U-Boot only.
I thought "-u-boot-dtsi" is the place where we should put those
device tree entries that are only applicable to U-Boot only ?
> 
> Regards,
> Simon
> 
> >  7 files changed, 11 insertions(+), 3 deletions(-)
> >
> > diff --git a/arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi
> > b/arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi
> > index 1908be4..56fd7d9 100644
> > --- a/arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi
> > +++ b/arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi
> > @@ -34,6 +34,7 @@
> >   {
> > drvsel = <3>;
> > smplsel = <0>;
> > +   altr,sysmgr-syscon = < 0x28 0 4>;
> > u-boot,dm-pre-reloc;
> >  };
> >
> > diff --git a/arch/arm/dts/socfpga_arria10_socdk_sdmmc.dts
> > b/arch/arm/dts/socfpga_arria10_socdk_sdmmc.dts
> > index d6b6c2d..887673b 100644
> > --- a/arch/arm/dts/socfpga_arria10_socdk_sdmmc.dts
> > +++ b/arch/arm/dts/socfpga_arria10_socdk_sdmmc.dts
> > @@ -44,6 +44,7 @@
> > cap-sd-highspeed;
> > broken-cd;
> > bus-width = <4>;
> > +   altr,sysmgr-syscon = < 0x28 0 4>;
> >  };
> >
> >   {
> > diff --git a/arch/arm/dts/socfpga_arria5_socdk-u-boot.dtsi
> > b/arch/arm/dts/socfpga_arria5_socdk-u-boot.dtsi
> > index dfaff4c..d2189f1 100644
> > --- a/arch/arm/dts/socfpga_arria5_socdk-u-boot.dtsi
> > +++ b/arch/arm/dts/socfpga_arria5_socdk-u-boot.dtsi
> > @@ -20,6 +20,7 @@
> >  };
> >
> >   {
> > +   altr,sysmgr-syscon = < 0x108 0 3>;
> > u-boot,dm-pre-reloc;
> >  };
> >
> > diff --git a/arch/arm/dts/socfpga_cyclone5.dtsi
> > b/arch/arm/dts/socfpga_cyclone5.dtsi
> > index 319a71e..c309681 100644
> > --- a/arch/arm/dts/socfpga_cyclone5.dtsi
> > +++ b/arch/arm/dts/socfpga_cyclone5.dtsi
> > @@ -23,6 +23,7 @@
> > bus-width = <4>;
> > cap-mmc-highspeed;
> > cap-sd-highspeed;
> > +   altr,sysmgr-syscon = < 0x108 0 3>;
> > };
> >
> > sysmgr@ffd08000 {
> > diff --git a/arch/arm/dts/socfpga_stratix10.dtsi
> > b/arch/arm/dts/socfpga_stratix10.dtsi
> > index a8e61cf..9c89065 100755
> > --- a/arch/arm/dts/socfpga_stratix10.dtsi
> > +++ b/arch/arm/dts/socfpga_stratix10.dtsi
> > @@ -228,7 +228,6 @@
> > interrupts = <0 96 4>;
> > fifo-depth = <0x400>;
> > resets = < SDMMC_RESET>, <
> SDMMC_OCP_RESET>;
> > -   u-boot,dm-pre-reloc;
> > status = "disabled";
> > };
> >
> > diff --git a/arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi
> > b/arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi
> > index a903040..ca91b40 100755
> > --- a/arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi
> > +++ b/arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi
> > @@ -28,6 +28,13 @@
> > u-boot,dm-pre-reloc;
> >  };
> >
> > + {
> > +   drvsel = <3>;
> > +   smplsel = <0>;
> > +   altr,sysmgr-syscon = < 0x28 0 4>;
> > +   u-boot,dm-pre-reloc;
> > +};
> > +
> >   {
> > u-boot,dm-pre-reloc;
> >  };
> > diff --git a/arch/arm/dts/socfpga_stratix10_socdk.dts
> > b/arch/arm/dts/socfpga_stratix10_socdk.dts
> > index b7b48a5..ff6e1b2 100755
> > --- a/arch/arm/dts/socfpga_stratix10_socdk.dts
> > +++ b/arch/arm/dts/socfpga_stratix10_socdk.dts
> > @@ -91,8 +91,6 @@
> > cap-mmc-highspeed;
> > broken-cd;
> > bus-width = <4>;
> > -   drvsel = <3>;
> > -   smplsel = <0>;
> >  };
> >
> >   {
> >



Re: [PATCH v4 14/21] arch: arm: socfpga: Add 'altr, sysmgr-syscon' for MMC node in device tree

2020-03-10 Thread Simon Goldschmidt
Am 09.03.2020 um 10:07 schrieb chee.hong@intel.com:
> From: Chee Hong Ang 
> 
> In device tree for all socfpga platforms, a phandle to System Manager
> ('altr,sysmgr-syscon') is needed for MMC node to enable the MMC driver
> to configure the SDMMC's clock phase shift via System Manager driver
> (altera_sysmgr).
> This phandle specifies the offset of the SDMCC control register in
> System Manager, start of bit field for drvsel and start of bit field
> for smplsel.
> 
> Signed-off-by: Chee Hong Ang 
> ---
>  arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi| 1 +
>  arch/arm/dts/socfpga_arria10_socdk_sdmmc.dts | 1 +
>  arch/arm/dts/socfpga_arria5_socdk-u-boot.dtsi| 1 +
>  arch/arm/dts/socfpga_cyclone5.dtsi   | 1 +
>  arch/arm/dts/socfpga_stratix10.dtsi  | 1 -
>  arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi | 7 +++
>  arch/arm/dts/socfpga_stratix10_socdk.dts | 2 --

This looks strange. I would have expected you add the 'syscon' entry to
the base dtsi files (and to the ones in Linux, too, btw). But you're
adding it to "-u-boot.dtsi" files, too. Why?

Regards,
Simon

>  7 files changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi 
> b/arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi
> index 1908be4..56fd7d9 100644
> --- a/arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi
> +++ b/arch/arm/dts/socfpga_agilex_socdk-u-boot.dtsi
> @@ -34,6 +34,7 @@
>   {
>   drvsel = <3>;
>   smplsel = <0>;
> + altr,sysmgr-syscon = < 0x28 0 4>;
>   u-boot,dm-pre-reloc;
>  };
>  
> diff --git a/arch/arm/dts/socfpga_arria10_socdk_sdmmc.dts 
> b/arch/arm/dts/socfpga_arria10_socdk_sdmmc.dts
> index d6b6c2d..887673b 100644
> --- a/arch/arm/dts/socfpga_arria10_socdk_sdmmc.dts
> +++ b/arch/arm/dts/socfpga_arria10_socdk_sdmmc.dts
> @@ -44,6 +44,7 @@
>   cap-sd-highspeed;
>   broken-cd;
>   bus-width = <4>;
> + altr,sysmgr-syscon = < 0x28 0 4>;
>  };
>  
>   {
> diff --git a/arch/arm/dts/socfpga_arria5_socdk-u-boot.dtsi 
> b/arch/arm/dts/socfpga_arria5_socdk-u-boot.dtsi
> index dfaff4c..d2189f1 100644
> --- a/arch/arm/dts/socfpga_arria5_socdk-u-boot.dtsi
> +++ b/arch/arm/dts/socfpga_arria5_socdk-u-boot.dtsi
> @@ -20,6 +20,7 @@
>  };
>  
>   {
> + altr,sysmgr-syscon = < 0x108 0 3>;
>   u-boot,dm-pre-reloc;
>  };
>  
> diff --git a/arch/arm/dts/socfpga_cyclone5.dtsi 
> b/arch/arm/dts/socfpga_cyclone5.dtsi
> index 319a71e..c309681 100644
> --- a/arch/arm/dts/socfpga_cyclone5.dtsi
> +++ b/arch/arm/dts/socfpga_cyclone5.dtsi
> @@ -23,6 +23,7 @@
>   bus-width = <4>;
>   cap-mmc-highspeed;
>   cap-sd-highspeed;
> + altr,sysmgr-syscon = < 0x108 0 3>;
>   };
>  
>   sysmgr@ffd08000 {
> diff --git a/arch/arm/dts/socfpga_stratix10.dtsi 
> b/arch/arm/dts/socfpga_stratix10.dtsi
> index a8e61cf..9c89065 100755
> --- a/arch/arm/dts/socfpga_stratix10.dtsi
> +++ b/arch/arm/dts/socfpga_stratix10.dtsi
> @@ -228,7 +228,6 @@
>   interrupts = <0 96 4>;
>   fifo-depth = <0x400>;
>   resets = < SDMMC_RESET>, < SDMMC_OCP_RESET>;
> - u-boot,dm-pre-reloc;
>   status = "disabled";
>   };
>  
> diff --git a/arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi 
> b/arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi
> index a903040..ca91b40 100755
> --- a/arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi
> +++ b/arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi
> @@ -28,6 +28,13 @@
>   u-boot,dm-pre-reloc;
>  };
>  
> + {
> + drvsel = <3>;
> + smplsel = <0>;
> + altr,sysmgr-syscon = < 0x28 0 4>;
> + u-boot,dm-pre-reloc;
> +};
> +
>   {
>   u-boot,dm-pre-reloc;
>  };
> diff --git a/arch/arm/dts/socfpga_stratix10_socdk.dts 
> b/arch/arm/dts/socfpga_stratix10_socdk.dts
> index b7b48a5..ff6e1b2 100755
> --- a/arch/arm/dts/socfpga_stratix10_socdk.dts
> +++ b/arch/arm/dts/socfpga_stratix10_socdk.dts
> @@ -91,8 +91,6 @@
>   cap-mmc-highspeed;
>   broken-cd;
>   bus-width = <4>;
> - drvsel = <3>;
> - smplsel = <0>;
>  };
>  
>   {
>