1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2021 Microchip Technology, Inc.
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/microchip,xisc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Microchip eXtended Image Sensor Controller (XISC)

maintainers:
  - Eugen Hristev <eugen.hristev@microchip.com>

description: |
  The eXtended Image Sensor Controller (XISC) device provides the video input capabilities for the
  Microchip AT91 SAM family of devices.

  The XISC has a single internal parallel input that supports RAW Bayer, RGB or YUV video.
  The source can be either a demuxer from a CSI2 type of bus, or a simple direct bridge to a
  parallel sensor.

  The XISC provides one clock output that is used to clock the demuxer/bridge.

properties:
  compatible:
    const: microchip,sama7g5-isc

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: hclock

  '#clock-cells':
    const: 0

  clock-output-names:
    const: isc-mck

  microchip,mipi-mode:
    type: boolean
    description:
      As the XISC is usually connected to a demux/bridge, the XISC receives
      the same type of input, however, it should be aware of the type of
      signals received. The mipi-mode enables different internal handling
      of the data and clock lines.

  port:
    $ref: /schemas/graph.yaml#/$defs/port-base
    description:
      Input port node, single endpoint describing the input pad.

    properties:
      endpoint:
        $ref: video-interfaces.yaml#

        properties:
          bus-type:
            enum: [5, 6]

          remote-endpoint: true

          bus-width:
            enum: [8, 9, 10, 11, 12, 14]
            default: 12

          hsync-active:
            enum: [0, 1]
            default: 1

          vsync-active:
            enum: [0, 1]
            default: 1

          pclk-sample:
            enum: [0, 1]
            default: 1

        required:
          - remote-endpoint
          - bus-type

        additionalProperties: false

    additionalProperties: false

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - '#clock-cells'
  - clock-output-names
  - port

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/at91.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/media/video-interfaces.h>

    xisc: xisc@e1408000 {
        compatible = "microchip,sama7g5-isc";
        reg = <0xe1408000 0x2000>;
        interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&pmc PMC_TYPE_PERIPHERAL 56>;
        clock-names = "hclock";
        #clock-cells = <0>;
        clock-output-names = "isc-mck";

        port {
                xisc_in: endpoint {
                       bus-type = <MEDIA_BUS_TYPE_PARALLEL>;
                       remote-endpoint = <&csi2dc_out>;
                       hsync-active = <1>;
                       vsync-active = <1>;
                       bus-width = <12>;
                };
        };
    };
是否情字寫來都空洞 一筆一畫斟酌著奉送