mbox series

[v3,0/2] Add Omnivision OV4689 image sensor driver

Message ID 20220927222152.132951-1-mike.rudenko@gmail.com (mailing list archive)
Headers show
Series Add Omnivision OV4689 image sensor driver | expand

Message

Mikhail Rudenko Sept. 27, 2022, 10:21 p.m. UTC
Hi,

this is the third revision of the Omnivision OV4689 driver. Main
changes in this version are (1) mapping physical camera gain to
monotonous and mostly linear logical gain exposed via corresponding
control and (2) reporting consistent pixel rate and hblank. These and
other minor changes are listed below:

changes in v3:
  - set 1st patch title to: "media: dt-bindings: i2c: document OV4689"
  - schema: drop clock-names
  - driver: use dem_clk_get(NULL)
  - schema: remove maxItems from powerdown-gpios
  - schema: make gpios optional
  - driver: use devm_gpiod_get_optional()
  - driver: remove __ prefixes from function names
  - driver: switch to .probe_new
  - driver: remove of_match_ptr
  - driver: add and use enum ov4689_mode_id
  - driver: make xvclk optional & try to get frequency from ACPI
  - driver: drop #if defined(CONFIG_MEDIA_CONTROLLER) in remove
  - driver: use ARRAY_SIZE(ov4689_supply_names) instead of define
  - driver: remove unused controls from struct ov4689
  - driver: use 504000000 instead of OV4689_LINK_FREQ_500MHZ
  - driver: compare link frequencies with menu array clock-frequency
  - driver: replace |= with ret = ret ?:
  - driver: merge power on/off into pm callbacks
  - driver: use actual clock rate in ov4689_cal_delay
  - driver: set up controls after writing register table in s_stream()
  - driver: remap sensor gain to linear and monotonous logical gain
  - driver: set pixel_rate to 480000000
  - driver: set HTS so that we have 30.00 fps and fix HBLANK reporting

changes in v2:
- bindings: reword descriptions
- bindings: move clock description to clocks property
- bindings: add data-lanes and link-frequencies properties to port
- driver: validate media bus configuration when probing

Mikhail Rudenko (2):
  media: dt-bindings: i2c: document OV4689
  media: i2c: add support for OV4689

 .../bindings/media/i2c/ovti,ov4689.yaml       |  134 +++
 MAINTAINERS                                   |    8 +
 drivers/media/i2c/Kconfig                     |   14 +
 drivers/media/i2c/Makefile                    |    1 +
 drivers/media/i2c/ov4689.c                    | 1027 +++++++++++++++++
 5 files changed, 1184 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
 create mode 100644 drivers/media/i2c/ov4689.c

--
2.37.3

Comments

Mikhail Rudenko Oct. 17, 2022, 1:05 p.m. UTC | #1
On 2022-09-28 at 01:21 +03, Mikhail Rudenko <mike.rudenko@gmail.com> wrote:

> Hi,
>
> this is the third revision of the Omnivision OV4689 driver. Main
> changes in this version are (1) mapping physical camera gain to
> monotonous and mostly linear logical gain exposed via corresponding
> control and (2) reporting consistent pixel rate and hblank. These and
> other minor changes are listed below:
>
> changes in v3:
>   - set 1st patch title to: "media: dt-bindings: i2c: document OV4689"
>   - schema: drop clock-names
>   - driver: use dem_clk_get(NULL)
>   - schema: remove maxItems from powerdown-gpios
>   - schema: make gpios optional
>   - driver: use devm_gpiod_get_optional()
>   - driver: remove __ prefixes from function names
>   - driver: switch to .probe_new
>   - driver: remove of_match_ptr
>   - driver: add and use enum ov4689_mode_id
>   - driver: make xvclk optional & try to get frequency from ACPI
>   - driver: drop #if defined(CONFIG_MEDIA_CONTROLLER) in remove
>   - driver: use ARRAY_SIZE(ov4689_supply_names) instead of define
>   - driver: remove unused controls from struct ov4689
>   - driver: use 504000000 instead of OV4689_LINK_FREQ_500MHZ
>   - driver: compare link frequencies with menu array clock-frequency
>   - driver: replace |= with ret = ret ?:
>   - driver: merge power on/off into pm callbacks
>   - driver: use actual clock rate in ov4689_cal_delay
>   - driver: set up controls after writing register table in s_stream()
>   - driver: remap sensor gain to linear and monotonous logical gain
>   - driver: set pixel_rate to 480000000
>   - driver: set HTS so that we have 30.00 fps and fix HBLANK reporting
>
> changes in v2:
> - bindings: reword descriptions
> - bindings: move clock description to clocks property
> - bindings: add data-lanes and link-frequencies properties to port
> - driver: validate media bus configuration when probing
>
> Mikhail Rudenko (2):
>   media: dt-bindings: i2c: document OV4689
>   media: i2c: add support for OV4689
>
>  .../bindings/media/i2c/ovti,ov4689.yaml       |  134 +++
>  MAINTAINERS                                   |    8 +
>  drivers/media/i2c/Kconfig                     |   14 +
>  drivers/media/i2c/Makefile                    |    1 +
>  drivers/media/i2c/ov4689.c                    | 1027 +++++++++++++++++
>  5 files changed, 1184 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml
>  create mode 100644 drivers/media/i2c/ov4689.c

Gentle ping. Anything to do on my side to get [2/2] reviewed?

--
Best regards,
Mikhail Rudenko