blob: b0eed20002571c697e9398df4c38dd08b0bca264 [file] [log] [blame]
Narendra Muppalla1b0b3352015-09-29 10:16:51 -07001Qualcomm Technologies, Inc. SDE KMS
2
3Snapdragon Display Engine implements Linux DRM/KMS APIs to drive user
4interface to different panel interfaces. SDE driver is the core of
5display subsystem which manage all data paths to different panel interfaces.
6
7Required properties
8- compatible: Must be "qcom,sde-kms"
Benet Clark37809e62016-10-24 10:14:00 -07009- compatible: "msm-hdmi-audio-codec-rx";
Narendra Muppalla1b0b3352015-09-29 10:16:51 -070010- reg: Offset and length of the register set for the device.
11- reg-names : Names to refer to register sets related to this device
12- clocks: List of Phandles for clock device nodes
13 needed by the device.
14- clock-names: List of clock names needed by the device.
15- mmagic-supply: Phandle for mmagic mdss supply regulator device node.
16- vdd-supply: Phandle for vdd regulator device node.
17- interrupt-parent: Must be core interrupt controller.
18- interrupts: Interrupt associated with MDSS.
19- interrupt-controller: Mark the device node as an interrupt controller.
20- #interrupt-cells: Should be one. The first cell is interrupt number.
21- iommus: Specifies the SID's used by this context bank.
Dhaval Patel8bf7ff32016-07-20 18:13:24 -070022- qcom,sde-sspp-type: Array of strings for SDE source surface pipes type information.
23 A source pipe can be "vig", "rgb", "dma" or "cursor" type.
24 Number of xin ids defined should match the number of offsets
25 defined in property: qcom,sde-sspp-off.
26- qcom,sde-sspp-off: Array of offset for SDE source surface pipes. The offsets
27 are calculated from register "mdp_phys" defined in
28 reg property + "sde-off". The number of offsets defined here should
29 reflect the amount of pipes that can be active in SDE for
30 this configuration.
31- qcom,sde-sspp-xin-id: Array of VBIF clients ids (xins) corresponding
32 to the respective source pipes. Number of xin ids
33 defined should match the number of offsets
34 defined in property: qcom,sde-sspp-off.
35- qcom,sde-ctl-off: Array of offset addresses for the available ctl
36 hw blocks within SDE, these offsets are
37 calculated from register "mdp_phys" defined in
38 reg property. The number of ctl offsets defined
39 here should reflect the number of control paths
40 that can be configured concurrently on SDE for
41 this configuration.
42- qcom,sde-wb-off: Array of offset addresses for the programmable
43 writeback blocks within SDE.
44- qcom,sde-wb-xin-id: Array of VBIF clients ids (xins) corresponding
45 to the respective writeback. Number of xin ids
46 defined should match the number of offsets
47 defined in property: qcom,sde-wb-off.
48- qcom,sde-mixer-off: Array of offset addresses for the available
49 mixer blocks that can drive data to panel
50 interfaces. These offsets are be calculated from
51 register "mdp_phys" defined in reg property.
52 The number of offsets defined should reflect the
53 amount of mixers that can drive data to a panel
54 interface.
55- qcom,sde-dspp-off: Array of offset addresses for the available dspp
56 blocks. These offsets are calculated from
57 register "mdp_phys" defined in reg property.
58- qcom,sde-pp-off: Array of offset addresses for the available
59 pingpong blocks. These offsets are calculated
60 from register "mdp_phys" defined in reg property.
Clarence Ip8e69ad02016-12-09 09:43:57 -050061- qcom,sde-pp-slave: Array of flags indicating whether each ping pong
62 block may be configured as a pp slave.
Dhaval Patel8bf7ff32016-07-20 18:13:24 -070063- qcom,sde-intf-off: Array of offset addresses for the available SDE
64 interface blocks that can drive data to a
65 panel controller. The offsets are calculated
66 from "mdp_phys" defined in reg property. The number
67 of offsets defined should reflect the number of
68 programmable interface blocks available in hardware.
Veera Sundaram Sankaran370b9912017-01-10 18:03:42 -080069- qcom,sde-mixer-blend-op-off Array of offset addresses for the available
70 blending stages. The offsets are relative to
71 qcom,sde-mixer-off.
72- qcom,sde-mixer-pair-mask Array of mixer numbers that can be paired with
73 mixer number corresponding to the array index.
Narendra Muppalla1b0b3352015-09-29 10:16:51 -070074
Dhaval Patel480dc522016-07-27 18:36:59 -070075Optional properties:
76- clock-rate: List of clock rates in Hz.
Alan Kwong83b6cbe2016-09-17 20:08:37 -040077- clock-max-rate: List of maximum clock rate in Hz that this device supports.
Dhaval Patel480dc522016-07-27 18:36:59 -070078- qcom,platform-supply-entries: A node that lists the elements of the supply. There
79 can be more than one instance of this binding,
80 in which case the entry would be appended with
81 the supply entry index.
82 e.g. qcom,platform-supply-entry@0
83 -- reg: offset and length of the register set for the device.
84 -- qcom,supply-name: name of the supply (vdd/vdda/vddio)
85 -- qcom,supply-min-voltage: minimum voltage level (uV)
86 -- qcom,supply-max-voltage: maximum voltage level (uV)
87 -- qcom,supply-enable-load: load drawn (uA) from enabled supply
88 -- qcom,supply-disable-load: load drawn (uA) from disabled supply
89 -- qcom,supply-pre-on-sleep: time to sleep (ms) before turning on
90 -- qcom,supply-post-on-sleep: time to sleep (ms) after turning on
91 -- qcom,supply-pre-off-sleep: time to sleep (ms) before turning off
92 -- qcom,supply-post-off-sleep: time to sleep (ms) after turning off
Dhaval Patel8bf7ff32016-07-20 18:13:24 -070093- qcom,sde-sspp-src-size: A u32 value indicates the address range for each sspp.
94- qcom,sde-mixer-size: A u32 value indicates the address range for each mixer.
95- qcom,sde-ctl-size: A u32 value indicates the address range for each ctl.
96- qcom,sde-dspp-size: A u32 value indicates the address range for each dspp.
97- qcom,sde-intf-size: A u32 value indicates the address range for each intf.
98- qcom,sde-dsc-size: A u32 value indicates the address range for each dsc.
99- qcom,sde-cdm-size: A u32 value indicates the address range for each cdm.
100- qcom,sde-pp-size: A u32 value indicates the address range for each pingpong.
101- qcom,sde-wb-size: A u32 value indicates the address range for each writeback.
102- qcom,sde-len: A u32 entry for SDE address range.
103- qcom,sde-intf-max-prefetch-lines: Array of u32 values for max prefetch lines on
104 each interface.
105- qcom,sde-sspp-linewidth: A u32 value indicates the max sspp line width.
106- qcom,sde-mixer-linewidth: A u32 value indicates the max mixer line width.
107- qcom,sde-wb-linewidth: A u32 value indicates the max writeback line width.
108- qcom,sde-sspp-scale-size: A u32 value indicates the scaling block size on sspp.
109- qcom,sde-mixer-blendstages: A u32 value indicates the max mixer blend stages for
110 alpha blending.
111- qcom,sde-qseed-type: A string entry indiates qseed support on sspp and wb.
112 It supports "qssedv3" and "qseedv2" entries for qseed
113 type. By default "qseedv2" is used if this optional property
114 is not defined.
Dhaval Patel5aad7452017-01-12 09:59:31 -0800115- qcom,sde-csc-type: A string entry indicates csc support on sspp and wb.
116 It supports "csc" and "csc-10bit" entries for csc
117 type.
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700118- qcom,sde-highest-bank-bit: A u32 property to indicate GPU/Camera/Video highest memory
119 bank bit used for tile format buffers.
Clarence Ip32bcb002017-03-13 12:26:44 -0700120- qcom,sde-ubwc-version: Property to specify the UBWC feature version.
121- qcom,sde-ubwc-static: Property to specify the default UBWC static
122 configuration value.
123- qcom,sde-ubwc-swizzle: Property to specify the default UBWC swizzle
124 configuration value.
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700125- qcom,sde-panic-per-pipe: Boolean property to indicate if panic signal
126 control feature is available on each source pipe.
127- qcom,sde-has-src-split: Boolean property to indicate if source split
128 feature is available or not.
Veera Sundaram Sankaran3171ff82017-01-04 14:34:47 -0800129- qcom,sde-has-dim-layer: Boolean property to indicate if mixer has dim layer
130 feature is available or not.
Veera Sundaram Sankaranc9efbec2017-03-29 18:59:05 -0700131- qcom,sde-has-idle-pc: Boolean property to indicate if target has idle
132 power collapse feature available or not.
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700133- qcom,sde-has-mixer-gc: Boolean property to indicate if mixer has gamma correction
134 feature available or not.
135- qcom,sde-has-cdp: Boolean property to indicate if cdp feature is
136 available or not.
137- qcom,sde-sspp-clk-ctrl: Array of offsets describing clk control
138 offsets for dynamic clock gating. 1st value
139 in the array represents offset of the control
140 register. 2nd value represents bit offset within
141 control register. Number of offsets defined should
142 match the number of offsets defined in
143 property: qcom,sde-sspp-off
144- qcom,sde-sspp-clk-status: Array of offsets describing clk status
145 offsets for dynamic clock gating. 1st value
146 in the array represents offset of the status
147 register. 2nd value represents bit offset within
148 control register. Number of offsets defined should
149 match the number of offsets defined in
150 property: qcom,sde-sspp-off.
Alan Kwong41b099e2016-10-12 17:10:11 -0400151- qcom,sde-sspp-danger-lut: A 3 cell property, with a format of <linear, tile, nrt>,
152 indicating the danger luts on sspp.
153- qcom,sde-sspp-safe-lut: A 3 cell property, with a format of <linear, tile, nrt>,
154 indicating the safe luts on sspp.
Veera Sundaram Sankaran02dd6ac2016-12-22 15:08:29 -0800155- qcom,sde-sspp-excl-rect: Array of u32 values indicating exclusion rectangle
156 support on each sspp.
Jeykumar Sankaran2e655032017-02-04 14:05:45 -0800157- qcom,sde-sspp-smart-dma-priority: Array of u32 values indicating hw pipe
158 priority of secondary rectangles when smart dma
159 is supported. Number of priority values should
160 match the number of offsets defined in
161 qcom,sde-sspp-off node. Zero indicates no support
162 for smart dma for the sspp.
163- qcom,sde-smart-dma-rev: A string entry indicating the smart dma version
164 supported on the device. Supported entries are
165 "smart_dma_v1" and "smart_dma_v2".
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700166- qcom,sde-intf-type: Array of string provides the interface type information.
167 Possible string values
168 "dsi" - dsi display interface
169 "dp" - Display Port interface
170 "hdmi" - HDMI display interface
171 An interface is considered as "none" if interface type
172 is not defined.
173- qcom,sde-off: SDE offset from "mdp_phys" defined in reg property.
174- qcom,sde-cdm-off: Array of offset addresses for the available
175 cdm blocks. These offsets will be calculated from
176 register "mdp_phys" defined in reg property.
Alan Kwongb9d2f6f2016-10-12 00:27:07 -0400177- qcom,sde-vbif-off: Array of offset addresses for the available
178 vbif blocks. These offsets will be calculated from
179 register "vbif_phys" defined in reg property.
180- qcom,sde-vbif-size: A u32 value indicates the vbif block address range.
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700181- qcom,sde-te-off: A u32 offset indicates the te block offset on pingpong.
182 This offset is 0x0 by default.
183- qcom,sde-te2-off: A u32 offset indicates the te2 block offset on pingpong.
184- qcom,sde-te-size: A u32 value indicates the te block address range.
185- qcom,sde-te2-size: A u32 value indicates the te2 block address range.
186- qcom,sde-dsc-off: A u32 offset indicates the dsc block offset on pingpong.
Benet Clark37809e62016-10-24 10:14:00 -0700187- qcom,sde-sspp-vig-blocks: A node that lists the blocks inside the VIG hardware. The
188 block entries will contain the offset and version (if needed)
189 of each feature block. The presence of a block entry
190 indicates that the SSPP VIG contains that feature hardware.
191 e.g. qcom,sde-sspp-vig-blocks
192 -- qcom,sde-vig-csc-off: offset of CSC hardware
193 -- qcom,sde-vig-qseed-off: offset of QSEED hardware
Lloyd Atkinson77158732016-10-23 13:02:00 -0400194 -- qcom,sde-vig-qseed-size: A u32 address range for qseed scaler.
Benet Clark37809e62016-10-24 10:14:00 -0700195 -- qcom,sde-vig-pcc: offset and version of PCC hardware
196 -- qcom,sde-vig-hsic: offset and version of global PA adjustment
197 -- qcom,sde-vig-memcolor: offset and version of PA memcolor hardware
198- qcom,sde-sspp-rgb-blocks: A node that lists the blocks inside the RGB hardware. The
199 block entries will contain the offset and version (if needed)
200 of each feature block. The presence of a block entry
201 indicates that the SSPP RGB contains that feature hardware.
202 e.g. qcom,sde-sspp-vig-blocks
203 -- qcom,sde-rgb-scaler-off: offset of RGB scaler hardware
Lloyd Atkinson77158732016-10-23 13:02:00 -0400204 -- qcom,sde-rgb-scaler-size: A u32 address range for scaler.
Benet Clark37809e62016-10-24 10:14:00 -0700205 -- qcom,sde-rgb-pcc: offset and version of PCC hardware
206- qcom,sde-dspp-blocks: A node that lists the blocks inside the DSPP hardware. The
207 block entries will contain the offset and version of each
208 feature block. The presence of a block entry indicates that
209 the DSPP contains that feature hardware.
210 e.g. qcom,sde-dspp-blocks
211 -- qcom,sde-dspp-pcc: offset and version of PCC hardware
212 -- qcom,sde-dspp-gc: offset and version of GC hardware
213 -- qcom,sde-dspp-hsic: offset and version of global PA adjustment
214 -- qcom,sde-dspp-memcolor: offset and version of PA memcolor hardware
215 -- qcom,sde-dspp-sixzone: offset and version of PA sixzone hardware
216 -- qcom,sde-dspp-gamut: offset and version of Gamut mapping hardware
217 -- qcom,sde-dspp-dither: offset and version of dither hardware
218 -- qcom,sde-dspp-hist: offset and version of histogram hardware
219 -- qcom,sde-dspp-vlut: offset and version of PA vLUT hardware
220- qcom,sde-mixer-blocks: A node that lists the blocks inside the layer mixer hardware. The
221 block entries will contain the offset and version (if needed)
222 of each feature block. The presence of a block entry
223 indicates that the layer mixer contains that feature hardware.
224 e.g. qcom,sde-mixer-blocks
225 -- qcom,sde-mixer-gc: offset and version of mixer GC hardware
226- qcom,sde-dspp-ad-off: Array of u32 offsets indicate the ad block offset from the
227 DSPP offset. Since AD hardware is represented as part of
228 DSPP block, the AD offsets must be offset from the
229 corresponding DSPP base.
230- qcom,sde-dspp-ad-version A u32 value indicating the version of the AD hardware
Alan Kwongb9d2f6f2016-10-12 00:27:07 -0400231- qcom,sde-vbif-id: Array of vbif ids corresponding to the
232 offsets defined in property: qcom,sde-vbif-off.
233- qcom,sde-vbif-default-ot-rd-limit: A u32 value indicates the default read OT limit
234- qcom,sde-vbif-default-ot-wr-limit: A u32 value indicates the default write OT limit
235- qcom,sde-vbif-dynamic-ot-rd-limit: A series of 2 cell property, with a format
236 of (pps, OT limit), where pps is pixel per second and
237 OT limit is the read limit to apply if the given
238 pps is not exceeded.
239- qcom,sde-vbif-dynamic-ot-wr-limit: A series of 2 cell property, with a format
240 of (pps, OT limit), where pps is pixel per second and
241 OT limit is the write limit to apply if the given
242 pps is not exceeded.
Alan Kwong14627332016-10-12 16:44:00 -0400243- qcom,sde-wb-id: Array of writeback ids corresponding to the
244 offsets defined in property: qcom,sde-wb-off.
Alan Kwong04780ec2016-10-12 16:05:17 -0400245- qcom,sde-wb-clk-ctrl: Array of 2 cell property describing clk control
246 offsets for dynamic clock gating. 1st value
247 in the array represents offset of the control
248 register. 2nd value represents bit offset within
249 control register. Number of offsets defined should
250 match the number of offsets defined in
251 property: qcom,sde-wb-off
Gopikrishnaiah Anandan031d8ff2016-12-15 16:58:45 -0800252- qcom,sde-reg-dma-off: Offset of the register dma hardware block from
253 "regdma_phys" defined in reg property.
254- qcom,sde-reg-dma-version: Version of the reg dma hardware block.
255- qcom,sde-reg-dma-trigger-off: Offset of the lut dma trigger reg from "mdp_phys"
256 defined in reg property.
Alan Kwong67a3f792016-11-01 23:16:53 -0400257- qcom,sde-dram-channels: This represents the number of channels in the
258 Bus memory controller.
259- qcom,sde-num-nrt-paths: Integer property represents the number of non-realtime
260 paths in each Bus Scaling Usecase. This value depends on
261 number of AXI ports that are dedicated to non-realtime VBIF
262 for particular chipset.
263 These paths must be defined after rt-paths in
264 "qcom,msm-bus,vectors-KBps" vector request.
Alan Kwong9aa061c2016-11-06 21:17:12 -0500265- qcom,sde-max-bw-low-kbps: This value indicates the max bandwidth in Kbps
266 that can be supported without underflow.
267 This is a low bandwidth threshold which should
268 be applied in most scenarios to be safe from
269 underflows when unable to satisfy bandwidth
270 requirements.
271- qcom,sde-max-bw-high-kbps: This value indicates the max bandwidth in Kbps
272 that can be supported without underflow.
273 This is a high bandwidth threshold which can be
274 applied in scenarios where panel interface can
275 be more tolerant to memory latency such as
276 command mode panels.
Alan Kwong6259a382017-04-04 06:18:02 -0700277- qcom,sde-core-ib-ff: A string entry indicating the fudge factor for
278 core ib calculation.
279- qcom,sde-core-clk-ff: A string entry indicating the fudge factor for
280 core clock calculation.
281- qcom,sde-comp-ratio-rt: A string entry indicating the compression ratio
282 for each supported compressed format on realtime interface.
283 The string is composed of one or more of
284 <fourcc code>/<vendor code>/<modifier>/<compression ratio>
285 separated with spaces.
286- qcom,sde-comp-ratio-nrt: A string entry indicating the compression ratio
287 for each supported compressed format on non-realtime interface.
288 The string is composed of one or more of
289 <fourcc code>/<vendor code>/<modifier>/<compression ratio>
290 separated with spaces.
291- qcom,sde-undersized-prefill-lines: A u32 value indicates the size of undersized prefill in lines.
292- qcom,sde-xtra-prefill-lines: A u32 value indicates the extra prefill in lines.
293- qcom,sde-dest-scale-prefill-lines: A u32 value indicates the latency of destination scaler in lines.
294- qcom,sde-macrotile-prefill-lines: A u32 value indicates the latency of macrotile in lines.
295- qcom,sde-yuv-nv12-prefill-lines: A u32 value indicates the latency of yuv/nv12 in lines.
296- qcom,sde-linear-prefill-lines: A u32 value indicates the latency of linear in lines.
297- qcom,sde-downscaling-prefill-lines: A u32 value indicates the latency of downscaling in lines.
298- qcom,sde-max-per-pipe-bw-kbps: Array of u32 value indicates the max per pipe bandwidth in Kbps.
299- qcom,sde-amortizable-threshold: This value indicates the min for traffic shaping in lines.
Alan Kwonga62eeb82017-04-19 08:57:55 -0700300- qcom,sde-vbif-qos-rt-remap: This array is used to program vbif qos remapper register
301 priority for realtime clients.
302- qcom,sde-vbif-qos-nrt-remap: This array is used to program vbif qos remapper register
303 priority for non-realtime clients.
Alan Kwong67a3f792016-11-01 23:16:53 -0400304
305Bus Scaling Subnodes:
306- qcom,sde-reg-bus: Property to provide Bus scaling for register access for
307 mdss blocks.
308- qcom,sde-data-bus: Property to provide Bus scaling for data bus access for
309 mdss blocks.
310
Alan Kwong4dd64c82017-02-04 18:41:51 -0800311- qcom,sde-inline-rotator: A 2 cell property, with format of (rotator phandle,
312 instance id), of inline rotator device.
313
Dhaval Patel480dc522016-07-27 18:36:59 -0700314Bus Scaling Data:
315- qcom,msm-bus,name: String property describing client name.
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700316- qcom,msm-bus,num-cases: This is the number of Bus Scaling use cases
Dhaval Patel480dc522016-07-27 18:36:59 -0700317 defined in the vectors property.
318- qcom,msm-bus,num-paths: This represents the number of paths in each
319 Bus Scaling Usecase.
320- qcom,msm-bus,vectors-KBps: * A series of 4 cell properties, with a format
321 of (src, dst, ab, ib) which is defined at
322 Documentation/devicetree/bindings/arm/msm/msm_bus.txt
323 * Current values of src & dst are defined at
324 include/linux/msm-bus-board.h
325
Adrian Salido-Moreno48ebb792015-10-02 15:54:46 -0700326Subnode properties:
327- compatible : Compatible name used in smmu v2.
328 smmu_v2 names should be:
Alan Kwong112a84f2016-05-24 20:49:21 -0400329 "qcom,smmu-mdp-unsec" - smmu context bank device for
Adrian Salido-Moreno48ebb792015-10-02 15:54:46 -0700330 unsecure mdp domain.
Alan Kwong112a84f2016-05-24 20:49:21 -0400331 "qcom,smmu-rot-unsec" - smmu context bank device for
332 unsecure rotation domain.
333 "qcom,smmu-mdp-sec" - smmu context bank device for
Adrian Salido-Moreno48ebb792015-10-02 15:54:46 -0700334 secure mdp domain.
Alan Kwong112a84f2016-05-24 20:49:21 -0400335 "qcom,smmu-rot-sec" - smmu context bank device for
336 secure rotation domain.
Narendra Muppalla1b0b3352015-09-29 10:16:51 -0700337Please refer to ../../interrupt-controller/interrupts.txt for a general
338description of interrupt bindings.
339
340Example:
341 mdss_mdp: qcom,mdss_mdp@900000 {
342 compatible = "qcom,sde-kms";
343 reg = <0x00900000 0x90000>,
344 <0x009b0000 0x1040>,
Gopikrishnaiah Anandan031d8ff2016-12-15 16:58:45 -0800345 <0x009b8000 0x1040>,
346 <0x0aeac000 0x00f0>;
Narendra Muppalla1b0b3352015-09-29 10:16:51 -0700347 reg-names = "mdp_phys",
348 "vbif_phys",
Gopikrishnaiah Anandan031d8ff2016-12-15 16:58:45 -0800349 "vbif_nrt_phys",
350 "regdma_phys";
Narendra Muppalla1b0b3352015-09-29 10:16:51 -0700351 clocks = <&clock_mmss clk_mdss_ahb_clk>,
352 <&clock_mmss clk_mdss_axi_clk>,
353 <&clock_mmss clk_mdp_clk_src>,
354 <&clock_mmss clk_mdss_mdp_vote_clk>,
355 <&clock_mmss clk_smmu_mdp_axi_clk>,
356 <&clock_mmss clk_mmagic_mdss_axi_clk>,
357 <&clock_mmss clk_mdss_vsync_clk>;
358 clock-names = "iface_clk",
359 "bus_clk",
360 "core_clk_src",
361 "core_clk",
362 "iommu_clk",
363 "mmagic_clk",
364 "vsync_clk";
Dhaval Patel480dc522016-07-27 18:36:59 -0700365 clock-rate = <0>, <0>, <0>;
Alan Kwong83b6cbe2016-09-17 20:08:37 -0400366 clock-max-rate= <0 320000000 0>;
Narendra Muppalla1b0b3352015-09-29 10:16:51 -0700367 mmagic-supply = <&gdsc_mmagic_mdss>;
368 vdd-supply = <&gdsc_mdss>;
369 interrupt-parent = <&intc>;
370 interrupts = <0 83 0>;
371 interrupt-controller;
372 #interrupt-cells = <1>;
373 iommus = <&mdp_smmu 0>;
Dhaval Patel480dc522016-07-27 18:36:59 -0700374
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700375 qcom,sde-off = <0x1000>;
376 qcom,sde-ctl-off = <0x00002000 0x00002200 0x00002400
377 0x00002600 0x00002800>;
378 qcom,sde-mixer-off = <0x00045000 0x00046000
379 0x00047000 0x0004a000>;
380 qcom,sde-dspp-off = <0x00055000 0x00057000>;
Benet Clark37809e62016-10-24 10:14:00 -0700381 qcom,sde-dspp-ad-off = <0x24000 0x22800>;
382 qcom,sde-dspp-ad-version = <0x00030000>;
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700383 qcom,sde-wb-off = <0x00066000>;
384 qcom,sde-wb-xin-id = <6>;
385 qcom,sde-intf-off = <0x0006b000 0x0006b800
386 0x0006c000 0x0006c800>;
387 qcom,sde-intf-type = "none", "dsi", "dsi", "hdmi";
388 qcom,sde-pp-off = <0x00071000 0x00071800
389 0x00072000 0x00072800>;
Clarence Ip8e69ad02016-12-09 09:43:57 -0500390 qcom,sde-pp-slave = <0x0 0x0 0x0 0x0>;
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700391 qcom,sde-cdm-off = <0x0007a200>;
392 qcom,sde-dsc-off = <0x00081000 0x00081400>;
393 qcom,sde-intf-max-prefetch-lines = <0x15 0x15 0x15 0x15>;
394
Veera Sundaram Sankaran370b9912017-01-10 18:03:42 -0800395 qcom,sde-mixer-pair-mask = <2 1 6 0 0 3>;
396 qcom,sde-mixer-blend-op-off = <0x20 0x38 0x50 0x68 0x80 0x98
397 0xb0 0xc8 0xe0 0xf8 0x110>;
398
399
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700400 qcom,sde-sspp-type = "vig", "vig", "vig",
401 "vig", "rgb", "rgb",
402 "rgb", "rgb", "dma",
403 "dma", "cursor", "cursor";
404
405 qcom,sde-sspp-off = <0x00005000 0x00007000 0x00009000
406 0x0000b000 0x00015000 0x00017000
407 0x00019000 0x0001b000 0x00025000
408 0x00027000 0x00035000 0x00037000>;
409
410 qcom,sde-sspp-xin-id = <0 4 8
411 12 1 5
412 9 13 2
413 10 7 7>;
414
415 /* offsets are relative to "mdp_phys + qcom,sde-off */
416 qcom,sde-sspp-clk-ctrl = <0x2ac 0>, <0x2b4 0>, <0x2bc 0>,
417 <0x2c4 0>, <0x2ac 4>, <0x2b4 4>, <0x2bc 4>,
418 <0x2c4 4>, <0x2ac 8>, <0x2b4 8>, <0x3a8 16>,
419 <0x3b0 16>;
420 qcom,sde-sspp-clk-status = <0x2ac 0>, <0x2b4 0>, <0x2bc 0>,
421 <0x2c4 0>, <0x2ac 4>, <0x2b4 4>, <0x2bc 4>,
422 <0x2c4 4>, <0x2ac 8>, <0x2b4 8>, <0x3a8 16>,
423 <0x3b0 16>;
424 qcom,sde-mixer-linewidth = <2560>;
425 qcom,sde-sspp-linewidth = <2560>;
426 qcom,sde-mixer-blendstages = <0x7>;
427 qcom,sde-highest-bank-bit = <0x2>;
Clarence Ip32bcb002017-03-13 12:26:44 -0700428 qcom,sde-ubwc-version = <0x100>;
429 qcom,sde-ubwc-static = <0x100>;
430 qcom,sde-ubwc-swizzle = <0>;
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700431 qcom,sde-panic-per-pipe;
432 qcom,sde-has-cdp;
433 qcom,sde-has-src-split;
Veera Sundaram Sankaran3171ff82017-01-04 14:34:47 -0800434 qcom,sde-has-dim-layer;
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700435 qcom,sde-sspp-src-size = <0x100>;
436 qcom,sde-mixer-size = <0x100>;
437 qcom,sde-ctl-size = <0x100>;
438 qcom,sde-dspp-size = <0x100>;
439 qcom,sde-intf-size = <0x100>;
440 qcom,sde-dsc-size = <0x100>;
441 qcom,sde-cdm-size = <0x100>;
442 qcom,sde-pp-size = <0x100>;
443 qcom,sde-wb-size = <0x100>;
444 qcom,sde-len = <0x100>;
445 qcom,sde-wb-linewidth = <2560>;
446 qcom,sde-sspp-scale-size = <0x100>;
447 qcom,sde-mixer-blendstages = <0x8>;
448 qcom,sde-qseed-type = "qseedv2";
Dhaval Patel5aad7452017-01-12 09:59:31 -0800449 qcom,sde-csc-type = "csc-10bit";
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700450 qcom,sde-highest-bank-bit = <15>;
451 qcom,sde-has-mixer-gc;
Veera Sundaram Sankaranc9efbec2017-03-29 18:59:05 -0700452 qcom,sde-has-idle-pc;
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700453 qcom,sde-sspp-max-rects = <1 1 1 1
454 1 1 1 1
455 1 1
456 1 1>;
Veera Sundaram Sankaran02dd6ac2016-12-22 15:08:29 -0800457 qcom,sde-sspp-excl-rect = <1 1 1 1
458 1 1 1 1
459 1 1
460 1 1>;
Jeykumar Sankaran2e655032017-02-04 14:05:45 -0800461 qcom,sde-sspp-smart-dma-priority = <0 0 0 0
462 0 0 0 0
463 0 0
464 1 2>;
465 qcom,sde-smart-dma-rev = "smart_dma_v2";
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700466 qcom,sde-te-off = <0x100>;
467 qcom,sde-te2-off = <0x100>;
468 qcom,sde-te-size = <0xffff>;
469 qcom,sde-te2-size = <0xffff>;
Dhaval Patel8bf7ff32016-07-20 18:13:24 -0700470
Alan Kwong14627332016-10-12 16:44:00 -0400471 qcom,sde-wb-id = <2>;
Alan Kwong04780ec2016-10-12 16:05:17 -0400472 qcom,sde-wb-clk-ctrl = <0x2bc 16>;
Alan Kwong14627332016-10-12 16:44:00 -0400473
Alan Kwong41b099e2016-10-12 17:10:11 -0400474 qcom,sde-sspp-danger-lut = <0x000f 0xffff 0x0000>;
475 qcom,sde-sspp-safe-lut = <0xfffc 0xff00 0xffff>;
476
Alan Kwongb9d2f6f2016-10-12 00:27:07 -0400477 qcom,sde-vbif-off = <0 0>;
478 qcom,sde-vbif-id = <0 1>;
479 qcom,sde-vbif-default-ot-rd-limit = <32>;
480 qcom,sde-vbif-default-ot-wr-limit = <16>;
481 qcom,sde-vbif-dynamic-ot-rd-limit = <62208000 2>,
482 <124416000 4>, <248832000 16>;
483 qcom,sde-vbif-dynamic-ot-wr-limit = <62208000 2>,
484 <124416000 4>, <248832000 16>;
485
Alan Kwong67a3f792016-11-01 23:16:53 -0400486 qcom,sde-dram-channels = <2>;
487 qcom,sde-num-nrt-paths = <1>;
488
Alan Kwong9aa061c2016-11-06 21:17:12 -0500489 qcom,sde-max-bw-high-kbps = <9000000>;
490 qcom,sde-max-bw-low-kbps = <9000000>;
491
Alan Kwong6259a382017-04-04 06:18:02 -0700492 qcom,sde-core-ib-ff = "1.1";
493 qcom,sde-core-clk-ff = "1.0";
494 qcom,sde-comp-ratio-rt = "NV12/5/1/1.1 AB24/5/1/1.2 XB24/5/1/1.3";
495 qcom,sde-comp-ratio-nrt = "NV12/5/1/1.1 AB24/5/1/1.2 XB24/5/1/1.3";
496 qcom,sde-undersized-prefill-lines = <4>;
497 qcom,sde-xtra-prefill-lines = <5>;
498 qcom,sde-dest-scale-prefill-lines = <6>;
499 qcom,sde-macrotile-prefill-lines = <7>;
500 qcom,sde-yuv-nv12-prefill-lines = <8>;
501 qcom,sde-linear-prefill-lines = <9>;
502 qcom,sde-downscaling-prefill-lines = <10>;
503 qcom,sde-max-per-pipe-bw-kbps = <2400000 2400000 2400000 2400000
504 2400000 2400000 2400000 2400000>;
505 qcom,sde-amortizable-threshold = <11>;
506
Alan Kwonga62eeb82017-04-19 08:57:55 -0700507 qcom,sde-vbif-qos-rt-remap = <3 3 4 4 5 5 6 6>;
508 qcom,sde-vbif-qos-nrt-remap = <3 3 3 3 3 3 3 3>;
509
Benet Clark37809e62016-10-24 10:14:00 -0700510 qcom,sde-sspp-vig-blocks {
511 qcom,sde-vig-csc-off = <0x320>;
512 qcom,sde-vig-qseed-off = <0x200>;
Lloyd Atkinson77158732016-10-23 13:02:00 -0400513 qcom,sde-vig-qseed-size = <0x74>;
Benet Clark37809e62016-10-24 10:14:00 -0700514 /* Offset from vig top, version of HSIC */
515 qcom,sde-vig-hsic = <0x200 0x00010000>;
516 qcom,sde-vig-memcolor = <0x200 0x00010000>;
517 qcom,sde-vig-pcc = <0x1780 0x00010000>;
518 };
519
520 qcom,sde-sspp-rgb-blocks {
521 qcom,sde-rgb-scaler-off = <0x200>;
Lloyd Atkinson77158732016-10-23 13:02:00 -0400522 qcom,sde-rgb-scaler-size = <0x74>;
Benet Clark37809e62016-10-24 10:14:00 -0700523 qcom,sde-rgb-pcc = <0x380 0x00010000>;
524 };
525
526 qcom,sde-dspp-blocks {
527 qcom,sde-dspp-pcc = <0x1700 0x00010000>;
528 qcom,sde-dspp-gc = <0x17c0 0x00010000>;
529 qcom,sde-dspp-hsic = <0x0 0x00010000>;
530 qcom,sde-dspp-memcolor = <0x0 0x00010000>;
531 qcom,sde-dspp-sixzone = <0x0 0x00010000>;
532 qcom,sde-dspp-gamut = <0x1600 0x00010000>;
533 qcom,sde-dspp-dither = <0x0 0x00010000>;
534 qcom,sde-dspp-hist = <0x0 0x00010000>;
535 qcom,sde-dspp-vlut = <0x0 0x00010000>;
536 };
537
538 qcom,sde-mixer-blocks {
539 qcom,sde-mixer-gc = <0x3c0 0x00010000>;
540 };
541
542 qcom,msm-hdmi-audio-rx {
543 compatible = "qcom,msm-hdmi-audio-codec-rx";
544 };
545
Alan Kwong4dd64c82017-02-04 18:41:51 -0800546 qcom,sde-inline-rotator = <&mdss_rotator 0>;
547
Dhaval Patel480dc522016-07-27 18:36:59 -0700548 qcom,platform-supply-entries {
549 #address-cells = <1>;
550 #size-cells = <0>;
551 qcom,platform-supply-entry@0 {
552 reg = <0>;
553 qcom,supply-name = "vdd";
554 qcom,supply-min-voltage = <0>;
555 qcom,supply-max-voltage = <0>;
556 qcom,supply-enable-load = <0>;
557 qcom,supply-disable-load = <0>;
558 qcom,supply-pre-on-sleep = <0>;
559 qcom,supply-post-on-sleep = <0>;
560 qcom,supply-pre-off-sleep = <0>;
561 qcom,supply-post-off-sleep = <0>;
562 };
563 };
564
Alan Kwong67a3f792016-11-01 23:16:53 -0400565 qcom,sde-data-bus {
566 qcom,msm-bus,name = "mdss_sde";
567 qcom,msm-bus,num-cases = <3>;
568 qcom,msm-bus,num-paths = <3>;
569 qcom,msm-bus,vectors-KBps =
570 <22 512 0 0>, <23 512 0 0>, <25 512 0 0>,
571 <22 512 0 6400000>, <23 512 0 6400000>,
572 <25 512 0 6400000>,
573 <22 512 0 6400000>, <23 512 0 6400000>,
574 <25 512 0 6400000>;
575 };
576
Dhaval Patel480dc522016-07-27 18:36:59 -0700577 qcom,sde-reg-bus {
578 /* Reg Bus Scale Settings */
579 qcom,msm-bus,name = "mdss_reg";
580 qcom,msm-bus,num-cases = <4>;
581 qcom,msm-bus,num-paths = <1>;
582 qcom,msm-bus,active-only;
583 qcom,msm-bus,vectors-KBps =
584 <1 590 0 0>,
585 <1 590 0 76800>,
586 <1 590 0 160000>,
587 <1 590 0 320000>;
588 };
Narendra Muppalla1b0b3352015-09-29 10:16:51 -0700589 };