xref: /linux/Documentation/devicetree/bindings/media/allwinner,sun6i-a31-isp.yaml (revision da950c03beb365bf33daf237bc3ad4458a861a0d)
1*da950c03SPaul Kocialkowski# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*da950c03SPaul Kocialkowski%YAML 1.2
3*da950c03SPaul Kocialkowski---
4*da950c03SPaul Kocialkowski$id: http://devicetree.org/schemas/media/allwinner,sun6i-a31-isp.yaml#
5*da950c03SPaul Kocialkowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6*da950c03SPaul Kocialkowski
7*da950c03SPaul Kocialkowskititle: Allwinner A31 Image Signal Processor Driver (ISP) Device Tree Bindings
8*da950c03SPaul Kocialkowski
9*da950c03SPaul Kocialkowskimaintainers:
10*da950c03SPaul Kocialkowski  - Paul Kocialkowski <paul.kocialkowski@bootlin.com>
11*da950c03SPaul Kocialkowski
12*da950c03SPaul Kocialkowskiproperties:
13*da950c03SPaul Kocialkowski  compatible:
14*da950c03SPaul Kocialkowski    enum:
15*da950c03SPaul Kocialkowski      - allwinner,sun6i-a31-isp
16*da950c03SPaul Kocialkowski      - allwinner,sun8i-v3s-isp
17*da950c03SPaul Kocialkowski
18*da950c03SPaul Kocialkowski  reg:
19*da950c03SPaul Kocialkowski    maxItems: 1
20*da950c03SPaul Kocialkowski
21*da950c03SPaul Kocialkowski  interrupts:
22*da950c03SPaul Kocialkowski    maxItems: 1
23*da950c03SPaul Kocialkowski
24*da950c03SPaul Kocialkowski  clocks:
25*da950c03SPaul Kocialkowski    items:
26*da950c03SPaul Kocialkowski      - description: Bus Clock
27*da950c03SPaul Kocialkowski      - description: Module Clock
28*da950c03SPaul Kocialkowski      - description: DRAM Clock
29*da950c03SPaul Kocialkowski
30*da950c03SPaul Kocialkowski  clock-names:
31*da950c03SPaul Kocialkowski    items:
32*da950c03SPaul Kocialkowski      - const: bus
33*da950c03SPaul Kocialkowski      - const: mod
34*da950c03SPaul Kocialkowski      - const: ram
35*da950c03SPaul Kocialkowski
36*da950c03SPaul Kocialkowski  resets:
37*da950c03SPaul Kocialkowski    maxItems: 1
38*da950c03SPaul Kocialkowski
39*da950c03SPaul Kocialkowski  ports:
40*da950c03SPaul Kocialkowski    $ref: /schemas/graph.yaml#/properties/ports
41*da950c03SPaul Kocialkowski
42*da950c03SPaul Kocialkowski    properties:
43*da950c03SPaul Kocialkowski      port@0:
44*da950c03SPaul Kocialkowski        $ref: /schemas/graph.yaml#/properties/port
45*da950c03SPaul Kocialkowski        description: CSI0 input port
46*da950c03SPaul Kocialkowski
47*da950c03SPaul Kocialkowski      port@1:
48*da950c03SPaul Kocialkowski        $ref: /schemas/graph.yaml#/properties/port
49*da950c03SPaul Kocialkowski        description: CSI1 input port
50*da950c03SPaul Kocialkowski
51*da950c03SPaul Kocialkowski    if:
52*da950c03SPaul Kocialkowski      properties:
53*da950c03SPaul Kocialkowski        compatible:
54*da950c03SPaul Kocialkowski          contains:
55*da950c03SPaul Kocialkowski            enum:
56*da950c03SPaul Kocialkowski              - allwinner,sun8i-v3s-isp
57*da950c03SPaul Kocialkowski    then:
58*da950c03SPaul Kocialkowski      required:
59*da950c03SPaul Kocialkowski        - port@0
60*da950c03SPaul Kocialkowski
61*da950c03SPaul Kocialkowskirequired:
62*da950c03SPaul Kocialkowski  - compatible
63*da950c03SPaul Kocialkowski  - reg
64*da950c03SPaul Kocialkowski  - interrupts
65*da950c03SPaul Kocialkowski  - clocks
66*da950c03SPaul Kocialkowski  - clock-names
67*da950c03SPaul Kocialkowski  - resets
68*da950c03SPaul Kocialkowski
69*da950c03SPaul KocialkowskiadditionalProperties: false
70*da950c03SPaul Kocialkowski
71*da950c03SPaul Kocialkowskiexamples:
72*da950c03SPaul Kocialkowski  - |
73*da950c03SPaul Kocialkowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
74*da950c03SPaul Kocialkowski    #include <dt-bindings/clock/sun8i-v3s-ccu.h>
75*da950c03SPaul Kocialkowski    #include <dt-bindings/reset/sun8i-v3s-ccu.h>
76*da950c03SPaul Kocialkowski
77*da950c03SPaul Kocialkowski    isp: isp@1cb8000 {
78*da950c03SPaul Kocialkowski        compatible = "allwinner,sun8i-v3s-isp";
79*da950c03SPaul Kocialkowski        reg = <0x01cb8000 0x1000>;
80*da950c03SPaul Kocialkowski        interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
81*da950c03SPaul Kocialkowski        clocks = <&ccu CLK_BUS_CSI>,
82*da950c03SPaul Kocialkowski             <&ccu CLK_CSI1_SCLK>,
83*da950c03SPaul Kocialkowski             <&ccu CLK_DRAM_CSI>;
84*da950c03SPaul Kocialkowski        clock-names = "bus", "mod", "ram";
85*da950c03SPaul Kocialkowski        resets = <&ccu RST_BUS_CSI>;
86*da950c03SPaul Kocialkowski
87*da950c03SPaul Kocialkowski        ports {
88*da950c03SPaul Kocialkowski            #address-cells = <1>;
89*da950c03SPaul Kocialkowski            #size-cells = <0>;
90*da950c03SPaul Kocialkowski
91*da950c03SPaul Kocialkowski            port@0 {
92*da950c03SPaul Kocialkowski                reg = <0>;
93*da950c03SPaul Kocialkowski
94*da950c03SPaul Kocialkowski                isp_in_csi0: endpoint {
95*da950c03SPaul Kocialkowski                    remote-endpoint = <&csi0_out_isp>;
96*da950c03SPaul Kocialkowski                };
97*da950c03SPaul Kocialkowski            };
98*da950c03SPaul Kocialkowski        };
99*da950c03SPaul Kocialkowski    };
100*da950c03SPaul Kocialkowski
101*da950c03SPaul Kocialkowski...
102