The IP block evolved from its rk3288/rk3399 base and the vendor designates them with a numerical version. rk3399 for example is designated V10 probably meaning V1.0. There doesn't seem to be an actual version register we could read that information from, so allow the match_data to carry that information for future differentiation. Also carry that information in the hw_revision field of the media- controller API, so that userspace also has access to that. The added versions are: - V10: at least rk3288 + rk3399 - V11: seemingly unused as of now, but probably appeared in some soc - V12: at least rk3326 + px30 - V13: at least rk1808 [fix checkpatch warning don't use multiple blank lines]
Showing the changes to include/uapi/linux (1 of 3 files). Show all
Unified · Split
| @@ -123,6 +123,21 @@ · 122 unmodified lines | ||
| 123 | 123 | #define RKISP1_CIF_ISP_STAT_AFM (1U << 2) |
| 124 | 124 | #define RKISP1_CIF_ISP_STAT_HIST (1U << 3) |
| 125 | 125 | |
| 126 | +/** | |
| 127 | + * enum rkisp1_cif_isp_version - ISP variants | |
| 128 | + * | |
| 129 | + * @RKISP1_V10: used at least in rk3288 and rk3399 | |
| 130 | + * @RKISP1_V11: declared in the original vendor code, but not used | |
| 131 | + * @RKISP1_V12: used at least in rk3326 and px30 | |
| 132 | + * @RKISP1_V13: used at least in rk1808 | |
| 133 | + */ | |
| 134 | +enum rkisp1_cif_isp_version { | |
| 135 | + RKISP1_V10 = 10, | |
| 136 | + RKISP1_V11, | |
| 137 | + RKISP1_V12, | |
| 138 | + RKISP1_V13, | |
| 139 | +}; | |
| 140 | + | |
| 126 | 141 | enum rkisp1_cif_isp_histogram_mode { |
| 127 | 142 | RKISP1_CIF_ISP_HISTOGRAM_MODE_DISABLE, |
| 128 | 143 | RKISP1_CIF_ISP_HISTOGRAM_MODE_RGB_COMBINED, |