<!--
  Copyright (c) 2016 Qualcomm Technologies, Inc.
  All Rights Reserved.
  Confidential and Proprietary - Qualcomm Technologies, Inc.
-->

<!--
CommonChromatixInfo:
    CommonChromatixInfo is the information about chromatix needed for
        various use cases.
    Ex:- Preview, Snapshot, ZSL, HFR, HDR, Video, Liveshot for ISP, CPP,
        3A and SW PostProc.
    Entries in this node are common for all sensor modes.

ResolutionChromatixInfo:
    ResolutionChromatixInfo is the information about chromatix needed for
        various use cases.
    Ex:- Preview, Snapshot, ZSL, HFR, HDR, Video, Liveshot for ISP, CPP,
        3A and SW PostProc.
    Entries in this node are specific to sensor resolution.

ChromatixName:
    Contains the list of chromatix names for all modules.
    special_mode_mask:
        It is the bit mask for special modes, which is used for
            chromatix selection.
        Special modes can be any mode that needs a special chromatix.
        Ex:- scene mode, DZOOM mode, OIS capture mode, flash mode
        This is applicable for CommonChromatixInfo and
            ResolutionChromatixInfo.
        special_mode_mask="0" means none of the special modes are
            selected.
    sensor_resolution_index:
        It is the sensor resolution index for which chromatix libraries
            will be choosen.
        It is applicable only in ResolutionChromatixInfo.

ISPCommon :
    Common tuning library name for ISP
ISPPreview :
    Preview tuning library name for ISP
ISPSnapshot :
    Snapshot tuning library name for ISP
CPPCommon :
    Common tuning library name for CPP
CPPPreview :
    Preview tuning library name for CPP
CPPSnapshot :
    Snapshot tuning library name for CPP
CPPLiveshot :
    Liveshot tuning library name for CPP
PostProc :
    Tuning library name for postproc module
A3Preview :
    Preview tuning library for 3A
A3Video :
    Video tuning library for 3A

Order of Resolution Pick:
    Assume the current sensor mode is "r" and special mode mask is "s".
    Chromatix for a module and type is choosen in this order till we find a
        valid chroamtix file name or else NULL is returned.
    1) From ResolutionChromatixInfo node for which sensor_resolution_index
        is "r" and special_mode_mask is "s".
    2) From CommonChromatixInfo node for which special_mode_mask is "s".
    3) From ResolutionChromatixInfo node for which sensor_resolution_index
        is "r" and special_mode_mask is "0".
    4) From CommonChromatixInfo node for which special_mode_mask is "0".
    5) NULL is returned if we dont find in any of the above cases.

special_mode_mask values:
    SENSOR_SPECIAL_MODE_NONE = 0,
    SENSOR_SPECIAL_MODE_FLASH = 1,
    SENSOR_SPECIAL_MODE_ZOOM_UPSCALE = 2,
    SENSOR_SPECIAL_MODE_ZOOM_DOWNSCALE = 4,
    SENSOR_SPECIAL_MODE_OIS_CAPTURE = 8,
-->

