.. | .. |
---|
103 | 103 | RDBK_F_MAX |
---|
104 | 104 | }; |
---|
105 | 105 | |
---|
| 106 | +/* unite mode for isp to process high resolution |
---|
| 107 | + * ISP_UNITE_TWO: image splits left and right to two isp hardware |
---|
| 108 | + * ISP_UNITE_ONE: image splits left and right to single isp hardware |
---|
| 109 | + */ |
---|
| 110 | +enum { |
---|
| 111 | + ISP_UNITE_NONE = 0, |
---|
| 112 | + ISP_UNITE_TWO = 1, |
---|
| 113 | + ISP_UNITE_ONE = 2, |
---|
| 114 | +}; |
---|
| 115 | + |
---|
| 116 | +/* left and right index |
---|
| 117 | + * ISP_UNITE_LEFT: left of image to isp process |
---|
| 118 | + * ISP_UNITE_RIGHT: right of image to isp process |
---|
| 119 | + */ |
---|
| 120 | +enum { |
---|
| 121 | + ISP_UNITE_LEFT = 0, |
---|
| 122 | + ISP_UNITE_RIGHT = 1, |
---|
| 123 | +}; |
---|
| 124 | + |
---|
106 | 125 | /* |
---|
107 | 126 | * struct rkisp_pipeline - An ISP hardware pipeline |
---|
108 | 127 | * |
---|
.. | .. |
---|
249 | 268 | bool is_pre_on; |
---|
250 | 269 | bool is_first_double; |
---|
251 | 270 | bool is_probe_end; |
---|
| 271 | + bool is_frame_double; |
---|
252 | 272 | |
---|
253 | 273 | struct rkisp_vicap_input vicap_in; |
---|
254 | 274 | |
---|
255 | 275 | u8 multi_mode; |
---|
256 | 276 | u8 multi_index; |
---|
257 | 277 | u8 rawaf_irq_cnt; |
---|
| 278 | + u8 unite_index; |
---|
258 | 279 | }; |
---|
| 280 | + |
---|
| 281 | +static inline void |
---|
| 282 | +rkisp_unite_write(struct rkisp_device *dev, u32 reg, u32 val, bool is_direct) |
---|
| 283 | +{ |
---|
| 284 | + rkisp_write(dev, reg, val, is_direct); |
---|
| 285 | + if (dev->hw_dev->unite) |
---|
| 286 | + rkisp_next_write(dev, reg, val, is_direct); |
---|
| 287 | +} |
---|
| 288 | + |
---|
| 289 | +static inline void |
---|
| 290 | +rkisp_unite_set_bits(struct rkisp_device *dev, u32 reg, u32 mask, |
---|
| 291 | + u32 val, bool is_direct) |
---|
| 292 | +{ |
---|
| 293 | + rkisp_set_bits(dev, reg, mask, val, is_direct); |
---|
| 294 | + if (dev->hw_dev->unite) |
---|
| 295 | + rkisp_next_set_bits(dev, reg, mask, val, is_direct); |
---|
| 296 | +} |
---|
| 297 | + |
---|
| 298 | +static inline void |
---|
| 299 | +rkisp_unite_clear_bits(struct rkisp_device *dev, u32 reg, u32 mask, |
---|
| 300 | + bool is_direct) |
---|
| 301 | +{ |
---|
| 302 | + rkisp_clear_bits(dev, reg, mask, is_direct); |
---|
| 303 | + if (dev->hw_dev->unite) |
---|
| 304 | + rkisp_next_clear_bits(dev, reg, mask, is_direct); |
---|
| 305 | +} |
---|
| 306 | + |
---|
259 | 307 | #endif |
---|