On Sat, Aug 29, 2026 at 01:28:31PM +0300, Muzaffer Kadir wrote:
> Hi Ondřej,
> 
> On Fri, 28 Aug 2026 20:16:30 +0200, Ondřej Jirman wrote:
> >> @@ -1128,6 +1130,18 @@ static int imx258_power_on(struct device *dev)
> >>    if (ret) {
> >>            dev_err(dev, "failed to enable clock\n");
> >>            regulator_bulk_disable(IMX258_NUM_SUPPLIES, imx258->supplies);
> >> +          return ret;
> >> +  }
> >> +
> >> +  if (imx258->reset_gpio) {
> >> +          ret = gpiod_set_value_cansleep(imx258->reset_gpio, 0);
> >> +          if (ret) {
> >> +                  dev_err(dev, "failed to deassert reset\n");
> >> +                  clk_disable_unprepare(imx258->clk);
> >> +                  regulator_bulk_disable(IMX258_NUM_SUPPLIES, 
> >> imx258->supplies);
> >> +                  return ret;
> >> +          }
> >> +          usleep_range(400, 500);
> >>    }
> > 
> > There are two times given in the datasheet. min 400 us between reset 
> > deassert
> > and ID register read over CCI. And minimum time between deassert and stream
> > start, which is 12ms.
> > 
> >   https://xff.cz/dl/tmp/b8efc244280a2b35.png
> > 
> >   https://xff.cz/dl/tmp/ed9b967a140bd347.png
> > 
> > I wonder if this driver satisfied the second constraint. That may perhaps 
> > depend
> > on how userspace uses it.
> Thanks for datasheet timings. There is an existing software reset and 12ms 
> wait call
> inside imx258_start_streaming function. It should satisfy stream start.
> Please correct me if I am wrong.

Yes, so that's fine then. :)

Best regards,
        o.

> -- 
> Best Regards,
> 
> Muzaffer Kadir

Reply via email to