linux.git
6 years agoMLK-20123-1: camera: add automatic selection mode for mipi ov5640
Guoniu.Zhou [Tue, 30 Oct 2018 06:58:48 +0000 (14:58 +0800)]
MLK-20123-1: camera: add automatic selection mode for mipi ov5640

There is two methods to select different mode for camera sensor, one
is setting mode by VIDIOC_S_PARM ioctl and the other is automatic
selection through resolution. If resolution match one of camera sensor
supported, driver will select the corresponding mode. If not, driver
will select the max resolution supported by sensor and use ISI to
resize to the target resolution.

This patch is for mipi interface of ov5640 sensor

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 4c560890906f7df33e68a65372f60778cb1406b7)

6 years agoMLK-19007-2: camera: add "NTSC, 720P, QSXGA" for mipi ov5640
Guoniu.Zhou [Wed, 25 Jul 2018 03:20:04 +0000 (11:20 +0800)]
MLK-19007-2: camera: add "NTSC, 720P, QSXGA" for mipi ov5640

1. Use ISI channel 2 instead of 1 for mipi ov5640 because if
image line resolution is more than 2k, isi line buffer need
to chain to recevice line data

2. Add 15fps QSXGA, 30fps NTSC and 720P support for mipi ov5640

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Reviewed-by: Robby.Cai <robby.cai@nxp.com>
6 years agoMLK-18130: camera: add two ov5640 sensor support for QM
Guoniu.Zhou [Wed, 25 Apr 2018 09:28:32 +0000 (17:28 +0800)]
MLK-18130: camera: add two ov5640 sensor support for QM

Add two ov5640 sensors support for QM since it has two
MIPI CSI controller.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-18098: camera: add MIPI and PARALLEL CSI support in one dtb
Guoniu.Zhou [Fri, 20 Apr 2018 08:23:09 +0000 (16:23 +0800)]
MLK-18098: camera: add MIPI and PARALLEL CSI support in one dtb

1. Divide ov5640_v3.c into two parts, one for parallel csi driver
   and the other for mipi csi driver

2. Add parallel and mipi support in one dtb file. User can select
   one of them without changing the dtb file

Reviewed-by: Sandor.yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20595-1: camera: fix camera hang issue after resume
Guoniu.Zhou [Fri, 14 Dec 2018 10:08:25 +0000 (18:08 +0800)]
MLK-20595-1: camera: fix camera hang issue after resume

The reset pin of ov5640 will power down when system suspend and
it will lead to reset ov5640, so driver need to reinitialize the
sensor before streaming

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20469: ov5640: correct parallel ov5640 QVGA frame rate setting
Guoniu.Zhou [Tue, 27 Nov 2018 06:42:48 +0000 (14:42 +0800)]
MLK-20469: ov5640: correct parallel ov5640 QVGA frame rate setting

Register setting for ov5640 30fps is the same with 15fps, so
correct it

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20123-2: camera: add automatic selection mode for parallel ov5640
Guoniu.Zhou [Tue, 30 Oct 2018 07:10:58 +0000 (15:10 +0800)]
MLK-20123-2: camera: add automatic selection mode for parallel ov5640

There is two methods to select different mode for camera sensor, one
is setting mode by VIDIOC_S_PARM ioctl and the other is automatic
selection through resolution. If resolution match one of camera sensor
supported, driver will select the corresponding mode. If not, driver
will select the max resolution supported by sensor and use ISI to
resize to the target resolution.

This patch is for parallel interface of ov5640 sensor

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 8eb46dab84dd589ba0e6f997e28fa9ff3bbbcd63)

6 years agoMLK-19007-1: camera: add "QCIF, QVGA, NTSC, PAL, XGA, QSXGA" support
Guoniu.Zhou [Wed, 25 Jul 2018 02:46:00 +0000 (10:46 +0800)]
MLK-19007-1: camera: add "QCIF, QVGA, NTSC, PAL, XGA, QSXGA" support

1. add resolution "QCIF, QVGA, NTSC, PAL, XGA, QSXGA" support for
parallel camera sensor driver

2. enable ISI channel line buffer chain when image having higher
than 2048 horizontal resolution

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Reviewed-by: Robby.Cai <robby.cai@nxp.com>
6 years agoMLK-18098: camera: add MIPI and PARALLEL CSI support in one dtb
Guoniu.Zhou [Fri, 20 Apr 2018 08:23:09 +0000 (16:23 +0800)]
MLK-18098: camera: add MIPI and PARALLEL CSI support in one dtb

1. Divide ov5640_v3.c into two parts, one for parallel csi driver
   and the other for mipi csi driver

2. Add parallel and mipi support in one dtb file. User can select
   one of them without changing the dtb file

Reviewed-by: Sandor.yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-17790-2: CI_PI: add system and runtime suspend/resume
Guoniu.Zhou [Tue, 13 Mar 2018 10:08:16 +0000 (18:08 +0800)]
MLK-17790-2: CI_PI: add system and runtime suspend/resume

1. For QXP, after system suspend and resume, parent of pixel
and per clk will drop, so driver need to restore it. The rate
of pixel and per clk also will miss, so driver have to set it
in resume callback again.

2. I have to power off CI_PI subsystem power domain in resume
callback, otherwise setting clock parent will fail.

3. Driver need free gpio resouce after device do not use it.

Reviewed-by: Sandor.yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 986098a52e62b89d6f6f7afdb75d17d77649db59)

6 years agoMLK-17741-2: media: add ov5640 mipi driver
Guoniu.Zhou [Fri, 9 Mar 2018 08:19:37 +0000 (16:19 +0800)]
MLK-17741-2: media: add ov5640 mipi driver

Add driver for ov5640 mipi csi interface.

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 860dab368735dcbf248da7b74163ce6048a57514)

