devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RESEND PATCH 000/100] Linux CCS driver
@ 2020-09-30 20:19 Sakari Ailus
  2020-09-30 20:19 ` [RESEND PATCH 020/100] dt-bindings: Add vendor prefix for MIPI Alliance Sakari Ailus
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Sakari Ailus @ 2020-09-30 20:19 UTC (permalink / raw)
  To: linux-media; +Cc: devicetree

Hi folks,

I'm just resending the DT binding patches while cc'ing the devicetree
list. The entire set is here:

<URL:https://lore.kernel.org/linux-media/20200930152858.8471-1-sakari.ailus@linux.intel.com/T/#t>

The entire set converts the existing SMIA driver into a MIPI CCS driver
while maintaining compatibility with existing SMIA compliant devices. MIPI
CCS is the current standard, hence the rename.

Sakari Ailus (100):
  smiapp: Add CCS register definitions and limits
  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: Add vendor prefix for MIPI Alliance
  dt-bindings: nokia,smia: Fix link-frequencies documentation
  dt-bindings: nokia,smia: Make vana-supply optional
  dt-bindings: nokia,smia: Convert to YAML
  dt-bindings: nokia,smia: Use better active polarity for reset
  dt-bindings: Amend SMIA bindings with MIPI CCS support
  dt-bindings: Add bus-type for C-PHY support
  ccs: Request for "reset" GPIO
  ccs: Add "mipi,ccs" compatible string
  ccs: Remove the I²C ID table
  ccs: Remove remaining support for platform data
  ccs: Make hwcfg part of the device specific struct
  ccs: Add CCS static data parser library
  ccs: Combine revision number major and minor into one
  ccs: Read CCS static data from firmware binaries
  ccs: Stop reading arrays after the first zero
  ccs: The functions to get compose or crop rectangle never return NULL
  ccs: Replace somewhat harsh internal checks based on BUG with WARN_ON
  ccs: Refactor register reading a little
  ccs: Make real to integer number conversion optional
  ccs: Move limit value real to integer conversion from read to access
    time
  ccs: Read ireal numbers correctly
  smiapp-pll: Rename as ccs-pll
  ccs: Change my e-mail address
  ccs: Add support for manufacturer regs from sensor and module files
  ccs: Use static data read-only registers
  ccs: Clean up runtime PM usage
  ccs: Wrap long lines, unwrap short ones
  ccs: Add device compatible identifiers for telling SMIA and CCS apart
  ccs: Use longer pre-I²C sleep for CCS compliant devices
  ccs-pll: Don't use div_u64 to divide a 32-bit number
  ccs-pll: Split limits and PLL configuration into front and back parts
  ccs-pll: Use correct VT divisor for calculating VT SYS divisor
  ccs-pll: End search if there are no better values available
  ccs-pll: Remove parallel bus support
  ccs-pll: Differentiate between CSI-2 D-PHY and C-PHY
  ccs-pll: Move the flags field down, away from 8-bit fields
  ccs-pll: Document the structs in the header as well as the function
  ccs-pll: Use the BIT macro
  ccs-pll: Begin calculation from OP system clock frequency
  ccs-pll: Fix condition for pre-PLL divider lower bound
  ccs-pll: Avoid overflow in pre-PLL divisor lower bound search
  ccs-pll: Fix comment on check against maximum PLL multiplier
  ccs-pll: Fix check for PLL multiplier upper bound
  ccs-pll: Use explicit 32-bit unsigned type
  ccs-pll: Add support for lane speed model
  ccs: Add support for lane speed model
  ccs-pll: Add support for decoupled OP domain calculation
  ccs-pll: Add support for extended input PLL clock divider
  ccs-pll: Support two cycles per pixel on OP domain
  ccs-pll: Add support flexible OP PLL pixel clock divider
  ccs-pll: Add sanity checks
  ccs-pll: Add C-PHY support
  ccs-pll: Split off VT subtree calculation
  ccs-pll: Check for derating and overrating, support non-derating
    sensors
  ccs-pll: Better separate OP and VT sub-tree calculation
  ccs-pll: Print relevant information on PLL tree
  ccs-pll: Rework bounds checks
  ccs-pll: Make VT divisors 16-bit
  ccs-pll: Fix VT post-PLL divisor calculation
  ccs-pll: Separate VT divisor limit calculation from the rest
  ccs-pll: Add trivial dual PLL support
  ccs: Dual PLL support
  ccs-pll: Add support for DDR OP system and pixel clocks
  ccs: Add support for DDR OP SYS and OP PIX clocks
  ccs: Print written register values
  ccs-pll: Print pixel rates
  ccs: Add support for obtaining C-PHY configuration from firmware
  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: Add user control base for CCS controls
  v4l: uapi: Add controls for analogue gain constants
  ccs: Add support for analogue gain coefficient controls
  v4l: uapi: Add controls for CCS alternative analogue gain
  ccs: Add support for alternate analogue global gain
  ccs: Add debug prints for MSR registers
  v4l: uapi: Add CCS controls for correction configuration and
    capabilities
  ccs: Add shading correction and luminance correction level controls
  smiapp: Add CCS ACPI device ID

 .../bindings/media/i2c/mipi,ccs.yaml          |  164 +
 .../bindings/media/i2c/nokia,smia.txt         |   66 -
 .../devicetree/bindings/vendor-prefixes.yaml  |    2 +
 MAINTAINERS                                   |   20 +-
 drivers/media/i2c/Kconfig                     |    4 +-
 drivers/media/i2c/Makefile                    |    4 +-
 drivers/media/i2c/ccs-pll.c                   |  885 ++++
 drivers/media/i2c/ccs-pll.h                   |  211 +
 drivers/media/i2c/ccs/Kconfig                 |   11 +
 drivers/media/i2c/ccs/Makefile                |    6 +
 drivers/media/i2c/ccs/ccs-core.c              | 3665 +++++++++++++++++
 drivers/media/i2c/ccs/ccs-data-defs.h         |  215 +
 drivers/media/i2c/ccs/ccs-data.c              |  949 +++++
 drivers/media/i2c/ccs/ccs-data.h              |  116 +
 drivers/media/i2c/ccs/ccs-limits.c            |  239 ++
 drivers/media/i2c/ccs/ccs-limits.h            |  258 ++
 drivers/media/i2c/ccs/ccs-os.h                |   15 +
 .../smiapp-quirk.c => ccs/ccs-quirk.c}        |  105 +-
 .../smiapp-quirk.h => ccs/ccs-quirk.h}        |   54 +-
 drivers/media/i2c/ccs/ccs-reg-access.c        |  417 ++
 drivers/media/i2c/ccs/ccs-reg-access.h        |   42 +
 drivers/media/i2c/ccs/ccs-regs.h              |  953 +++++
 .../media/i2c/{smiapp/smiapp.h => ccs/ccs.h}  |  183 +-
 drivers/media/i2c/ccs/smiapp-reg-defs.h       |  582 +++
 drivers/media/i2c/smiapp-pll.c                |  482 ---
 drivers/media/i2c/smiapp-pll.h                |   99 -
 drivers/media/i2c/smiapp/Kconfig              |   10 -
 drivers/media/i2c/smiapp/Makefile             |    6 -
 drivers/media/i2c/smiapp/smiapp-core.c        | 3173 --------------
 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.c        |  261 --
 drivers/media/i2c/smiapp/smiapp-regs.h        |   36 -
 include/uapi/linux/ccs.h                      |   21 +
 include/uapi/linux/v4l2-controls.h            |    6 +
 37 files changed, 8939 insertions(+), 5158 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 drivers/media/i2c/ccs-pll.c
 create mode 100644 drivers/media/i2c/ccs-pll.h
 create mode 100644 drivers/media/i2c/ccs/Kconfig
 create mode 100644 drivers/media/i2c/ccs/Makefile
 create mode 100644 drivers/media/i2c/ccs/ccs-core.c
 create mode 100644 drivers/media/i2c/ccs/ccs-data-defs.h
 create mode 100644 drivers/media/i2c/ccs/ccs-data.c
 create mode 100644 drivers/media/i2c/ccs/ccs-data.h
 create mode 100644 drivers/media/i2c/ccs/ccs-limits.c
 create mode 100644 drivers/media/i2c/ccs/ccs-limits.h
 create mode 100644 drivers/media/i2c/ccs/ccs-os.h
 rename drivers/media/i2c/{smiapp/smiapp-quirk.c => ccs/ccs-quirk.c} (63%)
 rename drivers/media/i2c/{smiapp/smiapp-quirk.h => ccs/ccs-quirk.h} (53%)
 create mode 100644 drivers/media/i2c/ccs/ccs-reg-access.c
 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} (53%)
 create mode 100644 drivers/media/i2c/ccs/smiapp-reg-defs.h
 delete mode 100644 drivers/media/i2c/smiapp-pll.c
 delete mode 100644 drivers/media/i2c/smiapp-pll.h
 delete mode 100644 drivers/media/i2c/smiapp/Kconfig
 delete mode 100644 drivers/media/i2c/smiapp/Makefile
 delete mode 100644 drivers/media/i2c/smiapp/smiapp-core.c
 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.c
 delete mode 100644 drivers/media/i2c/smiapp/smiapp-regs.h
 create mode 100644 include/uapi/linux/ccs.h

-- 
2.27.0


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

* [RESEND PATCH 020/100] dt-bindings: Add vendor prefix for MIPI Alliance
  2020-09-30 20:19 [RESEND PATCH 000/100] Linux CCS driver Sakari Ailus
@ 2020-09-30 20:19 ` Sakari Ailus
  2020-10-06 19:50   ` Rob Herring
  2020-09-30 20:19 ` [RESEND PATCH 021/100] dt-bindings: nokia,smia: Fix link-frequencies documentation Sakari Ailus
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Sakari Ailus @ 2020-09-30 20:19 UTC (permalink / raw)
  To: linux-media; +Cc: devicetree

