xref: /freebsd/sys/contrib/device-tree/Bindings/media/raspberrypi,rp1-cfe.yaml (revision 5f62a964e9f8abc6a05d8338273fadd154f0a206)
1*5f62a964SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*5f62a964SEmmanuel Vadot%YAML 1.2
3*5f62a964SEmmanuel Vadot---
4*5f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/media/raspberrypi,rp1-cfe.yaml#
5*5f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5f62a964SEmmanuel Vadot
7*5f62a964SEmmanuel Vadottitle: Raspberry Pi PiSP Camera Front End
8*5f62a964SEmmanuel Vadot
9*5f62a964SEmmanuel Vadotmaintainers:
10*5f62a964SEmmanuel Vadot  - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
11*5f62a964SEmmanuel Vadot  - Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>
12*5f62a964SEmmanuel Vadot
13*5f62a964SEmmanuel Vadotdescription: |
14*5f62a964SEmmanuel Vadot  The Raspberry Pi PiSP Camera Front End is a module in Raspberrypi 5's RP1 I/O
15*5f62a964SEmmanuel Vadot  controller, that contains:
16*5f62a964SEmmanuel Vadot  - MIPI D-PHY
17*5f62a964SEmmanuel Vadot  - MIPI CSI-2 receiver
18*5f62a964SEmmanuel Vadot  - Simple image processor (called PiSP Front End, or FE)
19*5f62a964SEmmanuel Vadot
20*5f62a964SEmmanuel Vadot  The FE documentation is available at:
21*5f62a964SEmmanuel Vadot  https://datasheets.raspberrypi.com/camera/raspberry-pi-image-signal-processor-specification.pdf
22*5f62a964SEmmanuel Vadot
23*5f62a964SEmmanuel Vadot  The PHY and CSI-2 receiver part have no public documentation.
24*5f62a964SEmmanuel Vadot
25*5f62a964SEmmanuel Vadotproperties:
26*5f62a964SEmmanuel Vadot  compatible:
27*5f62a964SEmmanuel Vadot    items:
28*5f62a964SEmmanuel Vadot      - const: raspberrypi,rp1-cfe
29*5f62a964SEmmanuel Vadot
30*5f62a964SEmmanuel Vadot  reg:
31*5f62a964SEmmanuel Vadot    items:
32*5f62a964SEmmanuel Vadot      - description: CSI-2 registers
33*5f62a964SEmmanuel Vadot      - description: D-PHY registers
34*5f62a964SEmmanuel Vadot      - description: MIPI CFG (a simple top-level mux) registers
35*5f62a964SEmmanuel Vadot      - description: FE registers
36*5f62a964SEmmanuel Vadot
37*5f62a964SEmmanuel Vadot  interrupts:
38*5f62a964SEmmanuel Vadot    maxItems: 1
39*5f62a964SEmmanuel Vadot
40*5f62a964SEmmanuel Vadot  clocks:
41*5f62a964SEmmanuel Vadot    maxItems: 1
42*5f62a964SEmmanuel Vadot
43*5f62a964SEmmanuel Vadot  port:
44*5f62a964SEmmanuel Vadot    $ref: /schemas/graph.yaml#/$defs/port-base
45*5f62a964SEmmanuel Vadot    additionalProperties: false
46*5f62a964SEmmanuel Vadot    description: CSI-2 RX Port
47*5f62a964SEmmanuel Vadot
48*5f62a964SEmmanuel Vadot    properties:
49*5f62a964SEmmanuel Vadot      endpoint:
50*5f62a964SEmmanuel Vadot        $ref: video-interfaces.yaml#
51*5f62a964SEmmanuel Vadot        unevaluatedProperties: false
52*5f62a964SEmmanuel Vadot
53*5f62a964SEmmanuel Vadot        properties:
54*5f62a964SEmmanuel Vadot          data-lanes:
55*5f62a964SEmmanuel Vadot            minItems: 1
56*5f62a964SEmmanuel Vadot            maxItems: 4
57*5f62a964SEmmanuel Vadot
58*5f62a964SEmmanuel Vadot        required:
59*5f62a964SEmmanuel Vadot          - data-lanes
60*5f62a964SEmmanuel Vadot
61*5f62a964SEmmanuel Vadotrequired:
62*5f62a964SEmmanuel Vadot  - compatible
63*5f62a964SEmmanuel Vadot  - reg
64*5f62a964SEmmanuel Vadot  - interrupts
65*5f62a964SEmmanuel Vadot  - clocks
66*5f62a964SEmmanuel Vadot
67*5f62a964SEmmanuel VadotadditionalProperties: false
68*5f62a964SEmmanuel Vadot
69*5f62a964SEmmanuel Vadotexamples:
70*5f62a964SEmmanuel Vadot  - |
71*5f62a964SEmmanuel Vadot    rp1 {
72*5f62a964SEmmanuel Vadot      #address-cells = <2>;
73*5f62a964SEmmanuel Vadot      #size-cells = <2>;
74*5f62a964SEmmanuel Vadot
75*5f62a964SEmmanuel Vadot      csi@110000 {
76*5f62a964SEmmanuel Vadot        compatible = "raspberrypi,rp1-cfe";
77*5f62a964SEmmanuel Vadot        reg = <0xc0 0x40110000 0x0 0x100>,
78*5f62a964SEmmanuel Vadot              <0xc0 0x40114000 0x0 0x100>,
79*5f62a964SEmmanuel Vadot              <0xc0 0x40120000 0x0 0x100>,
80*5f62a964SEmmanuel Vadot              <0xc0 0x40124000 0x0 0x1000>;
81*5f62a964SEmmanuel Vadot
82*5f62a964SEmmanuel Vadot        interrupts = <42>;
83*5f62a964SEmmanuel Vadot
84*5f62a964SEmmanuel Vadot        clocks = <&rp1_clocks>;
85*5f62a964SEmmanuel Vadot
86*5f62a964SEmmanuel Vadot        port {
87*5f62a964SEmmanuel Vadot          csi_ep: endpoint {
88*5f62a964SEmmanuel Vadot            remote-endpoint = <&cam_endpoint>;
89*5f62a964SEmmanuel Vadot            data-lanes = <1 2>;
90*5f62a964SEmmanuel Vadot          };
91*5f62a964SEmmanuel Vadot        };
92*5f62a964SEmmanuel Vadot      };
93*5f62a964SEmmanuel Vadot    };
94