6 years agoMLK-17230-12: camera: fixed enum frame interval issue
Guoniu.Zhou [Tue, 6 Feb 2018 03:34:13 +0000 (11:34 +0800)]
MLK-17230-12: camera: fixed enum frame interval issue

when enum frame interval, kernel will be panic. It caused by
an null pointer, so correct the subdev data structure pointer.

ov5640 only support 15fps when mode is 1080P, so add this info
when user enum frame interval.

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 4089120ce5fbcb253728a23102a62c849b71c88b)

6 years agoMLK-17230-6: sensor: add driver for ov5640 camera sensor
Guoniu.Zhou [Mon, 5 Feb 2018 07:58:39 +0000 (15:58 +0800)]
MLK-17230-6: sensor: add driver for ov5640 camera sensor

Add version3.0 driver for ov5640 camera sensor. It works on DVP
mode

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 64d7dd18ac3c768480df8390ab02a35142a220cd)

6 years agoMA-13914 [Android Auto] RVC do not work on imx_pi9.0
zhang sanshan [Tue, 8 Jan 2019 13:51:10 +0000 (21:51 +0800)]
MA-13914 [Android Auto] RVC do not work on imx_pi9.0

OV10635_15_FPS/OV10635_30_FPS should be set to 0/1.
to_ov10635_frame_rate is used by ov10635_mode_info_data.
the size of ov10635_mode_info_data is 2.

Change-Id: Ie2f19fd4332cd7b59cfdec5acbaa0b595dcf2f46
Signed-off-by: zhang sanshan <sanshan.zhang@nxp.com>
6 years agoMLK-20193: max9286: Coverity: fix potential dead code issue
Guoniu.Zhou [Thu, 20 Dec 2018 03:11:06 +0000 (11:11 +0800)]
MLK-20193: max9286: Coverity: fix potential dead code issue

Driver does not get the return value of function but the value
as the condition of if statement. It will never true, so fix it

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20192-1: max9286: Coverity: fix potential uninitialized scalar variable
Guoniu.Zhou [Thu, 20 Dec 2018 02:23:16 +0000 (10:23 +0800)]
MLK-20192-1: max9286: Coverity: fix potential uninitialized scalar variable

The variable maybe unassigned but used by function ,so fix potential
uninitialized scalar variable

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20403: max9286: add hardware reset for max9286
Guoniu.Zhou [Wed, 14 Nov 2018 05:53:38 +0000 (13:53 +0800)]
MLK-20403: max9286: add hardware reset for max9286

Add hardware reset for max9286 before initialization

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20123-3: camera: add automatic selection mode for ov10635
Guoniu.Zhou [Tue, 30 Oct 2018 07:13:02 +0000 (15:13 +0800)]
MLK-20123-3: camera: add automatic selection mode for ov10635

There is two methods to select different mode for camera sensor, one
is setting mode by VIDIOC_S_PARM ioctl and the other is automatic
selection through resolution. If resolution match one of camera sensor
supported, driver will select the corresponding mode. If not, driver
will select the max resolution supported by sensor and use ISI to
resize to the target resolution.

This patch is for ov10635 camera sensor

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 21680ebeebbd2deb0430e0e2df82e3b5ec95c08d)

6 years agoMLK-19107: ov10635: add "720P, WVGA, VGA, CIF, QVGA" support for ov10635
Guoniu.Zhou [Tue, 31 Jul 2018 06:06:01 +0000 (14:06 +0800)]
MLK-19107: ov10635: add "720P, WVGA, VGA, CIF, QVGA" support for ov10635

Add 30fps "720P, WVGA, VGA, CIF, QVGA" support for ov10635

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Reviewed-by: Robby.Cai <robby.cai@nxp.com>
6 years agoMLK-19106: camera: add enable attribute to turn on/off color bar
Guoniu.Zhou [Thu, 26 Jul 2018 10:41:35 +0000 (18:41 +0800)]
MLK-19106: camera: add enable attribute to turn on/off color bar

Add analog_test_pattern device attribute for ov16035 in order
to turn on/off its color bar test pattern to debug

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Reviewed-by: Robby.Cai <robby.cai@nxp.com>
6 years agoMLK-18085 camera: Change the OV10635 to use 96 MHz timing.
Oliver Brown [Thu, 10 May 2018 14:22:20 +0000 (09:22 -0500)]
MLK-18085 camera: Change the OV10635 to use 96 MHz timing.

This issue changes the OV10635 to use the 96 MHz timing. In the one camera the configuration, the 72MHz timing was causing vsync and hsync errors. The 96 MHz timing will work for any number of cameras.

Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
6 years agoMLK-18053: camera: Refine VIDIOC_DBG_G_CHIP_IDENT ioctl
Guoniu.Zhou [Tue, 17 Apr 2018 06:48:13 +0000 (14:48 +0800)]
MLK-18053: camera: Refine VIDIOC_DBG_G_CHIP_IDENT ioctl

Driver only return camera name for max9286 before, but
the driver is now supporting ov5640. So refine this ioctl
implement and remove max9286 camera driver private data

Reviewed-by: Sandor.yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-17230-9: max9286: delete redundant 15fps support
Guoniu.Zhou [Mon, 5 Feb 2018 08:50:08 +0000 (16:50 +0800)]
MLK-17230-9: max9286: delete redundant 15fps support

Delete redundant 15fps statements because max9286 does not
support.

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 88089e8a6dd5f0d06c7c61562f5a1942840f23e3)

6 years agoMLK-17341-1: max9286: Add power up pin setting
Sandor Yu [Thu, 4 Jan 2018 09:19:51 +0000 (17:19 +0800)]
MLK-17341-1: max9286: Add power up pin setting

Add power up pin setting for max9286 driver.

