* [PATCH v3 1/2] media: dt-bindings: i2c: toshiba,et8ek8: Convert to DT schema
2025-12-25 21:03 [PATCH v3 0/2] Convert et8ek8 and omap3isp bindings to DT schema Alex Tran
@ 2025-12-25 21:03 ` Alex Tran
2025-12-30 8:17 ` Krzysztof Kozlowski
2025-12-25 21:03 ` [PATCH v3 2/2] media: dt-bindings: ti,omap3isp: " Alex Tran
1 sibling, 1 reply; 5+ messages in thread
From: Alex Tran @ 2025-12-25 21:03 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Pavel Machek, Sakari Ailus, Laurent Pinchart
Cc: Pavel Machek, linux-media, devicetree, linux-kernel, Alex Tran
Convert binding for toshiba,et8ek8 from TXT to YAML format.
Update MAINTAINERS file accordingly. The binding references
video-interface-devices.yaml at top level to inherit flash-leds
property.
Signed-off-by: Alex Tran <alex.t.tran@gmail.com>
---
.../bindings/media/i2c/toshiba,et8ek8.txt | 55 --------------
.../bindings/media/i2c/toshiba,et8ek8.yaml | 87 ++++++++++++++++++++++
MAINTAINERS | 1 +
3 files changed, 88 insertions(+), 55 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.txt b/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.txt
deleted file mode 100644
index 8d8e40c5687283d2f582895542cc9b765983d025..0000000000000000000000000000000000000000
--- a/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-Toshiba et8ek8 5MP sensor
-
-Toshiba et8ek8 5MP sensor is an image sensor found in Nokia N900 device
-
-More detailed documentation can be found in
-Documentation/devicetree/bindings/media/video-interfaces.txt .
-
-
-Mandatory properties
---------------------
-
-- compatible: "toshiba,et8ek8"
-- reg: I2C address (0x3e, or an alternative address)
-- vana-supply: Analogue voltage supply (VANA), 2.8 volts
-- clocks: External clock to the sensor
-- reset-gpios: XSHUTDOWN GPIO. The XSHUTDOWN signal is active low. The sensor
- is in hardware standby mode when the signal is in the low state.
-
-
-Optional properties
--------------------
-
-- flash-leds: See ../video-interfaces.txt
-- lens-focus: See ../video-interfaces.txt
-
-
-Endpoint node mandatory properties
-----------------------------------
-
-- remote-endpoint: A phandle to the bus receiver's endpoint node.
-
-
-Example
--------
-
-&i2c3 {
- clock-frequency = <400000>;
-
- cam1: camera@3e {
- compatible = "toshiba,et8ek8";
- reg = <0x3e>;
- vana-supply = <&vaux4>;
-
- clocks = <&isp 0>;
- assigned-clocks = <&isp 0>;
- assigned-clock-rates = <9600000>;
-
- reset-gpio = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
- port {
- csi_cam1: endpoint {
- remote-endpoint = <&csi_out1>;
- };
- };
- };
-};
diff --git a/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.yaml b/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f0186ae87de2d918f70ec6e0a48b46be9c5951b5
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.yaml
@@ -0,0 +1,87 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/toshiba,et8ek8.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Toshiba et8ek8 5MP sensor
+
+maintainers:
+ - Pavel Machek <pavel@ucw.cz>
+ - Sakari Ailus <sakari.ailus@iki.fi>
+
+description:
+ Toshiba et8ek8 5MP sensor is an image sensor found in Nokia N900 device
+
+allOf:
+ - $ref: /schemas/media/video-interface-devices.yaml#
+
+properties:
+ compatible:
+ const: toshiba,et8ek8
+
+ reg:
+ description:
+ I2C address (0x3e, or an alternative address)
+ maxItems: 1
+
+ vana-supply:
+ description:
+ Analogue voltage supply (VANA), 2.8 volts
+
+ clocks:
+ maxItems: 1
+
+ reset-gpios:
+ description:
+ XSHUTDOWN GPIO. The XSHUTDOWN signal is active low. The sensor
+ is in hardware standby mode when the signal is in the low state.
+ maxItems: 1
+
+ flash-leds:
+ maxItems: 1
+
+ port:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ additionalProperties: false
+
+ properties:
+ endpoint:
+ $ref: /schemas/media/video-interfaces.yaml#
+ unevaluatedProperties: false
+
+required:
+ - compatible
+ - reg
+ - vana-supply
+ - clocks
+ - reset-gpios
+ - port
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ camera@3e {
+ compatible = "toshiba,et8ek8";
+ reg = <0x3e>;
+ vana-supply = <&vaux4>;
+ clocks = <&isp 0>;
+ assigned-clocks = <&isp 0>;
+ assigned-clock-rates = <9600000>;
+ reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>;
+ flash-leds = <&led>;
+
+ port {
+ csi_cam1: endpoint {
+ remote-endpoint = <&csi_out1>;
+ };
+ };
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index dc731d37c8feeff25613c59fe9c929927dadaa7e..50722537d5483611eea3c8af6c68ae0ec5e4aee8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -18582,6 +18582,7 @@ M: Sakari Ailus <sakari.ailus@iki.fi>
L: linux-media@vger.kernel.org
S: Maintained
F: Documentation/devicetree/bindings/media/i2c/adi,ad5820.yaml
+F: Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.yaml
F: drivers/media/i2c/ad5820.c
F: drivers/media/i2c/et8ek8
--
2.51.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v3 2/2] media: dt-bindings: ti,omap3isp: Convert to DT schema
2025-12-25 21:03 [PATCH v3 0/2] Convert et8ek8 and omap3isp bindings to DT schema Alex Tran
2025-12-25 21:03 ` [PATCH v3 1/2] media: dt-bindings: i2c: toshiba,et8ek8: Convert " Alex Tran
@ 2025-12-25 21:03 ` Alex Tran
2025-12-27 11:23 ` Krzysztof Kozlowski
1 sibling, 1 reply; 5+ messages in thread
From: Alex Tran @ 2025-12-25 21:03 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Pavel Machek, Sakari Ailus, Laurent Pinchart
Cc: Pavel Machek, linux-media, devicetree, linux-kernel, Alex Tran
Convert binding for ti,omap3isp from TXT to YAML format.
Signed-off-by: Alex Tran <alex.t.tran@gmail.com>
---
.../devicetree/bindings/media/ti,omap3isp.txt | 71 --------
.../devicetree/bindings/media/ti,omap3isp.yaml | 189 +++++++++++++++++++++
2 files changed, 189 insertions(+), 71 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/ti,omap3isp.txt b/Documentation/devicetree/bindings/media/ti,omap3isp.txt
deleted file mode 100644
index ac23de8556412c52710f46c3ea015d2976c96dad..0000000000000000000000000000000000000000
--- a/Documentation/devicetree/bindings/media/ti,omap3isp.txt
+++ /dev/null
@@ -1,71 +0,0 @@
-OMAP 3 ISP Device Tree bindings
-===============================
-
-The DT definitions can be found in include/dt-bindings/media/omap3-isp.h.
-
-Required properties
-===================
-
-compatible : must contain "ti,omap3-isp"
-
-reg : the two registers sets (physical address and length) for the
- ISP. The first set contains the core ISP registers up to
- the end of the SBL block. The second set contains the
- CSI PHYs and receivers registers.
-interrupts : the ISP interrupt specifier
-iommus : phandle and IOMMU specifier for the IOMMU that serves the ISP
-syscon : the phandle and register offset to the Complex I/O or CSI-PHY
- register
-ti,phy-type : 0 -- OMAP3ISP_PHY_TYPE_COMPLEX_IO (e.g. 3430)
- 1 -- OMAP3ISP_PHY_TYPE_CSIPHY (e.g. 3630)
-#clock-cells : Must be 1 --- the ISP provides two external clocks,
- cam_xclka and cam_xclkb, at indices 0 and 1,
- respectively. Please find more information on common
- clock bindings in ../clock/clock-bindings.txt.
-
-Port nodes (optional)
----------------------
-
-More documentation on these bindings is available in
-video-interfaces.txt in the same directory.
-
-reg : The interface:
- 0 - parallel (CCDC)
- 1 - CSIPHY1 -- CSI2C / CCP2B on 3630;
- CSI1 -- CSIb on 3430
- 2 - CSIPHY2 -- CSI2A / CCP2B on 3630;
- CSI2 -- CSIa on 3430
-
-Optional properties
-===================
-
-vdd-csiphy1-supply : voltage supply of the CSI-2 PHY 1
-vdd-csiphy2-supply : voltage supply of the CSI-2 PHY 2
-
-Endpoint nodes
---------------
-
-lane-polarities : lane polarity (required on CSI-2)
- 0 -- not inverted; 1 -- inverted
-data-lanes : an array of data lanes from 1 to 3. The length can
- be either 1 or 2. (required on CSI-2)
-clock-lanes : the clock lane (from 1 to 3). (required on CSI-2)
-
-
-Example
-=======
-
- isp@480bc000 {
- compatible = "ti,omap3-isp";
- reg = <0x480bc000 0x12fc
- 0x480bd800 0x0600>;
- interrupts = <24>;
- iommus = <&mmu_isp>;
- syscon = <&scm_conf 0x2f0>;
- ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>;
- #clock-cells = <1>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- };
- };
diff --git a/Documentation/devicetree/bindings/media/ti,omap3isp.yaml b/Documentation/devicetree/bindings/media/ti,omap3isp.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7155fd3db505ec577b03df537f4dfa92ce784094
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/ti,omap3isp.yaml
@@ -0,0 +1,189 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/ti,omap3isp.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments OMAP 3 Image Signal Processor (ISP)
+
+maintainers:
+ - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+ - Sakari Ailus <sakari.ailus@iki.fi>
+
+description:
+ The OMAP 3 ISP is an image signal processor present in OMAP 3 SoCs.
+
+properties:
+ compatible:
+ const: ti,omap3-isp
+
+ reg:
+ items:
+ - description: Core ISP registers up to the end of the SBL block
+ - description: CSI PHYs and receivers registers
+
+ interrupts:
+ maxItems: 1
+
+ iommus:
+ maxItems: 1
+
+ syscon:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ items:
+ - items:
+ - description: phandle to System Control Module
+ - description: register offset to Complex I/O or CSI-PHY register
+ description:
+ Phandle and register offset to the Complex I/O or CSI-PHY register
+
+ ti,phy-type:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum: [0, 1]
+ description:
+ 0 - OMAP3ISP_PHY_TYPE_COMPLEX_IO (e.g. OMAP 3430)
+ 1 - OMAP3ISP_PHY_TYPE_CSIPHY (e.g. OMAP 3630)
+
+ '#clock-cells':
+ const: 1
+ description:
+ The ISP provides two external clocks, cam_xclka and cam_xclkb,
+ at indices 0 and 1 respectively.
+
+ vdd-csiphy1-supply:
+ description: Voltage supply of the CSI-2 PHY 1
+
+ vdd-csiphy2-supply:
+ description: Voltage supply of the CSI-2 PHY 2
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description: Parallel (CCDC) interface
+
+ properties:
+ endpoint:
+ $ref: /schemas/media/video-interfaces.yaml#
+ unevaluatedProperties: false
+
+ port@1:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description: |
+ CSIPHY1 interface:
+ OMAP 3630: CSI2C / CCP2B
+ OMAP 3430: CSI1 (CSIb)
+
+ properties:
+ endpoint:
+ $ref: /schemas/media/video-interfaces.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ lane-polarities:
+ minItems: 2
+ maxItems: 3
+
+ data-lanes:
+ minItems: 1
+ maxItems: 2
+ items:
+ minimum: 1
+ maximum: 3
+
+ clock-lanes:
+ minimum: 1
+ maximum: 3
+
+ port@2:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description: |
+ CSIPHY2 interface:
+ OMAP 3630: CSI2A / CCP2B
+ OMAP 3430: CSI2 (CSIa)
+
+ properties:
+ endpoint:
+ $ref: /schemas/media/video-interfaces.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ lane-polarities:
+ minItems: 2
+ maxItems: 3
+
+ data-lanes:
+ minItems: 1
+ maxItems: 2
+ items:
+ minimum: 1
+ maximum: 3
+
+ clock-lanes:
+ minimum: 1
+ maximum: 3
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - iommus
+ - syscon
+ - ti,phy-type
+ - '#clock-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/media/omap3-isp.h>
+
+ isp@480bc000 {
+ compatible = "ti,omap3-isp";
+ reg = <0x480bc000 0x12fc>,
+ <0x480bd800 0x0600>;
+ interrupts = <24>;
+ iommus = <&mmu_isp>;
+ syscon = <&scm_conf 0x2f0>;
+ ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>;
+ #clock-cells = <1>;
+ vdd-csiphy1-supply = <&vaux2>;
+ vdd-csiphy2-supply = <&vaux2>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ parallel_ep: endpoint {
+ remote-endpoint = <¶llel>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ csi1_ep: endpoint {
+ remote-endpoint = <&smia_1>;
+ clock-lanes = <1>;
+ data-lanes = <2>;
+ lane-polarities = <0 0>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ csi2a_ep: endpoint {
+ remote-endpoint = <&smia_2>;
+ clock-lanes = <2>;
+ data-lanes = <1 3>;
+ lane-polarities = <1 1 1>;
+ };
+ };
+ };
+ };
--
2.51.0
^ permalink raw reply related [flat|nested] 5+ messages in thread