123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- load("//build/kernel/kleaf:kernel.bzl", "ddk_module")
- load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
- load("//msm-kernel:target_variants.bzl", "get_all_variants")
- load("//msm-kernel:target_variants.bzl", "get_all_lunch_target_base_target_variants")
- def _define_module(target, variant, lunch_target=None):
- if lunch_target:
- tv = "{}_{}".format(target, variant)
- tvl = "{}_{}_{}".format(target, variant, lunch_target)
- ddk_mod_name = "{}_camera".format(tvl)
- defconfig = "{}_defconfig".format(lunch_target)
- else:
- tv = "{}_{}".format(target, variant)
- ddk_mod_name = "{}_camera".format(tv)
- defconfig = "{}_defconfig".format(target)
- deps = [
- ":camera_headers",
- ":camera_banner",
- "//msm-kernel:all_headers",
- "//vendor/qcom/opensource/securemsm-kernel:smcinvoke_kernel_headers",
- "//vendor/qcom/opensource/securemsm-kernel:smmu_proxy_headers",
- "//vendor/qcom/opensource/securemsm-kernel:{}_smcinvoke_dlkm".format(tv),
- "//vendor/qcom/opensource/securemsm-kernel:{}_smmu_proxy_dlkm".format(tv),
- "//vendor/qcom/opensource/mmrm-driver:{}_mmrm_driver".format(tv),
- ]
- if target == "pineapple":
- deps.extend([
- "//vendor/qcom/opensource/synx-kernel:synx_headers",
- "//vendor/qcom/opensource/synx-kernel:{}_modules".format(tv),
- ])
- ddk_module(
- name = ddk_mod_name,
- out = "camera.ko",
- srcs = [
- "drivers/cam_req_mgr/cam_req_mgr_core.c",
- "drivers/cam_req_mgr/cam_req_mgr_dev.c",
- "drivers/cam_req_mgr/cam_req_mgr_util.c",
- "drivers/cam_req_mgr/cam_mem_mgr.c",
- "drivers/cam_req_mgr/cam_req_mgr_workq.c",
- "drivers/cam_req_mgr/cam_req_mgr_timer.c",
- "drivers/cam_req_mgr/cam_req_mgr_debug.c",
- "drivers/cam_utils/cam_soc_util.c",
- "drivers/cam_utils/cam_packet_util.c",
- "drivers/cam_utils/cam_debug_util.c",
- "drivers/cam_utils/cam_trace.c",
- "drivers/cam_utils/cam_common_util.c",
- "drivers/cam_utils/cam_compat.c",
- "drivers/cam_core/cam_context.c",
- "drivers/cam_core/cam_context_utils.c",
- "drivers/cam_core/cam_node.c",
- "drivers/cam_core/cam_subdev.c",
- "drivers/cam_smmu/cam_smmu_api.c",
- "drivers/cam_sync/cam_sync.c",
- "drivers/cam_sync/cam_sync_util.c",
- "drivers/cam_sync/cam_sync_dma_fence.c",
- "drivers/cam_cpas/cpas_top/cam_cpastop_hw.c",
- "drivers/cam_cpas/camss_top/cam_camsstop_hw.c",
- "drivers/cam_cpas/cam_cpas_soc.c",
- "drivers/cam_cpas/cam_cpas_intf.c",
- "drivers/cam_cpas/cam_cpas_hw.c",
- "drivers/cam_cdm/cam_cdm_soc.c",
- "drivers/cam_cdm/cam_cdm_util.c",
- "drivers/cam_cdm/cam_cdm_intf.c",
- "drivers/cam_cdm/cam_cdm_core_common.c",
- "drivers/cam_cdm/cam_cdm_virtual_core.c",
- "drivers/cam_cdm/cam_cdm_hw_core.c",
- "drivers/cam_utils/cam_soc_icc.c",
- "drivers/camera_main.c",
- ],
- conditional_srcs = {
- "CONFIG_TARGET_SYNX_ENABLE": {
- True: ["drivers/cam_sync/cam_sync_synx.c"],
- },
- "CONFIG_QCOM_CX_IPEAK": {
- True: ["drivers/cam_utils/cam_cx_ipeak.c"],
- },
- "CONFIG_INTERCONNECT_QCOM": {
- True: ["drivers/cam_utils/cam_soc_icc.c"],
- },
- "CONFIG_SPECTRA_ISP": {
- True: [
- "drivers/cam_isp/isp_hw_mgr/hw_utils/cam_tasklet_util.c",
- "drivers/cam_isp/isp_hw_mgr/hw_utils/cam_isp_packet_parser.c",
- "drivers/cam_isp/isp_hw_mgr/hw_utils/irq_controller/cam_irq_controller.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_dev.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_soc.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_common.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver1.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_mod.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_lite_mod.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/cam_sfe_soc.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/cam_sfe_dev.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/cam_sfe_core.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_top/cam_sfe_top.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_bus/cam_sfe_bus.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_bus/cam_sfe_bus_rd.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/sfe_bus/cam_sfe_bus_wr.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/cam_vfe_soc.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/cam_vfe_dev.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/cam_vfe_core.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/cam_vfe_bus.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/cam_vfe_bus_ver2.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/cam_vfe_bus_rd_ver1.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/cam_vfe_bus_ver3.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_camif_lite_ver2.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_top.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_top_common.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_top_ver4.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_top_ver3.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_top_ver2.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_camif_ver2.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_camif_ver3.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_rdi.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_fe_ver1.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_top/cam_vfe_camif_lite_ver3.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe17x/cam_vfe.c",
- "drivers/cam_isp/isp_hw_mgr/cam_isp_hw_mgr.c",
- "drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c",
- "drivers/cam_isp/cam_isp_dev.c",
- "drivers/cam_isp/cam_isp_context.c",
- ],
- },
- "CONFIG_SPECTRA_ICP": {
- True: [
- "drivers/cam_icp/icp_hw/icp_hw_mgr/cam_icp_hw_mgr.c",
- "drivers/cam_icp/icp_hw/ipe_hw/ipe_dev.c",
- "drivers/cam_icp/icp_hw/ipe_hw/ipe_core.c",
- "drivers/cam_icp/icp_hw/ipe_hw/ipe_soc.c",
- "drivers/cam_icp/icp_hw/icp_proc/icp_v1_hw/cam_icp_v1_dev.c",
- "drivers/cam_icp/icp_hw/icp_proc/icp_v1_hw/cam_icp_v1_core.c",
- "drivers/cam_icp/icp_hw/icp_proc/icp_v2_hw/cam_icp_v2_dev.c",
- "drivers/cam_icp/icp_hw/icp_proc/icp_v2_hw/cam_icp_v2_core.c",
- "drivers/cam_icp/icp_hw/icp_proc/icp_common/cam_icp_proc_common.c",
- "drivers/cam_icp/icp_hw/icp_proc/icp_common/cam_icp_soc_common.c",
- "drivers/cam_icp/icp_hw/icp_proc/cam_icp_proc.c",
- "drivers/cam_icp/icp_hw/bps_hw/bps_dev.c",
- "drivers/cam_icp/icp_hw/bps_hw/bps_core.c",
- "drivers/cam_icp/icp_hw/bps_hw/bps_soc.c",
- "drivers/cam_icp/icp_hw/ofe_hw/ofe_dev.c",
- "drivers/cam_icp/icp_hw/ofe_hw/ofe_core.c",
- "drivers/cam_icp/icp_hw/ofe_hw/ofe_soc.c",
- "drivers/cam_icp/cam_icp_subdev.c",
- "drivers/cam_icp/cam_icp_context.c",
- "drivers/cam_icp/hfi.c",
- ],
- },
- "CONFIG_SPECTRA_TFE": {
- True: [
- "drivers/cam_isp/isp_hw_mgr/isp_hw/ppi_hw/cam_csid_ppi_core.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/ppi_hw/cam_csid_ppi_dev.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/ppi_hw/cam_csid_ppi100.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/tfe_csid_hw/cam_tfe_csid.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/tfe_csid_hw/cam_tfe_csid_dev.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/tfe_csid_hw/cam_tfe_csid_core.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/tfe_csid_hw/cam_tfe_csid_soc.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/tfe_hw/cam_tfe_bus.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/tfe_hw/cam_tfe_core.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/tfe_hw/cam_tfe_soc.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/tfe_hw/cam_tfe.c",
- "drivers/cam_isp/isp_hw_mgr/isp_hw/tfe_hw/cam_tfe_dev.c",
- "drivers/cam_isp/isp_hw_mgr/cam_tfe_hw_mgr.c",
- ],
- },
- "CONFIG_SPECTRA_JPEG": {
- True: [
- "drivers/cam_jpeg/jpeg_hw/jpeg_enc_hw/jpeg_enc_dev.c",
- "drivers/cam_jpeg/jpeg_hw/jpeg_enc_hw/jpeg_enc_core.c",
- "drivers/cam_jpeg/jpeg_hw/jpeg_enc_hw/jpeg_enc_soc.c",
- "drivers/cam_jpeg/jpeg_hw/jpeg_dma_hw/jpeg_dma_dev.c",
- "drivers/cam_jpeg/jpeg_hw/jpeg_dma_hw/jpeg_dma_core.c",
- "drivers/cam_jpeg/jpeg_hw/jpeg_dma_hw/jpeg_dma_soc.c",
- "drivers/cam_jpeg/jpeg_hw/cam_jpeg_hw_mgr.c",
- "drivers/cam_jpeg/cam_jpeg_dev.c",
- "drivers/cam_jpeg/cam_jpeg_context.c",
- ],
- },
- "CONFIG_SPECTRA_CRE": {
- True: [
- "drivers/cam_cre/cam_cre_hw_mgr/cre_hw/cre_core.c",
- "drivers/cam_cre/cam_cre_hw_mgr/cre_hw/cre_soc.c",
- "drivers/cam_cre/cam_cre_hw_mgr/cre_hw/cre_dev.c",
- "drivers/cam_cre/cam_cre_hw_mgr/cre_hw/top/cre_top.c",
- "drivers/cam_cre/cam_cre_hw_mgr/cre_hw/bus_rd/cre_bus_rd.c",
- "drivers/cam_cre/cam_cre_hw_mgr/cre_hw/bus_wr/cre_bus_wr.c",
- "drivers/cam_cre/cam_cre_hw_mgr/cam_cre_hw_mgr.c",
- "drivers/cam_cre/cam_cre_dev.c",
- "drivers/cam_cre/cam_cre_context.c",
- ],
- },
- "CONFIG_SPECTRA_SENSOR": {
- True: [
- "drivers/cam_sensor_module/cam_actuator/cam_actuator_dev.c",
- "drivers/cam_sensor_module/cam_actuator/cam_actuator_core.c",
- "drivers/cam_sensor_module/cam_actuator/cam_actuator_soc.c",
- "drivers/cam_sensor_module/cam_cci/cam_cci_dev.c",
- "drivers/cam_sensor_module/cam_cci/cam_cci_core.c",
- "drivers/cam_sensor_module/cam_cci/cam_cci_soc.c",
- "drivers/cam_sensor_module/cam_tpg/cam_tpg_dev.c",
- "drivers/cam_sensor_module/cam_tpg/cam_tpg_core.c",
- "drivers/cam_sensor_module/cam_tpg/tpg_hw/tpg_hw.c",
- "drivers/cam_sensor_module/cam_tpg/tpg_hw/tpg_hw_common.c",
- "drivers/cam_sensor_module/cam_tpg/tpg_hw/tpg_hw_v_1_0/tpg_hw_v_1_0.c",
- "drivers/cam_sensor_module/cam_tpg/tpg_hw/tpg_hw_v_1_2/tpg_hw_v_1_2.c",
- "drivers/cam_sensor_module/cam_tpg/tpg_hw/tpg_hw_v_1_3/tpg_hw_v_1_3.c",
- "drivers/cam_sensor_module/cam_tpg/tpg_hw/tpg_hw_v_1_4/tpg_hw_v_1_4.c",
- "drivers/cam_sensor_module/cam_csiphy/cam_csiphy_soc.c",
- "drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.c",
- "drivers/cam_sensor_module/cam_csiphy/cam_csiphy_core.c",
- "drivers/cam_sensor_module/cam_eeprom/cam_eeprom_dev.c",
- "drivers/cam_sensor_module/cam_eeprom/cam_eeprom_core.c",
- "drivers/cam_sensor_module/cam_eeprom/cam_eeprom_soc.c",
- "drivers/cam_sensor_module/cam_ois/cam_ois_dev.c",
- "drivers/cam_sensor_module/cam_ois/cam_ois_core.c",
- "drivers/cam_sensor_module/cam_ois/cam_ois_soc.c",
- "drivers/cam_sensor_module/cam_sensor/cam_sensor_dev.c",
- "drivers/cam_sensor_module/cam_sensor/cam_sensor_core.c",
- "drivers/cam_sensor_module/cam_sensor/cam_sensor_soc.c",
- "drivers/cam_sensor_module/cam_sensor_io/cam_sensor_io.c",
- "drivers/cam_sensor_module/cam_sensor_io/cam_sensor_cci_i2c.c",
- "drivers/cam_sensor_module/cam_sensor_io/cam_sensor_qup_i2c.c",
- "drivers/cam_sensor_module/cam_sensor_io/cam_sensor_qup_i3c.c",
- "drivers/cam_sensor_module/cam_sensor_io/cam_sensor_spi.c",
- "drivers/cam_sensor_module/cam_sensor_utils/cam_sensor_util.c",
- "drivers/cam_sensor_module/cam_res_mgr/cam_res_mgr.c",
- "drivers/cam_sensor_module/cam_flash/cam_flash_dev.c",
- "drivers/cam_sensor_module/cam_flash/cam_flash_core.c",
- "drivers/cam_sensor_module/cam_flash/cam_flash_soc.c",
- "drivers/cam_sensor_module/cam_sensor_module_debug.c",
- ],
- },
- "CONFIG_SPECTRA_CUSTOM": {
- True: [
- "drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw1/cam_custom_sub_mod_soc.c",
- "drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw1/cam_custom_sub_mod_dev.c",
- "drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw1/cam_custom_sub_mod_core.c",
- "drivers/cam_cust/cam_custom_hw_mgr/cam_custom_csid/cam_custom_csid_dev.c",
- "drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw_mgr.c",
- "drivers/cam_cust/cam_custom_dev.c",
- "drivers/cam_cust/cam_custom_context.c",
- ],
- },
- "CONFIG_QCOM_BUS_SCALING": {
- True: ["drivers/cam_utils/cam_soc_bus.c"],
- },
- "CONFIG_CAM_PRESIL": {
- # Sources need to be available to specify
- # True: [
- # "drivers/cam_presil/presil/cam_presil_io_util.c",
- # "drivers/cam_presil/presil/cam_presil_hw_access.c",
- # "drivers/cam_presil/presil_framework_dev/cam_presil_framework_dev.c",
- # ],
- False: [
- "drivers/cam_presil/stub/cam_presil_hw_access_stub.c",
- "drivers/cam_utils/cam_io_util.c",
- ],
- },
- },
- copts = ["-Wno-implicit-fallthrough", "-include", "$(location :camera_banner)"],
- deps = deps,
- kconfig = "Kconfig",
- defconfig = defconfig,
- kernel_build = "//msm-kernel:{}".format(tv),
- )
- if lunch_target:
- dist_target_name = "{}_camera_dist".format(tvl)
- data = [":{}_camera".format(tvl)]
- else:
- dist_target_name = "{}_camera_dist".format(tv)
- data = [":{}_camera".format(tv)]
- copy_to_dist_dir(
- name = dist_target_name,
- data = data,
- dist_dir = "out/target/product/{}/dlkm/lib/modules/".format(target),
- flat = True,
- wipe_dist_dir = False,
- allow_duplicate_filenames = False,
- mode_overrides = {"**/*": "644"},
- )
- def define_camera_module():
- for (t, v) in get_all_variants():
- _define_module(t, v)
- for (lt, bt, v) in get_all_lunch_target_base_target_variants():
- _define_module(bt, v, lt)
|