~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/media/brcm,bcm2835-unicam.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/media/brcm,bcm2835-unicam.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Broadcom BCM283x Camera Interface (Unicam)
  8 
  9 maintainers:
 10   - Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>
 11 
 12 description: |-
 13   The Unicam block on BCM283x SoCs is the receiver for either
 14   CSI-2 or CCP2 data from image sensors or similar devices.
 15 
 16   The main platform using this SoC is the Raspberry Pi family of boards.  On
 17   the Pi the VideoCore firmware can also control this hardware block, and
 18   driving it from two different processors will cause issues.  To avoid this,
 19   the firmware checks the device tree configuration during boot. If it finds
 20   device tree nodes whose name starts with 'csi' then it will stop the firmware
 21   accessing the block, and it can then safely be used via the device tree
 22   binding.
 23 
 24 properties:
 25   compatible:
 26     const: brcm,bcm2835-unicam
 27 
 28   reg:
 29     items:
 30       - description: Unicam block.
 31       - description: Clock Manager Image (CMI) block.
 32 
 33   reg-names:
 34     items:
 35       - const: unicam
 36       - const: cmi
 37 
 38   interrupts:
 39     maxItems: 1
 40 
 41   clocks:
 42     items:
 43       - description: Clock to drive the LP state machine of Unicam.
 44       - description: Clock for the VPU (core clock).
 45 
 46   clock-names:
 47     items:
 48       - const: lp
 49       - const: vpu
 50 
 51   power-domains:
 52     items:
 53       - description: Unicam power domain
 54 
 55   brcm,num-data-lanes:
 56     $ref: /schemas/types.yaml#/definitions/uint32
 57     enum: [ 2, 4 ]
 58     description: |
 59       Number of CSI-2 data lanes supported by this Unicam instance. The number
 60       of data lanes actively used is specified with the data-lanes endpoint
 61       property.
 62 
 63   port:
 64     $ref: /schemas/graph.yaml#/$defs/port-base
 65     unevaluatedProperties: false
 66 
 67     properties:
 68       endpoint:
 69         $ref: /schemas/media/video-interfaces.yaml#
 70         additionalProperties: false
 71 
 72         properties:
 73           bus-type:
 74             enum: [ 3, 4 ]
 75 
 76           clock-noncontinuous: true
 77           data-lanes: true
 78           remote-endpoint: true
 79 
 80         required:
 81           - bus-type
 82           - data-lanes
 83           - remote-endpoint
 84 
 85     required:
 86       - endpoint
 87 
 88 required:
 89   - compatible
 90   - reg
 91   - reg-names
 92   - interrupts
 93   - clocks
 94   - clock-names
 95   - power-domains
 96   - brcm,num-data-lanes
 97   - port
 98 
 99 additionalProperties: False
100 
101 examples:
102   - |
103     #include <dt-bindings/clock/bcm2835.h>
104     #include <dt-bindings/interrupt-controller/arm-gic.h>
105     #include <dt-bindings/media/video-interfaces.h>
106     #include <dt-bindings/power/raspberrypi-power.h>
107 
108     csi1: csi@7e801000 {
109         compatible = "brcm,bcm2835-unicam";
110         reg = <0x7e801000 0x800>,
111               <0x7e802004 0x4>;
112         reg-names = "unicam", "cmi";
113         interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
114         clocks = <&clocks BCM2835_CLOCK_CAM1>,
115                  <&firmware_clocks 4>;
116         clock-names = "lp", "vpu";
117         power-domains = <&power RPI_POWER_DOMAIN_UNICAM1>;
118         brcm,num-data-lanes = <2>;
119         port {
120                 csi1_ep: endpoint {
121                         remote-endpoint = <&imx219_0>;
122                         bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
123                         data-lanes = <1 2>;
124                 };
125         };
126     };
127 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php