All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/29] Linux CCS driver preparation
@ 2020-11-27 10:32 Sakari Ailus
  2020-11-27 10:32 ` [PATCH v2 01/29] ccs: Add the generator for CCS register definitions and limits Sakari Ailus
                   ` (28 more replies)
  0 siblings, 29 replies; 32+ messages in thread
From: Sakari Ailus @ 2020-11-27 10:32 UTC (permalink / raw)
  To: linux-media; +Cc: hverkuil, mchehab

Hello everyone,

Here's a set of patches that turn the existing SMIA driver into a MIPI CCS
driver while maintaining SMIA support. A number of bugs in the existing
code are fixed in this set, too.

The changes at this point are primarily focused on dealing with new
mandatory driver features related to PLL configuration (as CCS allows for
much more variation there) and things such as integer conversion from
U16.U16 format instead of float. There are some other new features as well
such as digital gain and support for getting device specific analogue gain
coefficients.

A new feature in CCS is CCS static data which makes it possible to obtain
sensor's capabilities and limits from a file chosen based on sensor
identification. CCS static data is used also for storing MSR registers so
supporting new, CCS compliant devices requires no driver changes.

Note that the library as well as the register definitions are dual
licensed under GNU GPL v2 OR BSD 3-clause licenses for use outside the
Linux kernel.

Also DT bindings are updated accordingly and converted to YAML format.

More information on MIPI CCS can be found here:

<URL:https://www.mipi.org/specifications/camera-command-set>

Comments are welcome.

since v1:

- Fix the SPDX tag in mk-ccs-regs script

- Add support for producing kernel definitions including use of BIT macro
  and kernel types in mk-ccs-regs (was C99 only)

- Add MAINTAINERS entry for the documentation in the first documentation
  patch.

- Fix compilation issues due to ccs-limits.o missing from Makefile in a
  few patches early in the set.

since the big, big patchset (v2):

- Split into more easily reviewable chunks (this is the first of maybe
  three). The cover page describes the entire big set. This set contains
  mostly cleanups for the smiapp driver that prepare for support for
  additional features as well as DT bindings, as well as using CCS limits.

- Fix SPDX tags. Some were left accidentally with BSD-3-Clause license
  only.

- Fix bus-type alignment in DT bindings.

- Add CCS driver documentation

- Add -u option to the CCS register definition generator.

- Add static keyword for ccs_limit_offset array.

- Add generated CCS register definitions, and do not generate the definitions as
  part of the build process.

- Remove ccs-os.h header.

