Hi Mauro, This pull request adds support for additional CCS driver features, including digital gain support, alternative analogue gain support, analogue gain coefficients and CCS shading correction controls. Also the CCS driver and the PLL calculator are moved to kernel integer types. There are a few fixes and power-on sequence cleanups as well. Please pull. The following changes since commit 5c8fe583cce542aa0b84adc939ce85293de36e5e: Linux 5.11-rc1 (2020-12-27 15:30:22 -0800) are available in the Git repository at: git://linuxtv.org/sailus/media_tree.git tags/for-5.12-2.1-signed for you to fetch changes up to 16800ffed3ecfbb451b707018228bfd3954b118c: ccs: Small definition cleanup (2021-01-04 13:11:21 +0200) ---------------------------------------------------------------- Linux CCS driver patches for 5.12 ---------------------------------------------------------------- Sakari Ailus (25): ccs: Add digital gain support ccs: Add support for old-style SMIA digital gain ccs: Remove analogue gain field ccs: Only add analogue gain control if the device supports it v4l: uapi: Add user control base for CCS controls Documentation: ccs: Add user documentation for the CCS driver v4l: uapi: ccs: Add controls for analogue gain constants ccs: Add support for analogue gain coefficient controls v4l: uapi: ccs: Add controls for CCS alternative analogue gain ccs: Add support for alternate analogue global gain ccs: Add debug prints for MSR registers v4l: uapi: ccs: Add CCS controls for shading correction ccs: Add shading correction and luminance correction level controls ccs: Get the endpoint by port rather than any next endpoint ccs: Don't change the I²C address just for software reset ccs: Only do software reset if we have no hardware reset ccs: Wait until software reset is done ccs: Hardware requires a delay after starting the clock of lifting reset ccs: Add a sanity check for external clock frequency ccs: Support and default to auto PHY control Documentation: Include CCS PLL calculator to CCS driver documentation ccs-pll: Switch from standard integer types to kernel ones ccs: Switch from standard integer types to kernel ones Revert "media: ccs-pll: Fix MODULE_LICENSE" ccs: Small definition cleanup Documentation/driver-api/media/drivers/ccs/ccs.rst | 13 + Documentation/userspace-api/media/drivers/ccs.rst | 110 +++++++ .../userspace-api/media/drivers/index.rst | 1 + MAINTAINERS | 2 + drivers/media/i2c/ccs-pll.c | 116 ++++---- drivers/media/i2c/ccs-pll.h | 86 +++--- drivers/media/i2c/ccs/ccs-core.c | 318 ++++++++++++++++++--- drivers/media/i2c/ccs/ccs-data.c | 1 - drivers/media/i2c/ccs/ccs-data.h | 2 + drivers/media/i2c/ccs/ccs-reg-access.c | 29 +- drivers/media/i2c/ccs/ccs.h | 8 +- drivers/media/i2c/ccs/smiapp-reg-defs.h | 2 + include/uapi/linux/ccs.h | 18 ++ include/uapi/linux/v4l2-controls.h | 5 + 14 files changed, 551 insertions(+), 160 deletions(-) create mode 100644 Documentation/userspace-api/media/drivers/ccs.rst create mode 100644 include/uapi/linux/ccs.h -- Sakari Ailus