Kbuild 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. KDIR := $(TOP)/kernel_platform/msm-kernel
  3. ifeq ($(CONFIG_ARCH_WAIPIO), y)
  4. ifeq ($(CONFIG_ARCH_QTI_VM), y)
  5. include $(DISPLAY_ROOT)/config/gki_waipiodisptui.conf
  6. LINUX_INC += -include $(DISPLAY_ROOT)/config/gki_waipiodisptuiconf.h
  7. else
  8. include $(DISPLAY_ROOT)/config/gki_waipiodisp.conf
  9. LINUX_INC += -include $(DISPLAY_ROOT)/config/gki_waipiodispconf.h
  10. endif
  11. endif
  12. ifeq ($(CONFIG_ARCH_NEO), y)
  13. include $(DISPLAY_ROOT)/config/gki_neodisp.conf
  14. LINUX_INC += -include $(DISPLAY_ROOT)/config/gki_neodispconf.h
  15. endif
  16. ifeq ($(CONFIG_ARCH_PARROT), y)
  17. include $(DISPLAY_ROOT)/config/gki_parrotdisp.conf
  18. LINUX_INC += -include $(DISPLAY_ROOT)/config/gki_parrotdispconf.h
  19. endif
  20. ifeq ($(CONFIG_ARCH_PITTI), y)
  21. include $(DISPLAY_ROOT)/config/gki_pittidisp.conf
  22. LINUX_INC += -include $(DISPLAY_ROOT)/config/gki_pittidispconf.h
  23. endif
  24. ifeq ($(CONFIG_ARCH_NIOBE), y)
  25. include $(DISPLAY_ROOT)/config/gki_niobedisp.conf
  26. LINUX_INC += -include $(DISPLAY_ROOT)/config/gki_niobedispconf.h
  27. endif
  28. ifeq ($(CONFIG_ARCH_PINEAPPLE), y)
  29. ifeq ($(CONFIG_ARCH_QTI_VM), y)
  30. include $(DISPLAY_ROOT)/config/gki_pineappledisptui.conf
  31. LINUX_INC += -include $(DISPLAY_ROOT)/config/gki_pineappledisptuiconf.h
  32. else
  33. include $(DISPLAY_ROOT)/config/gki_pineappledisp.conf
  34. LINUX_INC += -include $(DISPLAY_ROOT)/config/gki_pineappledispconf.h
  35. endif
  36. endif
  37. ifeq ($(CONFIG_ARCH_KALAMA), y)
  38. ifeq ($(CONFIG_ARCH_QTI_VM), y)
  39. include $(DISPLAY_ROOT)/config/gki_kalamadisptui.conf
  40. LINUX_INC += -include $(DISPLAY_ROOT)/config/gki_kalamadisptuiconf.h
  41. else
  42. include $(DISPLAY_ROOT)/config/gki_kalamadisp.conf
  43. LINUX_INC += -include $(DISPLAY_ROOT)/config/gki_kalamadispconf.h
  44. endif
  45. endif
  46. ifeq (y, $(findstring y, $(CONFIG_ARCH_SA8155) $(CONFIG_ARCH_SA6155) $(CONFIG_ARCH_SA8195)))
  47. include $(DISPLAY_ROOT)/config/augen3disp.conf
  48. LINUX_INC += -include $(DISPLAY_ROOT)/config/augen3dispconf.h
  49. endif
  50. include $(DISPLAY_ROOT)/config/s24.mk
  51. LINUX_INC += -I$(KERNEL_SRC)/include/linux \
  52. -I$(KERNEL_SRC)/include/linux/drm
  53. LINUX_INC += -I$(DISPLAY_ROOT) \
  54. -I$(DISPLAY_ROOT)/include \
  55. -I$(KERNEL_ROOT)/drivers/clk/qcom \
  56. -I$(KERNEL_SRC)/drivers/clk/qcom \
  57. -I$(DISPLAY_ROOT)/include/linux \
  58. -I$(DISPLAY_ROOT)/rotator \
  59. -I$(DISPLAY_ROOT)/msm \
  60. -I$(DISPLAY_ROOT)/msm/dp \
  61. -I$(DISPLAY_ROOT)/msm/dsi \
  62. -I$(DISPLAY_ROOT)/msm/sde \
  63. -I$(DISPLAY_ROOT)/include/uapi/display \
  64. CDEFINES += -DANI_LITTLE_BYTE_ENDIAN \
  65. -DANI_LITTLE_BIT_ENDIAN \
  66. -DDOT11F_LITTLE_ENDIAN_HOST \
  67. -DANI_COMPILER_TYPE_GCC \
  68. -DANI_OS_TYPE_ANDROID=6 \
  69. -DPTT_SOCK_SVC_ENABLE \
  70. -Wall\
  71. -Werror\
  72. -D__linux__
  73. KBUILD_CPPFLAGS += $(CDEFINES)
  74. ccflags-y += $(LINUX_INC)
  75. # CONFIG_DISPLAY_SAMSUNG start
  76. ccflags-y += -I$(DISPLAY_ROOT)/msm/samsung
  77. # CONFIG_DISPLAY_SAMSUNG end
  78. ifeq ($(call cc-option-yn, -Wmaybe-uninitialized),y)
  79. EXTRA_CFLAGS += -Wmaybe-uninitialized
  80. endif
  81. KBUILD_EXTRA_SYMBOLS +=$(OUT)/obj/sm8650-modules/qcom/opensource/display-drivers/hdcp/Module.symvers
  82. KBUILD_EXTRA_SYMBOLS +=$(OUT)/obj/sm8650-modules/qcom/opensource/display-drivers/msm/Module.symvers
  83. ifeq ($(call cc-option-yn, -Wheader-guard),y)
  84. EXTRA_CFLAGS += -Wheader-guard
  85. endif
  86. ccflags-y += -Wformat-extra-args -Wstrict-prototypes -Wformat-insufficient-args \
  87. -Wformat-invalid-specifier -Wformat-zero-length -Wnonnull
  88. ifneq ($(MODNAME), qdsp6v2)
  89. CHIP_NAME ?= $(MODNAME)
  90. CDEFINES += -DMULTI_IF_NAME=\"$(CHIP_NAME)\"
  91. endif
  92. ######### CONFIG_DRM_MSM ########
  93. obj-m += msm_drm.o
  94. msm_drm-$(CONFIG_HDCP_QSEECOM) := ../hdcp/msm_hdcp.o \
  95. dp/dp_hdcp2p2.o \
  96. sde_hdcp_1x.o \
  97. sde_hdcp_2x.o
  98. msm_drm-$(CONFIG_MSM_SDE_ROTATOR) += ../rotator/sde_rotator_dev.o \
  99. ../rotator/sde_rotator_dev.o \
  100. ../rotator/sde_rotator_core.o \
  101. ../rotator/sde_rotator_base.o \
  102. ../rotator/sde_rotator_formats.o \
  103. ../rotator/sde_rotator_util.o \
  104. ../rotator/sde_rotator_io_util.o \
  105. ../rotator/sde_rotator_smmu.o \
  106. ../rotator/sde_rotator_r1_wb.o \
  107. ../rotator/sde_rotator_r1_pipe.o \
  108. ../rotator/sde_rotator_r1_ctl.o \
  109. ../rotator/sde_rotator_r1.o \
  110. ../rotator/sde_rotator_r3.o
  111. ifeq ($(CONFIG_MSM_SDE_ROTATOR), y)
  112. msm_drm-$(CONFIG_SYNC_FILE) += ../rotator/sde_rotator_sync.o
  113. msm_drm-$(CONFIG_DEBUG_FS) += ../rotator/sde_rotator_debug.o \
  114. ../rotator/sde_rotator_r1_debug.o \
  115. ../rotator/sde_rotator_r3_debug.o
  116. endif
  117. msm_drm-$(CONFIG_DRM_SDE_VM) += sde/sde_vm_common.o \
  118. sde/sde_vm_primary.o \
  119. sde/sde_vm_trusted.o \
  120. sde/sde_vm_msgq.o
  121. msm_drm-$(CONFIG_DRM_MSM_DP) += dp/dp_altmode.o \
  122. dp/dp_parser.o \
  123. dp/dp_power.o \
  124. dp/dp_catalog.o \
  125. dp/dp_catalog_v420.o \
  126. dp/dp_catalog_v200.o \
  127. dp/dp_aux.o \
  128. dp/dp_panel.o \
  129. dp/dp_link.o \
  130. dp/dp_ctrl.o \
  131. dp/dp_audio.o \
  132. dp/dp_debug.o \
  133. dp/dp_hpd.o \
  134. dp/dp_aux_bridge.o \
  135. dp/dp_bridge_hpd.o \
  136. dp/dp_mst_sim.o \
  137. dp/dp_mst_sim_helper.o \
  138. dp/dp_gpio_hpd.o \
  139. dp/dp_lphw_hpd.o \
  140. dp/dp_display.o \
  141. dp/dp_drm.o \
  142. dp/dp_pll.o \
  143. dp/dp_pll_5nm.o \
  144. dp/dp_pll_4nm.o
  145. msm_drm-$(CONFIG_DRM_MSM_DP_MST) += dp/dp_mst_drm.o
  146. msm_drm-$(CONFIG_DRM_MSM_DP_USBPD_LEGACY) += dp/dp_usbpd.o
  147. # sec displayport
  148. msm_drm-$(CONFIG_SECDP) += dp/secdp_sysfs.o \
  149. dp/secdp_logger.o \
  150. dp/secdp_unit_test.o
  151. msm_drm-$(CONFIG_SECDP_BIGDATA) += dp/secdp_bigdata.o
  152. msm_drm-$(CONFIG_DRM_MSM_SDE) += sde/sde_crtc.o \
  153. sde/sde_encoder.o \
  154. sde/sde_encoder_dce.o \
  155. sde/sde_encoder_phys_vid.o \
  156. sde/sde_encoder_phys_cmd.o \
  157. sde/sde_irq.o sde/sde_core_irq.o \
  158. sde/sde_core_perf.o \
  159. sde/sde_rm.o \
  160. sde/sde_kms_utils.o \
  161. sde/sde_kms.o \
  162. sde/sde_plane.o \
  163. sde/sde_connector.o \
  164. sde/sde_color_processing.o \
  165. sde/sde_vbif.o \
  166. sde_dbg.o \
  167. sde_dbg_evtlog.o \
  168. sde_io_util.o \
  169. sde_vm_event.o \
  170. sde/sde_hw_reg_dma_v1_color_proc.o \
  171. sde/sde_hw_color_proc_v4.o \
  172. sde/sde_hw_ad4.o \
  173. sde/sde_hw_uidle.o \
  174. sde_edid_parser.o \
  175. sde/sde_hw_catalog.o \
  176. sde/sde_hw_cdm.o \
  177. sde/sde_hw_dspp.o \
  178. sde/sde_hw_intf.o \
  179. sde/sde_hw_lm.o \
  180. sde/sde_hw_ctl.o \
  181. sde/sde_hw_util.o \
  182. sde/sde_hw_sspp.o \
  183. sde/sde_hw_wb.o \
  184. sde/sde_hw_pingpong.o \
  185. sde/sde_hw_top.o \
  186. sde/sde_hw_interrupts.o \
  187. sde/sde_hw_vbif.o \
  188. sde/sde_formats.o \
  189. sde_power_handle.o \
  190. sde/sde_hw_color_processing_v1_7.o \
  191. sde/sde_reg_dma.o \
  192. sde/sde_hw_reg_dma_v1.o \
  193. sde/sde_hw_dsc.o \
  194. sde/sde_hw_dsc_1_2.o \
  195. sde/sde_hw_vdc.o \
  196. sde/sde_hw_ds.o \
  197. sde/sde_fence.o \
  198. sde/sde_hw_qdss.o \
  199. sde_dsc_helper.o \
  200. sde_vdc_helper.o \
  201. sde/sde_hw_dnsc_blur.o \
  202. sde/sde_hw_rc.o
  203. msm_drm-$(CONFIG_DRM_SDE_WB) += sde/sde_wb.o \
  204. sde/sde_encoder_phys_wb.o
  205. msm_drm-$(CONFIG_DRM_SDE_RSC) += sde_rsc.o \
  206. sde_rsc_hw.o \
  207. sde_rsc_hw_v3.o
  208. msm_drm-$(CONFIG_DRM_MSM_DSI) += dsi/dsi_phy.o \
  209. dsi/dsi_pwr.o \
  210. dsi/dsi_phy.o \
  211. dsi/dsi_phy_hw_v3_0.o \
  212. dsi/dsi_phy_hw_v4_0.o \
  213. dsi/dsi_phy_hw_v5_0.o \
  214. dsi/dsi_phy_timing_calc.o \
  215. dsi/dsi_phy_timing_v3_0.o \
  216. dsi/dsi_phy_timing_v4_0.o \
  217. dsi/dsi_pll.o \
  218. dsi/dsi_pll_5nm.o \
  219. dsi/dsi_pll_4nm.o \
  220. dsi/dsi_ctrl_hw_cmn.o \
  221. dsi/dsi_ctrl_hw_2_2.o \
  222. dsi/dsi_ctrl.o \
  223. dsi/dsi_catalog.o \
  224. dsi/dsi_drm.o \
  225. dsi/dsi_display.o \
  226. dsi/dsi_panel.o \
  227. dsi/dsi_clk_manager.o \
  228. dsi/dsi_display_test.o
  229. msm_drm-$(CONFIG_DSI_PARSER) += dsi/dsi_parser.o
  230. msm_drm-$(CONFIG_THERMAL_OF) += msm_cooling_device.o
  231. msm_drm-$(CONFIG_DRM_MSM) += msm_atomic.o \
  232. msm_fb.o \
  233. msm_drv.o \
  234. msm_gem.o \
  235. msm_gem_prime.o \
  236. msm_gem_vma.o \
  237. msm_smmu.o \
  238. msm_prop.o
  239. ifeq ($(CONFIG_SEC_E1Q_PROJECT), y)
  240. include $(DISPLAY_ROOT)/msm/samsung/E1_S6E3FAE_AMB616FM01/E1_S6E3FAE_AMB616FM01.conf
  241. ccflags-y += -include $(DISPLAY_ROOT)/msm/samsung/E1_S6E3FAE_AMB616FM01/E1_S6E3FAE_AMB616FM01.h
  242. XXD := /usr/bin/xxd
  243. SED := /bin/sed
  244. #Translate .dat file to .h to cover the case which can not use request_firmware(Recovery Mode)
  245. CLEAR_TMP := $(shell rm -f E1_S6E3FAE_AMB616FM01_PDF_DATA)
  246. COPY_TO_HERE := $(shell cp -vf $(DISPLAY_ROOT)/msm/samsung/panel_data_file/E1_S6E3FAE_AMB616FM01.dat E1_S6E3FAE_AMB616FM01_PDF_DATA)
  247. DATA_TO_HEX := $(shell $(XXD) -i E1_S6E3FAE_AMB616FM01_PDF_DATA > $(DISPLAY_ROOT)/msm/samsung/E1_S6E3FAE_AMB616FM01/E1_S6E3FAE_AMB616FM01_PDF.h)
  248. ADD_NULL_CHR := $(shell $(SED) -i -e 's/\([0-9a-f]\)$$/\0, 0x00/' $(DISPLAY_ROOT)/msm/samsung/E1_S6E3FAE_AMB616FM01/E1_S6E3FAE_AMB616FM01_PDF.h)
  249. msm_drm-$(CONFIG_PANEL_E1_S6E3FAE_AMB616FM01_FHD) += samsung/E1_S6E3FAE_AMB616FM01/E1_S6E3FAE_AMB616FM01_panel.o
  250. include $(DISPLAY_ROOT)/msm/samsung/panel_common.conf
  251. ccflags-y += -include $(DISPLAY_ROOT)/msm/samsung/panel_common_conf.h
  252. msm_drm-$(CONFIG_DISPLAY_SAMSUNG) += samsung/PBA_BOOTING/ss_dsi_panel_PBA_BOOTING_fhd.o
  253. include $(DISPLAY_ROOT)/msm/samsung/E1_S6E3FAC_AMB606AW01/E1_S6E3FAC_AMB606AW01.conf
  254. ccflags-y += -include $(DISPLAY_ROOT)/msm/samsung/E1_S6E3FAC_AMB606AW01/E1_S6E3FAC_AMB606AW01.h
  255. XXD := /usr/bin/xxd
  256. SED := /bin/sed
  257. #Translate .dat file to .h to cover the case which can not use request_firmware(Recovery Mode)
  258. CLEAR_TMP := $(shell rm -f E1_S6E3FAC_AMB606AW01_PDF_DATA)
  259. COPY_TO_HERE := $(shell cp -vf $(DISPLAY_ROOT)/msm/samsung/panel_data_file/E1_S6E3FAC_AMB606AW01.dat E1_S6E3FAC_AMB606AW01_PDF_DATA)
  260. DATA_TO_HEX := $(shell $(XXD) -i E1_S6E3FAC_AMB606AW01_PDF_DATA > $(DISPLAY_ROOT)/msm/samsung/E1_S6E3FAC_AMB606AW01/E1_S6E3FAC_AMB606AW01_PDF.h)
  261. ADD_NULL_CHR := $(shell $(SED) -i -e 's/\([0-9a-f]\)$$/\0, 0x00/' $(DISPLAY_ROOT)/msm/samsung/E1_S6E3FAC_AMB606AW01/E1_S6E3FAC_AMB606AW01_PDF.h)
  262. msm_drm-$(CONFIG_PANEL_E1_S6E3FAC_AMB606AW01_FHD) += samsung/E1_S6E3FAC_AMB606AW01/E1_S6E3FAC_AMB606AW01_panel.o
  263. else ifeq ($(CONFIG_SEC_E3Q_PROJECT), y)
  264. include $(DISPLAY_ROOT)/msm/samsung/E3_S6E3HAE_AMB681AZ01/E3_S6E3HAE_AMB681AZ01.conf
  265. ccflags-y += -include $(DISPLAY_ROOT)/msm/samsung/E3_S6E3HAE_AMB681AZ01/E3_S6E3HAE_AMB681AZ01.h
  266. XXD := /usr/bin/xxd
  267. SED := /bin/sed
  268. #Translate .dat file to .h to cover the case which can not use request_firmware(Recovery Mode)
  269. CLEAR_TMP := $(shell rm -f E3_S6E3HAE_AMB681AZ01_PDF_DATA)
  270. COPY_TO_HERE := $(shell cp -vf $(DISPLAY_ROOT)/msm/samsung/panel_data_file/E3_S6E3HAE_AMB681AZ01.dat E3_S6E3HAE_AMB681AZ01_PDF_DATA)
  271. DATA_TO_HEX := $(shell $(XXD) -i E3_S6E3HAE_AMB681AZ01_PDF_DATA > $(DISPLAY_ROOT)/msm/samsung/E3_S6E3HAE_AMB681AZ01/E3_S6E3HAE_AMB681AZ01_PDF.h)
  272. ADD_NULL_CHR := $(shell $(SED) -i -e 's/\([0-9a-f]\)$$/\0, 0x00/' $(DISPLAY_ROOT)/msm/samsung/E3_S6E3HAE_AMB681AZ01/E3_S6E3HAE_AMB681AZ01_PDF.h)
  273. msm_drm-$(CONFIG_PANEL_E3_S6E3HAE_AMB681AZ01_WQHD) += samsung/E3_S6E3HAE_AMB681AZ01/E3_S6E3HAE_AMB681AZ01_panel.o
  274. include $(DISPLAY_ROOT)/msm/samsung/panel_common.conf
  275. ccflags-y += -include $(DISPLAY_ROOT)/msm/samsung/panel_common_conf.h
  276. msm_drm-$(CONFIG_DISPLAY_SAMSUNG) += samsung/PBA_BOOTING/ss_dsi_panel_PBA_BOOTING_fhd.o
  277. include $(DISPLAY_ROOT)/msm/samsung/E3_S6E3HAF_AMB679FN01/E3_S6E3HAF_AMB679FN01.conf
  278. ccflags-y += -include $(DISPLAY_ROOT)/msm/samsung/E3_S6E3HAF_AMB679FN01/E3_S6E3HAF_AMB679FN01.h
  279. XXD := /usr/bin/xxd
  280. SED := /bin/sed
  281. #Translate .dat file to .h to cover the case which can not use request_firmware(Recovery Mode)
  282. CLEAR_TMP := $(shell rm -f E3_S6E3HAF_AMB679FN01_PDF_DATA)
  283. COPY_TO_HERE := $(shell cp -vf $(DISPLAY_ROOT)/msm/samsung/panel_data_file/E3_S6E3HAF_AMB679FN01.dat E3_S6E3HAF_AMB679FN01_PDF_DATA)
  284. DATA_TO_HEX := $(shell $(XXD) -i E3_S6E3HAF_AMB679FN01_PDF_DATA > $(DISPLAY_ROOT)/msm/samsung/E3_S6E3HAF_AMB679FN01/E3_S6E3HAF_AMB679FN01_PDF.h)
  285. ADD_NULL_CHR := $(shell $(SED) -i -e 's/\([0-9a-f]\)$$/\0, 0x00/' $(DISPLAY_ROOT)/msm/samsung/E3_S6E3HAF_AMB679FN01/E3_S6E3HAF_AMB679FN01_PDF.h)
  286. msm_drm-$(CONFIG_PANEL_E3_S6E3HAF_AMB679FN01_WQHD) += samsung/E3_S6E3HAF_AMB679FN01/E3_S6E3HAF_AMB679FN01_panel.o
  287. endif
  288. include $(DISPLAY_ROOT)/msm/samsung/panel_common.conf
  289. ccflags-y += -include $(DISPLAY_ROOT)/msm/samsung/panel_common_conf.h
  290. ifeq ($(TARGET_BUILD_VARIANT), eng)
  291. ccflags-y += -DCONFIG_OPCODE_PARSER=1
  292. endif
  293. msm_drm-$(CONFIG_DISPLAY_SAMSUNG) += samsung/ss_dsi_panel_sysfs.o \
  294. samsung/ss_dsi_panel_debug.o \
  295. samsung/ss_dsi_panel_common.o \
  296. samsung/ss_dsi_mdnie_lite_common.o \
  297. samsung/ss_dpui_common.o \
  298. samsung/ss_copr_common.o \
  299. samsung/ss_wrapper_common.o \
  300. samsung/ss_panel_parse.o \
  301. samsung/ss_panel_power.o \
  302. samsung/ss_ddi_poc_common.o
  303. ifeq ($(CONFIG_SEC_KUNIT), y)
  304. ifeq ($(CONFIG_UML), y)
  305. obj-y += samsung/kunit_test/ss_dsi_panel_common_test.o
  306. endif
  307. endif
  308. # LEGO
  309. subdir-ccflags-$(CONFIG_SEC_KUNIT) += \
  310. -Wno-unused-variable \
  311. -Wno-unused-function \
  312. -Wno-missing-braces \
  313. -Wno-format
  314. msm_drm-$(CONFIG_DISPLAY_SAMSUNG) += samsung/SELF_DISPLAY/self_display.o
  315. msm_drm-$(CONFIG_DISPLAY_SAMSUNG) += samsung/MAFPC/ss_dsi_mafpc.o