Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1700159 > unrolled thread

Re: [PATCH v2 12/25] dt-bindings: qcom_nandc: QPIC NAND documentation

Started byAbhishek Sahu <absahu@codeaurora.org>
First post2017-07-31 18:10 +0200
Last post2017-08-04 15:30 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v2 12/25] dt-bindings: qcom_nandc: QPIC NAND documentation Abhishek Sahu <absahu@codeaurora.org> - 2017-07-31 18:10 +0200
    Re: [PATCH v2 12/25] dt-bindings: qcom_nandc: QPIC NAND  documentation Boris Brezillon <boris.brezillon@free-electrons.com> - 2017-08-04 14:50 +0200
      Re: [PATCH v2 12/25] dt-bindings: qcom_nandc: QPIC NAND documentation Abhishek Sahu <absahu@codeaurora.org> - 2017-08-04 15:20 +0200
        Re: [PATCH v2 12/25] dt-bindings: qcom_nandc: QPIC NAND  documentation Boris Brezillon <boris.brezillon@free-electrons.com> - 2017-08-04 15:30 +0200

#1700159 — Re: [PATCH v2 12/25] dt-bindings: qcom_nandc: QPIC NAND documentation

FromAbhishek Sahu <absahu@codeaurora.org>
Date2017-07-31 18:10 +0200
SubjectRe: [PATCH v2 12/25] dt-bindings: qcom_nandc: QPIC NAND documentation
Message-ID<u9lqz-8oa-27@gated-at.bofh.it>
On 2017-07-26 00:13, Abhishek Sahu wrote:
> On 2017-07-25 00:47, Rob Herring wrote:
>> On Wed, Jul 19, 2017 at 05:18:00PM +0530, Abhishek Sahu wrote:
>>> 1. QPIC NAND will use compatible string "qcom,qpic-nandc-v1.4.0"
>>> 2. QPIC NAND will 3 BAM channels: command, data tx and data rx
>>>    while EBI2 NAND uses only single ADM channel.
>>> 3. CRCI is only required for ADM DMA and its not required for
>>>    QPIC NAND.
>>> 
>>> Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
>>> ---
>>>  .../devicetree/bindings/mtd/qcom_nandc.txt         | 54 
>>> ++++++++++++++++++++--
>>>  1 file changed, 51 insertions(+), 3 deletions(-)
>>> 
>>> diff --git a/Documentation/devicetree/bindings/mtd/qcom_nandc.txt 
>>> b/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
>>> index b24adfe..8efaeb0 100644
>>> --- a/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
>>> +++ b/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
>>> @@ -1,13 +1,15 @@
>>>  * Qualcomm NAND controller
>>> 
>>>  Required properties:
>>> -- compatible:		should be "qcom,ebi2-nandc" - EBI2 NAND which uses 
>>> ADM
>>> -			DMA like IPQ8064.
>>> -
>>> +- compatible:		must be one of the following:
>>> +	* "qcom,ebi2-nandc" - EBI2 NAND which uses ADM DMA like IPQ8064.
>>> +	* "qcom,qpic-nandc-v1.4.0" - QPIC NAND v1.4.0 which uses BAM DMA 
>>> like IPQ4019.
>> 
>> Looks like you have 2 SoCs and 2 versions of h/w. Use SoC specific
>> compatible strings.
> 
>  We have 3 versions of NAND HW currently.
>  EBI2,
>  QPIC version 1.4.0
>  QPIC version 1.5.0
> 
>  and multiple Qualcomm SoCs which use any one of these.
> 
>  The original plan was to have compatible string for NAND version since
>  same NAND hardware is being in different SoC and SoC dtsi will simply
>  use its NAND version compatible string like other Qualcomm hardwares
> 
> 
> http://elixir.free-electrons.com/linux/latest/source/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt
> 
> http://elixir.free-electrons.com/linux/latest/source/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
> 

  Following are the partial list for NAND controller and supported
  SoC

   EBI2:          IPQ8064, APQ8064, MSM7xx, MDM9x15
   QPIC v1.4.0    MDM9x25, MDM9x35, MDM9x45, IPQ4019
   QPIC v1.5.0    MDM9x55, IPQ8074

  so could we use NAND controller specific compatible strings instead of 
SoC
  since it will easy to maintain?

>> 
>> Rob

[toc] | [next] | [standalone]


#1703948 — Re: [PATCH v2 12/25] dt-bindings: qcom_nandc: QPIC NAND documentation

