[PATCH 2/4] dt-bindings: media: Add bindings for raspberrypi,rp1-cfe

Tomi Valkeinen tomi.valkeinen at ideasonboard.com
Mon Mar 18 23:46:13 PDT 2024


On 19/03/2024 08:09, Krzysztof Kozlowski wrote:
> On 18/03/2024 16:49, Tomi Valkeinen wrote:
>> Add DT bindings for raspberrypi,rp1-cfe.
>>
>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
>> ---
>>   .../bindings/media/raspberrypi,rp1-cfe.yaml        | 103 +++++++++++++++++++++
>>   1 file changed, 103 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/media/raspberrypi,rp1-cfe.yaml b/Documentation/devicetree/bindings/media/raspberrypi,rp1-cfe.yaml
>> new file mode 100644
>> index 000000000000..7b2beeaaab0e
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/media/raspberrypi,rp1-cfe.yaml
>> @@ -0,0 +1,103 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/media/raspberrypi,rp1-cfe.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Raspberry Pi PiSP Camera Front End
>> +
>> +maintainers:
>> +  - Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
>> +  - Raspberry Pi Kernel Maintenance <kernel-list at raspberrypi.com>
>> +
>> +description: |
>> +  The Raspberry Pi PiSP Camera Front End is a module in Raspberrypi 5's RP1 I/O
>> +  controller, that contains:
>> +  - MIPI D-PHY
>> +  - MIPI CSI-2 receiver
>> +  - Simple image processor (called PiSP Front End, or FE)
>> +
>> +  The FE documentation is available at:
>> +  https://datasheets.raspberrypi.com/camera/raspberry-pi-image-signal-processor-specification.pdf
>> +
>> +  The PHY and CSI-2 receiver part have no public documentation.
>> +
>> +properties:
>> +  compatible:
>> +    const: raspberrypi,rpi5-rp1-cfe
>> +
>> +  reg:
>> +    items:
>> +      - description: CSI-2 registers
>> +      - description: D-PHY registers
>> +      - description: MIPI CFG (a simple top-level mux) registers
>> +      - description: FE registers
>> +
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +  clocks:
>> +    maxItems: 1
>> +
>> +  port:
>> +    $ref: /schemas/graph.yaml#/$defs/port-base
>> +    additionalProperties: false
>> +    description: CSI-2 RX Port
> 
> Only one port, so there is nothing to output to?

The CFE has DMA, so it writes to memory. But no other outputs.

>> +
>> +    properties:
>> +      endpoint:
>> +        $ref: video-interfaces.yaml#
>> +        unevaluatedProperties: false
>> +
>> +        properties:
>> +          data-lanes:
>> +            minItems: 1
>> +            maxItems: 4
>> +
>> +          clock-lanes:
>> +            maxItems: 1
>> +
>> +          clock-noncontinuous: true
> 
> Drop

Hmm, I saw this used in multiple other bindings, and thought it means 
the property is allowed and copied it here.

If that's not the case, does this mean all the properties from 
video-interfaces.yaml are allowed (even invalid ones, like pclk-sample)?

>> +
>> +        required:
>> +          - clock-lanes
>> +          - data-lanes
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - interrupts
>> +  - clocks
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/clock/rp1.h>
>> +    #include <dt-bindings/interrupt-controller/irq.h>
>> +    #include <dt-bindings/mfd/rp1.h>
>> +
>> +    rpi1 {
> 
> soc

That should actually be "rp1", not "rpi1". rp1 is the co-processor on 
which the cfe is located, so it doesn't reside in the soc itself. But 
perhaps that's not relevant, and "soc" is just a generic container that 
should always be used?

>> +        #address-cells = <2>;
>> +        #size-cells = <2>;
>> +
>> +      csi at 110000 {
> 
> Fix the indentation. You switched back to 2 spaces here...

Oops.

>> +        compatible = "raspberrypi,rp1-cfe";
>> +        reg = <0xc0 0x40110000  0x0 0x100>,
>> +              <0xc0 0x40114000  0x0 0x100>,
> 
> Just one space before 0x0

Ok.

  Tomi




More information about the linux-arm-kernel mailing list