Add a vendor prefix for MIPI Alliance, Inc.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 63996ab03521..f16b53909e6e 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -663,6 +663,8 @@ patternProperties:
     description: Miniand Tech
   "^minix,.*":
     description: MINIX Technology Ltd.
+  "^mipi,.*":
+    description: MIPI Alliance, Inc.
   "^miramems,.*":
     description: MiraMEMS Sensing Technology Co., Ltd.
   "^mitsubishi,.*":
-- 
2.27.0


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

* [RESEND PATCH 021/100] dt-bindings: nokia,smia: Fix link-frequencies documentation
  2020-09-30 20:19 [RESEND PATCH 000/100] Linux CCS driver Sakari Ailus
  2020-09-30 20:19 ` [RESEND PATCH 020/100] dt-bindings: Add vendor prefix for MIPI Alliance Sakari Ailus
@ 2020-09-30 20:19 ` Sakari Ailus
  2020-10-06 19:51   ` Rob Herring
  2020-09-30 20:19 ` [RESEND PATCH 022/100] dt-bindings: nokia,smia: Make vana-supply optional Sakari Ailus
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Sakari Ailus @ 2020-09-30 20:19 UTC (permalink / raw)
  To: linux-media; +Cc: devicetree

The link-frequencies property belongs to the endpoint, not to the node
representing the device.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 .../devicetree/bindings/media/i2c/nokia,smia.txt          | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt b/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
index 10ece8108081..6c45c79ef91f 100644
--- a/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
+++ b/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
@@ -20,8 +20,6 @@ Mandatory properties
   dependent).
 - clocks: External clock to the sensor
 - clock-frequency: Frequency of the external clock to the sensor
-- link-frequencies: List of allowed data link frequencies. An array of
-  64-bit elements.
 
 
 Optional properties
@@ -39,6 +37,8 @@ Endpoint node mandatory properties
 ----------------------------------
 
 - data-lanes: <1..n>
+- link-frequencies: List of allowed data link frequencies. An array of
+  64-bit elements.
 
 
 Example
@@ -55,11 +55,13 @@ Example
 		clocks = <&omap3_isp 0>;
 		clock-frequency = <9600000>;
 		nokia,nvm-size = <512>; /* 8 * 64 */
-		link-frequencies = /bits/ 64 <199200000 210000000 499200000>;
 		port {
 			smiapp_ep: endpoint {
 				data-lanes = <1 2>;
 				remote-endpoint = <&csi2a_ep>;
+				link-frequencies =
+					/bits/ 64 <199200000 210000000
+						   499200000>;
 			};
 		};
 	};
-- 
2.27.0


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