Acked-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-17208-3: mipi sensor: Clean max9286 driver
Sandor Yu [Thu, 14 Dec 2017 03:40:33 +0000 (11:40 +0800)]
MLK-17208-3: mipi sensor: Clean max9286 driver

-Remove AP0101 initilize code, it is not support in max9286 driver
-Fix comment error
-Remove un-usefule code.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-17208-2: mipi sensor: Fill subdev_format reserved[0]
Sandor Yu [Thu, 14 Dec 2017 03:17:04 +0000 (11:17 +0800)]
MLK-17208-2: mipi sensor: Fill subdev_format reserved[0]

Pass mipi csi-2 output clock rate from mipi sensor to mipi csi-2
rx controller by v4l2_subdev_format.reserved[0].

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-17208-1: mipi sensor: Reorder mipi CSI-2 sensor output
Sandor Yu [Wed, 13 Dec 2017 08:07:47 +0000 (16:07 +0800)]
MLK-17208-1: mipi sensor: Reorder mipi CSI-2 sensor output

Reorder sensor to support different cameras combination.
Driver can support 1 ~ 4 cameras when device bootup.
And cameras should be connected according camera daughter marked.

For example:
one camera case: connected camera to IN0 on board.
two cameras case: Connected cameras to IN0 and IN1 on board.
...

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-17019 Correct Copyright
Peng Fan [Wed, 29 Nov 2017 03:48:04 +0000 (11:48 +0800)]
MLK-17019 Correct Copyright

Correct Copyright

Signed-off-by: Peng Fan <peng.fan@nxp.com>
6 years agoMLK-16693-1: mipi_csi: Add enum framesize ioctl
Guoniu.Zhou [Thu, 2 Nov 2017 03:18:08 +0000 (11:18 +0800)]
MLK-16693-1: mipi_csi: Add enum framesize ioctl

Enum framesize include VIDIOC_ENUM_FRAMESIZES and
VIDIOC_ENUM_FRAMEINTERVALS cmd.

Reviewed-by: Robby Cai <robby.cai@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 78c5a9e1c44770ea10db3d1e3b7508662c9ac88b)

6 years agoMLK-16692-2: mipi_csi: Add S_PARM and G_PARM ioctl
Guoniu.Zhou [Thu, 2 Nov 2017 01:33:14 +0000 (09:33 +0800)]
MLK-16692-2: mipi_csi: Add S_PARM and G_PARM ioctl

Add VIDIOC_S_PARM and VIDIOC_G_PARM ioctl to support
to get and set camera parameters

Reviewed-by: Robby Cai <robby.cai@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 9ff408ace21f64d528f2abb37614889fe7a624fc)

6 years agoMLK-16692-1: csi: Identify which camera really connect to interface
Guoniu.Zhou [Tue, 31 Oct 2017 01:57:25 +0000 (09:57 +0800)]
MLK-16692-1: csi: Identify which camera really connect to interface

There maybe 0-4 cameras can connected to interface at
the same time. Add this ioctl to identify which camera
really connect to the interface.

Reviewed-by: Robby Cai <robby.cai@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 785fbbd10c8a484b7f70488234c3a03e9aee9992)

6 years agoMLK-16143: camera: Fix video flashing issue
Sandor Yu [Mon, 7 Aug 2017 10:40:26 +0000 (18:40 +0800)]
MLK-16143: camera: Fix video flashing issue

Update ov10635 configurated data to fix video flashing issue.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-15124-04: image ss: Add mx8 image subsystem driver
Sandor Yu [Tue, 20 Jun 2017 07:37:16 +0000 (15:37 +0800)]
MLK-15124-04: image ss: Add mx8 image subsystem driver

Add mxc media device driver.
Add mx8 isi device driver.
Add mx8 mipi csi device driver.
Add max9286 sensor driver.
mxc isi driver support CSC and scaling function.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-17790-2: CI_PI: add system and runtime suspend/resume
Guoniu.Zhou [Tue, 13 Mar 2018 10:08:16 +0000 (18:08 +0800)]
MLK-17790-2: CI_PI: add system and runtime suspend/resume

1. For QXP, after system suspend and resume, parent of pixel
and per clk will drop, so driver need to restore it. The rate
of pixel and per clk also will miss, so driver have to set it
in resume callback again.

2. I have to power off CI_PI subsystem power domain in resume
callback, otherwise setting clock parent will fail.

3. Driver need free gpio resouce after device do not use it.

Reviewed-by: Sandor.yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 986098a52e62b89d6f6f7afdb75d17d77649db59)

6 years agoMLK-17230-5: CI_PI: enable CI_PI SS
Guoniu.Zhou [Mon, 5 Feb 2018 07:43:23 +0000 (15:43 +0800)]
MLK-17230-5: CI_PI: enable CI_PI SS

Add driver for CI_PI controller.

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 980ac5f965bd8e94cce8a8c3fa78b1062dbd1727)

6 years agoMLK-20123-2: camera: add automatic selection mode for parallel ov5640
Guoniu.Zhou [Tue, 30 Oct 2018 07:10:58 +0000 (15:10 +0800)]
MLK-20123-2: camera: add automatic selection mode for parallel ov5640

There is two methods to select different mode for camera sensor, one
is setting mode by VIDIOC_S_PARM ioctl and the other is automatic
selection through resolution. If resolution match one of camera sensor
supported, driver will select the corresponding mode. If not, driver
will select the max resolution supported by sensor and use ISI to
resize to the target resolution.

This patch is for parallel interface of ov5640 sensor

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 8eb46dab84dd589ba0e6f997e28fa9ff3bbbcd63)

