| .. | .. |
|---|
| 124 | 124 | struct amba_device; |
|---|
| 125 | 125 | struct clk; |
|---|
| 126 | 126 | |
|---|
| 127 | | -/** |
|---|
| 128 | | - * struct clcd_vendor_data - holds hardware (IP-block) vendor-specific |
|---|
| 129 | | - * variant information |
|---|
| 130 | | - * |
|---|
| 131 | | - * @clock_timregs: the CLCD needs to be clocked when accessing the |
|---|
| 132 | | - * timer registers, or the hardware will hang. |
|---|
| 133 | | - * @packed_24_bit_pixels: this variant supports 24bit packed pixel data, |
|---|
| 134 | | - * so that RGB accesses 3 bytes at a time, not just on even 32bit |
|---|
| 135 | | - * boundaries, packing the pixel data in memory. ST Microelectronics |
|---|
| 136 | | - * have this. |
|---|
| 137 | | - * @st_bitmux_control: ST Microelectronics have implemented output |
|---|
| 138 | | - * bit line multiplexing into the CLCD control register. This indicates |
|---|
| 139 | | - * that we need to use this. |
|---|
| 140 | | - * @init_board: custom board init function for this variant |
|---|
| 141 | | - * @init_panel: custom panel init function for this variant |
|---|
| 142 | | - */ |
|---|
| 143 | | -struct clcd_vendor_data { |
|---|
| 144 | | - bool clock_timregs; |
|---|
| 145 | | - bool packed_24_bit_pixels; |
|---|
| 146 | | - bool st_bitmux_control; |
|---|
| 147 | | - int (*init_board)(struct amba_device *adev, |
|---|
| 148 | | - struct clcd_board *board); |
|---|
| 149 | | - int (*init_panel)(struct clcd_fb *fb, |
|---|
| 150 | | - struct device_node *panel); |
|---|
| 151 | | -}; |
|---|
| 152 | | - |
|---|
| 153 | 127 | /* this data structure describes each frame buffer device we find */ |
|---|
| 154 | 128 | struct clcd_fb { |
|---|
| 155 | 129 | struct fb_info fb; |
|---|
| 156 | 130 | struct amba_device *dev; |
|---|
| 157 | 131 | struct clk *clk; |
|---|
| 158 | | - struct clcd_vendor_data *vendor; |
|---|
| 159 | 132 | struct clcd_panel *panel; |
|---|
| 160 | 133 | struct clcd_board *board; |
|---|
| 161 | 134 | void *board_data; |
|---|
| .. | .. |
|---|
| 256 | 229 | val |= CNTL_LCDBPP16_565; |
|---|
| 257 | 230 | else |
|---|
| 258 | 231 | val |= CNTL_LCDBPP16_444; |
|---|
| 259 | | - break; |
|---|
| 260 | | - case 24: |
|---|
| 261 | | - /* Modified variant supporting 24 bit packed pixels */ |
|---|
| 262 | | - val |= CNTL_ST_LCDBPP24_PACKED; |
|---|
| 263 | 232 | break; |
|---|
| 264 | 233 | case 32: |
|---|
| 265 | 234 | val |= CNTL_LCDBPP24; |
|---|