On 12/4/24 15:16, neil.armstrong@xxxxxxxxxx wrote:
On 04/12/2024 14:10, Vladimir Zapolskiy wrote:
On 12/4/24 14:16, Neil Armstrong wrote:
On 04/12/2024 12:05, Dmitry Baryshkov wrote:
On Wed, Dec 04, 2024 at 11:56:54AM +0100, Neil Armstrong wrote:
Bindings documents data-lanes as a single entry with a separate
clock-lanes property, but DT uses 2 entries in data-lanes.
This would suggest clock-lanes is missing, fix the DT using the
bindings example.
This fixes:
sdm845-db845c-navigation-mezzanine.dtso: camera@60: port:endpoint:data-lanes: [0, 1] is too long
from schema $id: http://devicetree.org/schemas/media/i2c/ovti,ov7251.yaml#
Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso
index 0a87df806cafc8e726aacc07a772ca478d0ee3df..5a16f4c2b346b314af3d614266e1ca034057e643 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso
+++ b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso
@@ -115,7 +115,8 @@ camera@60 {
port {
ov7251_ep: endpoint {
- data-lanes = <0 1>;
+ clock-lanes = <1>;
+ data-lanes = <0>;
Is it really this way or the other way around, clock = <0>, data = <1>?
No idea actually, on the schematics the lanes from the DB845 are :
CSI0_P/N -> OV7251_CSI3_LANE0_P/N -> MIPI_CSI3_LANE0_P -> SoC
and
CLKP/N -> OV7251_CSI3_CLK_P/N -> MIPI_CSI3_CLK_P/N -> SoC
So I assume the data-lane is 0, for clock-lane I just used
the example, but I found nothing in the code using those assignments
It's a sensor property, and OV7251 sensor has the non-selectable clock lane.
If it's technically acceptable, I would rather suggest to deprecate and
remove "clock-lanes" property and hard-code "data-lanes" value to <1>.
Ok indeed while looking at the OV7251 sensor datasheet, there's a single
fixed data lane and a single fixed clock lane, so on the sensor side we
can't select anything but how would we define lane0 is used on the SoC side ?
It's done right in the common way, there are clock-lanes and data-lanes
properties on the ISP endpoint side.
By the way, this particular device tree bindings miss bus-type property,
it could be either MIPI or LVDS serial output.
--
Best wishes,
Vladimir