[PATCH v2 2/4] media: platform: mediatek: isp_30: add mediatek ISP3.0 sensor interface

Julien Stephan jstephan at baylibre.com
Fri Aug 4 07:50:05 PDT 2023


On Mon, Jul 03, 2023 at 01:02:02PM +0200, AngeloGioacchino Del Regno wrote:
> Il 30/06/23 12:01, Julien Stephan ha scritto:
..snip..
> > +
> > +static const struct mtk_seninf_format_info mtk_seninf_formats[] = {
> > +	{
> > +		.code = MEDIA_BUS_FMT_SBGGR8_1X8,
> > +		.flags = MTK_SENINF_FORMAT_BAYER,
>
> Each entry fits in one line.
>
> 	{ .code = MEDIA_BUS_FMT_SBGGR8_1X8, .flags = MTK_SENINF_FORMAT_BAYER },
>

Hi Angelo,

Actually not all entries fit in one line. The last 4 ones don't:

       { .code = MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8, .flags = MTK_SENINF_FORMAT_DPCM | MTK_SENINF_FORMAT_INPUT_ONLY },
which is 115 chars..

so what is the best? put all in one line except the last 4 one? or keep
them all as is?


> > +	}, {
..snip..
> > +	udelay(1);
> > +	mtk_seninf_input_update(input, SENINF_CTRL, CSI2_SW_RST, 0);
>
> Is there any way to check if the CSI port did reset, or is it *guaranteed* to get
> out of reset in a microsecond after deasserting SW_RST?
>

I will double check this

> > +}
> > +
..snip..
> > +
> > +	val = mtk_seninf_mux_read(mux, SENINF_MUX_CTRL);
>
> rst_mask = SENINF_MUX_CTRL_SENINF_IRQ_SW_RST | SENINF_MUX_CTRL_SENINF_MUX_SW_RST;
>
> writel(mux->base + SENINF_MUX_CTRL, val | rst_mask);
> writel(mux->base + SENINFMUX_CTRL, val & ~rst_mask);
>
> that's better, right? :-)
>

right :)

Cheers
Julien

> > +	mtk_seninf_mux_write(mux, SENINF_MUX_CTRL, val |
> > +			     SENINF_MUX_CTRL_SENINF_IRQ_SW_RST |
> > +			     SENINF_MUX_CTRL_SENINF_MUX_SW_RST);



More information about the Linux-mediatek mailing list