18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/media/allwinner,sun6i-a31-csi.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Allwinner A31 CMOS Sensor Interface (CSI) Device Tree Bindings 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Chen-Yu Tsai <wens@csie.org> 118c2ecf20Sopenharmony_ci - Maxime Ripard <mripard@kernel.org> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciproperties: 148c2ecf20Sopenharmony_ci compatible: 158c2ecf20Sopenharmony_ci enum: 168c2ecf20Sopenharmony_ci - allwinner,sun6i-a31-csi 178c2ecf20Sopenharmony_ci - allwinner,sun8i-a83t-csi 188c2ecf20Sopenharmony_ci - allwinner,sun8i-h3-csi 198c2ecf20Sopenharmony_ci - allwinner,sun8i-v3s-csi 208c2ecf20Sopenharmony_ci - allwinner,sun50i-a64-csi 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci reg: 238c2ecf20Sopenharmony_ci maxItems: 1 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci interrupts: 268c2ecf20Sopenharmony_ci maxItems: 1 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci clocks: 298c2ecf20Sopenharmony_ci items: 308c2ecf20Sopenharmony_ci - description: Bus Clock 318c2ecf20Sopenharmony_ci - description: Module Clock 328c2ecf20Sopenharmony_ci - description: DRAM Clock 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci clock-names: 358c2ecf20Sopenharmony_ci items: 368c2ecf20Sopenharmony_ci - const: bus 378c2ecf20Sopenharmony_ci - const: mod 388c2ecf20Sopenharmony_ci - const: ram 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci resets: 418c2ecf20Sopenharmony_ci maxItems: 1 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci # See ./video-interfaces.txt for details 448c2ecf20Sopenharmony_ci port: 458c2ecf20Sopenharmony_ci type: object 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci properties: 488c2ecf20Sopenharmony_ci endpoint: 498c2ecf20Sopenharmony_ci type: object 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci properties: 528c2ecf20Sopenharmony_ci remote-endpoint: true 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci bus-width: 558c2ecf20Sopenharmony_ci enum: [ 8, 10, 12, 16 ] 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci pclk-sample: true 588c2ecf20Sopenharmony_ci hsync-active: true 598c2ecf20Sopenharmony_ci vsync-active: true 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci required: 628c2ecf20Sopenharmony_ci - bus-width 638c2ecf20Sopenharmony_ci - remote-endpoint 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci required: 668c2ecf20Sopenharmony_ci - endpoint 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci additionalProperties: false 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_cirequired: 718c2ecf20Sopenharmony_ci - compatible 728c2ecf20Sopenharmony_ci - reg 738c2ecf20Sopenharmony_ci - interrupts 748c2ecf20Sopenharmony_ci - clocks 758c2ecf20Sopenharmony_ci - clock-names 768c2ecf20Sopenharmony_ci - resets 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ciadditionalProperties: false 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ciexamples: 818c2ecf20Sopenharmony_ci - | 828c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 838c2ecf20Sopenharmony_ci #include <dt-bindings/clock/sun8i-v3s-ccu.h> 848c2ecf20Sopenharmony_ci #include <dt-bindings/reset/sun8i-v3s-ccu.h> 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci csi1: csi@1cb4000 { 878c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-v3s-csi"; 888c2ecf20Sopenharmony_ci reg = <0x01cb4000 0x1000>; 898c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 908c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_CSI>, 918c2ecf20Sopenharmony_ci <&ccu CLK_CSI1_SCLK>, 928c2ecf20Sopenharmony_ci <&ccu CLK_DRAM_CSI>; 938c2ecf20Sopenharmony_ci clock-names = "bus", 948c2ecf20Sopenharmony_ci "mod", 958c2ecf20Sopenharmony_ci "ram"; 968c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_CSI>; 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ci port { 998c2ecf20Sopenharmony_ci /* Parallel bus endpoint */ 1008c2ecf20Sopenharmony_ci csi1_ep: endpoint { 1018c2ecf20Sopenharmony_ci remote-endpoint = <&adv7611_ep>; 1028c2ecf20Sopenharmony_ci bus-width = <16>; 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci /* 1058c2ecf20Sopenharmony_ci * If hsync-active/vsync-active are missing, 1068c2ecf20Sopenharmony_ci * embedded BT.656 sync is used. 1078c2ecf20Sopenharmony_ci */ 1088c2ecf20Sopenharmony_ci hsync-active = <0>; /* Active low */ 1098c2ecf20Sopenharmony_ci vsync-active = <0>; /* Active low */ 1108c2ecf20Sopenharmony_ci pclk-sample = <1>; /* Rising */ 1118c2ecf20Sopenharmony_ci }; 1128c2ecf20Sopenharmony_ci }; 1138c2ecf20Sopenharmony_ci }; 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci... 116