drvgen.mk 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. ifndef DRVGEN_OUT
  2. DRVGEN_OUT := $(BUILDDIR)
  3. endif
  4. DRVGEN_OUT_PATH := $(DRVGEN_OUT)/inc
  5. ALL_DRVGEN_FILE :=
  6. ifeq ($(filter mt2601,$(PLATFORM)),)
  7. ALL_DRVGEN_FILE += inc/cust_kpd.h
  8. ALL_DRVGEN_FILE += inc/cust_eint.h
  9. ALL_DRVGEN_FILE += inc/cust_gpio_boot.h
  10. ALL_DRVGEN_FILE += inc/cust_gpio_usage.h
  11. ALL_DRVGEN_FILE += inc/cust_adc.h
  12. ALL_DRVGEN_FILE += inc/pmic_drv.h
  13. ALL_DRVGEN_FILE += inc/pmic_drv.c
  14. endif
  15. ifeq ($(filter mt2601 mt8127 mt8163,$(PLATFORM)),)
  16. ALL_DRVGEN_FILE += inc/cust_eint_md1.h
  17. endif
  18. ifeq ($(filter mt2601 mt6572 mt6582 mt6592 mt8127,$(PLATFORM)),)
  19. ALL_DRVGEN_FILE += inc/cust_eint.dtsi
  20. endif
  21. ifeq ($(filter mt2601 mt6580 mt6570,$(PLATFORM)),)
  22. ALL_DRVGEN_FILE += inc/cust_power.h
  23. endif
  24. ifeq ($(filter mt2601 mt6572 mt6582 mt6592 mt8127 mt8163,$(PLATFORM)),)
  25. ALL_DRVGEN_FILE += inc/cust_clk_buf.h
  26. endif
  27. ifeq ($(filter mt2601 mt6572 mt6582 mt6592 mt8127 mt8163,$(PLATFORM)),)
  28. ALL_DRVGEN_FILE += inc/cust_i2c.h
  29. endif
  30. ifeq ($(PLATFORM),mt2601)
  31. ALL_DRVGEN_FILE += inc/cust_kpd.h
  32. ALL_DRVGEN_FILE += inc/cust_eint.h
  33. ALL_DRVGEN_FILE += inc/cust_gpio_usage.h
  34. ALL_DRVGEN_FILE += include/target/cust_gpio_boot.h
  35. ALL_DRVGEN_FILE += include/target/cust_power.h
  36. endif
  37. ifeq ($(PLATFORM),mt6752)
  38. ALL_DRVGEN_FILE += inc/cust_eint_md2.h
  39. endif
  40. ifeq ($(PLATFORM),mt6595)
  41. ALL_DRVGEN_FILE += inc/cust_gpio_suspend.h
  42. endif
  43. ifeq ($(PLATFORM),mt6580)
  44. ALL_DRVGEN_FILE += inc/cust_i2c.dtsi
  45. endif
  46. ifeq ($(PLATFORM),mt6570)
  47. ALL_DRVGEN_FILE += inc/cust_i2c.dtsi
  48. endif
  49. ifeq ($(PLATFORM),mt8127)
  50. ALL_DRVGEN_FILE += inc/cust_eint_ext.h
  51. endif
  52. ifeq ($(PLATFORM),mt6735)
  53. ALL_DRVGEN_FILE += inc/cust_adc.dtsi
  54. ALL_DRVGEN_FILE += inc/cust_i2c.dtsi
  55. ALL_DRVGEN_FILE += inc/cust_md1_eint.dtsi
  56. ALL_DRVGEN_FILE += inc/cust_kpd.dtsi
  57. ALL_DRVGEN_FILE += inc/cust_clk_buf.dtsi
  58. ALL_DRVGEN_FILE += inc/cust_gpio.dtsi
  59. ALL_DRVGEN_FILE += inc/cust_adc.dtsi
  60. ALL_DRVGEN_FILE += inc/cust_pmic.dtsi
  61. ALL_DRVGEN_FILE += inc/mt6735-pinfunc.h
  62. ALL_DRVGEN_FILE += inc/pinctrl-mtk-mt6735.h
  63. endif
  64. ifeq ($(PLATFORM),$(filter $(PLATFORM),mt6797 mt6757 elbrus mt6570 mt6799))
  65. PMIC_DRV_C_TARGET = pmic_drv_c
  66. PMIC_DRV_H_TARGET = pmic_drv_h
  67. else
  68. PMIC_DRV_C_TARGET = pmic_c
  69. PMIC_DRV_H_TARGET = pmic_h
  70. endif
  71. DRVGEN_FILE_LIST := $(addprefix $(DRVGEN_OUT)/,$(ALL_DRVGEN_FILE))
  72. DRVGEN_TOOL := $(PWD)/scripts/dct/DrvGen.py
  73. DWS_FILE := $(PWD)/target/$(TARGET)/dct/$(if $(CUSTOM_KERNEL_DCT),$(CUSTOM_KERNEL_DCT),dct)/codegen.dws
  74. DRVGEN_FIG := $(wildcard $(dir $(DRVGEN_TOOL))config/*.fig)
  75. DRVGEN_PREBUILT_PATH := $(PWD)/target/$(TARGET)
  76. DRVGEN_PREBUILT_CHECK := $(filter-out $(wildcard $(addprefix $(DRVGEN_PREBUILT_PATH)/,$(ALL_DRVGEN_FILE))),$(addprefix $(DRVGEN_PREBUILT_PATH)/,$(ALL_DRVGEN_FILE)))
  77. .PHONY: drvgen
  78. drvgen: $(DRVGEN_FILE_LIST) $(wildcard $(dir $DRVGEN_TOOL)/config/*.fig)
  79. ifneq ($(DRVGEN_PREBUILT_CHECK),)
  80. $(DRVGEN_OUT)/inc/cust_kpd.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  81. @mkdir -p $(dir $@)
  82. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) kpd_h
  83. $(DRVGEN_OUT)/inc/cust_eint.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  84. @mkdir -p $(dir $@)
  85. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) eint_h
  86. $(DRVGEN_OUT)/inc/cust_gpio_boot.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  87. @mkdir -p $(dir $@)
  88. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) gpio_boot_h
  89. $(DRVGEN_OUT)/inc/cust_gpio_usage.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  90. @mkdir -p $(dir $@)
  91. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) gpio_usage_h
  92. $(DRVGEN_OUT)/inc/cust_adc.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  93. @mkdir -p $(dir $@)
  94. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) adc_h
  95. $(DRVGEN_OUT)/inc/cust_eint_md1.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  96. @mkdir -p $(dir $@)
  97. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) md1_eint_h
  98. $(DRVGEN_OUT)/inc/cust_power.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  99. @mkdir -p $(dir $@)
  100. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) power_h
  101. $(DRVGEN_OUT)/inc/pmic_drv.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  102. @mkdir -p $(dir $@)
  103. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) $(PMIC_DRV_H_TARGET)
  104. $(DRVGEN_OUT)/inc/cust_i2c.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  105. @mkdir -p $(dir $@)
  106. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) i2c_h
  107. $(DRVGEN_OUT)/inc/cust_clk_buf.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  108. @mkdir -p $(dir $@)
  109. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) clk_buf_h
  110. $(DRVGEN_OUT)/inc/cust_eint_md2.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  111. @mkdir -p $(dir $@)
  112. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) md2_eint_h
  113. $(DRVGEN_OUT)/inc/cust_gpio_suspend.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  114. @mkdir -p $(dir $@)
  115. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) suspend_h
  116. $(DRVGEN_OUT)/inc/cust_eint_ext.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  117. @mkdir -p $(dir $@)
  118. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) eint_ext_h
  119. $(DRVGEN_OUT)/inc/cust_eint.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  120. @mkdir -p $(dir $@)
  121. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) eint_dtsi
  122. $(DRVGEN_OUT)/inc/pmic_drv.c: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  123. @mkdir -p $(dir $@)
  124. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) $(PMIC_DRV_C_TARGET)
  125. $(DRVGEN_OUT)/inc/cust_i2c.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  126. @mkdir -p $(dir $@)
  127. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) i2c_dtsi
  128. $(DRVGEN_OUT)/inc/cust_adc.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  129. @mkdir -p $(dir $@)
  130. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) adc_dtsi
  131. $(DRVGEN_OUT)/inc/cust_md1_eint.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  132. @mkdir -p $(dir $@)
  133. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) md1_eint_dtsi
  134. $(DRVGEN_OUT)/inc/cust_kpd.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  135. @mkdir -p $(dir $@)
  136. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) kpd_dtsi
  137. $(DRVGEN_OUT)/inc/cust_clk_buf.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  138. @mkdir -p $(dir $@)
  139. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) clk_buf_dtsi
  140. $(DRVGEN_OUT)/inc/cust_gpio.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  141. @mkdir -p $(dir $@)
  142. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) gpio_dtsi
  143. $(DRVGEN_OUT)/inc/cust_pmic.dtsi: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  144. @mkdir -p $(dir $@)
  145. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) pmic_dtsi
  146. $(DRVGEN_OUT)/inc/mt6735-pinfunc.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  147. @mkdir -p $(dir $@)
  148. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) mt6735_pinfunc_h
  149. $(DRVGEN_OUT)/inc/pinctrl-mtk-mt6735.h: $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_FIG)
  150. @mkdir -p $(dir $@)
  151. @$(python) $(DRVGEN_TOOL) $(DWS_FILE) $(DRVGEN_OUT_PATH) $(DRVGEN_OUT_PATH) pinctrl_mtk_mt6735_h
  152. else
  153. $(DRVGEN_FILE_LIST): $(DRVGEN_OUT)/% : $(DRVGEN_PREBUILT_PATH)/%
  154. @mkdir -p $(dir $@)
  155. cp -f $< $@
  156. endif