6 years agoMLK-18517-2: CSI: simplified mipi and parallel csi suspend/resume implementation
Guoniu.Zhou [Fri, 29 Jun 2018 03:12:01 +0000 (11:12 +0800)]
MLK-18517-2: CSI: simplified mipi and parallel csi suspend/resume implementation

1. Delete power state maintenance of mipi and parallel csi.
This can simplified driver's resume/suspend implementation.

2. parallel_csi_power_control is a helper function which is
used to turn on/ff power domain of CI_PI. CI_PI will restore
its default parent clock for pixel clock after system resume
and can't be changed when its power is on. This issue is fixed
in scfw, more detail, please refer to "SCF-76". So remove it
in driver.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Reviewed-by: Robby.Cai <robby.cai@nxp.com>
6 years agoMLK-18222: CI_PI: fix CI_PI lost half of frame issue
Guoniu.Zhou [Tue, 8 May 2018 01:36:47 +0000 (09:36 +0800)]
MLK-18222: CI_PI: fix CI_PI lost half of frame issue

As IC team recommended, it is better to set vsync pulse
width as 2 lines pixels, otherwise ISI will lost half
of frames.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
6 years agoMLK-18053: camera: Refine VIDIOC_DBG_G_CHIP_IDENT ioctl
Guoniu.Zhou [Tue, 17 Apr 2018 06:48:13 +0000 (14:48 +0800)]
MLK-18053: camera: Refine VIDIOC_DBG_G_CHIP_IDENT ioctl

Driver only return camera name for max9286 before, but
the driver is now supporting ov5640. So refine this ioctl
implement and remove max9286 camera driver private data

Reviewed-by: Sandor.yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-17790-2: CI_PI: add system and runtime suspend/resume
Guoniu.Zhou [Tue, 13 Mar 2018 10:08:16 +0000 (18:08 +0800)]
MLK-17790-2: CI_PI: add system and runtime suspend/resume

1. For QXP, after system suspend and resume, parent of pixel
and per clk will drop, so driver need to restore it. The rate
of pixel and per clk also will miss, so driver have to set it
in resume callback again.

2. I have to power off CI_PI subsystem power domain in resume
callback, otherwise setting clock parent will fail.

3. Driver need free gpio resouce after device do not use it.

Reviewed-by: Sandor.yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 986098a52e62b89d6f6f7afdb75d17d77649db59)

6 years agoMLK-17230-12: camera: fixed enum frame interval issue
Guoniu.Zhou [Tue, 6 Feb 2018 03:34:13 +0000 (11:34 +0800)]
MLK-17230-12: camera: fixed enum frame interval issue

when enum frame interval, kernel will be panic. It caused by
an null pointer, so correct the subdev data structure pointer.

ov5640 only support 15fps when mode is 1080P, so add this info
when user enum frame interval.

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 4089120ce5fbcb253728a23102a62c849b71c88b)

6 years agoMLK-17230-5: CI_PI: enable CI_PI SS
Guoniu.Zhou [Mon, 5 Feb 2018 07:43:23 +0000 (15:43 +0800)]
MLK-17230-5: CI_PI: enable CI_PI SS

Add driver for CI_PI controller.

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 980ac5f965bd8e94cce8a8c3fa78b1062dbd1727)

6 years agoMLK-17116-2 media: mipi_csi: Adjust hs_settle and send_level for low resolution
Robby Cai [Thu, 7 Dec 2017 07:05:42 +0000 (15:05 +0800)]
MLK-17116-2 media: mipi_csi: Adjust hs_settle and send_level for low resolution

Change the hs_settle and fifo_send_level setting for 640x480 and 720x480 input
resolution.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Sandor Yu <sandor.yu@nxp.com>
(cherry picked from commit 3c081af366e250ff011319d80c5706ae7b8e38ca)

6 years agoMLK-16823-1: mipi_csi: Add runtime suspend/resume
Guoniu.Zhou [Wed, 15 Nov 2017 11:10:38 +0000 (19:10 +0800)]
MLK-16823-1: mipi_csi: Add runtime suspend/resume

Add runtime suspend/resume features support for mipi csi.
For saving power, the mipi_csi turn off it's power domain
and clock after probe.

In order to share code with system pm suspend/resume, I
change system suspend/resume in this patch.

Reviewed-by: Sandor Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit f88f4ac99b23e03b1cc1d87209875d6001dbbbe5)

6 years agoMLK-17019 Correct Copyright
Peng Fan [Wed, 29 Nov 2017 03:48:04 +0000 (11:48 +0800)]
MLK-17019 Correct Copyright

Correct Copyright

Signed-off-by: Peng Fan <peng.fan@nxp.com>
6 years agoMLK-16919-5 media: v4l2: add mipi csi driver on iMX8MQ
Robby Cai [Tue, 21 Nov 2017 20:59:06 +0000 (04:59 +0800)]
MLK-16919-5 media: v4l2: add mipi csi driver on iMX8MQ

Add a new version (yet another version) driver for MIPI CSI2.
The reason we use a separate version is that PHY setting is quit different,
and the existing MIPI CSI2 driver uses new Media Framework, while the camera
and CSI driver not yet. After convert all drivers to new Media Framework,
consider combine these two versions.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-16695-1: mipi_csi: Add pm suspend and resume
Guoniu.Zhou [Fri, 10 Nov 2017 01:58:20 +0000 (09:58 +0800)]
MLK-16695-1: mipi_csi: Add pm suspend and resume

Add mipi_csi power manager suspend and resume support.

Reviewed-by: Sandor Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-15124-04: image ss: Add mx8 image subsystem driver
Sandor Yu [Tue, 20 Jun 2017 07:37:16 +0000 (15:37 +0800)]
MLK-15124-04: image ss: Add mx8 image subsystem driver

