| .. | .. |
|---|
| 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 |
|---|