[RFC PATCH V7 2/3] dt-bindings: mt8183: Add sensor interface dt-bindings
Louis Kuo
louis.kuo at mediatek.com
Wed Jul 8 06:40:22 EDT 2020
This patch adds the DT binding documentation for the sensor interface
module in Mediatek SoCs.
Signed-off-by: Louis Kuo <louis.kuo at mediatek.com>
---
.../bindings/media/mediatek-seninf.yaml | 223 ++++++++++++++++++
1 file changed, 223 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/mediatek-seninf.yaml
diff --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)
+%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 <louis.kuo at mediatek.com>
+
+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 at 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 at 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 at 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 at 0
+ - port at 1
+ - port at 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 at 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 at 0 {
+ reg = <0>;
+ mipi_in_bcam: endpoint {
+ data-lanes = <0 1 3 4>;
+ remote-endpoint = <&bcam_out>;
+ };
+ };
+
+ port at 1 {
+ reg = <1>;
+ mipi_in_fcam: endpoint {
+ data-lanes = <1>;
+ remote-endpoint = <&fcam_out>;
+ };
+ };
+
+ port at 4 {
+ reg = <4>;
+ seninf_camisp_endpoint: endpoint {
+ remote-endpoint = <&camisp_endpoint>;
+ };
+ };
+ };
+ };
+
+ mipi_dphy: mipi_dphy at 11c80000 {
+ compatible = "mediatek,mt8183-mipi_dphy";
+ reg = <0 0x11C80000 0 0x6000>;
+ #phy-cells = <1>;
+ };
+
+ i2c2: i2c at 11009000 {
+ reg = <0 0x11009000 0 0x1000>;
+ clock-frequency = <400000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ wcam: camera at 36 {
+ compatible = "ovti,ov5695";
+ reg = <0x36>;
+
+ port {
+ bcam_out: endpoint {
+ remote-endpoint = <&mipi_in_bcam>;
+ data-lanes = <0 1 3 4>;
+ };
+ };
+ };
+ };
+
+ i2c4: i2c at 11008000 {
+ reg = <0 0x11008000 0 0x1000>;
+ clock-frequency = <400000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ucam: camera at 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
More information about the Linux-mediatek
mailing list