Met vriendelijke groet / kind regards,
Mike Looijmans
System Expert
TOPIC Embedded Products B.V.
Materiaalweg 4, 5681 RJ Best
The Netherlands
T: +31 (0) 499 33 69 69
E: mike.looijm...@topic.nl
W: www.topic.nl
Please consider the environment before printing this e-mail
On 20-08-2025 08:44, Krzysztof Kozlowski wrote:
On 19/08/2025 10:26, Mike Looijmans wrote:
On 19-08-2025 09:51, Krzysztof Kozlowski wrote:
On 19/08/2025 09:46, Mike Looijmans wrote:
+
+properties:
+ compatible:
+ enum:
+ - ti,tmds181
+ - ti,sn65dp159
The driver contains:
+ { .compatible = "ti,tmds181", },
+ { .compatible = "ti,sn65dp159", },
+ {}
so why is a fallback compatible not suitable here?
I don't understand the question. The two are slightly different chips,
Your driver says they are compatible. No one said the same, but compatible.
so it makes sense to describe that in the DT.
Compatible devices should use fallback. There is plenty of examples (90%
of all binding files?) including example-schema describing this.
Please help me out here, I'm happy to oblige, but I don't understand
what you're asking.
To the best of my knowledge "fallback" compatible is when you write
something like this in the device-tree:
compatible = "st,m25p80", "jedec,spi-nor";
Which means that we can use the "jedec,spi-nor" driver if there's no
specific match for "st,m25p80", correct?
Yes.
I don't understand how that relates to your request, this is the first
time I ever got this particular feedback. Looking at say the
ti,sn65dsi83 driver, it does the same thing (supports the ti,sn65dsi83
and ti,sn65dsi84).
Please explain or point me somewhere where I can find this?
I already pointed out to example-schema.
Also, e.g. first file in iio/adc:
adi,ad4000.yaml
I think I get it. Instead of having compatibles "a" and "b" the driver only
supports "a" in its match table, and the devicetree entry must be either
compatible="a"; or compatible="b","a". Using compatible="b"; would be disallowed.
I actually planned (I have implemented it locally already for v3) for the
driver to check the chip type and complain if it doesn't match the devicetree.
If the wrong device is there, the most likely cause is that the input and
output buses got mixed up. That would also justify having separate
compatibles, right?