Sakari Ailus (29):
  ccs: Add the generator for CCS register definitions and limits
  Documentation: ccs: Add CCS driver documentation
  smiapp: Import CCS definitions
  smiapp: Use CCS register flags
  smiapp: Calculate CCS limit offsets and limit buffer size
  smiapp: Remove macros for defining registers, merge definitions
  smiapp: Add macros for accessing CCS registers
  smiapp: Use MIPI CCS version and manufacturer ID information
  smiapp: Read CCS limit values
  smiapp: Switch to CCS limits
  smiapp: Obtain frame descriptor from CCS limits
  smiapp: Use CCS limits in reading data format descriptors
  smiapp: Use CCS limits in reading binning capabilities
  smiapp: Use CCS registers
  smiapp: Remove quirk function for writing a single 8-bit register
  smiapp: Rename register access functions
  smiapp: Internal rename to CCS
  smiapp: Differentiate CCS sensors from SMIA in subdev naming
  smiapp: Rename as "ccs"
  ccs: Remove profile concept
  ccs: Give all subdevs a function
  dt-bindings: nokia,smia: Fix link-frequencies documentation
  dt-bindings: nokia,smia: Make vana-supply optional
  dt-bindings: nokia,smia: Remove nokia,nvm-size property
  dt-bindings: nokia,smia: Convert to YAML
  dt-bindings: nokia,smia: Use better active polarity for reset
  dt-bindings: nokia,smia: Amend SMIA bindings with MIPI CCS support
  dt-bindings: mipi-ccs: Add bus-type for C-PHY support
  ccs: Request for "reset" GPIO

 .../bindings/media/i2c/mipi-ccs.yaml          |  128 ++
 .../bindings/media/i2c/nokia,smia.txt         |   66 -
 .../driver-api/media/drivers/ccs/ccs-regs.txt | 1041 ++++++++++
 .../driver-api/media/drivers/ccs/ccs.rst      |   82 +
 .../driver-api/media/drivers/ccs/mk-ccs-regs  |  433 ++++
 .../driver-api/media/drivers/index.rst        |    1 +
 MAINTAINERS                                   |   21 +-
 drivers/media/i2c/Kconfig                     |    2 +-
 drivers/media/i2c/Makefile                    |    2 +-
 drivers/media/i2c/{smiapp => ccs}/Kconfig     |    7 +-
 drivers/media/i2c/ccs/Makefile                |    6 +
 .../{smiapp/smiapp-core.c => ccs/ccs-core.c}  | 1828 +++++++++--------
 drivers/media/i2c/ccs/ccs-limits.c            |  239 +++
 drivers/media/i2c/ccs/ccs-limits.h            |  259 +++
 .../smiapp-quirk.c => ccs/ccs-quirk.c}        |   92 +-
 .../smiapp-quirk.h => ccs/ccs-quirk.h}        |   52 +-
 .../smiapp-regs.c => ccs/ccs-reg-access.c}    |   85 +-
 drivers/media/i2c/ccs/ccs-reg-access.h        |   38 +
 drivers/media/i2c/ccs/ccs-regs.h              |  954 +++++++++
 .../media/i2c/{smiapp/smiapp.h => ccs/ccs.h}  |  164 +-
 drivers/media/i2c/ccs/smiapp-reg-defs.h       |  580 ++++++
 drivers/media/i2c/smiapp/Makefile             |    6 -
 drivers/media/i2c/smiapp/smiapp-limits.c      |  118 --
 drivers/media/i2c/smiapp/smiapp-limits.h      |  114 -
 drivers/media/i2c/smiapp/smiapp-reg-defs.h    |  489 -----
 drivers/media/i2c/smiapp/smiapp-reg.h         |  116 --
 drivers/media/i2c/smiapp/smiapp-regs.h        |   36 -
 27 files changed, 4947 insertions(+), 2012 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/mipi-ccs.yaml
 delete mode 100644 Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
 create mode 100644 Documentation/driver-api/media/drivers/ccs/ccs-regs.txt
 create mode 100644 Documentation/driver-api/media/drivers/ccs/ccs.rst
 create mode 100755 Documentation/driver-api/media/drivers/ccs/mk-ccs-regs
 rename drivers/media/i2c/{smiapp => ccs}/Kconfig (55%)
 create mode 100644 drivers/media/i2c/ccs/Makefile
 rename drivers/media/i2c/{smiapp/smiapp-core.c => ccs/ccs-core.c} (53%)
 create mode 100644 drivers/media/i2c/ccs/ccs-limits.c
 create mode 100644 drivers/media/i2c/ccs/ccs-limits.h
 rename drivers/media/i2c/{smiapp/smiapp-quirk.c => ccs/ccs-quirk.c} (66%)
 rename drivers/media/i2c/{smiapp/smiapp-quirk.h => ccs/ccs-quirk.h} (55%)
 rename drivers/media/i2c/{smiapp/smiapp-regs.c => ccs/ccs-reg-access.c} (66%)
 create mode 100644 drivers/media/i2c/ccs/ccs-reg-access.h
 create mode 100644 drivers/media/i2c/ccs/ccs-regs.h
 rename drivers/media/i2c/{smiapp/smiapp.h => ccs/ccs.h} (57%)
 create mode 100644 drivers/media/i2c/ccs/smiapp-reg-defs.h
 delete mode 100644 drivers/media/i2c/smiapp/Makefile
 delete mode 100644 drivers/media/i2c/smiapp/smiapp-limits.c
 delete mode 100644 drivers/media/i2c/smiapp/smiapp-limits.h
 delete mode 100644 drivers/media/i2c/smiapp/smiapp-reg-defs.h
 delete mode 100644 drivers/media/i2c/smiapp/smiapp-reg.h
 delete mode 100644 drivers/media/i2c/smiapp/smiapp-regs.h

-- 
2.27.0


^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2020-12-02 14:48 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-27 10:32 [PATCH v2 00/29] Linux CCS driver preparation Sakari Ailus
2020-11-27 10:32 ` [PATCH v2 01/29] ccs: Add the generator for CCS register definitions and limits Sakari Ailus
2020-12-02 14:17   ` Mauro Carvalho Chehab
2020-12-02 14:46     ` Sakari Ailus
2020-11-27 10:32 ` [PATCH v2 02/29] Documentation: ccs: Add CCS driver documentation Sakari Ailus
2020-11-27 10:32 ` [PATCH v2 03/29] smiapp: Import CCS definitions Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 04/29] smiapp: Use CCS register flags Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 05/29] smiapp: Calculate CCS limit offsets and limit buffer size Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 06/29] smiapp: Remove macros for defining registers, merge definitions Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 07/29] smiapp: Add macros for accessing CCS registers Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 08/29] smiapp: Use MIPI CCS version and manufacturer ID information Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 09/29] smiapp: Read CCS limit values Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 10/29] smiapp: Switch to CCS limits Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 11/29] smiapp: Obtain frame descriptor from " Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 12/29] smiapp: Use CCS limits in reading data format descriptors Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 13/29] smiapp: Use CCS limits in reading binning capabilities Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 14/29] smiapp: Use CCS registers Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 15/29] smiapp: Remove quirk function for writing a single 8-bit register Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 16/29] smiapp: Rename register access functions Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 17/29] smiapp: Internal rename to CCS Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 18/29] smiapp: Differentiate CCS sensors from SMIA in subdev naming Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 19/29] smiapp: Rename as "ccs" Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 20/29] ccs: Remove profile concept Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 21/29] ccs: Give all subdevs a function Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 22/29] dt-bindings: nokia,smia: Fix link-frequencies documentation Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 23/29] dt-bindings: nokia,smia: Make vana-supply optional Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 24/29] dt-bindings: nokia,smia: Remove nokia,nvm-size property Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 25/29] dt-bindings: nokia,smia: Convert to YAML Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 26/29] dt-bindings: nokia,smia: Use better active polarity for reset Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 27/29] dt-bindings: nokia,smia: Amend SMIA bindings with MIPI CCS support Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 28/29] dt-bindings: mipi-ccs: Add bus-type for C-PHY support Sakari Ailus
2020-11-27 10:33 ` [PATCH v2 29/29] ccs: Request for "reset" GPIO Sakari Ailus

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.