mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-24 10:11:26 +03:00
This change adds symmetric superframe support to maxim
gmsl dp serializer driver. This includes below -
1. Read device tree properties associated with superframe feature.
2. Calculate values for register from timings parameter.
3. Hardcode few values for 1080p mode as formula to calculate those
not yet available.
4. Sanity check as only X-Y or Z-U dual view possible with current support.
Device tree settings which needs to enable
1. Superframe structure in display-timings structure like below
superframe-info {
pipe_x_view: view-0 {
x = <0>;
y = <0>;
width = <1920>;
height = <1080>;
hfront-porch = <24>;
hback-porch = <40>;
hsync-len = <16>;
vfront-porch = <3>;
vback-porch = <18>;
vsync-len = <10>;
};
pipe_y_view: view-1 {
x = <1920>;
y = <0>;
width = <1920>;
height = <1080>;
hfront-porch = <24>;
hback-porch = <40>;
hsync-len = <16>;
vfront-porch = <3>;
vback-porch = <18>;
vsync-len = <10>;
};
};
};
2. Superframe video timings in maxim serializer node as below
superframe-video-timings {
pipe-x {
superframe-group = <0>;
timings-phandle = <&pipe_x_view>;
};
pipe-y {
superframe-group = <0>;
timings-phandle = <&pipe_y_view>;
};
pipe-z {
superframe-group = <1>;
timings-phandle = <&pipe_z_view>;
};
pipe-u {
superframe-group = <1>;
timings-phandle = <&pipe_u_view>;
};
};
Signed-off-by: Prafull Suryawanshi <prafulls@nvidia.com>
Change-Id: I80b345f093c21a6e68ee75014eb337ecb579c85b