1# SPDX-License-Identifier: GPL-2.0-only
2# Copyright (C) 2016-2021 Microchip Technology, Inc.
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/media/atmel,isc.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Atmel Image Sensor Controller (ISC)
9
10maintainers:
11  - Eugen Hristev <eugen.hristev@microchip.com>
12
13description: |
14  The Image Sensor Controller (ISC) device provides the video input capabilities for the
15  Atmel/Microchip AT91 SAMA family of devices.
16
17  The ISC has a single parallel input that supports RAW Bayer, RGB or YUV video,
18  with both external synchronization and BT.656 synchronization for the latter.
19
20properties:
21  compatible:
22    const: atmel,sama5d2-isc
23
24  reg:
25    maxItems: 1
26
27  interrupts:
28    maxItems: 1
29
30  clocks:
31    minItems: 3
32    maxItems: 3
33
34  clock-names:
35    items:
36      - const: hclock
37      - const: iscck
38      - const: gck
39
40  '#clock-cells':
41    const: 0
42
43  clock-output-names:
44    const: isc-mck
45
46  port:
47    $ref: /schemas/graph.yaml#/$defs/port-base
48    unevaluatedProperties: false
49    description:
50      Input port node, single endpoint describing the input pad.
51
52    properties:
53      endpoint:
54        $ref: video-interfaces.yaml#
55
56        properties:
57          remote-endpoint: true
58
59          bus-width:
60            enum: [8, 9, 10, 11, 12]
61            default: 12
62
63          hsync-active:
64            enum: [0, 1]
65            default: 1
66
67          vsync-active:
68            enum: [0, 1]
69            default: 1
70
71          pclk-sample:
72            enum: [0, 1]
73            default: 1
74
75        required:
76          - remote-endpoint
77
78        additionalProperties: false
79
80    additionalProperties: false
81
82required:
83  - compatible
84  - reg
85  - clocks
86  - clock-names
87  - '#clock-cells'
88  - clock-output-names
89  - port
90
91additionalProperties: false
92
93examples:
94  - |
95    #include <dt-bindings/interrupt-controller/irq.h>
96
97    isc: isc@f0008000 {
98        compatible = "atmel,sama5d2-isc";
99        reg = <0xf0008000 0x4000>;
100        interrupts = <46 IRQ_TYPE_LEVEL_HIGH 5>;
101        clocks = <&isc_clk>, <&iscck>, <&isc_gclk>;
102        clock-names = "hclock", "iscck", "gck";
103        #clock-cells = <0>;
104        clock-output-names = "isc-mck";
105
106        port {
107                isc_0: endpoint {
108                       remote-endpoint = <&ov7740_0>;
109                       hsync-active = <1>;
110                       vsync-active = <0>;
111                       pclk-sample = <1>;
112                       bus-width = <8>;
113                };
114        };
115    };
116