History

media: rkisp1: Add version enum for i.MX8MP ISP

The NXP i.MX8MP integrates an ISP8000Nano from VeriSilicon, which is a derivative of the ISP found in earlier Rockchip SoCs. It isn't clear at which exact point the two product lines have diverged, and there is no public information regarding the version numbering scheme of the ISP8000Nano. Nonetheless, this ISP is close enough to the V10 found in the RK3399 to be supported by the same driver. Add an entry for the ISP found in the NXP i.MX8MP to the version enum. Given the lack of information on the version numbering scheme, and on whether or not the version in the i.MX8MP is identical to other ISP8000Nano versions or has been customized for the i.MX8MP, depart from the number-based versions and name this new version V_IMX8MP. Update comments for the other versions and for relevant parameters blocks to clearly indicate the size of grids and histogram for the different versions.

Paul Elder committed 2 years ago

Commit 6e682281 parent 716f9741 file · +27 −23Browse files

Showing the changes to include/uapi (1 of 1 file). Show all

Unified · Split

include/uapi/linux/rkisp1-config.h+27−23
@@ -175,16 +175,21 @@ · 174 unmodified lines
175/**175/**
176 * enum rkisp1_cif_isp_version - ISP variants176 * enum rkisp1_cif_isp_version - ISP variants
177 *177 *
178 * @RKISP1_V10: used at least in rk3288 and rk3399178 * @RKISP1_V10: Used at least in RK3288 and RK3399.
179 * @RKISP1_V11: declared in the original vendor code, but not used179 * @RKISP1_V11: Declared in the original vendor code, but not used. Same number
180 * @RKISP1_V12: used at least in rk3326 and px30180 * of entries in grids and histogram as v10.
181 * @RKISP1_V13: used at least in rk1808181 * @RKISP1_V12: Used at least in RK3326 and PX30.
182 * @RKISP1_V13: Used at least in RK1808. Same number of entries in grids and
183 * histogram as v12.
184 * @RKISP1_V_IMX8MP: Used in at least i.MX8MP. Same number of entries in grids
185 * and histogram as v10.
182 */186 */
183enum rkisp1_cif_isp_version {187enum rkisp1_cif_isp_version {
184 RKISP1_V10 = 10,188 RKISP1_V10 = 10,
185 RKISP1_V11,189 RKISP1_V11,
186 RKISP1_V12,190 RKISP1_V12,
187 RKISP1_V13,191 RKISP1_V13,
192 RKISP1_V_IMX8MP,
188};193};
189 194
190enum rkisp1_cif_isp_histogram_mode {195enum rkisp1_cif_isp_histogram_mode {
@@ -584,10 +589,9 @@ enum rkisp1_cif_isp_goc_mode { · 393 unmodified lines
584 * as is reported by the hw_revision field of the struct media_device_info589 * as is reported by the hw_revision field of the struct media_device_info
585 * that is returned by ioctl MEDIA_IOC_DEVICE_INFO.590 * that is returned by ioctl MEDIA_IOC_DEVICE_INFO.
586 *591 *
587 * Versions <= V11 have RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V10592 * V10 has RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V10 entries, V12 has
588 * entries, versions >= V12 have RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V12593 * RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V12 entries.
589 * entries. RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES is equal to the maximum594 * RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES is equal to the maximum of the two.
590 * of the two.
591 */595 */
592struct rkisp1_cif_isp_goc_config {596struct rkisp1_cif_isp_goc_config {
593 __u32 mode;597 __u32 mode;
@@ -607,10 +611,10 @@ struct rkisp1_cif_isp_goc_config { · 13 unmodified lines
607 * as is reported by the hw_revision field of the struct media_device_info611 * as is reported by the hw_revision field of the struct media_device_info
608 * that is returned by ioctl MEDIA_IOC_DEVICE_INFO.612 * that is returned by ioctl MEDIA_IOC_DEVICE_INFO.
609 *613 *
610 * Versions <= V11 have RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V10614 * V10 has RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V10 entries, V12 has
611 * entries, versions >= V12 have RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12615 * RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12 entries.
612 * entries. RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE is equal to the maximum616 * RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE is equal to the maximum of the
613 * of the two.617 * two.
614 */618 */
615struct rkisp1_cif_isp_hst_config {619struct rkisp1_cif_isp_hst_config {
616 __u32 mode;620 __u32 mode;
@@ -902,9 +906,9 @@ struct rkisp1_cif_isp_bls_meas_val { · 285 unmodified lines
902 * as is reported by the hw_revision field of the struct media_device_info906 * as is reported by the hw_revision field of the struct media_device_info
903 * that is returned by ioctl MEDIA_IOC_DEVICE_INFO.907 * that is returned by ioctl MEDIA_IOC_DEVICE_INFO.
904 *908 *
905 * Versions <= V11 have RKISP1_CIF_ISP_AE_MEAN_MAX_V10 entries,909 * V10 has RKISP1_CIF_ISP_AE_MEAN_MAX_V10 entries, V12 has
906 * versions >= V12 have RKISP1_CIF_ISP_AE_MEAN_MAX_V12 entries.910 * RKISP1_CIF_ISP_AE_MEAN_MAX_V12 entries. RKISP1_CIF_ISP_AE_MEAN_MAX is equal
907 * RKISP1_CIF_ISP_AE_MEAN_MAX is equal to the maximum of the two.911 * to the maximum of the two.
908 *912 *
909 * Image is divided into 5x5 blocks on V10 and 9x9 blocks on V12.913 * Image is divided into 5x5 blocks on V10 and 9x9 blocks on V12.
910 */914 */
@@ -944,21 +948,21 @@ struct rkisp1_cif_isp_af_stat { · 33 unmodified lines
944 * integer part.948 * integer part.
945 *949 *
946 * The window of the measurements area is divided to 5x5 sub-windows for950 * The window of the measurements area is divided to 5x5 sub-windows for
947 * V10/V11 and to 9x9 sub-windows for V12. The histogram is then computed for951 * V10 and to 9x9 sub-windows for V12. The histogram is then computed for each
948 * each sub-window independently and the final result is a weighted average of952 * sub-window independently and the final result is a weighted average of the
949 * the histogram measurements on all sub-windows. The window of the953 * histogram measurements on all sub-windows. The window of the measurements
950 * measurements area and the weight of each sub-window are configurable using954 * area and the weight of each sub-window are configurable using
951 * struct @rkisp1_cif_isp_hst_config.955 * struct @rkisp1_cif_isp_hst_config.
952 *956 *
953 * The histogram contains 16 bins in V10/V11 and 32 bins in V12/V13.957 * The histogram contains 16 bins in V10 and 32 bins in V12.
954 *958 *
955 * The number of entries of @hist_bins depends on the hardware revision959 * The number of entries of @hist_bins depends on the hardware revision
956 * as is reported by the hw_revision field of the struct media_device_info960 * as is reported by the hw_revision field of the struct media_device_info
957 * that is returned by ioctl MEDIA_IOC_DEVICE_INFO.961 * that is returned by ioctl MEDIA_IOC_DEVICE_INFO.
958 *962 *
959 * Versions <= V11 have RKISP1_CIF_ISP_HIST_BIN_N_MAX_V10 entries,963 * V10 has RKISP1_CIF_ISP_HIST_BIN_N_MAX_V10 entries, V12 has
960 * versions >= V12 have RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12 entries.964 * RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12 entries. RKISP1_CIF_ISP_HIST_BIN_N_MAX is
961 * RKISP1_CIF_ISP_HIST_BIN_N_MAX is equal to the maximum of the two.965 * equal to the maximum of the two.
962 */966 */
963struct rkisp1_cif_isp_hist_stat {967struct rkisp1_cif_isp_hist_stat {
964 __u32 hist_bins[RKISP1_CIF_ISP_HIST_BIN_N_MAX];968 __u32 hist_bins[RKISP1_CIF_ISP_HIST_BIN_N_MAX];

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t