On Wed, Mar 23, 2022 at 8:56 AM Krzysztof Kozlowski <[email protected]> wrote:
>
> On 23/03/2022 14:40, Adam Ford wrote:
> > The SDHC controller in the imx8mn and imx8mp have the same controller
> > as the imx8mm which is slightly different than that of the imx7d.
> > Using the fallback of the imx8mm enables the controllers to support
> > HS400-ES which is not available on the imx7d.
> >
> > Signed-off-by: Adam Ford <[email protected]>
> >
> > diff --git a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
> > index 7dbbcae9485c..d6ea73d76bdd 100644
> > --- a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
> > +++ b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
> > @@ -39,14 +39,14 @@ properties:
> > - items:
> > - enum:
> > - fsl,imx8mm-usdhc
>
> Your change looks reasonable, but why imx8mm is compatible with imx7d?
I saw that, and I wasn't sure the best way to go about fixing it. If
I move the 8mm out of the imx7d category, do I need to add it to the
enum list associated with the imx8mm, or can I just delete it from the
enum leaving the const for imx8mm good enough?
I am not very good with YAML files yet, so please forgive my ignorance.
adam
>
> > - - fsl,imx8mn-usdhc
> > - - fsl,imx8mp-usdhc
> > - fsl,imx8mq-usdhc
> > - fsl,imx8qm-usdhc
> > - fsl,imx8qxp-usdhc
> > - const: fsl,imx7d-usdhc
> > - items:
> > - enum:
> > + - fsl,imx8mn-usdhc
> > + - fsl,imx8mp-usdhc
> > - fsl,imx93-usdhc
> > - fsl,imx8ulp-usdhc
> > - const: fsl,imx8mm-usdhc
>
>
> Best regards,
> Krzysztof
On 23/03/2022 15:00, Adam Ford wrote:
> On Wed, Mar 23, 2022 at 8:56 AM Krzysztof Kozlowski <[email protected]> wrote:
>>
>> On 23/03/2022 14:40, Adam Ford wrote:
>>> The SDHC controller in the imx8mn and imx8mp have the same controller
>>> as the imx8mm which is slightly different than that of the imx7d.
>>> Using the fallback of the imx8mm enables the controllers to support
>>> HS400-ES which is not available on the imx7d.
>>>
>>> Signed-off-by: Adam Ford <[email protected]>
>>>
>>> diff --git a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
>>> index 7dbbcae9485c..d6ea73d76bdd 100644
>>> --- a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
>>> +++ b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
>>> @@ -39,14 +39,14 @@ properties:
>>> - items:
>>> - enum:
>>> - fsl,imx8mm-usdhc
>>
>> Your change looks reasonable, but why imx8mm is compatible with imx7d?
>
> I saw that, and I wasn't sure the best way to go about fixing it. If
> I move the 8mm out of the imx7d category, do I need to add it to the
> enum list associated with the imx8mm, or can I just delete it from the
> enum leaving the const for imx8mm good enough?
>
The DTS is using:
compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"
which looks incorrect, based on what you wrote in commit description.
Since fsl,imx8mm-usdhc has its own compatibility-group and defines the
properties for entire family (imx8mm + imx8mn + imx8mp), then I would
assume that either fsl,imx8mm-usdhc is not be compatible with imx7d or
everything is compatible with imx7d. IOW, DTS and bindings should be
changed to one of following:
1. Everything compatible with imx7d:
compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
compatible = "fsl,imx8mq-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
2. A new group:
compatible = "fsl,imx8mm-usdhc";
compatible = "fsl,imx8mq-usdhc", "fsl,imx8mm-usdhc";
Which one, I am not sure. My commit 80fd350b95 organized it in (1)
approach, because also that time there was no new group for 8mm (added
in commit 431fae8). I assume NXP engineer knows better, so the better
solution would be (2). In such case, imx8mm has to be moved to the first
enum and all DTS have to be adjusted.
Best regards,
Krzysztof