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.
-- 
Best Regards,

Muzaffer Kadir

Reply via email to