Add mxc media device driver.
Add mx8 isi device driver.
Add mx8 mipi csi device driver.
Add max9286 sensor driver.
mxc isi driver support CSC and scaling function.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-20194-1: CSI: Coverity: fix potential dereferencing null pointer
Guoniu.Zhou [Thu, 20 Dec 2018 03:25:19 +0000 (11:25 +0800)]
MLK-20194-1: CSI: Coverity: fix potential dereferencing null pointer

fix potential dereferencing null pointer

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20595-2: camera: check camera's running state before suspend
Guoniu.Zhou [Mon, 17 Dec 2018 02:16:55 +0000 (10:16 +0800)]
MLK-20595-2: camera: check camera's running state before suspend

Check camera's running state before suspend for imx8qm/qxp
and don't support suspend when camera's running

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20123-1: camera: add automatic selection mode for mipi ov5640
Guoniu.Zhou [Tue, 30 Oct 2018 06:58:48 +0000 (14:58 +0800)]
MLK-20123-1: camera: add automatic selection mode for mipi ov5640

There is two methods to select different mode for camera sensor, one
is setting mode by VIDIOC_S_PARM ioctl and the other is automatic
selection through resolution. If resolution match one of camera sensor
supported, driver will select the corresponding mode. If not, driver
will select the max resolution supported by sensor and use ISI to
resize to the target resolution.

This patch is for mipi interface of ov5640 sensor

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 4c560890906f7df33e68a65372f60778cb1406b7)

6 years agoMLK-19107: ov10635: add "720P, WVGA, VGA, CIF, QVGA" support for ov10635
Guoniu.Zhou [Tue, 31 Jul 2018 06:06:01 +0000 (14:06 +0800)]
MLK-19107: ov10635: add "720P, WVGA, VGA, CIF, QVGA" support for ov10635

Add 30fps "720P, WVGA, VGA, CIF, QVGA" support for ov10635

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Reviewed-by: Robby.Cai <robby.cai@nxp.com>
6 years agoMLK-18517-2: CSI: simplified mipi and parallel csi suspend/resume implementation
Guoniu.Zhou [Fri, 29 Jun 2018 03:12:01 +0000 (11:12 +0800)]
MLK-18517-2: CSI: simplified mipi and parallel csi suspend/resume implementation

1. Delete power state maintenance of mipi and parallel csi.
This can simplified driver's resume/suspend implementation.

2. parallel_csi_power_control is a helper function which is
used to turn on/ff power domain of CI_PI. CI_PI will restore
its default parent clock for pixel clock after system resume
and can't be changed when its power is on. This issue is fixed
in scfw, more detail, please refer to "SCF-76". So remove it
in driver.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Reviewed-by: Robby.Cai <robby.cai@nxp.com>
6 years agoMLK-18053: camera: Refine VIDIOC_DBG_G_CHIP_IDENT ioctl
Guoniu.Zhou [Tue, 17 Apr 2018 06:48:13 +0000 (14:48 +0800)]
MLK-18053: camera: Refine VIDIOC_DBG_G_CHIP_IDENT ioctl

Driver only return camera name for max9286 before, but
the driver is now supporting ov5640. So refine this ioctl
implement and remove max9286 camera driver private data

Reviewed-by: Sandor.yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-17741-2: media: add ov5640 mipi driver
Guoniu.Zhou [Fri, 9 Mar 2018 08:19:37 +0000 (16:19 +0800)]
MLK-17741-2: media: add ov5640 mipi driver

Add driver for ov5640 mipi csi interface.

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 860dab368735dcbf248da7b74163ce6048a57514)

6 years agoMLK-17230-12: camera: fixed enum frame interval issue
Guoniu.Zhou [Tue, 6 Feb 2018 03:34:13 +0000 (11:34 +0800)]
MLK-17230-12: camera: fixed enum frame interval issue

when enum frame interval, kernel will be panic. It caused by
an null pointer, so correct the subdev data structure pointer.

ov5640 only support 15fps when mode is 1080P, so add this info
when user enum frame interval.

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 4089120ce5fbcb253728a23102a62c849b71c88b)

6 years agoMLK-17230-10: mipi_csi: add some subdev ops for compatibility
Guoniu.Zhou [Mon, 5 Feb 2018 08:58:52 +0000 (16:58 +0800)]
MLK-17230-10: mipi_csi: add some subdev ops for compatibility

In order to use the same unit test for both mipi csi and parallel
csi, add pad and video subdev ops in mipi csi driver.

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit db9ba4cf63351453fb820270b7ece4d597c49072)

6 years agoMLK-17208-4: mipi csi: Add rxhs_settle calculate function
Sandor Yu [Thu, 14 Dec 2017 03:18:30 +0000 (11:18 +0800)]
MLK-17208-4: mipi csi: Add rxhs_settle calculate function

Add rxhs_settle calculate function according mipi csi phy
clock rate.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-16823-1: mipi_csi: Add runtime suspend/resume
Guoniu.Zhou [Wed, 15 Nov 2017 11:10:38 +0000 (19:10 +0800)]
MLK-16823-1: mipi_csi: Add runtime suspend/resume

Add runtime suspend/resume features support for mipi csi.
For saving power, the mipi_csi turn off it's power domain
and clock after probe.

In order to share code with system pm suspend/resume, I
change system suspend/resume in this patch.

Reviewed-by: Sandor Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit f88f4ac99b23e03b1cc1d87209875d6001dbbbe5)

6 years agoMLK-17019 Correct Copyright
Peng Fan [Wed, 29 Nov 2017 03:48:04 +0000 (11:48 +0800)]
MLK-17019 Correct Copyright

Correct Copyright

Signed-off-by: Peng Fan <peng.fan@nxp.com>
6 years agoMLK-16919-5 media: v4l2: add mipi csi driver on iMX8MQ
Robby Cai [Tue, 21 Nov 2017 20:59:06 +0000 (04:59 +0800)]
MLK-16919-5 media: v4l2: add mipi csi driver on iMX8MQ