* [RESEND PATCH 022/100] dt-bindings: nokia,smia: Make vana-supply optional
  2020-09-30 20:19 [RESEND PATCH 000/100] Linux CCS driver Sakari Ailus
  2020-09-30 20:19 ` [RESEND PATCH 020/100] dt-bindings: Add vendor prefix for MIPI Alliance Sakari Ailus
  2020-09-30 20:19 ` [RESEND PATCH 021/100] dt-bindings: nokia,smia: Fix link-frequencies documentation Sakari Ailus
@ 2020-09-30 20:19 ` Sakari Ailus
  2020-10-06 19:52   ` Rob Herring
  2020-09-30 20:19 ` [RESEND PATCH 023/100] dt-bindings: nokia,smia: Convert to YAML Sakari Ailus
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Sakari Ailus @ 2020-09-30 20:19 UTC (permalink / raw)
  To: linux-media; +Cc: devicetree

vana-supply is optional in the spec, therefore make it optional in
bindings, too.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 Documentation/devicetree/bindings/media/i2c/nokia,smia.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt b/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
index 6c45c79ef91f..5ea4f799877b 100644
--- a/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
+++ b/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
@@ -16,8 +16,6 @@ Mandatory properties
 
 - compatible: "nokia,smia"
 - reg: I2C address (0x10, or an alternative address)
-- vana-supply: Analogue voltage supply (VANA), typically 2,8 volts (sensor
-  dependent).
 - clocks: External clock to the sensor
 - clock-frequency: Frequency of the external clock to the sensor
 
@@ -31,6 +29,8 @@ Optional properties
 - rotation: Integer property; valid values are 0 (sensor mounted upright)
 	    and 180 (sensor mounted upside down). See
 	    ../video-interfaces.txt .
+- vana-supply: Analogue voltage supply (VANA), typically 2,8 volts (sensor
+  dependent).
 
 
 Endpoint node mandatory properties
-- 
2.27.0


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

* [RESEND PATCH 023/100] dt-bindings: nokia,smia: Convert to YAML
  2020-09-30 20:19 [RESEND PATCH 000/100] Linux CCS driver Sakari Ailus
                   ` (2 preceding siblings ...)
  2020-09-30 20:19 ` [RESEND PATCH 022/100] dt-bindings: nokia,smia: Make vana-supply optional Sakari Ailus
@ 2020-09-30 20:19 ` Sakari Ailus
  2020-10-06 19:58   ` Rob Herring
  2020-09-30 20:19 ` [RESEND PATCH 024/100] dt-bindings: nokia,smia: Use better active polarity for reset Sakari Ailus
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Sakari Ailus @ 2020-09-30 20:19 UTC (permalink / raw)
  To: linux-media; +Cc: devicetree

Convert nokia,smia DT bindings to YAML.

Also add explicit license to bindings.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 .../bindings/media/i2c/nokia,smia.txt         |  68 --------
 .../bindings/media/i2c/nokia,smia.yaml        | 147 ++++++++++++++++++
 2 files changed, 147 insertions(+), 68 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
 create mode 100644 Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml

diff --git a/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt b/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
deleted file mode 100644
index 5ea4f799877b..000000000000
--- a/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-SMIA/SMIA++ sensor
-
-SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
-defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension
-of that. These definitions are valid for both types of sensors.
-
-More detailed documentation can be found in
-Documentation/devicetree/bindings/media/video-interfaces.txt .
-
-The device node should contain a "port" node which may contain one or more
-endpoint nodes, in accordance with video interface bindings defined in
-Documentation/devicetree/bindings/media/video-interfaces.txt .
-
-Mandatory properties
---------------------
-
-- compatible: "nokia,smia"
-- reg: I2C address (0x10, or an alternative address)
-- clocks: External clock to the sensor
-- clock-frequency: Frequency of the external clock to the sensor
-
-
-Optional properties
--------------------
-
-- reset-gpios: XSHUTDOWN GPIO
-- flash-leds: See ../video-interfaces.txt
-- lens-focus: See ../video-interfaces.txt
-- rotation: Integer property; valid values are 0 (sensor mounted upright)
-	    and 180 (sensor mounted upside down). See
-	    ../video-interfaces.txt .
-- vana-supply: Analogue voltage supply (VANA), typically 2,8 volts (sensor
-  dependent).
-
-
-Endpoint node mandatory properties
-----------------------------------
-
-- data-lanes: <1..n>
-- link-frequencies: List of allowed data link frequencies. An array of
-  64-bit elements.
-
-
-Example
--------
-
-&i2c2 {
-	clock-frequency = <400000>;
-
-	camera-sensor@10 {
-		compatible = "nokia,smia";
-		reg = <0x10>;
-		reset-gpios = <&gpio3 20 0>;
-		vana-supply = <&vaux3>;
-		clocks = <&omap3_isp 0>;
-		clock-frequency = <9600000>;
-		nokia,nvm-size = <512>; /* 8 * 64 */
-		port {
-			smiapp_ep: endpoint {
-				data-lanes = <1 2>;
-				remote-endpoint = <&csi2a_ep>;
-				link-frequencies =
-					/bits/ 64 <199200000 210000000
-						   499200000>;
-			};
-		};
-	};
-};
diff --git a/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml b/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml
new file mode 100644
index 000000000000..3d6f68b0e559
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml
@@ -0,0 +1,147 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (C) 2014--2020 Intel Corporation
+
+$id: http://devicetree.org/schemas/media/i2c/nokia,smia.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: SMIA/SMIA++ sensor
+
+maintainers:
+  - Sakari Ailus <sakari.ailus@linux.intel.com>
+
+description:
+
+  SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
+  defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension of
+  that. These definitions are valid for both types of sensors.
+
+  More detailed documentation can be found in
+  Documentation/devicetree/bindings/media/video-interfaces.txt .
+
+properties:
+  compatible:
+    const: nokia,smia
+
+  reg:
+    maxItems: 1
+
+  vana-supply:
+    description: Analogue voltage supply (VANA), typically 2,8 volts (sensor
+      dependent).
+    maxItems: 1
+
+  clocks:
+    description: External clock to the sensor.
+    maxItems: 1
+
+  clock-frequency:
+    description: Frequency of the external clock to the sensor.
+
+  reset-gpios:
+    description: Reset GPIO. Also commonly called XSHUTDOWN in hardware
+      documentation.
+    maxItems: 1
+
+  flash-leds:
+    description: Flash LED phandles. See ../video-interfaces.txt for details.
+
+  lens-focus:
+    description: Lens focus controller phandles. See ../video-interfaces.txt
+      for details.
+
+  rotation:
+    description: Rotation; either 0 or 180 degrees.
+
+  port:
+    type: object
+    properties:
+      endpoint:
+        type: object
+        properties:
+          link-frequencies:
+            $ref: /schemas/types.yaml#/definitions/uint64-array
+            description: List of allowed data link frequencies. An array of
+              64-bit elements.
+          data-lanes:
+            oneOf:
+              - items:
+                - const: 1
+              - items:
+                - const: 1
+                - const: 2
+              - items:
+                - const: 1
+                - const: 2
+                - const: 3
+              - items:
+                - const: 1
+                - const: 2
+                - const: 3
+                - const: 4
+              - items:
+                - const: 1
+                - const: 2
+                - const: 3
+                - const: 4
+                - const: 5
+              - items:
+                - const: 1
+                - const: 2
+                - const: 3
+                - const: 4
+                - const: 5
+                - const: 6
+              - items:
+                - const: 1
+                - const: 2
+                - const: 3
+                - const: 4
+                - const: 5
+                - const: 6
+                - const: 7
+              - items:
+                - const: 1
+                - const: 2
+                - const: 3
+                - const: 4
+                - const: 5
+                - const: 6
+                - const: 7
+                - const: 8
+        required:
+          - link-frequencies
+          - data-lanes
+
+required:
+  - compatible
+  - reg
+  - clock-frequency
+  - clocks
+
+examples:
+  - |
+    i2c2 {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        clock-frequency = <400000>;
+
+        camera-sensor@10 {
+            compatible = "nokia,smia";
+            reg = <0x10>;
+            reset-gpios = <&gpio3 20 0>;
+            vana-supply = <&vaux3>;
+            clocks = <&omap3_isp 0>;
+            clock-frequency = <9600000>;
+            nokia,nvm-size = <512>; /* 8 * 64 */
+            port {
+                smiapp_ep: endpoint {
+                    data-lanes = <1 2>;
+                    remote-endpoint = <&csi2a_ep>;
+                    link-frequencies = /bits/ 64 <199200000 210000000
+                                                  499200000>;
+                };
+            };
+        };
+    };
+...
-- 
2.27.0


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

