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