On Tue, Aug 25, 2020 at 06:46:53AM +0200, Sascha Hauer wrote:
> On Mon, Aug 24, 2020 at 06:26:46PM +0200, Krzysztof Kozlowski wrote:
> > +    oneOf:
> > +      - items:
> > +          - enum:
> > +              - fsl,imx6q-ocotp
> > +              - fsl,imx6sl-ocotp
> > +              - fsl,imx6sx-ocotp
> > +              - fsl,imx6ul-ocotp
> > +              - fsl,imx6ull-ocotp
> > +              - fsl,imx7d-ocotp
> > +              - fsl,imx6sll-ocotp
> > +              - fsl,imx7ulp-ocotp
> > +              - fsl,imx8mq-ocotp
> > +              - fsl,imx8mm-ocotp
> > +              - fsl,imx8mn-ocotp
> > +              - fsl,imx8mp-ocotp
> > +          - const: syscon
> > +      - items:
> > +          # The devices are not really compatible with fsl,imx8mm-ocotp, 
> > however
> > +          # the code for getting SoC revision depends on fsl,imx8mm-ocotp 
> > compatible.
> 
> Shouldn't this be fixed? It seems strange to justify a binding with
> existing code.

The fsl,imx8mn-ocotp is actually compatible with "mm", only the
fsl,imx8mp-ocotp is not (although someone might argue that subset of
"mp" falls into "mn").

The problem is that drivers/soc/imx/soc-imx8m.c checks revision only
against the fsl,imx8mm-ocotp compatible, not the others. It's the
pattern used in that driver also for other i.MX 8. Therefore it is a
binding implemented and actually used, regardless whether it is correct
from hardware point of view or not.

If that's preferred, I could adjust the drivers/soc/imx/soc-imx8m.c for
the incompatible "mp". It should not break anything.

Best regards,
Krzysztof

Reply via email to