Qualcomm Camera Subsystem * Properties - compatible: Usage: required Value type: Definition: Should contain: - "qcom,msm8916-camss" - reg: Usage: required Value type: Definition: Register ranges as listed in the reg-names property. - reg-names: Usage: required Value type: 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: Definition: Interrupts as listed in the interrupt-names property. - interrupt-names: Usage: required Value type: Definition: Should contain the following entries: - "csiphy0" - "csiphy1" - "csid0" - "csid1" - "ispif" - "vfe0" - power-domains: Usage: required Value type: 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: Definition: A list of phandle and clock specifier pairs as listed in clock-names property. - clock-names: Usage: required Value type: 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: Definition: A phandle to voltage supply for CSI2. - iommus: Usage: required Value type: 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: Definition: Selects CSI2 PHY interface - PHY0 or PHY1. Endpoint node properties: - clock-lanes: Usage: required Value type: Definition: The physical clock lane index. The value must always be <1> as the physical clock lane is lane 1. - data-lanes: Usage: required Value type: Definition: An array of physical data lanes indexes. Position of an entry determines the logical lane number, while the value of an entry indicates physical lane index. Lane swapping is supported. * 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 = , , , , , ; 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>; }; }; }; };