FromBoris Brezillon <boris.brezillon@free-electrons.com>
Date2017-08-04 14:50 +0200
SubjectRe: [PATCH v2 12/25] dt-bindings: qcom_nandc: QPIC NAND documentation
Message-ID<uaKdb-71s-13@gated-at.bofh.it>
In reply to#1700159
On Mon, 31 Jul 2017 21:35:57 +0530
Abhishek Sahu <absahu@codeaurora.org> wrote:

> On 2017-07-26 00:13, Abhishek Sahu wrote:
> > On 2017-07-25 00:47, Rob Herring wrote:  
> >> On Wed, Jul 19, 2017 at 05:18:00PM +0530, Abhishek Sahu wrote:  
> >>> 1. QPIC NAND will use compatible string "qcom,qpic-nandc-v1.4.0"
> >>> 2. QPIC NAND will 3 BAM channels: command, data tx and data rx
> >>>    while EBI2 NAND uses only single ADM channel.
> >>> 3. CRCI is only required for ADM DMA and its not required for
> >>>    QPIC NAND.
> >>> 
> >>> Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
> >>> ---
> >>>  .../devicetree/bindings/mtd/qcom_nandc.txt         | 54 
> >>> ++++++++++++++++++++--
> >>>  1 file changed, 51 insertions(+), 3 deletions(-)
> >>> 
> >>> diff --git a/Documentation/devicetree/bindings/mtd/qcom_nandc.txt 
> >>> b/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
> >>> index b24adfe..8efaeb0 100644
> >>> --- a/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
> >>> +++ b/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
> >>> @@ -1,13 +1,15 @@
> >>>  * Qualcomm NAND controller
> >>> 
> >>>  Required properties:
> >>> -- compatible:		should be "qcom,ebi2-nandc" - EBI2 NAND which uses 
> >>> ADM
> >>> -			DMA like IPQ8064.
> >>> -
> >>> +- compatible:		must be one of the following:
> >>> +	* "qcom,ebi2-nandc" - EBI2 NAND which uses ADM DMA like IPQ8064.
> >>> +	* "qcom,qpic-nandc-v1.4.0" - QPIC NAND v1.4.0 which uses BAM DMA 
> >>> like IPQ4019.  
> >> 
> >> Looks like you have 2 SoCs and 2 versions of h/w. Use SoC specific
> >> compatible strings.  
> > 
> >  We have 3 versions of NAND HW currently.
> >  EBI2,
> >  QPIC version 1.4.0
> >  QPIC version 1.5.0
> > 
> >  and multiple Qualcomm SoCs which use any one of these.
> > 
> >  The original plan was to have compatible string for NAND version since
> >  same NAND hardware is being in different SoC and SoC dtsi will simply
> >  use its NAND version compatible string like other Qualcomm hardwares
> > 
> > 
> > http://elixir.free-electrons.com/linux/latest/source/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt
> > 
> > http://elixir.free-electrons.com/linux/latest/source/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
> >   
> 
>   Following are the partial list for NAND controller and supported
>   SoC
> 
>    EBI2:          IPQ8064, APQ8064, MSM7xx, MDM9x15
>    QPIC v1.4.0    MDM9x25, MDM9x35, MDM9x45, IPQ4019
>    QPIC v1.5.0    MDM9x55, IPQ8074
> 
>   so could we use NAND controller specific compatible strings instead of 
> SoC
>   since it will easy to maintain?

Nope, though you can re-use the compatible of an old SoC for new SoCs
if the IP did not change.

For example:

- EBI2: compatible = "qcom,ipq8064"
- QPIC 1.4: compatible = "qcom,mdm9x25"
- QPIC 1.5: compatible = "qcom,mdm9x55"

Note that we usually pick the oldest SoC that started embedding an IP
when choosing the compatible. So my suggestion assumes IPQ8064 is older
than APQ8064, MSM7xx and MDM9x15.

[toc] | [prev] | [next] | [standalone]


#1703974

