Re: [RFC PATCH V7 2/3] dt-bindings: mt8183: Add sensor interface dt-bindings
From: Rob Herring <robh@kernel.org>
Date: 2020-07-09 17:04:01
Also in:
linux-devicetree, linux-media, linux-mediatek
On Wed, Jul 08, 2020 at 06:40:22PM +0800, Louis Kuo wrote:
quoted hunk ↗ jump to hunk
This patch adds the DT binding documentation for the sensor interface module in Mediatek SoCs. Signed-off-by: Louis Kuo <redacted> --- .../bindings/media/mediatek-seninf.yaml | 223 ++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/mediatek-seninf.yamldiff --git a/Documentation/devicetree/bindings/media/mediatek-seninf.yaml b/Documentation/devicetree/bindings/media/mediatek-seninf.yaml new file mode 100644 index 000000000000..917b393acc0c --- /dev/null +++ b/Documentation/devicetree/bindings/media/mediatek-seninf.yaml@@ -0,0 +1,223 @@ +# SPDX-License-Identifier: (GPL-2.0+ OR MIT)
Not the right choice: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/mediatek-seninf.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Mediatek Sensor Interface (CSI) Device Tree Bindings + +maintainers: + - Louis Kuo [off-list ref] + +description: | + Seninf MIPI-CSI2 host driver is a HW camera interface controller. It support + a widely adopted, simple, high-speed protocol primarily intended for + point-to-point image and video transmission between cameras and host devices. + +properties: + compatible: + const: mediatek,mt8183-seninf + + reg: + minItems: 1 + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 1 + + clocks: + items: + - description: Seninf camsys clock + - description: Seninf top mux clock + + clock-names: + items: + - const: cam_seninf + - const: top_mux_seninf + + phys: + items: + - description: Seninf mipi dphy + + phy-names: + items: + - const: seninf + + # See ./video-interfaces.txt for details + ports: + type: object + additionalProperties: false + + properties: + port@0: + type: object + description: connection point for sensor at port 0 + additionalProperties: false + + properties: + reg: + const: 0 + + patternProperties: + endpoint: + type: object + additionalProperties: false + + properties: + data-lanes: + minItems: 1 + maxItems: 4 + + remote-endpoint: true + + port@1: + type: object + description: connection point for sensor at port 1 + additionalProperties: false + + properties: + reg: + const: 1 + + patternProperties: + endpoint: + type: object + additionalProperties: false + + properties: + data-lanes: + minItems: 1 + maxItems: 4 + + remote-endpoint: true + + port@4: + type: object + description: connection point for camsys + additionalProperties: false + + properties: + reg: + const: 4 + + patternProperties: + endpoint: + type: object + additionalProperties: false + + properties: + remote-endpoint: true + + required: + - port@0 + - port@1 + - port@4 + +required: + - compatible + - interrupts + - clocks + - clock-names + - power-domains + - ports + +additionalProperties: false + +examples: + - | + + #include <dt-bindings/clock/mt8183-clk.h> + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/power/mt8183-power.h> + + parent { + #address-cells = <2>; + #size-cells = <2>; + + seninf: seninf@1a040000 { + compatible = "mediatek,mt8183-seninf"; + reg = <0 0x1a040000 0 0x8000>; + interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_LOW>; + power-domains = <&scpsys MT8183_POWER_DOMAIN_CAM>; + clocks = <&camsys CLK_CAM_SENINF>, + <&topckgen CLK_TOP_MUX_SENINF>; + clock-names = "cam_seninf", "top_mux_seninf"; + phys = <&mipi_dphy 0>; + phy-names = "seninf"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + mipi_in_bcam: endpoint { + data-lanes = <0 1 3 4>; + remote-endpoint = <&bcam_out>; + }; + }; + + port@1 { + reg = <1>; + mipi_in_fcam: endpoint { + data-lanes = <1>; + remote-endpoint = <&fcam_out>; + }; + }; + + port@4 { + reg = <4>; + seninf_camisp_endpoint: endpoint { + remote-endpoint = <&camisp_endpoint>; + }; + }; + }; + }; + + mipi_dphy: mipi_dphy@11c80000 {
phy@...
+ compatible = "mediatek,mt8183-mipi_dphy";
+ reg = <0 0x11C80000 0 0x6000>;
+ #phy-cells = <1>;
+ };
+
+ i2c2: i2c@11009000 {
+ reg = <0 0x11009000 0 0x1000>;
+ clock-frequency = <400000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ wcam: camera@36 {
+ compatible = "ovti,ov5695";
+ reg = <0x36>;
+
+ port {
+ bcam_out: endpoint {
+ remote-endpoint = <&mipi_in_bcam>;
+ data-lanes = <0 1 3 4>;
+ };
+ };
+ };
+ };
+
+ i2c4: i2c@11008000 {
+ reg = <0 0x11008000 0 0x1000>;
+ clock-frequency = <400000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ucam: camera@3c {
+ compatible = "ovti,ov2685";
+ reg = <0x3c>;
+
+ port {
+ fcam_out: endpoint {
+ remote-endpoint = <&mipi_in_fcam>;
+ data-lanes = <1>;
+ };
+ };
+ };
+ };
+ };
\ No newline at end of file
--
2.18.0_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel