1# Copyright (c) 2020-2023 Huawei Device Co., Ltd. All rights reserved.
2#
3# Redistribution and use in source and binary forms, with or without modification,
4# are permitted provided that the following conditions are met:
5#
6# 1. Redistributions of source code must retain the above copyright notice, this list of
7#    conditions and the following disclaimer.
8#
9# 2. Redistributions in binary form must reproduce the above copyright notice, this list
10#    of conditions and the following disclaimer in the documentation and/or other materials
11#    provided with the distribution.
12#
13# 3. Neither the name of the copyright holder nor the names of its contributors may be used
14#    to endorse or promote products derived from this software without specific prior written
15#    permission.
16#
17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
19# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
21# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29import("//build/lite/config/component/lite_component.gni")
30import("../hdf.gni")
31
32module_switch = defined(LOSCFG_DRIVERS_HDF_PLATFORM)
33module_name = "hdf_platform"
34hdf_driver(module_name) {
35  sources = [
36    "$HDF_FRAMEWORKS_PATH/support/platform/src/fwk/platform_common.c",
37    "$HDF_FRAMEWORKS_PATH/support/platform/src/fwk/platform_device.c",
38    "$HDF_FRAMEWORKS_PATH/support/platform/src/fwk/platform_event.c",
39    "$HDF_FRAMEWORKS_PATH/support/platform/src/fwk/platform_manager.c",
40    "$HDF_FRAMEWORKS_PATH/support/platform/src/fwk/platform_queue.c",
41    "src/plat_common.c",
42  ]
43
44  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_TRACE)) {
45    sources += [
46      "$HDF_FRAMEWORKS_PATH/support/platform/src/fwk/platform_trace_transfer.c",
47      "src/platform_trace.c",
48    ]
49  } else {
50    sources += [
51      "$HDF_FRAMEWORKS_PATH/support/platform/src/fwk/platform_trace_unopen.c",
52    ]
53  }
54
55  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_DUMPER)) {
56    sources +=
57        [ "$HDF_FRAMEWORKS_PATH/support/platform/src/fwk/platform_dumper.c" ]
58  } else {
59    sources += [
60      "$HDF_FRAMEWORKS_PATH/support/platform/src/fwk/platform_dumper_unopen.c",
61    ]
62  }
63
64  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_I2C)) {
65    sources += [
66      "$HDF_FRAMEWORKS_PATH/support/platform/src/i2c/i2c_core.c",
67      "$HDF_FRAMEWORKS_PATH/support/platform/src/i2c/i2c_if.c",
68      "$HDF_FRAMEWORKS_PATH/support/platform/src/i2c/i2c_msg.c",
69      "src/i2c_dev.c",
70    ]
71  }
72
73  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_ADC)) {
74    sources += [
75      "$HDF_FRAMEWORKS_PATH/support/platform/src/adc/adc_core.c",
76      "$HDF_FRAMEWORKS_PATH/support/platform/src/adc/adc_if.c",
77    ]
78  }
79
80  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_DAC)) {
81    sources += [
82      "$HDF_FRAMEWORKS_PATH/support/platform/src/dac/dac_core.c",
83      "$HDF_FRAMEWORKS_PATH/support/platform/src/dac/dac_if.c",
84    ]
85  }
86
87  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_I3C)) {
88    sources += [
89      "$HDF_FRAMEWORKS_PATH/support/platform/src/i3c/i3c_core.c",
90      "$HDF_FRAMEWORKS_PATH/support/platform/src/i3c/i3c_if.c",
91    ]
92  }
93
94  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_GPIO)) {
95    sources += [
96      "$HDF_FRAMEWORKS_PATH/support/platform/src/gpio/gpio_core.c",
97      "$HDF_FRAMEWORKS_PATH/support/platform/src/gpio/gpio_if.c",
98      "$HDF_FRAMEWORKS_PATH/support/platform/src/gpio/gpio_manager.c",
99      "$HDF_FRAMEWORKS_PATH/support/platform/src/gpio/gpio_service.c",
100      "src/gpio_dev.c",
101    ]
102  }
103
104  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_PIN)) {
105    sources += [
106      "$HDF_FRAMEWORKS_PATH/support/platform/src/pin/pin_core.c",
107      "$HDF_FRAMEWORKS_PATH/support/platform/src/pin/pin_if.c",
108    ]
109  }
110
111  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_WATCHDOG)) {
112    sources += [
113      "$HDF_FRAMEWORKS_PATH/support/platform/src/watchdog/watchdog_core.c",
114      "$HDF_FRAMEWORKS_PATH/support/platform/src/watchdog/watchdog_if.c",
115    ]
116  }
117
118  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_SPI)) {
119    sources += [
120      "$HDF_FRAMEWORKS_PATH/support/platform/src/spi/spi_core.c",
121      "$HDF_FRAMEWORKS_PATH/support/platform/src/spi/spi_if.c",
122      "src/spi_dev.c",
123    ]
124  }
125
126  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_PWM)) {
127    sources += [
128      "$HDF_FRAMEWORKS_PATH/support/platform/src/pwm/pwm_core.c",
129      "$HDF_FRAMEWORKS_PATH/support/platform/src/pwm/pwm_if.c",
130    ]
131  }
132
133  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_HDMI)) {
134    sources += [
135      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_cec.c",
136      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_common.c",
137      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_core.c",
138      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_ddc.c",
139      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_dfm.c",
140      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_dispatch.c",
141      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_edid.c",
142      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_event.c",
143      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_frl.c",
144      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_hdcp.c",
145      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_hdr.c",
146      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_if.c",
147      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_infoframe.c",
148      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_ncts.c",
149      "$HDF_FRAMEWORKS_PATH/support/platform/src/hdmi/hdmi_scdc.c",
150    ]
151  }
152
153  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_PCIE)) {
154    sources += [
155      "$HDF_FRAMEWORKS_PATH/support/platform/src/pcie/pcie_core.c",
156      "$HDF_FRAMEWORKS_PATH/support/platform/src/pcie/pcie_dispatch.c",
157      "$HDF_FRAMEWORKS_PATH/support/platform/src/pcie/pcie_if.c",
158    ]
159  }
160
161  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_RTC)) {
162    sources += [
163      "$HDF_FRAMEWORKS_PATH/support/platform/src/rtc/rtc_base.c",
164      "$HDF_FRAMEWORKS_PATH/support/platform/src/rtc/rtc_core.c",
165      "$HDF_FRAMEWORKS_PATH/support/platform/src/rtc/rtc_if.c",
166      "$HDF_FRAMEWORKS_PATH/support/platform/src/rtc/rtc_service.c",
167    ]
168  }
169
170  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_MIPI_DSI)) {
171    sources += [
172      "$HDF_FRAMEWORKS_PATH/support/platform/src/mipi/mipi_dsi_core.c",
173      "$HDF_FRAMEWORKS_PATH/support/platform/src/mipi/mipi_dsi_if.c",
174    ]
175  }
176
177  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_MIPI_CSI)) {
178    sources += [
179      "$HDF_FRAMEWORKS_PATH/support/platform/src/mipi/mipi_csi_core.c",
180      "$HDF_FRAMEWORKS_PATH/support/platform/src/mipi/mipi_csi_if.c",
181    ]
182  }
183
184  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_DMAC)) {
185    sources += [ "$HDF_FRAMEWORKS_PATH/support/platform/src/dma/dmac_core.c" ]
186  }
187
188  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_UART)) {
189    sources += [
190      "$HDF_FRAMEWORKS_PATH/support/platform/src/uart/uart_core.c",
191      "$HDF_FRAMEWORKS_PATH/support/platform/src/uart/uart_if.c",
192      "$HDF_FRAMEWORKS_PATH/support/platform/src/uart/uart_service.c",
193      "src/uart_dev.c",
194    ]
195  }
196
197  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_I2S)) {
198    sources += [
199      "$HDF_FRAMEWORKS_PATH/support/platform/src/i2s/i2s_core.c",
200      "$HDF_FRAMEWORKS_PATH/support/platform/src/i2s/i2s_if.c",
201    ]
202  }
203
204  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_REGULATOR)) {
205    sources += [
206      "$HDF_FRAMEWORKS_PATH/support/platform/src/regulator/regulator_core.c",
207      "$HDF_FRAMEWORKS_PATH/support/platform/src/regulator/regulator_if.c",
208      "$HDF_FRAMEWORKS_PATH/support/platform/src/regulator/regulator_tree_mgr.c",
209    ]
210  }
211
212  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_TIMER)) {
213    sources += [
214      "$HDF_FRAMEWORKS_PATH/support/platform/src/timer/timer_core.c",
215      "$HDF_FRAMEWORKS_PATH/support/platform/src/timer/timer_if.c",
216    ]
217  }
218
219  if (defined(LOSCFG_DRIVERS_HDF_PLATFORM_CAN)) {
220    sources += [
221      "$HDF_FRAMEWORKS_PATH/support/platform/src/can/can_client.c",
222      "$HDF_FRAMEWORKS_PATH/support/platform/src/can/can_core.c",
223      "$HDF_FRAMEWORKS_PATH/support/platform/src/can/can_if.c",
224      "$HDF_FRAMEWORKS_PATH/support/platform/src/can/can_mail.c",
225      "$HDF_FRAMEWORKS_PATH/support/platform/src/can/can_manager.c",
226      "$HDF_FRAMEWORKS_PATH/support/platform/src/can/can_msg.c",
227      "$HDF_FRAMEWORKS_PATH/support/platform/src/can/can_service.c",
228    ]
229  }
230
231  public_configs = [ ":public" ]
232}
233
234config("public") {
235  include_dirs = [
236    "include",
237    "//kernel/liteos_a/kernel/include/",
238    "$HDF_FRAMEWORKS_PATH/include/core",
239    "$HDF_FRAMEWORKS_PATH/core/common/include/host",
240    "$HDF_FRAMEWORKS_PATH/include/platform",
241    "$HDF_FRAMEWORKS_PATH/support/platform/include",
242    "$HDF_FRAMEWORKS_PATH/support/platform/include/fwk",
243    "$HDF_FRAMEWORKS_PATH/support/platform/include/adc",
244    "$HDF_FRAMEWORKS_PATH/support/platform/include/dac",
245    "$HDF_FRAMEWORKS_PATH/support/platform/include/dma",
246    "$HDF_FRAMEWORKS_PATH/support/platform/include/gpio",
247    "$HDF_FRAMEWORKS_PATH/support/platform/include/hdmi",
248    "$HDF_FRAMEWORKS_PATH/support/platform/include/i2c",
249    "$HDF_FRAMEWORKS_PATH/support/platform/include/i2s",
250    "$HDF_FRAMEWORKS_PATH/support/platform/include/i3c",
251    "$HDF_FRAMEWORKS_PATH/support/platform/include/mipi",
252    "$HDF_FRAMEWORKS_PATH/support/platform/include/pcie",
253    "$HDF_FRAMEWORKS_PATH/support/platform/include/pwm",
254    "$HDF_FRAMEWORKS_PATH/support/platform/include/pin",
255    "$HDF_FRAMEWORKS_PATH/support/platform/include/rtc",
256    "$HDF_FRAMEWORKS_PATH/support/platform/include/regulator",
257    "$HDF_FRAMEWORKS_PATH/support/platform/include/spi",
258    "$HDF_FRAMEWORKS_PATH/support/platform/include/uart",
259    "$HDF_FRAMEWORKS_PATH/support/platform/include/watchdog",
260    "$HDF_FRAMEWORKS_PATH/support/platform/include/timer",
261  ]
262}
263