xref: /freebsd/sys/contrib/device-tree/Bindings/display/arm,komeda.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotDevice Tree bindings for Arm Komeda display driver
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot- compatible: Should be "arm,mali-d71"
5*c66ec88fSEmmanuel Vadot- reg: Physical base address and length of the registers in the system
6*c66ec88fSEmmanuel Vadot- interrupts: the interrupt line number of the device in the system
7*c66ec88fSEmmanuel Vadot- clocks: A list of phandle + clock-specifier pairs, one for each entry
8*c66ec88fSEmmanuel Vadot    in 'clock-names'
9*c66ec88fSEmmanuel Vadot- clock-names: A list of clock names. It should contain:
10*c66ec88fSEmmanuel Vadot      - "aclk": for the main processor clock
11*c66ec88fSEmmanuel Vadot- #address-cells: Must be 1
12*c66ec88fSEmmanuel Vadot- #size-cells: Must be 0
13*c66ec88fSEmmanuel Vadot- iommus: configure the stream id to IOMMU, Must be configured if want to
14*c66ec88fSEmmanuel Vadot    enable iommu in display. for how to configure this node please reference
15*c66ec88fSEmmanuel Vadot        devicetree/bindings/iommu/arm,smmu-v3.txt,
16*c66ec88fSEmmanuel Vadot        devicetree/bindings/iommu/iommu.txt
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel VadotRequired properties for sub-node: pipeline@nq
19*c66ec88fSEmmanuel VadotEach device contains one or two pipeline sub-nodes (at least one), each
20*c66ec88fSEmmanuel Vadotpipeline node should provide properties:
21*c66ec88fSEmmanuel Vadot- reg: Zero-indexed identifier for the pipeline
22*c66ec88fSEmmanuel Vadot- clocks: A list of phandle + clock-specifier pairs, one for each entry
23*c66ec88fSEmmanuel Vadot    in 'clock-names'
24*c66ec88fSEmmanuel Vadot- clock-names: should contain:
25*c66ec88fSEmmanuel Vadot      - "pxclk": pixel clock
26*c66ec88fSEmmanuel Vadot
27*c66ec88fSEmmanuel Vadot- port: each pipeline connect to an encoder input port. The connection is
28*c66ec88fSEmmanuel Vadot    modeled using the OF graph bindings specified in
29*c66ec88fSEmmanuel Vadot    Documentation/devicetree/bindings/graph.txt
30*c66ec88fSEmmanuel Vadot
31*c66ec88fSEmmanuel VadotOptional properties:
32*c66ec88fSEmmanuel Vadot  - memory-region: phandle to a node describing memory (see
33*c66ec88fSEmmanuel Vadot    Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt)
34*c66ec88fSEmmanuel Vadot    to be used for the framebuffer; if not present, the framebuffer may
35*c66ec88fSEmmanuel Vadot    be located anywhere in memory.
36*c66ec88fSEmmanuel Vadot
37*c66ec88fSEmmanuel VadotExample:
38*c66ec88fSEmmanuel Vadot/ {
39*c66ec88fSEmmanuel Vadot	...
40*c66ec88fSEmmanuel Vadot
41*c66ec88fSEmmanuel Vadot	dp0: display@c00000 {
42*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
43*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
44*c66ec88fSEmmanuel Vadot		compatible = "arm,mali-d71";
45*c66ec88fSEmmanuel Vadot		reg = <0xc00000 0x20000>;
46*c66ec88fSEmmanuel Vadot		interrupts = <0 168 4>;
47*c66ec88fSEmmanuel Vadot		clocks = <&dpu_aclk>;
48*c66ec88fSEmmanuel Vadot		clock-names = "aclk";
49*c66ec88fSEmmanuel Vadot		iommus = <&smmu 0>, <&smmu 1>, <&smmu 2>, <&smmu 3>,
50*c66ec88fSEmmanuel Vadot			<&smmu 4>, <&smmu 5>, <&smmu 6>, <&smmu 7>,
51*c66ec88fSEmmanuel Vadot			<&smmu 8>, <&smmu 9>;
52*c66ec88fSEmmanuel Vadot
53*c66ec88fSEmmanuel Vadot		dp0_pipe0: pipeline@0 {
54*c66ec88fSEmmanuel Vadot			clocks = <&fpgaosc2>;
55*c66ec88fSEmmanuel Vadot			clock-names = "pxclk";
56*c66ec88fSEmmanuel Vadot			reg = <0>;
57*c66ec88fSEmmanuel Vadot
58*c66ec88fSEmmanuel Vadot			port {
59*c66ec88fSEmmanuel Vadot				dp0_pipe0_out: endpoint {
60*c66ec88fSEmmanuel Vadot					remote-endpoint = <&db_dvi0_in>;
61*c66ec88fSEmmanuel Vadot				};
62*c66ec88fSEmmanuel Vadot			};
63*c66ec88fSEmmanuel Vadot		};
64*c66ec88fSEmmanuel Vadot
65*c66ec88fSEmmanuel Vadot		dp0_pipe1: pipeline@1 {
66*c66ec88fSEmmanuel Vadot			clocks = <&fpgaosc2>;
67*c66ec88fSEmmanuel Vadot			clock-names = "pxclk";
68*c66ec88fSEmmanuel Vadot			reg = <1>;
69*c66ec88fSEmmanuel Vadot
70*c66ec88fSEmmanuel Vadot			port {
71*c66ec88fSEmmanuel Vadot				dp0_pipe1_out: endpoint {
72*c66ec88fSEmmanuel Vadot					remote-endpoint = <&db_dvi1_in>;
73*c66ec88fSEmmanuel Vadot				};
74*c66ec88fSEmmanuel Vadot			};
75*c66ec88fSEmmanuel Vadot		};
76*c66ec88fSEmmanuel Vadot	};
77*c66ec88fSEmmanuel Vadot	...
78*c66ec88fSEmmanuel Vadot};
79