drvgen.mk 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. ifndef DRVGEN_OUT
  2. DRVGEN_OUT := $(PRELOADER_OUT)
  3. endif
  4. export DRVGEN_OUT
  5. DRVGEN_OUT_PATH := $(DRVGEN_OUT)/inc
  6. ALL_DRVGEN_FILE :=
  7. ifeq ($(filter MT2601,$(MTK_PLATFORM)),)
  8. ALL_DRVGEN_FILE += inc/cust_kpd.h
  9. ALL_DRVGEN_FILE += inc/cust_eint.h
  10. ALL_DRVGEN_FILE += inc/cust_gpio_boot.h
  11. ALL_DRVGEN_FILE += inc/cust_gpio_usage.h
  12. ALL_DRVGEN_FILE += inc/cust_adc.h
  13. ALL_DRVGEN_FILE += inc/pmic_drv.h
  14. ALL_DRVGEN_FILE += inc/pmic_drv.c
  15. endif
  16. ifeq ($(filter MT2601 MT8127 MT8163,$(MTK_PLATFORM)),)
  17. ALL_DRVGEN_FILE += inc/cust_eint_md1.h
  18. endif
  19. ifeq ($(filter MT2601 MT6572 MT6582 MT6592 MT8127,$(MTK_PLATFORM)),)
  20. ALL_DRVGEN_FILE += inc/cust_eint.dtsi
  21. endif
  22. ifeq ($(filter MT2601 MT6580,$(MTK_PLATFORM)),)
  23. ALL_DRVGEN_FILE += inc/cust_power.h
  24. endif
  25. ifeq ($(filter MT2601 MT6572 MT6582 MT6592 MT8127 MT8163,$(MTK_PLATFORM)),)
  26. ALL_DRVGEN_FILE += inc/cust_clk_buf.h
  27. endif
  28. ifeq ($(filter MT2601 MT6572 MT6582 MT6592 MT8127 MT8163,$(MTK_PLATFORM)),)
  29. ALL_DRVGEN_FILE += inc/cust_i2c.h
  30. endif
  31. ifeq ($(MTK_PLATFORM),MT2601)
  32. ALL_DRVGEN_FILE += inc/cust_kpd.h
  33. ALL_DRVGEN_FILE += inc/cust_eint.h
  34. ALL_DRVGEN_FILE += inc/cust_gpio_boot.h
  35. ALL_DRVGEN_FILE += inc/cust_gpio_usage.h
  36. endif
  37. ifeq ($(MTK_PLATFORM),MT6752)
  38. ALL_DRVGEN_FILE += inc/cust_eint_md2.h
  39. endif
  40. ifeq ($(MTK_PLATFORM),MT6595)
  41. ALL_DRVGEN_FILE += inc/cust_gpio_suspend.h
  42. endif
  43. ifeq ($(MTK_PLATFORM),MT6580)
  44. ALL_DRVGEN_FILE += inc/cust_i2c.dtsi
  45. endif
  46. ifeq ($(MTK_PLATFORM),MT8127)
  47. ALL_DRVGEN_FILE += inc/cust_eint_ext.h
  48. endif
  49. ifeq ($(MTK_PLATFORM),MT6735)
  50. ALL_DRVGEN_FILE += inc/cust_adc.dtsi
  51. ALL_DRVGEN_FILE += inc/cust_i2c.dtsi
  52. ALL_DRVGEN_FILE += inc/cust_md1_eint.dtsi
  53. ALL_DRVGEN_FILE += inc/cust_kpd.dtsi
  54. ALL_DRVGEN_FILE += inc/cust_clk_buf.dtsi
  55. ALL_DRVGEN_FILE += inc/cust_gpio.dtsi
  56. ALL_DRVGEN_FILE += inc/cust_pmic.dtsi
  57. endif
  58. ifeq ($(MTK_PLATFORM),$(filter $(MTK_PLATFORM),MT6735 MT6580 MT6755 MT6750 MT6753))
  59. PMIC_DRV_C_TARGET = pmic_c
  60. PMIC_DRV_H_TARGET = pmic_h
  61. else
  62. PMIC_DRV_C_TARGET = pmic_drv_c
  63. PMIC_DRV_H_TARGET = pmic_drv_h
  64. endif
  65. DRVGEN_FILE_LIST := $(addprefix $(DRVGEN_OUT)/,$(ALL_DRVGEN_FILE))
  66. DRVGEN_TOOL := $(D_ROOT)/tools/dct/DrvGen.py
  67. DWS_FILE := $(MTK_PATH_CUSTOM)/dct/$(if $(CUSTOM_KERNEL_DCT),$(CUSTOM_KERNEL_DCT),dct)/codegen.dws
  68. DRVGEN_FIG := $(wildcard $(dir $(DRVGEN_TOOL))config/*.fig)
  69. DRVGEN_PREBUILT_PATH := $(MTK_PATH_CUSTOM)
  70. DRVGEN_PREBUILT_CHECK := $(filter-out $(wildcard $(addprefix $(DRVGEN_PREBUILT_PATH)/,$(ALL_DRVGEN_FILE))),$(addprefix $(DRVGEN_PREBUILT_PATH)/,$(ALL_DRVGEN_FILE)))
  71. .PHONY: drvgen
  72. drvgen: $(DRVGEN_FILE_LIST) $(wildcard $(dir $DRVGEN_TOOL)/config/*.fig)
  73. ifneq ($(DRVGEN_PREBUILT_CHECK),)
  74. $(DRVGEN_OUT)/inc/cust_kpd.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  75. @mkdir -p $(dir $@)
  76. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) kpd_h
  77. $(DRVGEN_OUT)/inc/cust_eint.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  78. @mkdir -p $(dir $@)
  79. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) eint_h
  80. $(DRVGEN_OUT)/inc/cust_gpio_boot.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  81. @mkdir -p $(dir $@)
  82. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) gpio_boot_h
  83. $(DRVGEN_OUT)/inc/cust_gpio_usage.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  84. @mkdir -p $(dir $@)
  85. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) gpio_usage_h
  86. $(DRVGEN_OUT)/inc/cust_adc.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  87. @mkdir -p $(dir $@)
  88. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) adc_h
  89. $(DRVGEN_OUT)/inc/cust_eint_md1.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  90. @mkdir -p $(dir $@)
  91. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) md1_eint_h
  92. $(DRVGEN_OUT)/inc/cust_power.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  93. @mkdir -p $(dir $@)
  94. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) power_h
  95. $(DRVGEN_OUT)/inc/pmic_drv.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  96. @mkdir -p $(dir $@)
  97. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) $(PMIC_DRV_H_TARGET)
  98. $(DRVGEN_OUT)/inc/cust_i2c.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  99. @mkdir -p $(dir $@)
  100. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) i2c_h
  101. $(DRVGEN_OUT)/inc/cust_clk_buf.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  102. @mkdir -p $(dir $@)
  103. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) clk_buf_h
  104. $(DRVGEN_OUT)/inc/cust_eint_md2.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  105. @mkdir -p $(dir $@)
  106. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) md2_eint_h
  107. $(DRVGEN_OUT)/inc/cust_gpio_suspend.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  108. @mkdir -p $(dir $@)
  109. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) suspend_h
  110. $(DRVGEN_OUT)/inc/cust_eint_ext.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  111. @mkdir -p $(dir $@)
  112. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) eint_ext_h
  113. $(DRVGEN_OUT)/inc/cust_eint.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  114. @mkdir -p $(dir $@)
  115. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) eint_dtsi
  116. $(DRVGEN_OUT)/inc/pmic_drv.c: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  117. @mkdir -p $(dir $@)
  118. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) $(PMIC_DRV_C_TARGET)
  119. $(DRVGEN_OUT)/inc/cust_i2c.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  120. @mkdir -p $(dir $@)
  121. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) i2c_dtsi
  122. $(DRVGEN_OUT)/inc/cust_adc.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  123. @mkdir -p $(dir $@)
  124. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) adc_dtsi
  125. $(DRVGEN_OUT)/inc/cust_md1_eint.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  126. @mkdir -p $(dir $@)
  127. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) md1_eint_dtsi
  128. $(DRVGEN_OUT)/inc/cust_kpd.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  129. @mkdir -p $(dir $@)
  130. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) kpd_dtsi
  131. $(DRVGEN_OUT)/inc/cust_clk_buf.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  132. @mkdir -p $(dir $@)
  133. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) clk_buf_dtsi
  134. $(DRVGEN_OUT)/inc/cust_gpio.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  135. @mkdir -p $(dir $@)
  136. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) gpio_dtsi
  137. $(DRVGEN_OUT)/inc/cust_pmic.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  138. @mkdir -p $(dir $@)
  139. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) pmic_dtsi
  140. else
  141. $(DRVGEN_FILE_LIST): $(DRVGEN_OUT)/% : $(DRVGEN_PREBUILT_PATH)/%
  142. @mkdir -p $(dir $@)
  143. cp -f $< $@
  144. endif