FromAbhishek Sahu <absahu@codeaurora.org>
Date2017-08-04 15:20 +0200
Message-ID<uaKGf-7th-47@gated-at.bofh.it>
In reply to#1703948
On 2017-08-04 18:15, Boris Brezillon wrote:
> On Mon, 31 Jul 2017 21:35:57 +0530
> Abhishek Sahu <absahu@codeaurora.org> wrote:
> 
>> On 2017-07-26 00:13, Abhishek Sahu wrote:
>> > On 2017-07-25 00:47, Rob Herring wrote:
>> >> On Wed, Jul 19, 2017 at 05:18:00PM +0530, Abhishek Sahu wrote:
>> >>> 1. QPIC NAND will use compatible string "qcom,qpic-nandc-v1.4.0"
>> >>> 2. QPIC NAND will 3 BAM channels: command, data tx and data rx
>> >>>    while EBI2 NAND uses only single ADM channel.
>> >>> 3. CRCI is only required for ADM DMA and its not required for
>> >>>    QPIC NAND.
>> >>>
>> >>> Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
>> >>> ---
>> >>>  .../devicetree/bindings/mtd/qcom_nandc.txt         | 54
>> >>> ++++++++++++++++++++--
>> >>>  1 file changed, 51 insertions(+), 3 deletions(-)
>> >>>
>> >>> diff --git a/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
>> >>> b/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
>> >>> index b24adfe..8efaeb0 100644
>> >>> --- a/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
>> >>> +++ b/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
>> >>> @@ -1,13 +1,15 @@
>> >>>  * Qualcomm NAND controller
>> >>>
>> >>>  Required properties:
>> >>> -- compatible:		should be "qcom,ebi2-nandc" - EBI2 NAND which uses
>> >>> ADM
>> >>> -			DMA like IPQ8064.
>> >>> -
>> >>> +- compatible:		must be one of the following:
>> >>> +	* "qcom,ebi2-nandc" - EBI2 NAND which uses ADM DMA like IPQ8064.
>> >>> +	* "qcom,qpic-nandc-v1.4.0" - QPIC NAND v1.4.0 which uses BAM DMA
>> >>> like IPQ4019.
>> >>
>> >> Looks like you have 2 SoCs and 2 versions of h/w. Use SoC specific
>> >> compatible strings.
>> >
>> >  We have 3 versions of NAND HW currently.
>> >  EBI2,
>> >  QPIC version 1.4.0
>> >  QPIC version 1.5.0
>> >
>> >  and multiple Qualcomm SoCs which use any one of these.
>> >
>> >  The original plan was to have compatible string for NAND version since
>> >  same NAND hardware is being in different SoC and SoC dtsi will simply
>> >  use its NAND version compatible string like other Qualcomm hardwares
>> >
>> >
>> > http://elixir.free-electrons.com/linux/latest/source/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt
>> >
>> > http://elixir.free-electrons.com/linux/latest/source/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
>> >
>> 
>>   Following are the partial list for NAND controller and supported
>>   SoC
>> 
>>    EBI2:          IPQ8064, APQ8064, MSM7xx, MDM9x15
>>    QPIC v1.4.0    MDM9x25, MDM9x35, MDM9x45, IPQ4019
>>    QPIC v1.5.0    MDM9x55, IPQ8074
>> 
>>   so could we use NAND controller specific compatible strings instead 
>> of
>> SoC
>>   since it will easy to maintain?
> 
> Nope, though you can re-use the compatible of an old SoC for new SoCs
> if the IP did not change.
> 
> For example:
> 
> - EBI2: compatible = "qcom,ipq8064"
> - QPIC 1.4: compatible = "qcom,mdm9x25"
> - QPIC 1.5: compatible = "qcom,mdm9x55"
> 
> Note that we usually pick the oldest SoC that started embedding an IP
> when choosing the compatible. So my suggestion assumes IPQ8064 is older
> than APQ8064, MSM7xx and MDM9x15.

  Thanks Boris for detailed clarification.
  Then I will change the patch to use SoC specific compatible string.

  Its better to use qcom,ipq4019 for 1.4.0 and qcom,ipq8074 for 1.5.0
  since we don't have other SoC in upstream and I have tested the
  NAND driver on these IPQ SoC's.

[toc] | [prev] | [next] | [standalone]


#1703980 — Re: [PATCH v2 12/25] dt-bindings: qcom_nandc: QPIC NAND documentation

FromBoris Brezillon <boris.brezillon@free-electrons.com>
Date2017-08-04 15:30 +0200
SubjectRe: [PATCH v2 12/25] dt-bindings: qcom_nandc: QPIC NAND documentation
Message-ID<uaKPT-7wS-27@gated-at.bofh.it>
In reply to#1703974
On Fri, 04 Aug 2017 18:41:20 +0530
Abhishek Sahu <absahu@codeaurora.org> wrote:

