* [PATCH v3 04/23] dt-bindings: media: Binding document for Qualcomm Camera subsystem driver
[not found] <1500287629-23703-1-git-send-email-todor.tomov@linaro.org>
@ 2017-07-17 10:33 ` Todor Tomov
2017-07-20 10:13 ` Sakari Ailus
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Todor Tomov @ 2017-07-17 10:33 UTC (permalink / raw)
To: mchehab, hans.verkuil, javier, s.nawrocki, sakari.ailus,
linux-media, linux-kernel, linux-arm-msm
Cc: Todor Tomov, Rob Herring, devicetree
Add DT binding document for Qualcomm Camera subsystem driver.
CC: Rob Herring <robh+dt@kernel.org>
CC: devicetree@vger.kernel.org
Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
---
.../devicetree/bindings/media/qcom,camss.txt | 191 +++++++++++++++++++++
1 file changed, 191 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/qcom,camss.txt
diff --git a/Documentation/devicetree/bindings/media/qcom,camss.txt b/Documentation/devicetree/bindings/media/qcom,camss.txt
new file mode 100644
index 0000000..f698498
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/qcom,camss.txt
@@ -0,0 +1,191 @@
+Qualcomm Camera Subsystem
+
+* Properties
+
+- compatible:
+ Usage: required
+ Value type: <stringlist>
+ Definition: Should contain:
+ - "qcom,msm8916-camss"
+- reg:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: Register ranges as listed in the reg-names property.
+- reg-names:
+ Usage: required
+ Value type: <stringlist>
+ Definition: Should contain the following entries:
+ - "csiphy0"
+ - "csiphy0_clk_mux"
+ - "csiphy1"
+ - "csiphy1_clk_mux"
+ - "csid0"
+ - "csid1"
+ - "ispif"
+ - "csi_clk_mux"
+ - "vfe0"
+- interrupts:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: Interrupts as listed in the interrupt-names property.
+- interrupt-names:
+ Usage: required
+ Value type: <stringlist>
+ Definition: Should contain the following entries:
+ - "csiphy0"
+ - "csiphy1"
+ - "csid0"
+ - "csid1"
+ - "ispif"
+ - "vfe0"
+- power-domains:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A phandle and power domain specifier pairs to the
+ power domain which is responsible for collapsing
+ and restoring power to the peripheral.
+- clocks:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A list of phandle and clock specifier pairs as listed
+ in clock-names property.
+- clock-names:
+ Usage: required
+ Value type: <stringlist>
+ Definition: Should contain the following entries:
+ - "camss_top_ahb"
+ - "ispif_ahb"
+ - "csiphy0_timer"
+ - "csiphy1_timer"
+ - "csi0_ahb"
+ - "csi0"
+ - "csi0_phy"
+ - "csi0_pix"
+ - "csi0_rdi"
+ - "csi1_ahb"
+ - "csi1"
+ - "csi1_phy"
+ - "csi1_pix"
+ - "csi1_rdi"
+ - "camss_ahb"
+ - "camss_vfe_vfe"
+ - "camss_csi_vfe"
+ - "iface"
+ - "bus"
+- vdda-supply:
+ Usage: required
+ Value type: <phandle>
+ Definition: A phandle to voltage supply for CSI2.
+- iommus:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: A list of phandle and IOMMU specifier pairs.
+
+* Nodes
+
+- ports:
+ Usage: required
+ Definition: As described in video-interfaces.txt in same directory.
+ Properties:
+ - reg:
+ Usage: required
+ Value type: <u32>
+ Definition: Selects CSI2 PHY interface - PHY0 or PHY1.
+ Endpoint node properties:
+ - clock-lanes:
+ Usage: required
+ Value type: <u32>
+ Definition: The clock lane.
+ - data-lanes:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: An array of data lanes.
+
+* An Example
+
+ camss: camss@1b00000 {
+ compatible = "qcom,msm8916-camss";
+ reg = <0x1b0ac00 0x200>,
+ <0x1b00030 0x4>,
+ <0x1b0b000 0x200>,
+ <0x1b00038 0x4>,
+ <0x1b08000 0x100>,
+ <0x1b08400 0x100>,
+ <0x1b0a000 0x500>,
+ <0x1b00020 0x10>,
+ <0x1b10000 0x1000>;
+ reg-names = "csiphy0",
+ "csiphy0_clk_mux",
+ "csiphy1",
+ "csiphy1_clk_mux",
+ "csid0",
+ "csid1",
+ "ispif",
+ "csi_clk_mux",
+ "vfe0";
+ interrupts = <GIC_SPI 78 0>,
+ <GIC_SPI 79 0>,
+ <GIC_SPI 51 0>,
+ <GIC_SPI 52 0>,
+ <GIC_SPI 55 0>,
+ <GIC_SPI 57 0>;
+ interrupt-names = "csiphy0",
+ "csiphy1",
+ "csid0",
+ "csid1",
+ "ispif",
+ "vfe0";
+ power-domains = <&gcc VFE_GDSC>;
+ clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
+ <&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
+ <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>,
+ <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>,
+ <&gcc GCC_CAMSS_CSI0_AHB_CLK>,
+ <&gcc GCC_CAMSS_CSI0_CLK>,
+ <&gcc GCC_CAMSS_CSI0PHY_CLK>,
+ <&gcc GCC_CAMSS_CSI0PIX_CLK>,
+ <&gcc GCC_CAMSS_CSI0RDI_CLK>,
+ <&gcc GCC_CAMSS_CSI1_AHB_CLK>,
+ <&gcc GCC_CAMSS_CSI1_CLK>,
+ <&gcc GCC_CAMSS_CSI1PHY_CLK>,
+ <&gcc GCC_CAMSS_CSI1PIX_CLK>,
+ <&gcc GCC_CAMSS_CSI1RDI_CLK>,
+ <&gcc GCC_CAMSS_AHB_CLK>,
+ <&gcc GCC_CAMSS_VFE0_CLK>,
+ <&gcc GCC_CAMSS_CSI_VFE0_CLK>,
+ <&gcc GCC_CAMSS_VFE_AHB_CLK>,
+ <&gcc GCC_CAMSS_VFE_AXI_CLK>;
+ clock-names = "camss_top_ahb",
+ "ispif_ahb",
+ "csiphy0_timer",
+ "csiphy1_timer",
+ "csi0_ahb",
+ "csi0",
+ "csi0_phy",
+ "csi0_pix",
+ "csi0_rdi",
+ "csi1_ahb",
+ "csi1",
+ "csi1_phy",
+ "csi1_pix",
+ "csi1_rdi",
+ "camss_ahb",
+ "camss_vfe_vfe",
+ "camss_csi_vfe",
+ "iface",
+ "bus";
+ vdda-supply = <&pm8916_l2>;
+ iommus = <&apps_iommu 3>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ csiphy0_ep: endpoint {
+ clock-lanes = <1>;
+ data-lanes = <0 2>;
+ remote-endpoint = <&ov5645_ep>;
+ };
+ };
+ };
+ };
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v3 04/23] dt-bindings: media: Binding document for Qualcomm Camera subsystem driver
2017-07-17 10:33 ` [PATCH v3 04/23] dt-bindings: media: Binding document for Qualcomm Camera subsystem driver Todor Tomov
@ 2017-07-20 10:13 ` Sakari Ailus
[not found] ` <20170720101345.eovx5ovuxr7sqpea-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-07-20 10:15 ` Sakari Ailus
2017-07-24 16:43 ` Rob Herring
2 siblings, 1 reply; 6+ messages in thread
From: Sakari Ailus @ 2017-07-20 10:13 UTC (permalink / raw)
To: Todor Tomov
Cc: mchehab, hans.verkuil, javier, s.nawrocki, linux-media,
linux-kernel, linux-arm-msm, Rob Herring, devicetree
Hi Todor,
On Mon, Jul 17, 2017 at 01:33:30PM +0300, Todor Tomov wrote:
> Add DT binding document for Qualcomm Camera subsystem driver.
>
> CC: Rob Herring <robh+dt@kernel.org>
> CC: devicetree@vger.kernel.org
> Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
> ---
> .../devicetree/bindings/media/qcom,camss.txt | 191 +++++++++++++++++++++
> 1 file changed, 191 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/qcom,camss.txt
>
> diff --git a/Documentation/devicetree/bindings/media/qcom,camss.txt b/Documentation/devicetree/bindings/media/qcom,camss.txt
> new file mode 100644
> index 0000000..f698498
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/qcom,camss.txt
> @@ -0,0 +1,191 @@
> +Qualcomm Camera Subsystem
> +
> +* Properties
> +
> +- compatible:
> + Usage: required
> + Value type: <stringlist>
> + Definition: Should contain:
> + - "qcom,msm8916-camss"
> +- reg:
> + Usage: required
> + Value type: <prop-encoded-array>
> + Definition: Register ranges as listed in the reg-names property.
> +- reg-names:
> + Usage: required
> + Value type: <stringlist>
> + Definition: Should contain the following entries:
> + - "csiphy0"
> + - "csiphy0_clk_mux"
> + - "csiphy1"
> + - "csiphy1_clk_mux"
> + - "csid0"
> + - "csid1"
> + - "ispif"
> + - "csi_clk_mux"
> + - "vfe0"
> +- interrupts:
> + Usage: required
> + Value type: <prop-encoded-array>
> + Definition: Interrupts as listed in the interrupt-names property.
> +- interrupt-names:
> + Usage: required
> + Value type: <stringlist>
> + Definition: Should contain the following entries:
> + - "csiphy0"
> + - "csiphy1"
> + - "csid0"
> + - "csid1"
> + - "ispif"
> + - "vfe0"
> +- power-domains:
> + Usage: required
> + Value type: <prop-encoded-array>
> + Definition: A phandle and power domain specifier pairs to the
> + power domain which is responsible for collapsing
> + and restoring power to the peripheral.
> +- clocks:
> + Usage: required
> + Value type: <prop-encoded-array>
> + Definition: A list of phandle and clock specifier pairs as listed
> + in clock-names property.
> +- clock-names:
> + Usage: required
> + Value type: <stringlist>
> + Definition: Should contain the following entries:
> + - "camss_top_ahb"
> + - "ispif_ahb"
> + - "csiphy0_timer"
> + - "csiphy1_timer"
> + - "csi0_ahb"
> + - "csi0"
> + - "csi0_phy"
> + - "csi0_pix"
> + - "csi0_rdi"
> + - "csi1_ahb"
> + - "csi1"
> + - "csi1_phy"
> + - "csi1_pix"
> + - "csi1_rdi"
> + - "camss_ahb"
> + - "camss_vfe_vfe"
> + - "camss_csi_vfe"
> + - "iface"
> + - "bus"
> +- vdda-supply:
> + Usage: required
> + Value type: <phandle>
> + Definition: A phandle to voltage supply for CSI2.
> +- iommus:
> + Usage: required
> + Value type: <prop-encoded-array>
> + Definition: A list of phandle and IOMMU specifier pairs.
> +
> +* Nodes
> +
> +- ports:
> + Usage: required
> + Definition: As described in video-interfaces.txt in same directory.
> + Properties:
> + - reg:
> + Usage: required
> + Value type: <u32>
> + Definition: Selects CSI2 PHY interface - PHY0 or PHY1.
> + Endpoint node properties:
> + - clock-lanes:
> + Usage: required
> + Value type: <u32>
> + Definition: The clock lane.
> + - data-lanes:
> + Usage: required
> + Value type: <prop-encoded-array>
> + Definition: An array of data lanes.
> +
> +* An Example
> +
> + camss: camss@1b00000 {
> + compatible = "qcom,msm8916-camss";
> + reg = <0x1b0ac00 0x200>,
> + <0x1b00030 0x4>,
> + <0x1b0b000 0x200>,
> + <0x1b00038 0x4>,
> + <0x1b08000 0x100>,
> + <0x1b08400 0x100>,
> + <0x1b0a000 0x500>,
> + <0x1b00020 0x10>,
> + <0x1b10000 0x1000>;
> + reg-names = "csiphy0",
> + "csiphy0_clk_mux",
> + "csiphy1",
> + "csiphy1_clk_mux",
> + "csid0",
> + "csid1",
> + "ispif",
> + "csi_clk_mux",
> + "vfe0";
> + interrupts = <GIC_SPI 78 0>,
> + <GIC_SPI 79 0>,
> + <GIC_SPI 51 0>,
> + <GIC_SPI 52 0>,
> + <GIC_SPI 55 0>,
> + <GIC_SPI 57 0>;
> + interrupt-names = "csiphy0",
> + "csiphy1",
> + "csid0",
> + "csid1",
> + "ispif",
> + "vfe0";
> + power-domains = <&gcc VFE_GDSC>;
> + clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
> + <&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
> + <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>,
> + <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>,
> + <&gcc GCC_CAMSS_CSI0_AHB_CLK>,
> + <&gcc GCC_CAMSS_CSI0_CLK>,
> + <&gcc GCC_CAMSS_CSI0PHY_CLK>,
> + <&gcc GCC_CAMSS_CSI0PIX_CLK>,
> + <&gcc GCC_CAMSS_CSI0RDI_CLK>,
> + <&gcc GCC_CAMSS_CSI1_AHB_CLK>,
> + <&gcc GCC_CAMSS_CSI1_CLK>,
> + <&gcc GCC_CAMSS_CSI1PHY_CLK>,
> + <&gcc GCC_CAMSS_CSI1PIX_CLK>,
> + <&gcc GCC_CAMSS_CSI1RDI_CLK>,
> + <&gcc GCC_CAMSS_AHB_CLK>,
> + <&gcc GCC_CAMSS_VFE0_CLK>,
> + <&gcc GCC_CAMSS_CSI_VFE0_CLK>,
> + <&gcc GCC_CAMSS_VFE_AHB_CLK>,
> + <&gcc GCC_CAMSS_VFE_AXI_CLK>;
> + clock-names = "camss_top_ahb",
> + "ispif_ahb",
> + "csiphy0_timer",
> + "csiphy1_timer",
> + "csi0_ahb",
> + "csi0",
> + "csi0_phy",
> + "csi0_pix",
> + "csi0_rdi",
> + "csi1_ahb",
> + "csi1",
> + "csi1_phy",
> + "csi1_pix",
> + "csi1_rdi",
> + "camss_ahb",
> + "camss_vfe_vfe",
> + "camss_csi_vfe",
> + "iface",
> + "bus";
> + vdda-supply = <&pm8916_l2>;
> + iommus = <&apps_iommu 3>;
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + port@0 {
> + reg = <0>;
> + csiphy0_ep: endpoint {
> + clock-lanes = <1>;
> + data-lanes = <0 2>;
Do you support lane mapping? The values suggest "yes". That's something I
could improve in the documentation: if lane mapping isn't supported, then
the clock lane should be 0 and the data lanes from 1 to n.
Is the split of the lanes between the ports static and specific to the
hardware?
> + remote-endpoint = <&ov5645_ep>;
> + };
> + };
> + };
> + };
--
Regards,
Sakari Ailus
e-mail: sakari.ailus@iki.fi XMPP: sailus@retiisi.org.uk
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 04/23] dt-bindings: media: Binding document for Qualcomm Camera subsystem driver
2017-07-17 10:33 ` [PATCH v3 04/23] dt-bindings: media: Binding document for Qualcomm Camera subsystem driver Todor Tomov
2017-07-20 10:13 ` Sakari Ailus
@ 2017-07-20 10:15 ` Sakari Ailus
2017-07-24 16:43 ` Rob Herring
2 siblings, 0 replies; 6+ messages in thread
From: Sakari Ailus @ 2017-07-20 10:15 UTC (permalink / raw)
To: Todor Tomov
Cc: mchehab, hans.verkuil, javier, s.nawrocki, linux-media,
linux-kernel, linux-arm-msm, Rob Herring, devicetree
On Mon, Jul 17, 2017 at 01:33:30PM +0300, Todor Tomov wrote:
> Add DT binding document for Qualcomm Camera subsystem driver.
>
> CC: Rob Herring <robh+dt@kernel.org>
> CC: devicetree@vger.kernel.org
> Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
> ---
> .../devicetree/bindings/media/qcom,camss.txt | 191 +++++++++++++++++++++
> 1 file changed, 191 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/qcom,camss.txt
>
> diff --git a/Documentation/devicetree/bindings/media/qcom,camss.txt b/Documentation/devicetree/bindings/media/qcom,camss.txt
> new file mode 100644
> index 0000000..f698498
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/qcom,camss.txt
qcom,camss.txt or qcom,camss-8x16.txt?
--
Sakari Ailus
e-mail: sakari.ailus@iki.fi XMPP: sailus@retiisi.org.uk
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 04/23] dt-bindings: media: Binding document for Qualcomm Camera subsystem driver
2017-07-17 10:33 ` [PATCH v3 04/23] dt-bindings: media: Binding document for Qualcomm Camera subsystem driver Todor Tomov
2017-07-20 10:13 ` Sakari Ailus
2017-07-20 10:15 ` Sakari Ailus
@ 2017-07-24 16:43 ` Rob Herring
2 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2017-07-24 16:43 UTC (permalink / raw)
To: Todor Tomov
Cc: mchehab, hans.verkuil, javier, s.nawrocki, sakari.ailus,
linux-media, linux-kernel, linux-arm-msm, devicetree
On Mon, Jul 17, 2017 at 01:33:30PM +0300, Todor Tomov wrote:
> Add DT binding document for Qualcomm Camera subsystem driver.
>
> CC: Rob Herring <robh+dt@kernel.org>
> CC: devicetree@vger.kernel.org
> Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
> ---
> .../devicetree/bindings/media/qcom,camss.txt | 191 +++++++++++++++++++++
> 1 file changed, 191 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/qcom,camss.txt
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 04/23] dt-bindings: media: Binding document for Qualcomm Camera subsystem driver
[not found] ` <20170720101345.eovx5ovuxr7sqpea-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
@ 2017-08-04 11:54 ` Todor Tomov
[not found] ` <1dc5ab4d-5171-c6df-4300-2abcd0e5483b-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Todor Tomov @ 2017-08-04 11:54 UTC (permalink / raw)
To: Sakari Ailus
Cc: mchehab-DgEjT+Ai2ygdnm+yROfE0A,
hans.verkuil-FYB4Gu1CFyUAvxtiuMwx3w,
javier-JPH+aEBZ4P+UEJcrhfAQsw, s.nawrocki-Sze3O3UU22JBDgjK7y7TUQ,
linux-media-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-arm-msm-u79uwXL29TY76Z2rM5mHXA, Rob Herring,
devicetree-u79uwXL29TY76Z2rM5mHXA
Hi Sakari,
Thank you for the review.
On 20.07.2017 13:13, Sakari Ailus wrote:
> Hi Todor,
>
> On Mon, Jul 17, 2017 at 01:33:30PM +0300, Todor Tomov wrote:
>> Add DT binding document for Qualcomm Camera subsystem driver.
>>
>> CC: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
>> CC: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>> Signed-off-by: Todor Tomov <todor.tomov-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
>> ---
>> .../devicetree/bindings/media/qcom,camss.txt | 191 +++++++++++++++++++++
>> 1 file changed, 191 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/media/qcom,camss.txt
>>
>> diff --git a/Documentation/devicetree/bindings/media/qcom,camss.txt b/Documentation/devicetree/bindings/media/qcom,camss.txt
>> new file mode 100644
>> index 0000000..f698498
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/media/qcom,camss.txt
>> @@ -0,0 +1,191 @@
>> +Qualcomm Camera Subsystem
>> +
>> +* Properties
>> +
>> +- compatible:
>> + Usage: required
>> + Value type: <stringlist>
>> + Definition: Should contain:
>> + - "qcom,msm8916-camss"
>> +- reg:
>> + Usage: required
>> + Value type: <prop-encoded-array>
>> + Definition: Register ranges as listed in the reg-names property.
>> +- reg-names:
>> + Usage: required
>> + Value type: <stringlist>
>> + Definition: Should contain the following entries:
>> + - "csiphy0"
>> + - "csiphy0_clk_mux"
>> + - "csiphy1"
>> + - "csiphy1_clk_mux"
>> + - "csid0"
>> + - "csid1"
>> + - "ispif"
>> + - "csi_clk_mux"
>> + - "vfe0"
>> +- interrupts:
>> + Usage: required
>> + Value type: <prop-encoded-array>
>> + Definition: Interrupts as listed in the interrupt-names property.
>> +- interrupt-names:
>> + Usage: required
>> + Value type: <stringlist>
>> + Definition: Should contain the following entries:
>> + - "csiphy0"
>> + - "csiphy1"
>> + - "csid0"
>> + - "csid1"
>> + - "ispif"
>> + - "vfe0"
>> +- power-domains:
>> + Usage: required
>> + Value type: <prop-encoded-array>
>> + Definition: A phandle and power domain specifier pairs to the
>> + power domain which is responsible for collapsing
>> + and restoring power to the peripheral.
>> +- clocks:
>> + Usage: required
>> + Value type: <prop-encoded-array>
>> + Definition: A list of phandle and clock specifier pairs as listed
>> + in clock-names property.
>> +- clock-names:
>> + Usage: required
>> + Value type: <stringlist>
>> + Definition: Should contain the following entries:
>> + - "camss_top_ahb"
>> + - "ispif_ahb"
>> + - "csiphy0_timer"
>> + - "csiphy1_timer"
>> + - "csi0_ahb"
>> + - "csi0"
>> + - "csi0_phy"
>> + - "csi0_pix"
>> + - "csi0_rdi"
>> + - "csi1_ahb"
>> + - "csi1"
>> + - "csi1_phy"
>> + - "csi1_pix"
>> + - "csi1_rdi"
>> + - "camss_ahb"
>> + - "camss_vfe_vfe"
>> + - "camss_csi_vfe"
>> + - "iface"
>> + - "bus"
>> +- vdda-supply:
>> + Usage: required
>> + Value type: <phandle>
>> + Definition: A phandle to voltage supply for CSI2.
>> +- iommus:
>> + Usage: required
>> + Value type: <prop-encoded-array>
>> + Definition: A list of phandle and IOMMU specifier pairs.
>> +
>> +* Nodes
>> +
>> +- ports:
>> + Usage: required
>> + Definition: As described in video-interfaces.txt in same directory.
>> + Properties:
>> + - reg:
>> + Usage: required
>> + Value type: <u32>
>> + Definition: Selects CSI2 PHY interface - PHY0 or PHY1.
>> + Endpoint node properties:
>> + - clock-lanes:
>> + Usage: required
>> + Value type: <u32>
>> + Definition: The clock lane.
>> + - data-lanes:
>> + Usage: required
>> + Value type: <prop-encoded-array>
>> + Definition: An array of data lanes.
>> +
>> +* An Example
>> +
>> + camss: camss@1b00000 {
>> + compatible = "qcom,msm8916-camss";
>> + reg = <0x1b0ac00 0x200>,
>> + <0x1b00030 0x4>,
>> + <0x1b0b000 0x200>,
>> + <0x1b00038 0x4>,
>> + <0x1b08000 0x100>,
>> + <0x1b08400 0x100>,
>> + <0x1b0a000 0x500>,
>> + <0x1b00020 0x10>,
>> + <0x1b10000 0x1000>;
>> + reg-names = "csiphy0",
>> + "csiphy0_clk_mux",
>> + "csiphy1",
>> + "csiphy1_clk_mux",
>> + "csid0",
>> + "csid1",
>> + "ispif",
>> + "csi_clk_mux",
>> + "vfe0";
>> + interrupts = <GIC_SPI 78 0>,
>> + <GIC_SPI 79 0>,
>> + <GIC_SPI 51 0>,
>> + <GIC_SPI 52 0>,
>> + <GIC_SPI 55 0>,
>> + <GIC_SPI 57 0>;
>> + interrupt-names = "csiphy0",
>> + "csiphy1",
>> + "csid0",
>> + "csid1",
>> + "ispif",
>> + "vfe0";
>> + power-domains = <&gcc VFE_GDSC>;
>> + clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
>> + <&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
>> + <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>,
>> + <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>,
>> + <&gcc GCC_CAMSS_CSI0_AHB_CLK>,
>> + <&gcc GCC_CAMSS_CSI0_CLK>,
>> + <&gcc GCC_CAMSS_CSI0PHY_CLK>,
>> + <&gcc GCC_CAMSS_CSI0PIX_CLK>,
>> + <&gcc GCC_CAMSS_CSI0RDI_CLK>,
>> + <&gcc GCC_CAMSS_CSI1_AHB_CLK>,
>> + <&gcc GCC_CAMSS_CSI1_CLK>,
>> + <&gcc GCC_CAMSS_CSI1PHY_CLK>,
>> + <&gcc GCC_CAMSS_CSI1PIX_CLK>,
>> + <&gcc GCC_CAMSS_CSI1RDI_CLK>,
>> + <&gcc GCC_CAMSS_AHB_CLK>,
>> + <&gcc GCC_CAMSS_VFE0_CLK>,
>> + <&gcc GCC_CAMSS_CSI_VFE0_CLK>,
>> + <&gcc GCC_CAMSS_VFE_AHB_CLK>,
>> + <&gcc GCC_CAMSS_VFE_AXI_CLK>;
>> + clock-names = "camss_top_ahb",
>> + "ispif_ahb",
>> + "csiphy0_timer",
>> + "csiphy1_timer",
>> + "csi0_ahb",
>> + "csi0",
>> + "csi0_phy",
>> + "csi0_pix",
>> + "csi0_rdi",
>> + "csi1_ahb",
>> + "csi1",
>> + "csi1_phy",
>> + "csi1_pix",
>> + "csi1_rdi",
>> + "camss_ahb",
>> + "camss_vfe_vfe",
>> + "camss_csi_vfe",
>> + "iface",
>> + "bus";
>> + vdda-supply = <&pm8916_l2>;
>> + iommus = <&apps_iommu 3>;
>> + ports {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + port@0 {
>> + reg = <0>;
>> + csiphy0_ep: endpoint {
>> + clock-lanes = <1>;
>> + data-lanes = <0 2>;
>
> Do you support lane mapping? The values suggest "yes". That's something I
> could improve in the documentation: if lane mapping isn't supported, then
> the clock lane should be 0 and the data lanes from 1 to n.
Lane mapping is supported only for the data lanes. The clock lane is always
the physical lane 1. This is why I think it makes sense to keep the value
of the clock lane to 1 as this is the physical lane 1 really. I'll add
explanation in the documentation for this and for the data lanes too so
it is clear.
>
> Is the split of the lanes between the ports static and specific to the
> hardware?
Each port describes a separate CSIPHY so each has its own set of lanes.
>
>> + remote-endpoint = <&ov5645_ep>;
>> + };
>> + };
>> + };
>> + };
>
--
Best regards,
Todor Tomov
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 04/23] dt-bindings: media: Binding document for Qualcomm Camera subsystem driver
[not found] ` <1dc5ab4d-5171-c6df-4300-2abcd0e5483b-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
@ 2017-08-05 8:19 ` Sakari Ailus
0 siblings, 0 replies; 6+ messages in thread
From: Sakari Ailus @ 2017-08-05 8:19 UTC (permalink / raw)
To: Todor Tomov
Cc: mchehab-DgEjT+Ai2ygdnm+yROfE0A,
hans.verkuil-FYB4Gu1CFyUAvxtiuMwx3w,
javier-JPH+aEBZ4P+UEJcrhfAQsw, s.nawrocki-Sze3O3UU22JBDgjK7y7TUQ,
linux-media-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-arm-msm-u79uwXL29TY76Z2rM5mHXA, Rob Herring,
devicetree-u79uwXL29TY76Z2rM5mHXA
Hi Todor,
On Fri, Aug 04, 2017 at 02:54:21PM +0300, Todor Tomov wrote:
> Hi Sakari,
>
> Thank you for the review.
You're welcome!
>
> On 20.07.2017 13:13, Sakari Ailus wrote:
> > Hi Todor,
> >
> > On Mon, Jul 17, 2017 at 01:33:30PM +0300, Todor Tomov wrote:
> >> Add DT binding document for Qualcomm Camera subsystem driver.
> >>
> >> CC: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> >> CC: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> >> Signed-off-by: Todor Tomov <todor.tomov-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> >> ---
> >> .../devicetree/bindings/media/qcom,camss.txt | 191 +++++++++++++++++++++
> >> 1 file changed, 191 insertions(+)
> >> create mode 100644 Documentation/devicetree/bindings/media/qcom,camss.txt
> >>
> >> diff --git a/Documentation/devicetree/bindings/media/qcom,camss.txt b/Documentation/devicetree/bindings/media/qcom,camss.txt
> >> new file mode 100644
> >> index 0000000..f698498
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/media/qcom,camss.txt
> >> @@ -0,0 +1,191 @@
> >> +Qualcomm Camera Subsystem
> >> +
> >> +* Properties
> >> +
> >> +- compatible:
> >> + Usage: required
> >> + Value type: <stringlist>
> >> + Definition: Should contain:
> >> + - "qcom,msm8916-camss"
> >> +- reg:
> >> + Usage: required
> >> + Value type: <prop-encoded-array>
> >> + Definition: Register ranges as listed in the reg-names property.
> >> +- reg-names:
> >> + Usage: required
> >> + Value type: <stringlist>
> >> + Definition: Should contain the following entries:
> >> + - "csiphy0"
> >> + - "csiphy0_clk_mux"
> >> + - "csiphy1"
> >> + - "csiphy1_clk_mux"
> >> + - "csid0"
> >> + - "csid1"
> >> + - "ispif"
> >> + - "csi_clk_mux"
> >> + - "vfe0"
> >> +- interrupts:
> >> + Usage: required
> >> + Value type: <prop-encoded-array>
> >> + Definition: Interrupts as listed in the interrupt-names property.
> >> +- interrupt-names:
> >> + Usage: required
> >> + Value type: <stringlist>
> >> + Definition: Should contain the following entries:
> >> + - "csiphy0"
> >> + - "csiphy1"
> >> + - "csid0"
> >> + - "csid1"
> >> + - "ispif"
> >> + - "vfe0"
> >> +- power-domains:
> >> + Usage: required
> >> + Value type: <prop-encoded-array>
> >> + Definition: A phandle and power domain specifier pairs to the
> >> + power domain which is responsible for collapsing
> >> + and restoring power to the peripheral.
> >> +- clocks:
> >> + Usage: required
> >> + Value type: <prop-encoded-array>
> >> + Definition: A list of phandle and clock specifier pairs as listed
> >> + in clock-names property.
> >> +- clock-names:
> >> + Usage: required
> >> + Value type: <stringlist>
> >> + Definition: Should contain the following entries:
> >> + - "camss_top_ahb"
> >> + - "ispif_ahb"
> >> + - "csiphy0_timer"
> >> + - "csiphy1_timer"
> >> + - "csi0_ahb"
> >> + - "csi0"
> >> + - "csi0_phy"
> >> + - "csi0_pix"
> >> + - "csi0_rdi"
> >> + - "csi1_ahb"
> >> + - "csi1"
> >> + - "csi1_phy"
> >> + - "csi1_pix"
> >> + - "csi1_rdi"
> >> + - "camss_ahb"
> >> + - "camss_vfe_vfe"
> >> + - "camss_csi_vfe"
> >> + - "iface"
> >> + - "bus"
> >> +- vdda-supply:
> >> + Usage: required
> >> + Value type: <phandle>
> >> + Definition: A phandle to voltage supply for CSI2.
> >> +- iommus:
> >> + Usage: required
> >> + Value type: <prop-encoded-array>
> >> + Definition: A list of phandle and IOMMU specifier pairs.
> >> +
> >> +* Nodes
> >> +
> >> +- ports:
> >> + Usage: required
> >> + Definition: As described in video-interfaces.txt in same directory.
> >> + Properties:
> >> + - reg:
> >> + Usage: required
> >> + Value type: <u32>
> >> + Definition: Selects CSI2 PHY interface - PHY0 or PHY1.
> >> + Endpoint node properties:
> >> + - clock-lanes:
> >> + Usage: required
> >> + Value type: <u32>
> >> + Definition: The clock lane.
> >> + - data-lanes:
> >> + Usage: required
> >> + Value type: <prop-encoded-array>
> >> + Definition: An array of data lanes.
> >> +
> >> +* An Example
> >> +
> >> + camss: camss@1b00000 {
> >> + compatible = "qcom,msm8916-camss";
> >> + reg = <0x1b0ac00 0x200>,
> >> + <0x1b00030 0x4>,
> >> + <0x1b0b000 0x200>,
> >> + <0x1b00038 0x4>,
> >> + <0x1b08000 0x100>,
> >> + <0x1b08400 0x100>,
> >> + <0x1b0a000 0x500>,
> >> + <0x1b00020 0x10>,
> >> + <0x1b10000 0x1000>;
> >> + reg-names = "csiphy0",
> >> + "csiphy0_clk_mux",
> >> + "csiphy1",
> >> + "csiphy1_clk_mux",
> >> + "csid0",
> >> + "csid1",
> >> + "ispif",
> >> + "csi_clk_mux",
> >> + "vfe0";
> >> + interrupts = <GIC_SPI 78 0>,
> >> + <GIC_SPI 79 0>,
> >> + <GIC_SPI 51 0>,
> >> + <GIC_SPI 52 0>,
> >> + <GIC_SPI 55 0>,
> >> + <GIC_SPI 57 0>;
> >> + interrupt-names = "csiphy0",
> >> + "csiphy1",
> >> + "csid0",
> >> + "csid1",
> >> + "ispif",
> >> + "vfe0";
> >> + power-domains = <&gcc VFE_GDSC>;
> >> + clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
> >> + <&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
> >> + <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>,
> >> + <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>,
> >> + <&gcc GCC_CAMSS_CSI0_AHB_CLK>,
> >> + <&gcc GCC_CAMSS_CSI0_CLK>,
> >> + <&gcc GCC_CAMSS_CSI0PHY_CLK>,
> >> + <&gcc GCC_CAMSS_CSI0PIX_CLK>,
> >> + <&gcc GCC_CAMSS_CSI0RDI_CLK>,
> >> + <&gcc GCC_CAMSS_CSI1_AHB_CLK>,
> >> + <&gcc GCC_CAMSS_CSI1_CLK>,
> >> + <&gcc GCC_CAMSS_CSI1PHY_CLK>,
> >> + <&gcc GCC_CAMSS_CSI1PIX_CLK>,
> >> + <&gcc GCC_CAMSS_CSI1RDI_CLK>,
> >> + <&gcc GCC_CAMSS_AHB_CLK>,
> >> + <&gcc GCC_CAMSS_VFE0_CLK>,
> >> + <&gcc GCC_CAMSS_CSI_VFE0_CLK>,
> >> + <&gcc GCC_CAMSS_VFE_AHB_CLK>,
> >> + <&gcc GCC_CAMSS_VFE_AXI_CLK>;
> >> + clock-names = "camss_top_ahb",
> >> + "ispif_ahb",
> >> + "csiphy0_timer",
> >> + "csiphy1_timer",
> >> + "csi0_ahb",
> >> + "csi0",
> >> + "csi0_phy",
> >> + "csi0_pix",
> >> + "csi0_rdi",
> >> + "csi1_ahb",
> >> + "csi1",
> >> + "csi1_phy",
> >> + "csi1_pix",
> >> + "csi1_rdi",
> >> + "camss_ahb",
> >> + "camss_vfe_vfe",
> >> + "camss_csi_vfe",
> >> + "iface",
> >> + "bus";
> >> + vdda-supply = <&pm8916_l2>;
> >> + iommus = <&apps_iommu 3>;
> >> + ports {
> >> + #address-cells = <1>;
> >> + #size-cells = <0>;
> >> + port@0 {
> >> + reg = <0>;
> >> + csiphy0_ep: endpoint {
> >> + clock-lanes = <1>;
> >> + data-lanes = <0 2>;
> >
> > Do you support lane mapping? The values suggest "yes". That's something I
> > could improve in the documentation: if lane mapping isn't supported, then
> > the clock lane should be 0 and the data lanes from 1 to n.
>
> Lane mapping is supported only for the data lanes. The clock lane is always
> the physical lane 1. This is why I think it makes sense to keep the value
> of the clock lane to 1 as this is the physical lane 1 really. I'll add
> explanation in the documentation for this and for the data lanes too so
> it is clear.
Could you document this in the binding documentation? What I've seen
previously is that either the lanes can be mapped any way you want, or
there's just a single possible mapping.
>
> >
> > Is the split of the lanes between the ports static and specific to the
> > hardware?
>
> Each port describes a separate CSIPHY so each has its own set of lanes.
Ack. I asked since if the lanes can be shared, the lane numbering needs to
be global to the device; otherwise there's no way to convey the lane/PHY
association using the standard bindings.
--
Regards,
Sakari Ailus
e-mail: sakari.ailus-X3B1VOXEql0@public.gmane.org XMPP: sailus-PCDdDYkjdNMDXYZnReoRVg@public.gmane.org
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-08-05 8:19 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1500287629-23703-1-git-send-email-todor.tomov@linaro.org>
2017-07-17 10:33 ` [PATCH v3 04/23] dt-bindings: media: Binding document for Qualcomm Camera subsystem driver Todor Tomov
2017-07-20 10:13 ` Sakari Ailus
[not found] ` <20170720101345.eovx5ovuxr7sqpea-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-08-04 11:54 ` Todor Tomov
[not found] ` <1dc5ab4d-5171-c6df-4300-2abcd0e5483b-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-08-05 8:19 ` Sakari Ailus
2017-07-20 10:15 ` Sakari Ailus
2017-07-24 16:43 ` Rob Herring
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).