From: Michael Riesch <michael.riesch@wolfvision.net>
Add documentation for the Rockchip RK3568 MIPI CSI-2 Receiver.
Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
Signed-off-by: Michael Riesch <michael.riesch@collabora.com>
---
.../bindings/media/rockchip,rk3568-mipi-csi.yaml | 113 +++++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 114 insertions(+)
diff --git a/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi.yaml b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi.yaml
new file mode 100644
index 000000000000..d5004cb288dd
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi.yaml
@@ -0,0 +1,113 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/rockchip,rk3568-mipi-csi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Rockchip RK3568 MIPI CSI-2 Receiver
+
+maintainers:
+ - Michael Riesch <michael.riesch@collabora.com>
+
+description:
+ The Rockchip RK3568 MIPI CSI-2 Receiver is a CSI-2 bridge with one input port
+ and one output port. It receives the data with the help of an external
+ MIPI PHY (C-PHY or D-PHY) and passes it to the Rockchip RK3568 Video Capture
+ (VICAP) block.
+
+properties:
+ compatible:
+ const: rockchip,rk3568-mipi-csi
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ phys:
+ maxItems: 1
+ description: MIPI C-PHY or D-PHY.
+
+ power-domains:
+ maxItems: 1
+
+ resets:
+ maxItems: 1
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description: Input port node. Connect to e.g., a MIPI CSI-2 image sensor.
+
+ properties:
+ endpoint:
+ $ref: video-interfaces.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ bus-type:
+ enum: [1, 4]
+
+ required:
+ - bus-type
+
+ port@1:
+ $ref: /schemas/graph.yaml#/properties/port
+ description: Output port connected to a RK3568 VICAP port.
+
+ required:
+ - port@0
+ - port@1
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - phys
+ - phy-names
+ - ports
+ - power-domains
+ - resets
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/rk3568-cru.h>
+ #include <dt-bindings/power/rk3568-power.h>
+
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ csi: csi@fdfb0000 {
+ compatible = "rockchip,rk3568-mipi-csi";
+ reg = <0x0 0xfdfb0000 0x0 0x10000>;
+ clocks = <&cru PCLK_CSI2HOST1>;
+ phys = <&csi_dphy>;
+ power-domains = <&power RK3568_PD_VI>;
+ resets = <&cru SRST_P_CSI2HOST1>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ csi_in: port@0 {
+ reg = <0>;
+ };
+
+ csi_out: port@1 {
+ reg = <1>;
+
+ csi_output: endpoint {
+ remote-endpoint = <&vicap_mipi_input>;
+ };
+ };
+ };
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 99a29a905cae..e993ef6f8771 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -20866,6 +20866,7 @@ L: linux-media@vger.kernel.org
S: Maintained
F: Documentation/admin-guide/media/rkcif*
F: Documentation/devicetree/bindings/media/rockchip,px30-vip.yaml
+F: Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi.yaml
F: Documentation/devicetree/bindings/media/rockchip,rk3568-vicap.yaml
ROCKCHIP CRYPTO DRIVERS
--
2.39.5
Hi Michael,
thank you for the patch!
On Wed, Apr 30, 2025 at 11:15:54AM +0200, Michael Riesch via B4 Relay wrote:
> From: Michael Riesch <michael.riesch@wolfvision.net>
>
> Add documentation for the Rockchip RK3568 MIPI CSI-2 Receiver.
>
> Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
> Signed-off-by: Michael Riesch <michael.riesch@collabora.com>
> ---
> .../bindings/media/rockchip,rk3568-mipi-csi.yaml | 113 +++++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 114 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi.yaml b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi.yaml
> new file mode 100644
> index 000000000000..d5004cb288dd
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi.yaml
> @@ -0,0 +1,113 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/rockchip,rk3568-mipi-csi.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Rockchip RK3568 MIPI CSI-2 Receiver
> +
> +maintainers:
> + - Michael Riesch <michael.riesch@collabora.com>
> +
> +description:
> + The Rockchip RK3568 MIPI CSI-2 Receiver is a CSI-2 bridge with one input port
> + and one output port. It receives the data with the help of an external
> + MIPI PHY (C-PHY or D-PHY) and passes it to the Rockchip RK3568 Video Capture
> + (VICAP) block.
> +
> +properties:
> + compatible:
> + const: rockchip,rk3568-mipi-csi
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + phys:
> + maxItems: 1
> + description: MIPI C-PHY or D-PHY.
> +
> + power-domains:
> + maxItems: 1
> +
> + resets:
> + maxItems: 1
> +
> + ports:
> + $ref: /schemas/graph.yaml#/properties/ports
> +
> + properties:
> + port@0:
> + $ref: /schemas/graph.yaml#/$defs/port-base
> + unevaluatedProperties: false
> + description: Input port node. Connect to e.g., a MIPI CSI-2 image sensor.
> +
> + properties:
> + endpoint:
> + $ref: video-interfaces.yaml#
> + unevaluatedProperties: false
> +
> + properties:
> + bus-type:
> + enum: [1, 4]
shouldn't you add data-lanes property here ?
data-lanes:
minItems: 1
maxItems: 4
> +
> + required:
> + - bus-type
and add it to required:
- data-lanes
you are actually checking for data-lanes when you enable the stream in:
rkcif-mipi-csi-receiver.c +226
u32 lanes = csi_dev->vep.bus.mipi_csi2.num_data_lanes;
if (lanes < 1 || lanes > 4)
return -EINVAL;
> +
> + port@1:
> + $ref: /schemas/graph.yaml#/properties/port
> + description: Output port connected to a RK3568 VICAP port.
> +
> + required:
> + - port@0
> + - port@1
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - phys
> + - phy-names
> + - ports
> + - power-domains
> + - resets
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/rk3568-cru.h>
> + #include <dt-bindings/power/rk3568-power.h>
> +
> + soc {
> + #address-cells = <2>;
> + #size-cells = <2>;
> +
> + csi: csi@fdfb0000 {
> + compatible = "rockchip,rk3568-mipi-csi";
> + reg = <0x0 0xfdfb0000 0x0 0x10000>;
> + clocks = <&cru PCLK_CSI2HOST1>;
> + phys = <&csi_dphy>;
> + power-domains = <&power RK3568_PD_VI>;
> + resets = <&cru SRST_P_CSI2HOST1>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + csi_in: port@0 {
> + reg = <0>;
> + };
> +
> + csi_out: port@1 {
> + reg = <1>;
> +
> + csi_output: endpoint {
> + remote-endpoint = <&vicap_mipi_input>;
> + };
> + };
> + };
> + };
> + };
--
Kind Regards
Mehdi Djait
Hi Mehdi,
On 5/6/25 14:09, Mehdi Djait wrote:
> Hi Michael,
>
> thank you for the patch!
>
> On Wed, Apr 30, 2025 at 11:15:54AM +0200, Michael Riesch via B4 Relay wrote:
>> From: Michael Riesch <michael.riesch@wolfvision.net>
>>
>> Add documentation for the Rockchip RK3568 MIPI CSI-2 Receiver.
>>
>> Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
>> Signed-off-by: Michael Riesch <michael.riesch@collabora.com>
>> ---
>> .../bindings/media/rockchip,rk3568-mipi-csi.yaml | 113 +++++++++++++++++++++
>> MAINTAINERS | 1 +
>> 2 files changed, 114 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi.yaml b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi.yaml
>> new file mode 100644
>> index 000000000000..d5004cb288dd
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi.yaml
>> @@ -0,0 +1,113 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/media/rockchip,rk3568-mipi-csi.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Rockchip RK3568 MIPI CSI-2 Receiver
>> +
>> +maintainers:
>> + - Michael Riesch <michael.riesch@collabora.com>
>> +
>> +description:
>> + The Rockchip RK3568 MIPI CSI-2 Receiver is a CSI-2 bridge with one input port
>> + and one output port. It receives the data with the help of an external
>> + MIPI PHY (C-PHY or D-PHY) and passes it to the Rockchip RK3568 Video Capture
>> + (VICAP) block.
>> +
>> +properties:
>> + compatible:
>> + const: rockchip,rk3568-mipi-csi
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + clocks:
>> + maxItems: 1
>> +
>> + phys:
>> + maxItems: 1
>> + description: MIPI C-PHY or D-PHY.
>> +
>> + power-domains:
>> + maxItems: 1
>> +
>> + resets:
>> + maxItems: 1
>> +
>> + ports:
>> + $ref: /schemas/graph.yaml#/properties/ports
>> +
>> + properties:
>> + port@0:
>> + $ref: /schemas/graph.yaml#/$defs/port-base
>> + unevaluatedProperties: false
>> + description: Input port node. Connect to e.g., a MIPI CSI-2 image sensor.
>> +
>> + properties:
>> + endpoint:
>> + $ref: video-interfaces.yaml#
>> + unevaluatedProperties: false
>> +
>> + properties:
>> + bus-type:
>> + enum: [1, 4]
>
> shouldn't you add data-lanes property here ?
Yes, makes sense.
Thanks for pointing it out -- will be in v7.
Best regards,
Michael
>
> data-lanes:
> minItems: 1
> maxItems: 4
>> +
>> + required:
>> + - bus-type
>
> and add it to required:
> - data-lanes
>
> you are actually checking for data-lanes when you enable the stream in:
>
> rkcif-mipi-csi-receiver.c +226
>
> u32 lanes = csi_dev->vep.bus.mipi_csi2.num_data_lanes;
>
> if (lanes < 1 || lanes > 4)
> return -EINVAL;
>
>> +
>> + port@1:
>> + $ref: /schemas/graph.yaml#/properties/port
>> + description: Output port connected to a RK3568 VICAP port.
>> +
>> + required:
>> + - port@0
>> + - port@1
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - clocks
>> + - phys
>> + - phy-names
>> + - ports
>> + - power-domains
>> + - resets
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/clock/rk3568-cru.h>
>> + #include <dt-bindings/power/rk3568-power.h>
>> +
>> + soc {
>> + #address-cells = <2>;
>> + #size-cells = <2>;
>> +
>> + csi: csi@fdfb0000 {
>> + compatible = "rockchip,rk3568-mipi-csi";
>> + reg = <0x0 0xfdfb0000 0x0 0x10000>;
>> + clocks = <&cru PCLK_CSI2HOST1>;
>> + phys = <&csi_dphy>;
>> + power-domains = <&power RK3568_PD_VI>;
>> + resets = <&cru SRST_P_CSI2HOST1>;
>> +
>> + ports {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + csi_in: port@0 {
>> + reg = <0>;
>> + };
>> +
>> + csi_out: port@1 {
>> + reg = <1>;
>> +
>> + csi_output: endpoint {
>> + remote-endpoint = <&vicap_mipi_input>;
>> + };
>> + };
>> + };
>> + };
>> + };
>
> --
> Kind Regards
> Mehdi Djait
On Wed, 30 Apr 2025 11:15:54 +0200, Michael Riesch wrote: > From: Michael Riesch <michael.riesch@wolfvision.net> > > Add documentation for the Rockchip RK3568 MIPI CSI-2 Receiver. > > Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net> > Signed-off-by: Michael Riesch <michael.riesch@collabora.com> > --- > .../bindings/media/rockchip,rk3568-mipi-csi.yaml | 113 +++++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 114 insertions(+) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi.example.dtb: csi@fdfb0000 (rockchip,rk3568-mipi-csi): 'phy-names' is a required property from schema $id: http://devicetree.org/schemas/media/rockchip,rk3568-mipi-csi.yaml# doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240220-rk3568-vicap-v6-5-d2f5fbee1551@collabora.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
© 2016 - 2025 Red Hat, Inc.