Add a new version (yet another version) driver for MIPI CSI2.
The reason we use a separate version is that PHY setting is quit different,
and the existing MIPI CSI2 driver uses new Media Framework, while the camera
and CSI driver not yet. After convert all drivers to new Media Framework,
consider combine these two versions.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-16695-3: mipi_csi: Change printk to dev_dbg
Guoniu.Zhou [Fri, 10 Nov 2017 03:09:21 +0000 (11:09 +0800)]
MLK-16695-3: mipi_csi: Change printk to dev_dbg

Messages in ISI irq handler are for debugging, so
change printk to dev_dbg for this purpose.

The width and height of image information need output
in debug process.

Reviewed-by: Sandor Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit e254c8408f69eca9b668af58d911f27a4fefc121)

6 years agoMLK-16695-1: mipi_csi: Add pm suspend and resume
Guoniu.Zhou [Fri, 10 Nov 2017 01:58:20 +0000 (09:58 +0800)]
MLK-16695-1: mipi_csi: Add pm suspend and resume

Add mipi_csi power manager suspend and resume support.

Reviewed-by: Sandor Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-15124-04: image ss: Add mx8 image subsystem driver
Sandor Yu [Tue, 20 Jun 2017 07:37:16 +0000 (15:37 +0800)]
MLK-15124-04: image ss: Add mx8 image subsystem driver

Add mxc media device driver.
Add mx8 isi device driver.
Add mx8 mipi csi device driver.
Add max9286 sensor driver.
mxc isi driver support CSC and scaling function.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-20529-1: camera: remove V4L2 limitation when the number of sensors connected...
Guoniu.Zhou [Thu, 6 Dec 2018 05:34:55 +0000 (13:34 +0800)]
MLK-20529-1: camera: remove V4L2 limitation when the number of sensors connected is less than the required in dtb

1. create links between entities when the number of sensors
connected is less than the required in dtb
2. unregister the video device which sensors are not connected

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 33234cc31362b5ee23be34ce2a00947e0dc96acb)

6 years agoMLK-19514-3: ISI: reorder video device register for m2m
Guoniu.Zhou [Mon, 10 Sep 2018 08:55:41 +0000 (16:55 +0800)]
MLK-19514-3: ISI: reorder video device register for m2m

Register m2m video device after all camera devices

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-18098: camera: add MIPI and PARALLEL CSI support in one dtb
Guoniu.Zhou [Fri, 20 Apr 2018 08:23:09 +0000 (16:23 +0800)]
MLK-18098: camera: add MIPI and PARALLEL CSI support in one dtb

1. Divide ov5640_v3.c into two parts, one for parallel csi driver
   and the other for mipi csi driver

2. Add parallel and mipi support in one dtb file. User can select
   one of them without changing the dtb file

Reviewed-by: Sandor.yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-17230-8: camera: add CI_PI in camera device framework
Guoniu.Zhou [Mon, 5 Feb 2018 08:26:38 +0000 (16:26 +0800)]
MLK-17230-8: camera: add CI_PI in camera device framework

Add CI_PI and ov5640 camera sensor support in camera device
framework. The data flow is "ov5640->ci_pi->isi_ch0". Disable
the other channels of ISI.

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 37bc5d225e8a3eeb21fef5d94335d1edb2036988)

6 years agoMLK-17019 Correct Copyright
Peng Fan [Wed, 29 Nov 2017 03:48:04 +0000 (11:48 +0800)]
MLK-17019 Correct Copyright

Correct Copyright

Signed-off-by: Peng Fan <peng.fan@nxp.com>
6 years agoMLK-15124-04: image ss: Add mx8 image subsystem driver
Sandor Yu [Tue, 20 Jun 2017 07:37:16 +0000 (15:37 +0800)]
MLK-15124-04: image ss: Add mx8 image subsystem driver

Add mxc media device driver.
Add mx8 isi device driver.
Add mx8 mipi csi device driver.
Add max9286 sensor driver.
mxc isi driver support CSC and scaling function.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-20616: ISI: Coverity: fix unsigned compared against zero
Guoniu.Zhou [Thu, 20 Dec 2018 02:14:32 +0000 (10:14 +0800)]
MLK-20616: ISI: Coverity: fix unsigned compared against zero

fix unsigned compared against zero, it will no effect

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20529-1: camera: remove V4L2 limitation when the number of sensors connected...
Guoniu.Zhou [Thu, 6 Dec 2018 05:34:55 +0000 (13:34 +0800)]
MLK-20529-1: camera: remove V4L2 limitation when the number of sensors connected is less than the required in dtb

1. create links between entities when the number of sensors
connected is less than the required in dtb
2. unregister the video device which sensors are not connected

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 33234cc31362b5ee23be34ce2a00947e0dc96acb)

6 years agoMLK-19514-3: ISI: reorder video device register for m2m
Guoniu.Zhou [Mon, 10 Sep 2018 08:55:41 +0000 (16:55 +0800)]
MLK-19514-3: ISI: reorder video device register for m2m

Register m2m video device after all camera devices

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-18098: camera: add MIPI and PARALLEL CSI support in one dtb
Guoniu.Zhou [Fri, 20 Apr 2018 08:23:09 +0000 (16:23 +0800)]
MLK-18098: camera: add MIPI and PARALLEL CSI support in one dtb

1. Divide ov5640_v3.c into two parts, one for parallel csi driver
   and the other for mipi csi driver

2. Add parallel and mipi support in one dtb file. User can select
   one of them without changing the dtb file

