1f78ed3c5SMaxime Ripard# SPDX-License-Identifier: GPL-2.0 2f78ed3c5SMaxime Ripard%YAML 1.2 3f78ed3c5SMaxime Ripard--- 4f78ed3c5SMaxime Ripard$id: http://devicetree.org/schemas/media/allwinner,sun6i-a31-csi.yaml# 5f78ed3c5SMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml# 6f78ed3c5SMaxime Ripard 7f78ed3c5SMaxime Ripardtitle: Allwinner A31 CMOS Sensor Interface (CSI) Device Tree Bindings 8f78ed3c5SMaxime Ripard 9f78ed3c5SMaxime Ripardmaintainers: 10f78ed3c5SMaxime Ripard - Chen-Yu Tsai <wens@csie.org> 11f78ed3c5SMaxime Ripard - Maxime Ripard <mripard@kernel.org> 12f78ed3c5SMaxime Ripard 13f78ed3c5SMaxime Ripardproperties: 14f78ed3c5SMaxime Ripard compatible: 15f78ed3c5SMaxime Ripard enum: 16f78ed3c5SMaxime Ripard - allwinner,sun6i-a31-csi 17f78ed3c5SMaxime Ripard - allwinner,sun8i-a83t-csi 18f78ed3c5SMaxime Ripard - allwinner,sun8i-h3-csi 19f78ed3c5SMaxime Ripard - allwinner,sun8i-v3s-csi 20f78ed3c5SMaxime Ripard - allwinner,sun50i-a64-csi 21f78ed3c5SMaxime Ripard 22f78ed3c5SMaxime Ripard reg: 23f78ed3c5SMaxime Ripard maxItems: 1 24f78ed3c5SMaxime Ripard 25f78ed3c5SMaxime Ripard interrupts: 26f78ed3c5SMaxime Ripard maxItems: 1 27f78ed3c5SMaxime Ripard 28f78ed3c5SMaxime Ripard clocks: 29f78ed3c5SMaxime Ripard items: 30f78ed3c5SMaxime Ripard - description: Bus Clock 31f78ed3c5SMaxime Ripard - description: Module Clock 32f78ed3c5SMaxime Ripard - description: DRAM Clock 33f78ed3c5SMaxime Ripard 34f78ed3c5SMaxime Ripard clock-names: 35f78ed3c5SMaxime Ripard items: 36f78ed3c5SMaxime Ripard - const: bus 37f78ed3c5SMaxime Ripard - const: mod 38f78ed3c5SMaxime Ripard - const: ram 39f78ed3c5SMaxime Ripard 40f78ed3c5SMaxime Ripard resets: 41f78ed3c5SMaxime Ripard maxItems: 1 42f78ed3c5SMaxime Ripard 43f78ed3c5SMaxime Ripard port: 44*066a94e2SRob Herring $ref: /schemas/graph.yaml#/$defs/port-base 45f78ed3c5SMaxime Ripard 46f78ed3c5SMaxime Ripard properties: 47f78ed3c5SMaxime Ripard endpoint: 48*066a94e2SRob Herring $ref: video-interfaces.yaml# 49*066a94e2SRob Herring unevaluatedProperties: false 50f78ed3c5SMaxime Ripard 51f78ed3c5SMaxime Ripard properties: 52f78ed3c5SMaxime Ripard bus-width: 53f78ed3c5SMaxime Ripard enum: [ 8, 10, 12, 16 ] 54f78ed3c5SMaxime Ripard 55f78ed3c5SMaxime Ripard pclk-sample: true 56f78ed3c5SMaxime Ripard hsync-active: true 57f78ed3c5SMaxime Ripard vsync-active: true 58f78ed3c5SMaxime Ripard 59f78ed3c5SMaxime Ripard required: 60f78ed3c5SMaxime Ripard - bus-width 61f78ed3c5SMaxime Ripard 62f78ed3c5SMaxime Ripard additionalProperties: false 63f78ed3c5SMaxime Ripard 64f78ed3c5SMaxime Ripardrequired: 65f78ed3c5SMaxime Ripard - compatible 66f78ed3c5SMaxime Ripard - reg 67f78ed3c5SMaxime Ripard - interrupts 68f78ed3c5SMaxime Ripard - clocks 69f78ed3c5SMaxime Ripard - clock-names 70f78ed3c5SMaxime Ripard - resets 71f78ed3c5SMaxime Ripard 72f78ed3c5SMaxime RipardadditionalProperties: false 73f78ed3c5SMaxime Ripard 74f78ed3c5SMaxime Ripardexamples: 75f78ed3c5SMaxime Ripard - | 76f78ed3c5SMaxime Ripard #include <dt-bindings/interrupt-controller/arm-gic.h> 77f78ed3c5SMaxime Ripard #include <dt-bindings/clock/sun8i-v3s-ccu.h> 78f78ed3c5SMaxime Ripard #include <dt-bindings/reset/sun8i-v3s-ccu.h> 79f78ed3c5SMaxime Ripard 80f78ed3c5SMaxime Ripard csi1: csi@1cb4000 { 81f78ed3c5SMaxime Ripard compatible = "allwinner,sun8i-v3s-csi"; 82f78ed3c5SMaxime Ripard reg = <0x01cb4000 0x1000>; 83f78ed3c5SMaxime Ripard interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 84f78ed3c5SMaxime Ripard clocks = <&ccu CLK_BUS_CSI>, 85f78ed3c5SMaxime Ripard <&ccu CLK_CSI1_SCLK>, 86f78ed3c5SMaxime Ripard <&ccu CLK_DRAM_CSI>; 87f78ed3c5SMaxime Ripard clock-names = "bus", 88f78ed3c5SMaxime Ripard "mod", 89f78ed3c5SMaxime Ripard "ram"; 90f78ed3c5SMaxime Ripard resets = <&ccu RST_BUS_CSI>; 91f78ed3c5SMaxime Ripard 92f78ed3c5SMaxime Ripard port { 93f78ed3c5SMaxime Ripard /* Parallel bus endpoint */ 94f78ed3c5SMaxime Ripard csi1_ep: endpoint { 95f78ed3c5SMaxime Ripard remote-endpoint = <&adv7611_ep>; 96f78ed3c5SMaxime Ripard bus-width = <16>; 97f78ed3c5SMaxime Ripard 98f78ed3c5SMaxime Ripard /* 99f78ed3c5SMaxime Ripard * If hsync-active/vsync-active are missing, 100f78ed3c5SMaxime Ripard * embedded BT.656 sync is used. 101f78ed3c5SMaxime Ripard */ 102f78ed3c5SMaxime Ripard hsync-active = <0>; /* Active low */ 103f78ed3c5SMaxime Ripard vsync-active = <0>; /* Active low */ 104f78ed3c5SMaxime Ripard pclk-sample = <1>; /* Rising */ 105f78ed3c5SMaxime Ripard }; 106f78ed3c5SMaxime Ripard }; 107f78ed3c5SMaxime Ripard }; 108f78ed3c5SMaxime Ripard 109f78ed3c5SMaxime Ripard... 110