xref: /linux/Documentation/devicetree/bindings/display/sprd/sprd,sharkl3-dpu.yaml (revision 69f2970aad93758bea863432e49b564e0ba649ca)
18cae15c6SKevin Tang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28cae15c6SKevin Tang%YAML 1.2
38cae15c6SKevin Tang---
48cae15c6SKevin Tang$id: http://devicetree.org/schemas/display/sprd/sprd,sharkl3-dpu.yaml#
58cae15c6SKevin Tang$schema: http://devicetree.org/meta-schemas/core.yaml#
68cae15c6SKevin Tang
78cae15c6SKevin Tangtitle: Unisoc Sharkl3 Display Processor Unit (DPU)
88cae15c6SKevin Tang
98cae15c6SKevin Tangmaintainers:
108cae15c6SKevin Tang  - Kevin Tang <kevin.tang@unisoc.com>
118cae15c6SKevin Tang
128cae15c6SKevin Tangdescription: |
138cae15c6SKevin Tang  DPU (Display Processor Unit) is the Display Controller for the Unisoc SoCs
148cae15c6SKevin Tang  which transfers the image data from a video memory buffer to an internal
158cae15c6SKevin Tang  LCD interface.
168cae15c6SKevin Tang
178cae15c6SKevin Tangproperties:
188cae15c6SKevin Tang  compatible:
198cae15c6SKevin Tang    const: sprd,sharkl3-dpu
208cae15c6SKevin Tang
218cae15c6SKevin Tang  reg:
228cae15c6SKevin Tang    maxItems: 1
238cae15c6SKevin Tang
248cae15c6SKevin Tang  interrupts:
258cae15c6SKevin Tang    maxItems: 1
268cae15c6SKevin Tang
278cae15c6SKevin Tang  clocks:
28*934da599SKrzysztof Kozlowski    maxItems: 2
298cae15c6SKevin Tang
308cae15c6SKevin Tang  clock-names:
318cae15c6SKevin Tang    items:
328cae15c6SKevin Tang      - const: clk_src_128m
338cae15c6SKevin Tang      - const: clk_src_384m
348cae15c6SKevin Tang
358cae15c6SKevin Tang  power-domains:
368cae15c6SKevin Tang    maxItems: 1
378cae15c6SKevin Tang
388cae15c6SKevin Tang  iommus:
398cae15c6SKevin Tang    maxItems: 1
408cae15c6SKevin Tang
418cae15c6SKevin Tang  port:
428cae15c6SKevin Tang    type: object
438cae15c6SKevin Tang    description:
448cae15c6SKevin Tang      A port node with endpoint definitions as defined in
458cae15c6SKevin Tang      Documentation/devicetree/bindings/media/video-interfaces.txt.
468cae15c6SKevin Tang      That port should be the output endpoint, usually output to
478cae15c6SKevin Tang      the associated DSI.
488cae15c6SKevin Tang
498cae15c6SKevin Tangrequired:
508cae15c6SKevin Tang  - compatible
518cae15c6SKevin Tang  - reg
528cae15c6SKevin Tang  - interrupts
538cae15c6SKevin Tang  - clocks
548cae15c6SKevin Tang  - clock-names
558cae15c6SKevin Tang  - port
568cae15c6SKevin Tang
578cae15c6SKevin TangadditionalProperties: false
588cae15c6SKevin Tang
598cae15c6SKevin Tangexamples:
608cae15c6SKevin Tang  - |
618cae15c6SKevin Tang    #include <dt-bindings/interrupt-controller/arm-gic.h>
628cae15c6SKevin Tang    #include <dt-bindings/clock/sprd,sc9860-clk.h>
638cae15c6SKevin Tang    dpu: dpu@63000000 {
648cae15c6SKevin Tang        compatible = "sprd,sharkl3-dpu";
658cae15c6SKevin Tang        reg = <0x63000000 0x1000>;
668cae15c6SKevin Tang        interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
678cae15c6SKevin Tang        clock-names = "clk_src_128m", "clk_src_384m";
688cae15c6SKevin Tang
698cae15c6SKevin Tang        clocks = <&pll CLK_TWPLL_128M>,
708cae15c6SKevin Tang          <&pll CLK_TWPLL_384M>;
718cae15c6SKevin Tang
728cae15c6SKevin Tang        dpu_port: port {
738cae15c6SKevin Tang            dpu_out: endpoint {
748cae15c6SKevin Tang                remote-endpoint = <&dsi_in>;
758cae15c6SKevin Tang            };
768cae15c6SKevin Tang        };
778cae15c6SKevin Tang    };
78