Hi Rob,

Once again sorry for the late response and thank you for your feedback.

On 3/15/2017 6:35 PM, Rob Herring wrote:
> On Tue, Mar 07, 2017 at 02:37:50PM +0000, Ramiro Oliveira wrote:
>> Create device tree bindings documentation for the CSI-2 Host Video
>>  platform.
>>
>> Signed-off-by: Ramiro Oliveira <roliv...@synopsys.com>
>> ---
>>  .../devicetree/bindings/media/snps,plat-csi2.txt   | 77 
>> ++++++++++++++++++++++
>>  1 file changed, 77 insertions(+)
>>  create mode 100644 
>> Documentation/devicetree/bindings/media/snps,plat-csi2.txt
>>
>> diff --git a/Documentation/devicetree/bindings/media/snps,plat-csi2.txt 
>> b/Documentation/devicetree/bindings/media/snps,plat-csi2.txt
>> new file mode 100644
>> index 000000000000..f559257a0a44
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/media/snps,plat-csi2.txt
>> @@ -0,0 +1,77 @@
>> +Synopsys DesignWare CSI-2 Host Video Platform
>> +
>> +The Synopsys DesignWare CSI-2 Host Video Device subsystem comprises of 
>> multiple
>> +sub-devices represented by separate device tree nodes. Currently this 
>> includes:
>> +plat-csi2, video-device, and dw-mipi-csi.
>> +
>> +The sub-subdevices are defined as child nodes of the common 'camera'.
>> +
>> +Common 'camera' node
>> +--------------------
>> +
>> +Required properties:
>> +
>> +- compatible: must be "snps,plat-csi2", "simple-bus"
>> +
>> +The 'camera' node must include at least one 'video-device' and one 
>> 'dw-mipi-csi'
>> +child node.
>> +
>> +'video-device' device nodes
>> +-------------------
>> +
>> +Required properties:
>> +
>> +- compatible: "snps,video-device"
>> +- dmas, dma-names: List of one DMA specifier and identifier string (as 
>> defined
>> +  in Documentation/devicetree/bindings/dma/dma.txt) per port. Each port
>> +  requires a DMA channel with the identifier string set to "vdma" followed 
>> by
>> +  the port index.
>> +
>> +Image sensor nodes
>> +------------------
>> +
>> +The sensor device nodes should be added to their control bus controller 
>> (e.g.
>> +I2C0) nodes and linked to a port node in the dw-mipi-csi,using the common 
>> video
>> +interfaces bindings, defined in video-interfaces.txt.
>> +
>> +Example:
>> +
>> +
>> +    camera {
>> +            compatible = "snps,plat-csi2", "simple-bus";
>> +            #address-cells = <1>;
>> +            #size-cells = <1>;
>> +            ranges;
>> +                    video_device: video-device@0x10000 {
> 
> Drop the '0x' and any leading 0s on unit addresses.
> 

Sure.

>> +                            compatible = "snps,video-device";
>> +                            dmas = <&axi_vdma_0 0>;
>> +                            dma-names = "vdma0";
>> +                    };
> 
> If video-device is not a real device, then you shouldn't need a DT node. 
> I need a better explanation or diagram of what the h/w blocks and 
> connections look like here.
> 
> From the looks of this, you can just move dmas to the csi2 node. But I 
> don't think that is right, because you can't generally just use an 
> external DMA controller with camera data (maybe for validation, but it's 
> not something you see in SoCs).
> 

Actually we do use an external DMA controller directly connected to the CSI-2
Host controller, although, like you said, we use it for HW validation.

I "created" the video-device in order to remove the DMA engine control from the
CSI-2 Host driver, in order to make it more useful to other people.

>> +
>> +                    csi2:   csi2@0x03000 {
>> +                            compatible = "snps,dw-mipi-csi";
>> +                            #address-cells = <1>;
>> +                            #size-cells = <0>;
>> +                            reg = < 0x03000 0x7FF>;
>> +                            interrupts = <2>;
>> +                            phys = <&mipi_phy_ctrl1 0>;
>> +                            resets = <&csi2_rst 1>;
>> +
>> +                            output-type = <2>;
>> +                            ipi-mode = <0>;
>> +                            ipi-color-mode = <0>;
>> +                            ipi-auto-flush = <1>;
>> +                            virtual-channel = <0>;
>> +
>> +                            port@1 {
>> +                                    reg = <1>;
>> +                                    csi1_ep1: endpoint {
>> +                                            remote-endpoint = <&camera>;
>> +                                            data-lanes = <1 2>;
>> +                                    };
>> +                            };
>> +                    };
>> +            };
>> +    };
>> +
>> +The dw-mipi-csi device binding is defined in snps,dw-mipi-csi.txt.
>> -- 
>> 2.11.0
>>
>>

-- 
Best Regards

Ramiro Oliveira
ramiro.olive...@synopsys.com

Reply via email to