> On 2017-08-04 18:15, Boris Brezillon wrote:
> > On Mon, 31 Jul 2017 21:35:57 +0530
> > Abhishek Sahu <absahu@codeaurora.org> wrote:
> >   
> >> On 2017-07-26 00:13, Abhishek Sahu wrote:  
> >> > On 2017-07-25 00:47, Rob Herring wrote:  
> >> >> On Wed, Jul 19, 2017 at 05:18:00PM +0530, Abhishek Sahu wrote:  
> >> >>> 1. QPIC NAND will use compatible string "qcom,qpic-nandc-v1.4.0"
> >> >>> 2. QPIC NAND will 3 BAM channels: command, data tx and data rx
> >> >>>    while EBI2 NAND uses only single ADM channel.
> >> >>> 3. CRCI is only required for ADM DMA and its not required for
> >> >>>    QPIC NAND.
> >> >>>
> >> >>> Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
> >> >>> ---
> >> >>>  .../devicetree/bindings/mtd/qcom_nandc.txt         | 54
> >> >>> ++++++++++++++++++++--
> >> >>>  1 file changed, 51 insertions(+), 3 deletions(-)
> >> >>>
> >> >>> diff --git a/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
> >> >>> b/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
> >> >>> index b24adfe..8efaeb0 100644
> >> >>> --- a/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
> >> >>> +++ b/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
> >> >>> @@ -1,13 +1,15 @@
> >> >>>  * Qualcomm NAND controller
> >> >>>
> >> >>>  Required properties:
> >> >>> -- compatible:		should be "qcom,ebi2-nandc" - EBI2 NAND which uses
> >> >>> ADM
> >> >>> -			DMA like IPQ8064.
> >> >>> -
> >> >>> +- compatible:		must be one of the following:
> >> >>> +	* "qcom,ebi2-nandc" - EBI2 NAND which uses ADM DMA like IPQ8064.
> >> >>> +	* "qcom,qpic-nandc-v1.4.0" - QPIC NAND v1.4.0 which uses BAM DMA
> >> >>> like IPQ4019.  
> >> >>
> >> >> Looks like you have 2 SoCs and 2 versions of h/w. Use SoC specific
> >> >> compatible strings.  
> >> >
> >> >  We have 3 versions of NAND HW currently.
> >> >  EBI2,
> >> >  QPIC version 1.4.0
> >> >  QPIC version 1.5.0
> >> >
> >> >  and multiple Qualcomm SoCs which use any one of these.
> >> >
> >> >  The original plan was to have compatible string for NAND version since
> >> >  same NAND hardware is being in different SoC and SoC dtsi will simply
> >> >  use its NAND version compatible string like other Qualcomm hardwares
> >> >
> >> >
> >> > http://elixir.free-electrons.com/linux/latest/source/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt
> >> >
> >> > http://elixir.free-electrons.com/linux/latest/source/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
> >> >  
> >> 
> >>   Following are the partial list for NAND controller and supported
> >>   SoC
> >> 
> >>    EBI2:          IPQ8064, APQ8064, MSM7xx, MDM9x15
> >>    QPIC v1.4.0    MDM9x25, MDM9x35, MDM9x45, IPQ4019
> >>    QPIC v1.5.0    MDM9x55, IPQ8074
> >> 
> >>   so could we use NAND controller specific compatible strings instead 
> >> of
> >> SoC
> >>   since it will easy to maintain?  
> > 
> > Nope, though you can re-use the compatible of an old SoC for new SoCs
> > if the IP did not change.
> > 
> > For example:
> > 
> > - EBI2: compatible = "qcom,ipq8064"
> > - QPIC 1.4: compatible = "qcom,mdm9x25"
> > - QPIC 1.5: compatible = "qcom,mdm9x55"
> > 
> > Note that we usually pick the oldest SoC that started embedding an IP
> > when choosing the compatible. So my suggestion assumes IPQ8064 is older
> > than APQ8064, MSM7xx and MDM9x15.  
> 
>   Thanks Boris for detailed clarification.
>   Then I will change the patch to use SoC specific compatible string.
> 
>   Its better to use qcom,ipq4019 for 1.4.0 and qcom,ipq8074 for 1.5.0
>   since we don't have other SoC in upstream and I have tested the
>   NAND driver on these IPQ SoC's.

Sounds good, but I'll let Rob confirm.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web