[PATCH v4 0/2] Add support for the Sony Exmor-RS IMX300 camera sensor

From: AngeloGioacchino Del Regno
Date: Wed Jan 13 2021 - 13:30:30 EST


This patch series adds support for the IMX300 camera sensor, (one of the)
first Exmor-RS Stacked CMOS sensor(s), with support for both of the
supported aspect ratios (4:3 and 16:9).
This driver came out from reverse engineering of so called "userspace
drivers" from Sony Xperia smartphones.

I tried to document all of my findings and giving a sense to the registers
as much as possible, but that was only partially possible and resembles
some names from the IMX219 public datasheet, even though the addresses are
basically completely different.

This camera sensor driver was tested with all the resolutions declared in
it on two phones: Sony Xperia XA2 and XA2 Ultra, on a SDM630 SoC and is
working great.

- Changes in v4:
- My e-mail address was changed in all files to reflect the new one
- Fixed selection targets and out-of-bounds rectangles (thanks Jacopo!)
- Fixed a warning: changed do_div to div_s64 for 64-bit division
- Added one more register definition

- Changes in v3:
- Removed unneeded fallthrough statements
- Fixed double mode initialization at probe time
- Fixed typo in the dt-binding description (8->25MPixels)
- Fixed dt-binding data-lanes description, added to required properties

- Changes in v2:
- Changed dt-binding name and fixed a misconception about lane
operation (sensor supports 2/4-Lane, driver supports 4-Lane only)
- Now using lowercase names for regulator supplies
- Fixed redefinition of clock-noncontinuous property
- Added informations about constraints on data bus frequencies
- Fixed MAINTAINERS: removed git tree

AngeloGioacchino Del Regno (2):
media: i2c: Add driver for the Sony Exmor-RS IMX300 camera sensor
media: dt-bindings: media: i2c: Add IMX300 CMOS sensor binding

.../bindings/media/i2c/sony,imx300.yaml | 112 +
MAINTAINERS | 7 +
drivers/media/i2c/Kconfig | 13 +
drivers/media/i2c/Makefile | 1 +
drivers/media/i2c/imx300.c | 3084 +++++++++++++++++
5 files changed, 3217 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx300.yaml
create mode 100644 drivers/media/i2c/imx300.c

--
2.29.2