* [RESEND PATCH 024/100] dt-bindings: nokia,smia: Use better active polarity for reset
  2020-09-30 20:19 [RESEND PATCH 000/100] Linux CCS driver Sakari Ailus
                   ` (3 preceding siblings ...)
  2020-09-30 20:19 ` [RESEND PATCH 023/100] dt-bindings: nokia,smia: Convert to YAML Sakari Ailus
@ 2020-09-30 20:19 ` Sakari Ailus
  2020-10-06 19:58   ` Rob Herring
  2020-09-30 20:19 ` [RESEND PATCH 025/100] dt-bindings: nokia,smia: Amend SMIA bindings with MIPI CCS support Sakari Ailus
  2020-09-30 20:19 ` [RESEND PATCH 026/100] dt-bindings: ccs: Add bus-type for C-PHY support Sakari Ailus
  6 siblings, 1 reply; 15+ messages in thread
From: Sakari Ailus @ 2020-09-30 20:19 UTC (permalink / raw)
  To: linux-media; +Cc: devicetree

Generally reset signal is active low on camera sensors. The example had it
high. Make it low, and use GPIO_ACTIVE_LOW in gpio.h for that.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml b/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml
index 3d6f68b0e559..d7de07e99008 100644
--- a/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml
@@ -120,6 +120,8 @@ required:
 
 examples:
   - |
