Other Parts Discussed in Thread: TDA4VL
Tool/software:
Hi Expert
hardware : tda4vl + max9296a(des) + max96701(ser) + x1f(cmos)
software : max9296a driver and x1f driver
max9296a driver set max96701's initial registers
device tree is :
&{/} { clk_x1f_fixed: x1f-xclk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <24000000>; }; }; &main_i2c0 { status = "okay"; }; &main_i2c3 { #address-cells = <1>; #size-cells = <0>; status = "okay"; deser@48 { compatible = "maxim,max9296a"; reg = <0x48>; max9296a_0_ports: ports { #address-cells = <1>; #size-cells = <0>; /* CSI-2 TX */ port@4 { reg = <4>; max9296a_0_csi_out: endpoint { data-lanes = <1 2 3 4>; clock-lanes = <0>; link-frequencies = /bits/ 64 <800000000>; remote-endpoint = <&csi2_phy0>; }; }; port@0 { reg = <0>; max9296_1_in: endpoint { data-lanes = <1 2 3 4>; remote-endpoint = <&x1f_csi_out>; }; }; }; }; sensor@36{ compatible = "ovti,ox01f10"; reg = <0x36>; clocks = <&clk_x1f_fixed>; clock-names = "xclk"; port { x1f_csi_out: endpoint { remote-endpoint = <&max9296_1_in>; data-lanes = <1 2 3 4>; link-frequencies = /bits/ 64 <800000000>; }; }; }; }; &cdns_csi2rx0 { ports { #address-cells = <1>; #size-cells = <0>; csi0_port0: port@0 { reg = <0>; status = "okay"; csi2_phy0: endpoint { remote-endpoint = <&max9296a_0_csi_out>; clock-lanes = <0>; data-lanes = <1 2 3 4>; link-frequencies = /bits/ 64 <800000000>; }; }; }; }; &ti_csi2rx0 { status = "okay"; }; &dphy0 { status = "okay"; };
the result is after insmod max9296a and x1f driver, media-ctl -p command can not find x1f information in link message, max9296a can be found. and with driver log message, x1f' probe() function
is been run correctly.
please help to confirm if are there something wrong for devicetree.
Best Regard
Demon