* [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).