<ChromatixConfigurationRoot>
  <CommonChromatixInfo>
    <ChromatixName>
      <ISPCommon>imx378_common</ISPCommon>
      <PostProc>imx378_postproc</PostProc>
    </ChromatixName>
  </CommonChromatixInfo>
  <ResolutionChromatixInfo>
    <ChromatixName sensor_resolution_index="0">
      <ISPPreview>imx378_snapshot</ISPPreview>
      <ISPSnapshot>imx378_snapshot</ISPSnapshot>
      <ISPVideo>imx378_snapshot</ISPVideo>
      <CPPPreview>imx378_cpp_preview</CPPPreview>
      <CPPSnapshot>imx378_cpp_snapshot</CPPSnapshot>
      <CPPVideo>imx378_cpp_video</CPPVideo>
      <CPPLiveshot>imx378_cpp_liveshot</CPPLiveshot>
      <A3Preview>imx378_zsl_preview</A3Preview>
      <A3Video>imx378_zsl_video</A3Video>
    </ChromatixName>
    <ChromatixName sensor_resolution_index="1">
      <ISPPreview>imx378_snapshot</ISPPreview>
      <ISPSnapshot>imx378_snapshot</ISPSnapshot>
      <ISPVideo>imx378_default_video</ISPVideo>
      <CPPPreview>imx378_cpp_preview</CPPPreview>
      <CPPSnapshot>imx378_cpp_snapshot</CPPSnapshot>
      <CPPVideo>imx378_cpp_video</CPPVideo>
      <CPPLiveshot>imx378_cpp_liveshot</CPPLiveshot>
      <A3Preview>imx378_4K_preview</A3Preview>
      <A3Video>imx378_4K_video</A3Video>
    </ChromatixName>
    <ChromatixName sensor_resolution_index="2">
      <ISPPreview>imx378_snapshot</ISPPreview>
      <ISPSnapshot>imx378_snapshot</ISPSnapshot>
      <ISPVideo>imx378_default_video</ISPVideo>
      <CPPPreview>imx378_cpp_preview</CPPPreview>
      <CPPSnapshot>imx378_cpp_snapshot</CPPSnapshot>
      <CPPVideo>imx378_cpp_video</CPPVideo>
      <CPPLiveshot>imx378_cpp_liveshot</CPPLiveshot>
      <A3Preview>imx378_4K_preview</A3Preview>
      <A3Video>imx378_4K_video</A3Video>
    </ChromatixName>
    <ChromatixName sensor_resolution_index="3">
      <ISPPreview>imx378_preview</ISPPreview>
      <ISPSnapshot>imx378_preview</ISPSnapshot>
      <ISPVideo>imx378_preview</ISPVideo>
      <CPPPreview>imx378_cpp_preview</CPPPreview>
      <CPPSnapshot>imx378_cpp_snapshot</CPPSnapshot>
      <CPPVideo>imx378_cpp_video</CPPVideo>
      <CPPLiveshot>imx378_cpp_liveshot</CPPLiveshot>
      <A3Preview>imx378_default_preview</A3Preview>
      <A3Video>imx378_default_video</A3Video>
    </ChromatixName>
    <ChromatixName sensor_resolution_index="4">
      <ISPPreview>imx378_default_video</ISPPreview>
      <ISPSnapshot>imx378_default_video</ISPSnapshot>
      <ISPVideo>imx378_default_video</ISPVideo>
      <CPPPreview>imx378_cpp_preview</CPPPreview>
      <CPPSnapshot>imx378_cpp_snapshot</CPPSnapshot>
      <CPPVideo>imx378_cpp_video</CPPVideo>
      <CPPLiveshot>imx378_cpp_liveshot</CPPLiveshot>
      <A3Preview>imx378_default_preview</A3Preview>
      <A3Video>imx378_default_video</A3Video>
    </ChromatixName>
    <ChromatixName sensor_resolution_index="5">
      <ISPPreview>imx378_hfr_60</ISPPreview>
      <ISPSnapshot>imx378_hfr_60</ISPSnapshot>
      <ISPVideo>imx378_hfr_60</ISPVideo>
      <CPPPreview>imx378_cpp_hfr_60</CPPPreview>
      <CPPSnapshot>imx378_cpp_hfr_60</CPPSnapshot>
      <CPPVideo>imx378_cpp_hfr_60</CPPVideo>
      <CPPLiveshot>imx378_cpp_hfr_60</CPPLiveshot>
      <A3Preview>imx378_hfr_60_3a</A3Preview>
      <A3Video>imx378_hfr_60_3a</A3Video>
    </ChromatixName>
    <ChromatixName sensor_resolution_index="6">
      <ISPPreview>imx378_hfr_90</ISPPreview>
      <ISPSnapshot>imx378_hfr_90</ISPSnapshot>
      <ISPVideo>imx378_hfr_90</ISPVideo>
      <CPPPreview>imx378_cpp_hfr_90</CPPPreview>
      <CPPSnapshot>imx378_cpp_hfr_90</CPPSnapshot>
      <CPPVideo>imx378_cpp_hfr_90</CPPVideo>
      <CPPLiveshot>imx378_cpp_hfr_90</CPPLiveshot>
      <A3Preview>imx378_hfr_90_3a</A3Preview>
      <A3Video>imx378_hfr_90_3a</A3Video>
    </ChromatixName>
    <ChromatixName sensor_resolution_index="7">
      <ISPPreview>imx378_hfr_120</ISPPreview>
      <ISPSnapshot>imx378_hfr_120</ISPSnapshot>
      <ISPVideo>imx378_hfr_120</ISPVideo>
      <CPPPreview>imx378_cpp_hfr_120</CPPPreview>
      <CPPSnapshot>imx378_cpp_hfr_120</CPPSnapshot>
      <CPPVideo>imx378_cpp_hfr_120</CPPVideo>
      <CPPLiveshot>imx378_cpp_hfr_120</CPPLiveshot>
      <A3Preview>imx378_hfr_120_3a</A3Preview>
      <A3Video>imx378_hfr_120_3a</A3Video>
    </ChromatixName>
    <ChromatixName sensor_resolution_index="8">
      <ISPPreview>imx378_hfr_240</ISPPreview>
      <ISPSnapshot>imx378_hfr_240</ISPSnapshot>
      <ISPVideo>imx378_hfr_240</ISPVideo>
      <CPPPreview>imx378_cpp_hfr_240</CPPPreview>
      <CPPSnapshot>imx378_cpp_hfr_240</CPPSnapshot>
      <CPPVideo>imx378_cpp_hfr_240</CPPVideo>
      <CPPLiveshot>imx378_cpp_hfr_240</CPPLiveshot>
      <A3Preview>imx378_hfr_240_3a</A3Preview>
      <A3Video>imx378_hfr_240_3a</A3Video>
    </ChromatixName>
    <ChromatixName sensor_resolution_index="9">
      <ISPPreview>imx378_video_hdr</ISPPreview>
      <ISPSnapshot>imx378_video_hdr</ISPSnapshot>
      <ISPVideo>imx378_video_hdr</ISPVideo>
      <CPPPreview>imx378_cpp_video_hdr</CPPPreview>
      <CPPSnapshot>imx378_cpp_video_hdr</CPPSnapshot>
      <CPPVideo>imx378_cpp_video_hdr</CPPVideo>
      <CPPLiveshot>imx378_cpp_video_hdr</CPPLiveshot>
      <A3Preview>imx378_hdr_video_3a</A3Preview>
      <A3Video>imx378_hdr_video_3a</A3Video>
      <External>hvx_zzHDR</External>
    </ChromatixName>
    <ChromatixName sensor_resolution_index="10">
      <ISPPreview>imx378_snapshot_hdr</ISPPreview>
      <ISPSnapshot>imx378_snapshot_hdr</ISPSnapshot>
      <ISPVideo>imx378_snapshot_hdr</ISPVideo>
      <CPPPreview>imx378_cpp_snapshot_hdr</CPPPreview>
      <CPPSnapshot>imx378_cpp_snapshot_hdr</CPPSnapshot>
      <CPPVideo>imx378_cpp_snapshot_hdr</CPPVideo>
      <CPPLiveshot>imx378_cpp_snapshot_hdr</CPPLiveshot>
      <A3Preview>imx378_hdr_video_3a</A3Preview>
      <A3Video>imx378_hdr_video_3a</A3Video>
      <External>hvx_zzHDR</External>
    </ChromatixName>
  </ResolutionChromatixInfo>
</ChromatixConfigurationRoot>