Reviewed-by: Sandor.yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-17741-2: media: add ov5640 mipi driver
Guoniu.Zhou [Fri, 9 Mar 2018 08:19:37 +0000 (16:19 +0800)]
MLK-17741-2: media: add ov5640 mipi driver

Add driver for ov5640 mipi csi interface.

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 860dab368735dcbf248da7b74163ce6048a57514)

6 years agoMLK-17230-8: camera: add CI_PI in camera device framework
Guoniu.Zhou [Mon, 5 Feb 2018 08:26:38 +0000 (16:26 +0800)]
MLK-17230-8: camera: add CI_PI in camera device framework

Add CI_PI and ov5640 camera sensor support in camera device
framework. The data flow is "ov5640->ci_pi->isi_ch0". Disable
the other channels of ISI.

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 37bc5d225e8a3eeb21fef5d94335d1edb2036988)

6 years agoMLK-17019 Correct Copyright
Peng Fan [Wed, 29 Nov 2017 03:48:04 +0000 (11:48 +0800)]
MLK-17019 Correct Copyright

Correct Copyright

Signed-off-by: Peng Fan <peng.fan@nxp.com>
6 years agoMLK-15124-04: image ss: Add mx8 image subsystem driver
Sandor Yu [Tue, 20 Jun 2017 07:37:16 +0000 (15:37 +0800)]
MLK-15124-04: image ss: Add mx8 image subsystem driver

Add mxc media device driver.
Add mx8 isi device driver.
Add mx8 mipi csi device driver.
Add max9286 sensor driver.
mxc isi driver support CSC and scaling function.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-19957-1: ISI: clean isi status before enable interrupt
Guoniu.Zhou [Wed, 17 Oct 2018 02:16:08 +0000 (10:16 +0800)]
MLK-19957-1: ISI: clean isi status before enable interrupt

Because ISI can't restore to default state after software
reset, the status value of exit will be maintained. If not
cleared, ISI will triggle fake interrupt after enableing irq,
but there is not ready for data.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 932af3df1745f5afb0b9433d3355b2e24b177f4e)

6 years agoMLK-19510: ISI: fix isi cann't restore to original size after resize
Guoniu.Zhou [Mon, 17 Sep 2018 03:33:22 +0000 (11:33 +0800)]
MLK-19510: ISI: fix isi cann't restore to original size after resize

1. add CHNL_SCL_IMG_CFG register that is new added in QXP/QM B0
2. according to isi owner's comments, CHNL_SCL_IMG_CFG need to
equal to CHNL_IMG_CFG when scaling disabled and equal to scaled
image size when scaling enabled, so add configuration for this
register.
3. Becuse isi software reset can't reset isi register to default
, so it need to manual clear if there is no scaling.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-19343: ISI: add memory to memory support for qm and qxp
Guoniu.Zhou [Mon, 27 Aug 2018 10:28:23 +0000 (18:28 +0800)]
MLK-19343: ISI: add memory to memory support for qm and qxp

Add memory to memory support for qm and qxp. Because only
ISI channel0 can support memory to memory feature so this
feature only support one channel. User can use channel 0
as other function when it isn't used for m2m.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Reviewed-by: Sandor.yu <sandor.yu@nxp.com>
6 years agoMLK-17230-8: camera: add CI_PI in camera device framework
Guoniu.Zhou [Mon, 5 Feb 2018 08:26:38 +0000 (16:26 +0800)]
MLK-17230-8: camera: add CI_PI in camera device framework

Add CI_PI and ov5640 camera sensor support in camera device
framework. The data flow is "ov5640->ci_pi->isi_ch0". Disable
the other channels of ISI.

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 37bc5d225e8a3eeb21fef5d94335d1edb2036988)

6 years agoMLK-17019 Correct Copyright
Peng Fan [Wed, 29 Nov 2017 03:48:04 +0000 (11:48 +0800)]
MLK-17019 Correct Copyright

Correct Copyright

Signed-off-by: Peng Fan <peng.fan@nxp.com>
6 years agoMLK-16046: mx8 imaging SS: Fix build warning
Sandor Yu [Fri, 21 Jul 2017 04:07:44 +0000 (12:07 +0800)]
MLK-16046: mx8 imaging SS: Fix build warning

Fix build warning:
warning: missing braces around initializer [-Wmissing-braces]

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-15124-04: image ss: Add mx8 image subsystem driver
Sandor Yu [Tue, 20 Jun 2017 07:37:16 +0000 (15:37 +0800)]
MLK-15124-04: image ss: Add mx8 image subsystem driver

Add mxc media device driver.
Add mx8 isi device driver.
Add mx8 mipi csi device driver.
Add max9286 sensor driver.
mxc isi driver support CSC and scaling function.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
6 years agoMLK-20923: ISI: improve ISI memory to memory performance
Guoniu.Zhou [Wed, 13 Feb 2019 10:50:39 +0000 (18:50 +0800)]
MLK-20923: ISI: improve ISI memory to memory performance

Refer to ISI validataion code, there is no need to enable ISI
mem2mem read done interrupt and driver can handle buffers in
frame received interrupt service

Remove 50ms delay when enable ISI AXI read, it will improve
performance obviously

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit bdabe035cd5c57d713f824e61f120213ed9357ba)
(cherry picked from commit 7dd4c6affaaceefd80e6b4a033c21f6b26303902)

6 years agoMLK-20724: m2m: add RGBA to exend V4L2 standard format for android usage
Guoniu.Zhou [Mon, 14 Jan 2019 06:23:03 +0000 (14:23 +0800)]
MLK-20724: m2m: add RGBA to exend V4L2 standard format for android usage

Android has RGBA format output but V4L2 framework do not have this format
.In order to support this in our mem2mem driver, we need to extend V4L2
format.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20192-3: m2m: Coverity: fix overwriting to previous value
Guoniu.Zhou [Thu, 20 Dec 2018 02:45:32 +0000 (10:45 +0800)]
MLK-20192-3: m2m: Coverity: fix overwriting to previous value

