Narendra Muppalla | 1b0b335 | 2015-09-29 10:16:51 -0700 | [diff] [blame] | 1 | Qualcomm Technologies, Inc. SDE KMS |
| 2 | |
| 3 | Snapdragon Display Engine implements Linux DRM/KMS APIs to drive user |
| 4 | interface to different panel interfaces. SDE driver is the core of |
| 5 | display subsystem which manage all data paths to different panel interfaces. |
| 6 | |
| 7 | Required properties |
| 8 | - compatible: Must be "qcom,sde-kms" |
Benet Clark | 37809e6 | 2016-10-24 10:14:00 -0700 | [diff] [blame] | 9 | - compatible: "msm-hdmi-audio-codec-rx"; |
Narendra Muppalla | 1b0b335 | 2015-09-29 10:16:51 -0700 | [diff] [blame] | 10 | - 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 Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 22 | - 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 Ip | 8e69ad0 | 2016-12-09 09:43:57 -0500 | [diff] [blame] | 61 | - qcom,sde-pp-slave: Array of flags indicating whether each ping pong |
| 62 | block may be configured as a pp slave. |
Dhaval Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 63 | - 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 Sankaran | 370b991 | 2017-01-10 18:03:42 -0800 | [diff] [blame] | 69 | - 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 Muppalla | 1b0b335 | 2015-09-29 10:16:51 -0700 | [diff] [blame] | 74 | |
Dhaval Patel | 480dc52 | 2016-07-27 18:36:59 -0700 | [diff] [blame] | 75 | Optional properties: |
| 76 | - clock-rate: List of clock rates in Hz. |
Alan Kwong | 83b6cbe | 2016-09-17 20:08:37 -0400 | [diff] [blame] | 77 | - clock-max-rate: List of maximum clock rate in Hz that this device supports. |
Dhaval Patel | 480dc52 | 2016-07-27 18:36:59 -0700 | [diff] [blame] | 78 | - 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 Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 93 | - 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 Patel | 5aad745 | 2017-01-12 09:59:31 -0800 | [diff] [blame] | 115 | - 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 Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 118 | - qcom,sde-highest-bank-bit: A u32 property to indicate GPU/Camera/Video highest memory |
| 119 | bank bit used for tile format buffers. |
Clarence Ip | 32bcb00 | 2017-03-13 12:26:44 -0700 | [diff] [blame] | 120 | - 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 Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 125 | - 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 Sankaran | 3171ff8 | 2017-01-04 14:34:47 -0800 | [diff] [blame] | 129 | - qcom,sde-has-dim-layer: Boolean property to indicate if mixer has dim layer |
| 130 | feature is available or not. |
Veera Sundaram Sankaran | c9efbec | 2017-03-29 18:59:05 -0700 | [diff] [blame] | 131 | - qcom,sde-has-idle-pc: Boolean property to indicate if target has idle |
| 132 | power collapse feature available or not. |
Dhaval Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 133 | - 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 Kwong | 41b099e | 2016-10-12 17:10:11 -0400 | [diff] [blame] | 151 | - 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 Sankaran | 02dd6ac | 2016-12-22 15:08:29 -0800 | [diff] [blame] | 155 | - qcom,sde-sspp-excl-rect: Array of u32 values indicating exclusion rectangle |
| 156 | support on each sspp. |
Jeykumar Sankaran | 2e65503 | 2017-02-04 14:05:45 -0800 | [diff] [blame] | 157 | - 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 Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 166 | - 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 Kwong | b9d2f6f | 2016-10-12 00:27:07 -0400 | [diff] [blame] | 177 | - 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 Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 181 | - 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 Clark | 37809e6 | 2016-10-24 10:14:00 -0700 | [diff] [blame] | 187 | - 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 Atkinson | 7715873 | 2016-10-23 13:02:00 -0400 | [diff] [blame] | 194 | -- qcom,sde-vig-qseed-size: A u32 address range for qseed scaler. |
Benet Clark | 37809e6 | 2016-10-24 10:14:00 -0700 | [diff] [blame] | 195 | -- 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 Atkinson | 7715873 | 2016-10-23 13:02:00 -0400 | [diff] [blame] | 204 | -- qcom,sde-rgb-scaler-size: A u32 address range for scaler. |
Benet Clark | 37809e6 | 2016-10-24 10:14:00 -0700 | [diff] [blame] | 205 | -- 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 Kwong | b9d2f6f | 2016-10-12 00:27:07 -0400 | [diff] [blame] | 231 | - 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 Kwong | 1462733 | 2016-10-12 16:44:00 -0400 | [diff] [blame] | 243 | - qcom,sde-wb-id: Array of writeback ids corresponding to the |
| 244 | offsets defined in property: qcom,sde-wb-off. |
Alan Kwong | 04780ec | 2016-10-12 16:05:17 -0400 | [diff] [blame] | 245 | - 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 Anandan | 031d8ff | 2016-12-15 16:58:45 -0800 | [diff] [blame] | 252 | - 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 Kwong | 67a3f79 | 2016-11-01 23:16:53 -0400 | [diff] [blame] | 257 | - 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 Kwong | 9aa061c | 2016-11-06 21:17:12 -0500 | [diff] [blame] | 265 | - 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 Kwong | 6259a38 | 2017-04-04 06:18:02 -0700 | [diff] [blame] | 277 | - 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 Kwong | a62eeb8 | 2017-04-19 08:57:55 -0700 | [diff] [blame^] | 300 | - 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 Kwong | 67a3f79 | 2016-11-01 23:16:53 -0400 | [diff] [blame] | 304 | |
| 305 | Bus 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 Kwong | 4dd64c8 | 2017-02-04 18:41:51 -0800 | [diff] [blame] | 311 | - qcom,sde-inline-rotator: A 2 cell property, with format of (rotator phandle, |
| 312 | instance id), of inline rotator device. |
| 313 | |
Dhaval Patel | 480dc52 | 2016-07-27 18:36:59 -0700 | [diff] [blame] | 314 | Bus Scaling Data: |
| 315 | - qcom,msm-bus,name: String property describing client name. |
Dhaval Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 316 | - qcom,msm-bus,num-cases: This is the number of Bus Scaling use cases |
Dhaval Patel | 480dc52 | 2016-07-27 18:36:59 -0700 | [diff] [blame] | 317 | 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-Moreno | 48ebb79 | 2015-10-02 15:54:46 -0700 | [diff] [blame] | 326 | Subnode properties: |
| 327 | - compatible : Compatible name used in smmu v2. |
| 328 | smmu_v2 names should be: |
Alan Kwong | 112a84f | 2016-05-24 20:49:21 -0400 | [diff] [blame] | 329 | "qcom,smmu-mdp-unsec" - smmu context bank device for |
Adrian Salido-Moreno | 48ebb79 | 2015-10-02 15:54:46 -0700 | [diff] [blame] | 330 | unsecure mdp domain. |
Alan Kwong | 112a84f | 2016-05-24 20:49:21 -0400 | [diff] [blame] | 331 | "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-Moreno | 48ebb79 | 2015-10-02 15:54:46 -0700 | [diff] [blame] | 334 | secure mdp domain. |
Alan Kwong | 112a84f | 2016-05-24 20:49:21 -0400 | [diff] [blame] | 335 | "qcom,smmu-rot-sec" - smmu context bank device for |
| 336 | secure rotation domain. |
Narendra Muppalla | 1b0b335 | 2015-09-29 10:16:51 -0700 | [diff] [blame] | 337 | Please refer to ../../interrupt-controller/interrupts.txt for a general |
| 338 | description of interrupt bindings. |
| 339 | |
| 340 | Example: |
| 341 | mdss_mdp: qcom,mdss_mdp@900000 { |
| 342 | compatible = "qcom,sde-kms"; |
| 343 | reg = <0x00900000 0x90000>, |
| 344 | <0x009b0000 0x1040>, |
Gopikrishnaiah Anandan | 031d8ff | 2016-12-15 16:58:45 -0800 | [diff] [blame] | 345 | <0x009b8000 0x1040>, |
| 346 | <0x0aeac000 0x00f0>; |
Narendra Muppalla | 1b0b335 | 2015-09-29 10:16:51 -0700 | [diff] [blame] | 347 | reg-names = "mdp_phys", |
| 348 | "vbif_phys", |
Gopikrishnaiah Anandan | 031d8ff | 2016-12-15 16:58:45 -0800 | [diff] [blame] | 349 | "vbif_nrt_phys", |
| 350 | "regdma_phys"; |
Narendra Muppalla | 1b0b335 | 2015-09-29 10:16:51 -0700 | [diff] [blame] | 351 | 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 Patel | 480dc52 | 2016-07-27 18:36:59 -0700 | [diff] [blame] | 365 | clock-rate = <0>, <0>, <0>; |
Alan Kwong | 83b6cbe | 2016-09-17 20:08:37 -0400 | [diff] [blame] | 366 | clock-max-rate= <0 320000000 0>; |
Narendra Muppalla | 1b0b335 | 2015-09-29 10:16:51 -0700 | [diff] [blame] | 367 | 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 Patel | 480dc52 | 2016-07-27 18:36:59 -0700 | [diff] [blame] | 374 | |
Dhaval Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 375 | 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 Clark | 37809e6 | 2016-10-24 10:14:00 -0700 | [diff] [blame] | 381 | qcom,sde-dspp-ad-off = <0x24000 0x22800>; |
| 382 | qcom,sde-dspp-ad-version = <0x00030000>; |
Dhaval Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 383 | 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 Ip | 8e69ad0 | 2016-12-09 09:43:57 -0500 | [diff] [blame] | 390 | qcom,sde-pp-slave = <0x0 0x0 0x0 0x0>; |
Dhaval Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 391 | 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 Sankaran | 370b991 | 2017-01-10 18:03:42 -0800 | [diff] [blame] | 395 | 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 Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 400 | 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 Ip | 32bcb00 | 2017-03-13 12:26:44 -0700 | [diff] [blame] | 428 | qcom,sde-ubwc-version = <0x100>; |
| 429 | qcom,sde-ubwc-static = <0x100>; |
| 430 | qcom,sde-ubwc-swizzle = <0>; |
Dhaval Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 431 | qcom,sde-panic-per-pipe; |
| 432 | qcom,sde-has-cdp; |
| 433 | qcom,sde-has-src-split; |
Veera Sundaram Sankaran | 3171ff8 | 2017-01-04 14:34:47 -0800 | [diff] [blame] | 434 | qcom,sde-has-dim-layer; |
Dhaval Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 435 | 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 Patel | 5aad745 | 2017-01-12 09:59:31 -0800 | [diff] [blame] | 449 | qcom,sde-csc-type = "csc-10bit"; |
Dhaval Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 450 | qcom,sde-highest-bank-bit = <15>; |
| 451 | qcom,sde-has-mixer-gc; |
Veera Sundaram Sankaran | c9efbec | 2017-03-29 18:59:05 -0700 | [diff] [blame] | 452 | qcom,sde-has-idle-pc; |
Dhaval Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 453 | qcom,sde-sspp-max-rects = <1 1 1 1 |
| 454 | 1 1 1 1 |
| 455 | 1 1 |
| 456 | 1 1>; |
Veera Sundaram Sankaran | 02dd6ac | 2016-12-22 15:08:29 -0800 | [diff] [blame] | 457 | qcom,sde-sspp-excl-rect = <1 1 1 1 |
| 458 | 1 1 1 1 |
| 459 | 1 1 |
| 460 | 1 1>; |
Jeykumar Sankaran | 2e65503 | 2017-02-04 14:05:45 -0800 | [diff] [blame] | 461 | 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 Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 466 | qcom,sde-te-off = <0x100>; |
| 467 | qcom,sde-te2-off = <0x100>; |
| 468 | qcom,sde-te-size = <0xffff>; |
| 469 | qcom,sde-te2-size = <0xffff>; |
Dhaval Patel | 8bf7ff3 | 2016-07-20 18:13:24 -0700 | [diff] [blame] | 470 | |
Alan Kwong | 1462733 | 2016-10-12 16:44:00 -0400 | [diff] [blame] | 471 | qcom,sde-wb-id = <2>; |
Alan Kwong | 04780ec | 2016-10-12 16:05:17 -0400 | [diff] [blame] | 472 | qcom,sde-wb-clk-ctrl = <0x2bc 16>; |
Alan Kwong | 1462733 | 2016-10-12 16:44:00 -0400 | [diff] [blame] | 473 | |
Alan Kwong | 41b099e | 2016-10-12 17:10:11 -0400 | [diff] [blame] | 474 | qcom,sde-sspp-danger-lut = <0x000f 0xffff 0x0000>; |
| 475 | qcom,sde-sspp-safe-lut = <0xfffc 0xff00 0xffff>; |
| 476 | |
Alan Kwong | b9d2f6f | 2016-10-12 00:27:07 -0400 | [diff] [blame] | 477 | 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 Kwong | 67a3f79 | 2016-11-01 23:16:53 -0400 | [diff] [blame] | 486 | qcom,sde-dram-channels = <2>; |
| 487 | qcom,sde-num-nrt-paths = <1>; |
| 488 | |
Alan Kwong | 9aa061c | 2016-11-06 21:17:12 -0500 | [diff] [blame] | 489 | qcom,sde-max-bw-high-kbps = <9000000>; |
| 490 | qcom,sde-max-bw-low-kbps = <9000000>; |
| 491 | |
Alan Kwong | 6259a38 | 2017-04-04 06:18:02 -0700 | [diff] [blame] | 492 | 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 Kwong | a62eeb8 | 2017-04-19 08:57:55 -0700 | [diff] [blame^] | 507 | 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 Clark | 37809e6 | 2016-10-24 10:14:00 -0700 | [diff] [blame] | 510 | qcom,sde-sspp-vig-blocks { |
| 511 | qcom,sde-vig-csc-off = <0x320>; |
| 512 | qcom,sde-vig-qseed-off = <0x200>; |
Lloyd Atkinson | 7715873 | 2016-10-23 13:02:00 -0400 | [diff] [blame] | 513 | qcom,sde-vig-qseed-size = <0x74>; |
Benet Clark | 37809e6 | 2016-10-24 10:14:00 -0700 | [diff] [blame] | 514 | /* 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 Atkinson | 7715873 | 2016-10-23 13:02:00 -0400 | [diff] [blame] | 522 | qcom,sde-rgb-scaler-size = <0x74>; |
Benet Clark | 37809e6 | 2016-10-24 10:14:00 -0700 | [diff] [blame] | 523 | 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 Kwong | 4dd64c8 | 2017-02-04 18:41:51 -0800 | [diff] [blame] | 546 | qcom,sde-inline-rotator = <&mdss_rotator 0>; |
| 547 | |
Dhaval Patel | 480dc52 | 2016-07-27 18:36:59 -0700 | [diff] [blame] | 548 | 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 Kwong | 67a3f79 | 2016-11-01 23:16:53 -0400 | [diff] [blame] | 565 | 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 Patel | 480dc52 | 2016-07-27 18:36:59 -0700 | [diff] [blame] | 577 | 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 Muppalla | 1b0b335 | 2015-09-29 10:16:51 -0700 | [diff] [blame] | 589 | }; |