Adrian Salido-Moreno | 4522894 | 2012-08-13 16:19:18 -0700 | [diff] [blame] | 1 | Qualcomm MDSS MDP |
| 2 | |
| 3 | MDSS is Mobile Display SubSystem which implements Linux framebuffer APIs to |
| 4 | drive user interface to different panel interfaces. MDP driver is the core of |
| 5 | MDSS which manage all data paths to different panel interfaces. |
| 6 | |
| 7 | Required 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-Moreno | 2a22865 | 2012-10-01 11:17:33 -0700 | [diff] [blame] | 13 | - qcom,max-clk-rate: Specify maximum MDP core clock rate in hz that this |
| 14 | device supports. |
Sree Sesha Aravind Vadrevu | 8be4b98 | 2013-01-04 14:09:20 -0800 | [diff] [blame] | 15 | - 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 Vadrevu | 6dc413b | 2013-02-27 17:02:04 -0800 | [diff] [blame] | 48 | - 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 Vadrevu | 8be4b98 | 2013-01-04 14:09:20 -0800 | [diff] [blame] | 53 | - 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-Moreno | 2604550 | 2013-02-05 22:46:01 -0800 | [diff] [blame] | 85 | - 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-Moreno | 4fe8106 | 2012-12-04 21:05:03 -0800 | [diff] [blame] | 92 | |
Adrian Salido-Moreno | e2e742b | 2013-02-07 01:54:14 -0800 | [diff] [blame] | 93 | Optional 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-Moreno | 4fe8106 | 2012-12-04 21:05:03 -0800 | [diff] [blame] | 103 | Optional subnodes: |
| 104 | Child nodes representing the frame buffer virtual devices. |
| 105 | |
| 106 | Subnode properties: |
| 107 | - compatible : Must be "qcom,mdss-fb" |
| 108 | - cell-index : Index representing frame buffer |
| 109 | |
| 110 | |
| 111 | |
Adrian Salido-Moreno | 4522894 | 2012-08-13 16:19:18 -0700 | [diff] [blame] | 112 | Example: |
| 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-Moreno | 2a22865 | 2012-10-01 11:17:33 -0700 | [diff] [blame] | 120 | qcom,max-clk-rate = <320000000>; |
Adrian Salido-Moreno | e2e742b | 2013-02-07 01:54:14 -0800 | [diff] [blame] | 121 | qcom,vbif-settings = <0x0004 0x00000001>, |
| 122 | <0x00D8 0x00000707>; |
| 123 | qcom,mdp-settings = <0x02E0 0x000000AA>, |
| 124 | <0x02E4 0x00000055>; |
Sree Sesha Aravind Vadrevu | 8be4b98 | 2013-01-04 14:09:20 -0800 | [diff] [blame] | 125 | 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 Vadrevu | 6dc413b | 2013-02-27 17:02:04 -0800 | [diff] [blame] | 133 | qcom,mdss-smp-data = <22 4096>; |
Sree Sesha Aravind Vadrevu | 8be4b98 | 2013-01-04 14:09:20 -0800 | [diff] [blame] | 134 | |
| 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-Moreno | 2604550 | 2013-02-05 22:46:01 -0800 | [diff] [blame] | 143 | qcom,mdss-intf-off = <0x00021100 0x00021300 |
| 144 | 0x00021500 0x00021700>; |
Sree Sesha Aravind Vadrevu | 8be4b98 | 2013-01-04 14:09:20 -0800 | [diff] [blame] | 145 | |
Adrian Salido-Moreno | 4fe8106 | 2012-12-04 21:05:03 -0800 | [diff] [blame] | 146 | mdss_fb0: qcom,mdss_fb_primary { |
| 147 | cell-index = <0>; |
| 148 | compatible = "qcom,mdss-fb"; |
| 149 | }; |
Adrian Salido-Moreno | 4522894 | 2012-08-13 16:19:18 -0700 | [diff] [blame] | 150 | }; |
| 151 | |