On Friday, July 18, 2025 6:15 PM Svyatoslav Ryhel wrote:
> пт, 18 лип. 2025 р. о 12:01 Mikko Perttunen <mperttu...@nvidia.com> пише:
> > On Thursday, July 17, 2025 11:21 PM Svyatoslav Ryhel wrote:
> > > Add MIPI calibration device node for Tegra20 and Tegra30.
> > > 
> > > Signed-off-by: Svyatoslav Ryhel <clamo...@gmail.com>
> > > ---
> > > 
> > >  arch/arm/boot/dts/nvidia/tegra20.dtsi | 14 ++++++++++++++
> > >  arch/arm/boot/dts/nvidia/tegra30.dtsi | 18 ++++++++++++++++++
> > >  2 files changed, 32 insertions(+)
> > > 
> > > diff --git a/arch/arm/boot/dts/nvidia/tegra20.dtsi
> > > b/arch/arm/boot/dts/nvidia/tegra20.dtsi index 92d422f83ea4..521261045cc8
> > > 100644
> > > --- a/arch/arm/boot/dts/nvidia/tegra20.dtsi
> > > +++ b/arch/arm/boot/dts/nvidia/tegra20.dtsi
> > > @@ -74,6 +74,16 @@ vi@54080000 {
> > > 
> > >                       status = "disabled";
> > >               
> > >               };
> > > 
> > > +             /* DSI MIPI calibration logic is a part of VI/CSI */
> > > +             mipi: mipi@54080220 {
> > > +                     compatible = "nvidia,tegra20-mipi";
> > > +                     reg = <0x54080220 0x100>;
> > > +                     clocks = <&tegra_car TEGRA20_CLK_VI>,
> > > +                              <&tegra_car TEGRA20_CLK_CSI>;
> > > +                     clock-names = "vi", "csi";
> > > +                     #nvidia,mipi-calibrate-cells = <1>;
> > > +             };
> > > +
> > 
> > As you say in the comment, MIPI calibration on Tegra20/30 is part of
> > VI/CSI. We can't add a "mipi" device here since such a device doesn't
> > exist in the hardware hierarchy. We already have the VI device in the
> > device tree, so we need to use that.
> 
> I understand your point, but embedding MIPI calibration logic into
> VI/CSI driver will bring up another lever of unnecessary complexity
> and excessive coding. While approach I have proposed preserves
> separation between CSI and DSI and reuses already existing MIPI
> calibration framework.

We can consider different driver architectures to simplify things, but the 
device tree has to conform to hardware. The host1x bus has no 'mipi' device on 
it so we can't put one in the device tree.

> 
> > A driver for tegra20-vi already exists in
> > staging/drivers/media/tegra-video. We should aim not to break it. Perhaps
> > bring it out of staging? (At least partially, but then why not the whole
> > thing.)
> 
> It does not break VI/CSI, I have a WIP CSI implementation for
> Tegra20/Tegra30 which I hope to submit soon.

We have to use the tegra20-vi node as that matches hardware, and each node can 
only be probed to one device, hence the issue.

Great to see a CSI driver!

Mikko

> 
> > Thanks,
> > Mikko




Reply via email to