[PATCH 1/3] dt-bindings: media: Add Allwinner D1 CSIC

Krzysztof Kozlowski krzk at kernel.org
Thu Oct 1 23:14:02 PDT 2026


On Wed, Sep 30, 2026 at 10:48:33PM +0700, Nguyen Minh Tien wrote:
> +maintainers:
> +  - Nguyen Minh Tien <tien.nguyenminh at embeddedlinux.blog>
> +
> +description:
> +  The CSIC found in the Allwinner D1, D1s and T113 receives video from a
> +  parallel camera interface and writes it to memory. It contains a parser for
> +  the camera bus and two DMA engines.
> +
> +properties:
> +  compatible:
> +    const: allwinner,sun20i-d1-csi
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    items:
> +      - description: DMA engine 0
> +      - description: DMA engine 1
> +      - description: Parser 0
> +      - description: Top-level block (CSI_TOP_PKT)
> +
> +  clocks:
> +    items:
> +      - description: Bus clock
> +      - description: Module clock
> +      - description: DRAM clock
> +
> +  clock-names:
> +    items:
> +      - const: bus
> +      - const: mod
> +      - const: ram
> +
> +  resets:
> +    maxItems: 1
> +
> +  iommus:
> +    maxItems: 1
> +
> +  port:
> +    $ref: /schemas/graph.yaml#/$defs/port-base
> +    description: Parallel input port, connect to a parallel sensor
> +    unevaluatedProperties: false
> +
> +    properties:
> +      endpoint:
> +        $ref: video-interfaces.yaml#
> +        unevaluatedProperties: false
> +
> +        properties:
> +          bus-width:
> +            const: 8

If it is const, why do you exactly need it in the DT?

> +
> +          pclk-sample: true
> +          hsync-active: true
> +          vsync-active: true

Drop these three.

> +
> +        required:
> +          - bus-width

No second port to the ISP?

> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clocks
> +  - clock-names
> +  - resets
> +  - port
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/sun20i-d1-ccu.h>
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    #include <dt-bindings/reset/sun20i-d1-ccu.h>
> +
> +    csi at 5800000 {
> +        compatible = "allwinner,sun20i-d1-csi";
> +        reg = <0x05800000 0x400000>;
> +        interrupts = <111 IRQ_TYPE_LEVEL_HIGH>,
> +                     <112 IRQ_TYPE_LEVEL_HIGH>,
> +                     <116 IRQ_TYPE_LEVEL_HIGH>,
> +                     <122 IRQ_TYPE_LEVEL_HIGH>;
> +        clocks = <&ccu CLK_BUS_CSI>,
> +                 <&ccu CLK_CSI_TOP>,
> +                 <&ccu CLK_MBUS_CSI>;
> +        clock-names = "bus", "mod", "ram";
> +        resets = <&ccu RST_BUS_CSI>;
> +
> +        port {
> +            endpoint {
> +                remote-endpoint = <&ov5640_ep>;
> +                bus-width = <8>;
> +                hsync-active = <1>; /* Active high */
> +                vsync-active = <0>; /* Active low */
> +                pclk-sample = <1>;  /* Rising */
> +            };
> +        };
> +    };
> +
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index f5eff489a8..f4c45c4678 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -905,6 +905,13 @@ L:	linux-crypto at vger.kernel.org
>  S:	Maintained
>  F:	drivers/crypto/allwinner/
>  
> +ALLWINNER D1 CSIC DRIVER
> +M:	Nguyen Minh Tien <tien.nguyenminh at embeddedlinux.blog>
> +L:	linux-media at vger.kernel.org
> +S:	Maintained
> +T:	git git://linuxtv.org/media.git

Drop, unless you actually have their commit rights and manage patches. I
would say mailing list is also here redundant (duplicating), but I
stopped pointing to it.

Best regards,
Krzysztof




More information about the linux-riscv mailing list