fix overwriting to previous value

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20326-4: ISI: enable alpha insertion for mem2mem
Guoniu.Zhou [Fri, 9 Nov 2018 10:57:32 +0000 (18:57 +0800)]
MLK-20326-4: ISI: enable alpha insertion for mem2mem

Enable global alpha insertion for memory to memory function
of ISI

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20326-3: ISI: enable alpha insertion feature for camera
Guoniu.Zhou [Fri, 9 Nov 2018 10:52:46 +0000 (18:52 +0800)]
MLK-20326-3: ISI: enable alpha insertion feature for camera

Enable global alpha insertion feature for camera

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20326-2: ISI: enable horizonal and vertical flip for mem2mem
Guoniu.Zhou [Fri, 9 Nov 2018 10:48:13 +0000 (18:48 +0800)]
MLK-20326-2: ISI: enable horizonal and vertical flip for mem2mem

Eanble horizonal and vertical flip for memory to memory function
of ISI

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20326-1: ISI: enable horizonal and vertical flip for camera
Guoniu.Zhou [Fri, 9 Nov 2018 10:37:09 +0000 (18:37 +0800)]
MLK-20326-1: ISI: enable horizonal and vertical flip for camera

Enable horizonal and vertical flip for camera image

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-19291: ISI: correct color mapping between V4L2 and ISI
Guoniu.Zhou [Thu, 8 Nov 2018 11:25:44 +0000 (19:25 +0800)]
MLK-19291: ISI: correct color mapping between V4L2 and ISI

Correct color mapping between V4L2 and ISI

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
6 years agoMLK-20046-2: ISI: add YUV444M format support
Guoniu.Zhou [Thu, 25 Oct 2018 03:14:52 +0000 (11:14 +0800)]
MLK-20046-2: ISI: add YUV444M format support

add YUV444M format support

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit e424d16926d0320b31850bdd293e77c164a80661)

6 years agoMLK-20014: ISI: initialize SCL_IMG_CFG to source image width and height
Guoniu.Zhou [Mon, 22 Oct 2018 08:49:39 +0000 (16:49 +0800)]
MLK-20014: ISI: initialize SCL_IMG_CFG to source image width and height

Initialize SCL_IMG_CFG to source image width and height when
scale disabled

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 506b32bb9ad6a3f596510e401b0e8fa16ca8b659)

6 years agoMLK-19957-2: ISI: remove hardware reset for isi
Guoniu.Zhou [Wed, 17 Oct 2018 04:01:36 +0000 (12:01 +0800)]
MLK-19957-2: ISI: remove hardware reset for isi

Power off some resource of ISI can't really hardware reset
ISI, because all eight ISI channels share one hardware reset.
For example, if we enable ISI channel 0 and 1 in dts and only
power off and on channel0 domain, it will not really reset and
the value of channel0 register will not change.

Hardware reset was introduced for fixing ISI can't receive data
from CI_PI after system boot in QXP A0 and this is fixed in new
version QXP B0, so remove HW reset in driver.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit df9da83f82c94ca578303b45c60fb17da2d9d1aa)

6 years agoMLK-19957-1: ISI: clean isi status before enable interrupt
Guoniu.Zhou [Wed, 17 Oct 2018 02:16:08 +0000 (10:16 +0800)]
MLK-19957-1: ISI: clean isi status before enable interrupt

Because ISI can't restore to default state after software
reset, the status value of exit will be maintained. If not
cleared, ISI will triggle fake interrupt after enableing irq,
but there is not ready for data.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 932af3df1745f5afb0b9433d3355b2e24b177f4e)

6 years agoMLK-19772: ISI: fill ISI out buffer address before enabling ISI channel
Guoniu.Zhou [Sat, 29 Sep 2018 03:54:03 +0000 (11:54 +0800)]
MLK-19772: ISI: fill ISI out buffer address before enabling ISI channel

1. Before enabling ISI channel, driver need to fill its out buffer
address, so correct this sequence

2. Because ISI use ping-pong buffer and write data to memory with
BUF1->BUF2->BUF1... sequence. If it finish with BUF1 and user start
a new capture process, it will start with BUF2. This will lead the
buffer ready for being read is not equal to buffer written by ISI.So
HW reset ISI, in order to confirm it start with BUF1.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 794ce0cb7d7f129fb46f5d6f38e82cc1e7f2a367)

6 years agoMLK-19730: ISI: correct V4L2_PIX_FMT_RGB32 to V4L2_PIX_FMT_XRGB32
Guoniu.Zhou [Wed, 26 Sep 2018 05:50:43 +0000 (13:50 +0800)]
MLK-19730: ISI: correct V4L2_PIX_FMT_RGB32 to V4L2_PIX_FMT_XRGB32

Because V4L2_PIX_FMT_RGB32 is deprecated and must not
be used by new drivers. V4L2_PIX_FMT_XRGB32 is used to
replace it.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit a6780d01aa9219c6a720177bb85af755ba09a24a)

6 years agoMLK-19510: ISI: fix isi cann't restore to original size after resize
Guoniu.Zhou [Mon, 17 Sep 2018 03:33:22 +0000 (11:33 +0800)]
MLK-19510: ISI: fix isi cann't restore to original size after resize

1. add CHNL_SCL_IMG_CFG register that is new added in QXP/QM B0
2. according to isi owner's comments, CHNL_SCL_IMG_CFG need to
equal to CHNL_IMG_CFG when scaling disabled and equal to scaled
image size when scaling enabled, so add configuration for this
register.
3. Becuse isi software reset can't reset isi register to default
, so it need to manual clear if there is no scaling.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>