blob: 6b9562504be914f8d223cec96ac446a795d65904 [file] [log] [blame]
Adrian Salido-Moreno45228942012-08-13 16:19:18 -07001Qualcomm MDSS MDP
2
3MDSS is Mobile Display SubSystem which implements Linux framebuffer APIs to
4drive user interface to different panel interfaces. MDP driver is the core of
5MDSS which manage all data paths to different panel interfaces.
6
7Required properties
8- compatible : Must be "qcom,mdss_mdp"
9- reg : offset and length of the register set for the device.
10- reg-names : names to refer to register sets related to this device
11- interrupts : Interrupt associated with MDSS.
12- vdd-supply : Phandle for vdd regulator device node.
Adrian Salido-Moreno2a228652012-10-01 11:17:33 -070013- qcom,max-clk-rate: Specify maximum MDP core clock rate in hz that this
14 device supports.
Sree Sesha Aravind Vadrevu8be4b982013-01-04 14:09:20 -080015- qcom,mdss-pipe-vig-off: Array of offset for MDP source surface pipes of
16 type VIG, the offsets are calculated from
17 register "mdp_phys" defined in reg property.
18 The number of offsets defined here should
19 reflect the amount of VIG pipes that can be
20 active in MDP for this configuration.
21- qcom,mdss-pipe-vig-fetch-id: Array of shared memory pool fetch ids
22 corresponding to the VIG pipe offsets defined in
23 previous property, the amount of fetch ids
24 defined should match the number of offsets
25 defined in property: qcom,mdss-pipe-vig-off
26- qcom,mdss-pipe-rgb-off: Array of offsets for MDP source surface pipes of
27 type RGB, the offsets are calculated from
28 register "mdp_phys" defined in reg property.
29 The number of offsets defined here should
30 reflect the amount of RGB pipes that can be
31 active in MDP for this configuration.
32- qcom,mdss-pipe-rgb-fetch-id: Array of shared memory pool fetch ids
33 corresponding to the RGB pipe offsets defined in
34 previous property, the amount of fetch ids
35 defined should match the number of offsets
36 defined in property: qcom,mdss-pipe-rgb-off
37- qcom,mdss-pipe-dma-off: Array of offsets for MDP source surface pipes of
38 type DMA, the offsets are calculated from
39 register "mdp_phys" defined in reg property.
40 The number of offsets defined here should
41 reflect the amount of DMA pipes that can be
42 active in MDP for this configuration.
43- qcom,mdss-pipe-dma-fetch-id: Array of shared memory pool fetch ids
44 corresponding to the DMA pipe offsets defined in
45 previous property, the amount of fetch ids
46 defined should match the number of offsets
47 defined in property: qcom,mdss-pipe-dma-off
Sree Sesha Aravind Vadrevu6dc413b2013-02-27 17:02:04 -080048- qcom,mdss-smp-data: Array of shared memory pool data. There should
49 be only two values in this property. The first
50 value corresponds to the number of smp blocks
51 and the second is the size of each block
52 present in the mdss hardware.
Sree Sesha Aravind Vadrevu8be4b982013-01-04 14:09:20 -080053- qcom,mdss-ctl-off: Array of offset addresses for the available ctl
54 hw blocks within MDP, these offsets are
55 calculated from register "mdp_phys" defined in
56 reg property. The number of ctl offsets defined
57 here should reflect the number of control paths
58 that can be configured concurrently on MDP for
59 this configuration.
60- qcom,mdss-wb-off: Array of offset addresses for the progammable
61 writeback blocks within MDP. The number of
62 offsets defined should match the number of ctl
63 blocks defined in property: qcom,mdss-ctl-off
64- qcom,mdss-mixer-intf-off: Array of offset addresses for the available
65 mixer blocks that can drive data to panel
66 interfaces.
67 These offsets are be calculated from register
68 "mdp_phys" defined in reg property.
69 The number of offsets defined should reflect the
70 amount of mixers that can drive data to a panel
71 interface.
72- qcom,mdss-dspp-off: Array of offset addresses for the available dspp
73 blocks. These offsets are calculated from
74 regsiter "mdp_phys" defined in reg property.
75 The number of dspp blocks should match the
76 number of mixers driving data to interface
77 defined in property: qcom,mdss-mixer-intf-off
78- qcom,mdss-mixer-wb-off: Array of offset addresses for the available
79 mixer blocks that can be drive data to writeback
80 block. These offsets will be calculated from
81 register "mdp_phys" defined in reg property.
82 The number of writeback mixer offsets defined
83 should reflect the number of mixers that can
84 drive data to a writeback block.
Adrian Salido-Moreno26045502013-02-05 22:46:01 -080085- qcom,mdss-intf-off: Array of offset addresses for the available MDP
86 video interface blocks that can drive data to a
87 panel controller through timing engine.
88 The offsets are calculated from "mdp_phys"
89 defined in reg property. The number of offsets
90 defiend should reflect the number of progammable
91 interface blocks avaialble in hardware.
Adrian Salido-Moreno4fe81062012-12-04 21:05:03 -080092
Adrian Salido-Morenoe2e742b2013-02-07 01:54:14 -080093Optional properties:
94- qcom,vbif-settings : Array with key-value pairs of constant VBIF register
95 settings used to setup MDSS QoS for optimum performance.
96 The key used should be offset from "vbif_phys" register
97 defined in reg property.
98- qcom,mdp-settings : Array with key-value pairs of constant MDP register
99 settings used to setup MDSS QoS for best performance.
100 The key used should be offset from "mdp_phys" register
101 defined in reg property.
102
Adrian Salido-Moreno4fe81062012-12-04 21:05:03 -0800103Optional subnodes:
104Child nodes representing the frame buffer virtual devices.
105
106Subnode properties:
107- compatible : Must be "qcom,mdss-fb"
108- cell-index : Index representing frame buffer
109
110
111
Adrian Salido-Moreno45228942012-08-13 16:19:18 -0700112Example:
113 qcom,mdss_mdp@fd900000 {
114 compatible = "qcom,mdss_mdp";
115 reg = <0xfd900000 0x22100>,
116 <0xfd924000 0x1000>;
117 reg-names = "mdp_phys", "vbif_phys";
118 interrupts = <0 72 0>;
119 vdd-supply = <&gdsc_mdss>;
Adrian Salido-Moreno2a228652012-10-01 11:17:33 -0700120 qcom,max-clk-rate = <320000000>;
Adrian Salido-Morenoe2e742b2013-02-07 01:54:14 -0800121 qcom,vbif-settings = <0x0004 0x00000001>,
122 <0x00D8 0x00000707>;
123 qcom,mdp-settings = <0x02E0 0x000000AA>,
124 <0x02E4 0x00000055>;
Sree Sesha Aravind Vadrevu8be4b982013-01-04 14:09:20 -0800125 qcom,mdss-pipe-vig-off = <0x00001200 0x00001600
126 0x00001A00>;
127 qcom,mdss-pipe-rgb-off = <0x00001E00 0x00002200
128 0x00002600>;
129 qcom,mdss-pipe-dma-off = <0x00002A00 0x00002E00>;
130 qcom,mdss-pipe-vig-fetch-id = <1 4 7>;
131 qcom,mdss-pipe-rgb-fetch-id = <16 17 18>;
132 qcom,mdss-pipe-dma-fetch-id = <10 13>;
Sree Sesha Aravind Vadrevu6dc413b2013-02-27 17:02:04 -0800133 qcom,mdss-smp-data = <22 4096>;
Sree Sesha Aravind Vadrevu8be4b982013-01-04 14:09:20 -0800134
135 qcom,mdss-ctl-off = <0x00000600 0x00000700 0x00000800
136 0x00000900 0x0000A00>;
137 qcom,mdss-mixer-intf-off = <0x00003200 0x00003600
138 0x00003A00>;
139 qcom,mdss-mixer-wb-off = <0x00003E00 0x00004200>;
140 qcom,mdss-dspp-off = <0x00004600 0x00004A00 0x00004E00>;
141 qcom,mdss-wb-off = <0x00011100 0x00013100 0x00015100
142 0x00017100 0x00019100>;
Adrian Salido-Moreno26045502013-02-05 22:46:01 -0800143 qcom,mdss-intf-off = <0x00021100 0x00021300
144 0x00021500 0x00021700>;
Sree Sesha Aravind Vadrevu8be4b982013-01-04 14:09:20 -0800145
Adrian Salido-Moreno4fe81062012-12-04 21:05:03 -0800146 mdss_fb0: qcom,mdss_fb_primary {
147 cell-index = <0>;
148 compatible = "qcom,mdss-fb";
149 };
Adrian Salido-Moreno45228942012-08-13 16:19:18 -0700150 };
151