+    #include <dt-bindings/gpio/gpio.h>
+
     i2c2 {
         #address-cells = <1>;
         #size-cells = <0>;
@@ -129,7 +131,7 @@ examples:
         camera-sensor@10 {
             compatible = "nokia,smia";
             reg = <0x10>;
-            reset-gpios = <&gpio3 20 0>;
+            reset-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
             vana-supply = <&vaux3>;
             clocks = <&omap3_isp 0>;
             clock-frequency = <9600000>;
-- 
2.27.0


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

* [RESEND PATCH 025/100] dt-bindings: nokia,smia: Amend SMIA bindings with MIPI CCS support
  2020-09-30 20:19 [RESEND PATCH 000/100] Linux CCS driver Sakari Ailus
                   ` (4 preceding siblings ...)
  2020-09-30 20:19 ` [RESEND PATCH 024/100] dt-bindings: nokia,smia: Use better active polarity for reset Sakari Ailus
@ 2020-09-30 20:19 ` Sakari Ailus
  2020-09-30 20:19 ` [RESEND PATCH 026/100] dt-bindings: ccs: Add bus-type for C-PHY support Sakari Ailus
  6 siblings, 0 replies; 15+ messages in thread
From: Sakari Ailus @ 2020-09-30 20:19 UTC (permalink / raw)
  To: linux-media; +Cc: devicetree

Amend the existing SMIA bindings by adding MIPI CCS support. Besides the
compatible string, two new regulator supplies are added. Rename the old
bindings accordingly as CCS is the current standard.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 .../i2c/{nokia,smia.yaml => mipi,ccs.yaml}     | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)
 rename Documentation/devicetree/bindings/media/i2c/{nokia,smia.yaml => mipi,ccs.yaml} (89%)

diff --git a/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml b/Documentation/devicetree/bindings/media/i2c/mipi,ccs.yaml
similarity index 89%
rename from Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml
rename to Documentation/devicetree/bindings/media/i2c/mipi,ccs.yaml
index d7de07e99008..6ac01ec8610c 100644
--- a/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/mipi,ccs.yaml
@@ -1,26 +1,32 @@
 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
 # Copyright (C) 2014--2020 Intel Corporation
 
-$id: http://devicetree.org/schemas/media/i2c/nokia,smia.yaml#
+$id: http://devicetree.org/schemas/media/i2c/mipi,ccs.yaml#
 $schema: http://devicetree.org/meta-schemas/core.yaml#
 
-title: SMIA/SMIA++ sensor
+title: MIPI CCS, SMIA++ and SMIA compliant camera sensors
 
 maintainers:
   - Sakari Ailus <sakari.ailus@linux.intel.com>
 
 description:
 
+  CCS (Camera Command Set) is a raw Bayer camera sensor standard defined by the
+  MIPI Alliance; see
+  <URL:https://www.mipi.org/specifications/camera-command-set>.
+
   SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
   defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension of
-  that. These definitions are valid for both types of sensors.
+  that.
 
   More detailed documentation can be found in
   Documentation/devicetree/bindings/media/video-interfaces.txt .
 
 properties:
   compatible:
-    const: nokia,smia
+    oneOf:
+      - const: mipi,ccs
+      - const: nokia,smia
 
   reg:
     maxItems: 1
@@ -129,7 +135,7 @@ examples:
         clock-frequency = <400000>;
 
         camera-sensor@10 {
-            compatible = "nokia,smia";
+            compatible = "mipi,ccs";
             reg = <0x10>;
             reset-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
             vana-supply = <&vaux3>;
@@ -137,7 +143,7 @@ examples:
             clock-frequency = <9600000>;
             nokia,nvm-size = <512>; /* 8 * 64 */
             port {
-                smiapp_ep: endpoint {
+                ccs_ep: endpoint {
                     data-lanes = <1 2>;
                     remote-endpoint = <&csi2a_ep>;
                     link-frequencies = /bits/ 64 <199200000 210000000
-- 
2.27.0


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

* [RESEND PATCH 026/100] dt-bindings: ccs: Add bus-type for C-PHY support
  2020-09-30 20:19 [RESEND PATCH 000/100] Linux CCS driver Sakari Ailus
                   ` (5 preceding siblings ...)
  2020-09-30 20:19 ` [RESEND PATCH 025/100] dt-bindings: nokia,smia: Amend SMIA bindings with MIPI CCS support Sakari Ailus
@ 2020-09-30 20:19 ` Sakari Ailus
  6 siblings, 0 replies; 15+ messages in thread
From: Sakari Ailus @ 2020-09-30 20:19 UTC (permalink / raw)
  To: linux-media; +Cc: devicetree

The bus-type property is required for C-PHY support. Add it, including
values for CCP2 and CSI-2 D-PHY.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 .../devicetree/bindings/media/i2c/mipi,ccs.yaml          | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/Documentation/devicetree/bindings/media/i2c/mipi,ccs.yaml b/Documentation/devicetree/bindings/media/i2c/mipi,ccs.yaml
index 6ac01ec8610c..b7908f6e48b9 100644
--- a/Documentation/devicetree/bindings/media/i2c/mipi,ccs.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/mipi,ccs.yaml
@@ -114,6 +114,13 @@ properties:
                 - const: 6
                 - const: 7
                 - const: 8
+          bus-type:
+            description: The type of the data bus.
+            oneOf:
+              - const: 1 # CSI-2 C-PHY
+              - const: 3 # CCP2
+              - const: 4 # CSI-2 D-PHY
+
         required:
           - link-frequencies
           - data-lanes
@@ -148,6 +156,7 @@ examples:
                     remote-endpoint = <&csi2a_ep>;
                     link-frequencies = /bits/ 64 <199200000 210000000
                                                   499200000>;
+                    bus-type = <4>;
                 };
             };
         };
-- 
2.27.0


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

* Re: [RESEND PATCH 020/100] dt-bindings: Add vendor prefix for MIPI Alliance
  2020-09-30 20:19 ` [RESEND PATCH 020/100] dt-bindings: Add vendor prefix for MIPI Alliance Sakari Ailus
@ 2020-10-06 19:50   ` Rob Herring
  2020-10-06 19:52     ` Sakari Ailus
  0 siblings, 1 reply; 15+ messages in thread
From: Rob Herring @ 2020-10-06 19:50 UTC (permalink / raw)
  To: Sakari Ailus; +Cc: linux-media, devicetree

On Wed, Sep 30, 2020 at 11:19:08PM +0300, Sakari Ailus wrote:
> Add a vendor prefix for MIPI Alliance, Inc.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
>  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
>  1 file changed, 2 insertions(+)

I guess based on the irc discussion, this is withdrawn.

> 
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index 63996ab03521..f16b53909e6e 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> @@ -663,6 +663,8 @@ patternProperties:
>      description: Miniand Tech
>    "^minix,.*":
>      description: MINIX Technology Ltd.
> +  "^mipi,.*":
> +    description: MIPI Alliance, Inc.
>    "^miramems,.*":
>      description: MiraMEMS Sensing Technology Co., Ltd.
>    "^mitsubishi,.*":
> -- 
> 2.27.0
> 

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

* Re: [RESEND PATCH 021/100] dt-bindings: nokia,smia: Fix link-frequencies documentation
  2020-09-30 20:19 ` [RESEND PATCH 021/100] dt-bindings: nokia,smia: Fix link-frequencies documentation Sakari Ailus
@ 2020-10-06 19:51   ` Rob Herring
  0 siblings, 0 replies; 15+ messages in thread
From: Rob Herring @ 2020-10-06 19:51 UTC (permalink / raw)
  To: Sakari Ailus; +Cc: linux-media, devicetree

On Wed, 30 Sep 2020 23:19:09 +0300, Sakari Ailus wrote:
> The link-frequencies property belongs to the endpoint, not to the node
> representing the device.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
>  .../devicetree/bindings/media/i2c/nokia,smia.txt          | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 

Acked-by: Rob Herring <robh@kernel.org>

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

* Re: [RESEND PATCH 022/100] dt-bindings: nokia,smia: Make vana-supply optional
  2020-09-30 20:19 ` [RESEND PATCH 022/100] dt-bindings: nokia,smia: Make vana-supply optional Sakari Ailus
@ 2020-10-06 19:52   ` Rob Herring
  0 siblings, 0 replies; 15+ messages in thread
From: Rob Herring @ 2020-10-06 19:52 UTC (permalink / raw)
  To: Sakari Ailus; +Cc: linux-media, devicetree

On Wed, 30 Sep 2020 23:19:10 +0300, Sakari Ailus wrote:
> vana-supply is optional in the spec, therefore make it optional in
> bindings, too.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
>  Documentation/devicetree/bindings/media/i2c/nokia,smia.txt | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 

Acked-by: Rob Herring <robh@kernel.org>

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

* Re: [RESEND PATCH 020/100] dt-bindings: Add vendor prefix for MIPI Alliance
  2020-10-06 19:50   ` Rob Herring
@ 2020-10-06 19:52     ` Sakari Ailus
  0 siblings, 0 replies; 15+ messages in thread
From: Sakari Ailus @ 2020-10-06 19:52 UTC (permalink / raw)
  To: Rob Herring; +Cc: linux-media, devicetree

On Tue, Oct 06, 2020 at 02:50:10PM -0500, Rob Herring wrote:
> On Wed, Sep 30, 2020 at 11:19:08PM +0300, Sakari Ailus wrote:
> > Add a vendor prefix for MIPI Alliance, Inc.
> > 
> > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> > ---
> >  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
> >  1 file changed, 2 insertions(+)
> 
> I guess based on the irc discussion, this is withdrawn.

Correct. I'll send v2 with compatible ids without vendor prefix plus other
fixes soonish. Please thus ignore this version.

-- 
Sakari Ailus

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

* Re: [RESEND PATCH 023/100] dt-bindings: nokia,smia: Convert to YAML
  2020-09-30 20:19 ` [RESEND PATCH 023/100] dt-bindings: nokia,smia: Convert to YAML Sakari Ailus
@ 2020-10-06 19:58   ` Rob Herring
  2020-10-07  7:38     ` Sakari Ailus
  0 siblings, 1 reply; 15+ messages in thread
From: Rob Herring @ 2020-10-06 19:58 UTC (permalink / raw)
  To: Sakari Ailus; +Cc: linux-media, devicetree

On Wed, Sep 30, 2020 at 11:19:11PM +0300, Sakari Ailus wrote:
> Convert nokia,smia DT bindings to YAML.
> 
> Also add explicit license to bindings.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
>  .../bindings/media/i2c/nokia,smia.txt         |  68 --------
>  .../bindings/media/i2c/nokia,smia.yaml        | 147 ++++++++++++++++++
>  2 files changed, 147 insertions(+), 68 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
>  create mode 100644 Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml
> 
> diff --git a/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt b/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
> deleted file mode 100644
> index 5ea4f799877b..000000000000
> --- a/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
> +++ /dev/null
> @@ -1,68 +0,0 @@
> -SMIA/SMIA++ sensor
> -
> -SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
> -defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension
> -of that. These definitions are valid for both types of sensors.
> -
> -More detailed documentation can be found in
> -Documentation/devicetree/bindings/media/video-interfaces.txt .
> -
> -The device node should contain a "port" node which may contain one or more
> -endpoint nodes, in accordance with video interface bindings defined in
> -Documentation/devicetree/bindings/media/video-interfaces.txt .
> -
> -Mandatory properties
> ---------------------
> -
> -- compatible: "nokia,smia"
> -- reg: I2C address (0x10, or an alternative address)
> -- clocks: External clock to the sensor
> -- clock-frequency: Frequency of the external clock to the sensor
> -
> -
> -Optional properties
> --------------------
> -
> -- reset-gpios: XSHUTDOWN GPIO
> -- flash-leds: See ../video-interfaces.txt
> -- lens-focus: See ../video-interfaces.txt
> -- rotation: Integer property; valid values are 0 (sensor mounted upright)
> -	    and 180 (sensor mounted upside down). See
> -	    ../video-interfaces.txt .
> -- vana-supply: Analogue voltage supply (VANA), typically 2,8 volts (sensor
> -  dependent).
> -
> -
> -Endpoint node mandatory properties
> -----------------------------------
> -
> -- data-lanes: <1..n>
> -- link-frequencies: List of allowed data link frequencies. An array of
> -  64-bit elements.
> -
> -
> -Example
> --------
> -
> -&i2c2 {
> -	clock-frequency = <400000>;
> -
> -	camera-sensor@10 {
> -		compatible = "nokia,smia";
> -		reg = <0x10>;
> -		reset-gpios = <&gpio3 20 0>;
> -		vana-supply = <&vaux3>;
> -		clocks = <&omap3_isp 0>;
> -		clock-frequency = <9600000>;
> -		nokia,nvm-size = <512>; /* 8 * 64 */
> -		port {
> -			smiapp_ep: endpoint {
> -				data-lanes = <1 2>;
> -				remote-endpoint = <&csi2a_ep>;
> -				link-frequencies =
> -					/bits/ 64 <199200000 210000000
> -						   499200000>;
> -			};
> -		};
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml b/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml
> new file mode 100644
> index 000000000000..3d6f68b0e559
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml
> @@ -0,0 +1,147 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright (C) 2014--2020 Intel Corporation
> +
> +$id: http://devicetree.org/schemas/media/i2c/nokia,smia.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: SMIA/SMIA++ sensor
> +
> +maintainers:
> +  - Sakari Ailus <sakari.ailus@linux.intel.com>
> +
> +description:
> +
> +  SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
> +  defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension of
> +  that. These definitions are valid for both types of sensors.
> +
> +  More detailed documentation can be found in
> +  Documentation/devicetree/bindings/media/video-interfaces.txt .
> +
> +properties:
> +  compatible:
> +    const: nokia,smia
> +
> +  reg:
> +    maxItems: 1
> +
> +  vana-supply:
> +    description: Analogue voltage supply (VANA), typically 2,8 volts (sensor
> +      dependent).
> +    maxItems: 1
> +
> +  clocks:
> +    description: External clock to the sensor.
> +    maxItems: 1
> +
> +  clock-frequency:
> +    description: Frequency of the external clock to the sensor.
> +
> +  reset-gpios:
> +    description: Reset GPIO. Also commonly called XSHUTDOWN in hardware
> +      documentation.
> +    maxItems: 1
> +
> +  flash-leds:
> +    description: Flash LED phandles. See ../video-interfaces.txt for details.
> +
> +  lens-focus:
> +    description: Lens focus controller phandles. See ../video-interfaces.txt
> +      for details.
> +
> +  rotation:
> +    description: Rotation; either 0 or 180 degrees.

enum: [ 0, 180 ]

> +
> +  port:
> +    type: object
> +    properties:
> +      endpoint:
> +        type: object
> +        properties:
> +          link-frequencies:
> +            $ref: /schemas/types.yaml#/definitions/uint64-array
> +            description: List of allowed data link frequencies. An array of
> +              64-bit elements.

Just 'link-frequencies: true' unless you have some additional 
constraints.

> +          data-lanes:
> +            oneOf:
> +              - items:
> +                - const: 1
> +              - items:
> +                - const: 1
> +                - const: 2
> +              - items:
> +                - const: 1
> +                - const: 2
> +                - const: 3
> +              - items:
> +                - const: 1
> +                - const: 2
> +                - const: 3
> +                - const: 4
> +              - items:
> +                - const: 1
> +                - const: 2
> +                - const: 3
> +                - const: 4
> +                - const: 5
> +              - items:
> +                - const: 1
> +                - const: 2
> +                - const: 3
> +                - const: 4
> +                - const: 5
> +                - const: 6
> +              - items:
> +                - const: 1
> +                - const: 2
> +                - const: 3
> +                - const: 4
> +                - const: 5
> +                - const: 6
> +                - const: 7
> +              - items:
> +                - const: 1
> +                - const: 2
> +                - const: 3
> +                - const: 4
> +                - const: 5
> +                - const: 6
> +                - const: 7
> +                - const: 8

This all can be just the last 'items' plus:

minItems: 1
maxItems: 8


> +        required:
> +          - link-frequencies
> +          - data-lanes
> +
> +required:
> +  - compatible
> +  - reg
> +  - clock-frequency
> +  - clocks

additionalProperties: false

> +
> +examples:
> +  - |
> +    i2c2 {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        clock-frequency = <400000>;
> +
> +        camera-sensor@10 {
> +            compatible = "nokia,smia";
> +            reg = <0x10>;
> +            reset-gpios = <&gpio3 20 0>;
> +            vana-supply = <&vaux3>;
> +            clocks = <&omap3_isp 0>;
> +            clock-frequency = <9600000>;
> +            nokia,nvm-size = <512>; /* 8 * 64 */

Not documented.

> +            port {
> +                smiapp_ep: endpoint {
> +                    data-lanes = <1 2>;
> +                    remote-endpoint = <&csi2a_ep>;
> +                    link-frequencies = /bits/ 64 <199200000 210000000
> +                                                  499200000>;
> +                };
> +            };
> +        };
> +    };
> +...
> -- 
> 2.27.0
> 

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

* Re: [RESEND PATCH 024/100] dt-bindings: nokia,smia: Use better active polarity for reset
  2020-09-30 20:19 ` [RESEND PATCH 024/100] dt-bindings: nokia,smia: Use better active polarity for reset Sakari Ailus
@ 2020-10-06 19:58   ` Rob Herring
  0 siblings, 0 replies; 15+ messages in thread
From: Rob Herring @ 2020-10-06 19:58 UTC (permalink / raw)
  To: Sakari Ailus; +Cc: linux-media, devicetree

On Wed, 30 Sep 2020 23:19:12 +0300, Sakari Ailus wrote:
> Generally reset signal is active low on camera sensors. The example had it
> high. Make it low, and use GPIO_ACTIVE_LOW in gpio.h for that.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
>  Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 

Acked-by: Rob Herring <robh@kernel.org>

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

* Re: [RESEND PATCH 023/100] dt-bindings: nokia,smia: Convert to YAML
  2020-10-06 19:58   ` Rob Herring
@ 2020-10-07  7:38     ` Sakari Ailus
  0 siblings, 0 replies; 15+ messages in thread
From: Sakari Ailus @ 2020-10-07  7:38 UTC (permalink / raw)
  To: Rob Herring; +Cc: linux-media, devicetree

Hi Rob,

Thank you for the review.

On Tue, Oct 06, 2020 at 02:58:07PM -0500, Rob Herring wrote:
> On Wed, Sep 30, 2020 at 11:19:11PM +0300, Sakari Ailus wrote:
> > Convert nokia,smia DT bindings to YAML.
> > 
> > Also add explicit license to bindings.
> > 
> > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> > ---
> >  .../bindings/media/i2c/nokia,smia.txt         |  68 --------
> >  .../bindings/media/i2c/nokia,smia.yaml        | 147 ++++++++++++++++++
> >  2 files changed, 147 insertions(+), 68 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
> >  create mode 100644 Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt b/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
> > deleted file mode 100644
> > index 5ea4f799877b..000000000000
> > --- a/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
> > +++ /dev/null
> > @@ -1,68 +0,0 @@
> > -SMIA/SMIA++ sensor
> > -
> > -SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
> > -defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension
> > -of that. These definitions are valid for both types of sensors.
> > -
> > -More detailed documentation can be found in
> > -Documentation/devicetree/bindings/media/video-interfaces.txt .
> > -
> > -The device node should contain a "port" node which may contain one or more
> > -endpoint nodes, in accordance with video interface bindings defined in
> > -Documentation/devicetree/bindings/media/video-interfaces.txt .
> > -
> > -Mandatory properties
> > ---------------------
> > -
> > -- compatible: "nokia,smia"
> > -- reg: I2C address (0x10, or an alternative address)
> > -- clocks: External clock to the sensor
> > -- clock-frequency: Frequency of the external clock to the sensor
> > -
> > -
> > -Optional properties
> > --------------------
> > -
> > -- reset-gpios: XSHUTDOWN GPIO
> > -- flash-leds: See ../video-interfaces.txt
> > -- lens-focus: See ../video-interfaces.txt
> > -- rotation: Integer property; valid values are 0 (sensor mounted upright)
> > -	    and 180 (sensor mounted upside down). See
> > -	    ../video-interfaces.txt .
> > -- vana-supply: Analogue voltage supply (VANA), typically 2,8 volts (sensor
> > -  dependent).
> > -
> > -
> > -Endpoint node mandatory properties
> > -----------------------------------
> > -
> > -- data-lanes: <1..n>
> > -- link-frequencies: List of allowed data link frequencies. An array of
> > -  64-bit elements.
> > -
> > -
> > -Example
> > --------
> > -
> > -&i2c2 {
> > -	clock-frequency = <400000>;
> > -
> > -	camera-sensor@10 {
> > -		compatible = "nokia,smia";
> > -		reg = <0x10>;
> > -		reset-gpios = <&gpio3 20 0>;
> > -		vana-supply = <&vaux3>;
> > -		clocks = <&omap3_isp 0>;
> > -		clock-frequency = <9600000>;
> > -		nokia,nvm-size = <512>; /* 8 * 64 */
> > -		port {
> > -			smiapp_ep: endpoint {
> > -				data-lanes = <1 2>;
> > -				remote-endpoint = <&csi2a_ep>;
> > -				link-frequencies =
> > -					/bits/ 64 <199200000 210000000
> > -						   499200000>;
> > -			};
> > -		};
> > -	};
> > -};
> > diff --git a/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml b/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml
> > new file mode 100644
> > index 000000000000..3d6f68b0e559
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/media/i2c/nokia,smia.yaml
> > @@ -0,0 +1,147 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +# Copyright (C) 2014--2020 Intel Corporation
> > +
> > +$id: http://devicetree.org/schemas/media/i2c/nokia,smia.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: SMIA/SMIA++ sensor
> > +
> > +maintainers:
> > +  - Sakari Ailus <sakari.ailus@linux.intel.com>
> > +
> > +description:
> > +
> > +  SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
> > +  defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension of
> > +  that. These definitions are valid for both types of sensors.
> > +
> > +  More detailed documentation can be found in
> > +  Documentation/devicetree/bindings/media/video-interfaces.txt .
> > +
> > +properties:
> > +  compatible:
> > +    const: nokia,smia
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  vana-supply:
> > +    description: Analogue voltage supply (VANA), typically 2,8 volts (sensor
> > +      dependent).
> > +    maxItems: 1
> > +
> > +  clocks:
> > +    description: External clock to the sensor.
> > +    maxItems: 1
> > +
> > +  clock-frequency:
> > +    description: Frequency of the external clock to the sensor.
> > +
> > +  reset-gpios:
> > +    description: Reset GPIO. Also commonly called XSHUTDOWN in hardware
> > +      documentation.
> > +    maxItems: 1
> > +
> > +  flash-leds:
> > +    description: Flash LED phandles. See ../video-interfaces.txt for details.
> > +
> > +  lens-focus:
> > +    description: Lens focus controller phandles. See ../video-interfaces.txt
> > +      for details.
> > +
> > +  rotation:
> > +    description: Rotation; either 0 or 180 degrees.
> 
> enum: [ 0, 180 ]

Yes.

> 
> > +
> > +  port:
> > +    type: object
> > +    properties:
> > +      endpoint:
> > +        type: object
> > +        properties:
> > +          link-frequencies:
> > +            $ref: /schemas/types.yaml#/definitions/uint64-array
> > +            description: List of allowed data link frequencies. An array of
> > +              64-bit elements.
> 
> Just 'link-frequencies: true' unless you have some additional 
> constraints.

We don't have video-interfaces.yaml yet, so $ref is needed. But I think
mentioning it's a 64-bit element is redundant in the description so I
remove it.

> 
> > +          data-lanes:
> > +            oneOf:
> > +              - items:
> > +                - const: 1
> > +              - items:
> > +                - const: 1
> > +                - const: 2
> > +              - items:
> > +                - const: 1
> > +                - const: 2
> > +                - const: 3
> > +              - items:
> > +                - const: 1
> > +                - const: 2
> > +                - const: 3
> > +                - const: 4
> > +              - items:
> > +                - const: 1
> > +                - const: 2
> > +                - const: 3
> > +                - const: 4
> > +                - const: 5
> > +              - items:
> > +                - const: 1
> > +                - const: 2
> > +                - const: 3
> > +                - const: 4
> > +                - const: 5
> > +                - const: 6
> > +              - items:
> > +                - const: 1
> > +                - const: 2
> > +                - const: 3
> > +                - const: 4
> > +                - const: 5
> > +                - const: 6
> > +                - const: 7
> > +              - items:
> > +                - const: 1
> > +                - const: 2
> > +                - const: 3
> > +                - const: 4
> > +                - const: 5
> > +                - const: 6
> > +                - const: 7
> > +                - const: 8
> 
> This all can be just the last 'items' plus:
> 
> minItems: 1
> maxItems: 8

I'll use that in v2.

> 
> 
> > +        required:
> > +          - link-frequencies
> > +          - data-lanes
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - clock-frequency
> > +  - clocks
> 
> additionalProperties: false

Yes.

> 
> > +
> > +examples:
> > +  - |
> > +    i2c2 {
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;
> > +
> > +        clock-frequency = <400000>;
> > +
> > +        camera-sensor@10 {
> > +            compatible = "nokia,smia";
> > +            reg = <0x10>;
> > +            reset-gpios = <&gpio3 20 0>;
> > +            vana-supply = <&vaux3>;
> > +            clocks = <&omap3_isp 0>;
> > +            clock-frequency = <9600000>;
> > +            nokia,nvm-size = <512>; /* 8 * 64 */
> 
> Not documented.

I'll remove it before this patch in v2.

> 
> > +            port {
> > +                smiapp_ep: endpoint {
> > +                    data-lanes = <1 2>;
> > +                    remote-endpoint = <&csi2a_ep>;
> > +                    link-frequencies = /bits/ 64 <199200000 210000000
> > +                                                  499200000>;
> > +                };
> > +            };
> > +        };
> > +    };
> > +...

-- 
Kind regards,

Sakari Ailus

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

end of thread, other threads:[~2020-10-07  7:38 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-30 20:19 [RESEND PATCH 000/100] Linux CCS driver Sakari Ailus
2020-09-30 20:19 ` [RESEND PATCH 020/100] dt-bindings: Add vendor prefix for MIPI Alliance Sakari Ailus
2020-10-06 19:50   ` Rob Herring
2020-10-06 19:52     ` Sakari Ailus
2020-09-30 20:19 ` [RESEND PATCH 021/100] dt-bindings: nokia,smia: Fix link-frequencies documentation Sakari Ailus
2020-10-06 19:51   ` Rob Herring
2020-09-30 20:19 ` [RESEND PATCH 022/100] dt-bindings: nokia,smia: Make vana-supply optional Sakari Ailus
2020-10-06 19:52   ` Rob Herring
2020-09-30 20:19 ` [RESEND PATCH 023/100] dt-bindings: nokia,smia: Convert to YAML Sakari Ailus
2020-10-06 19:58   ` Rob Herring
2020-10-07  7:38     ` Sakari Ailus
2020-09-30 20:19 ` [RESEND PATCH 024/100] dt-bindings: nokia,smia: Use better active polarity for reset Sakari Ailus
2020-10-06 19:58   ` Rob Herring
2020-09-30 20:19 ` [RESEND PATCH 025/100] dt-bindings: nokia,smia: Amend SMIA bindings with MIPI CCS support Sakari Ailus
2020-09-30 20:19 ` [RESEND PATCH 026/100] dt-bindings: ccs: Add bus-type for C-PHY support Sakari Ailus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).