1*61c4878aSAndroid Build Coastguard Worker# Copyright 2021 The Pigweed Authors 2*61c4878aSAndroid Build Coastguard Worker# 3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of 5*61c4878aSAndroid Build Coastguard Worker# the License at 6*61c4878aSAndroid Build Coastguard Worker# 7*61c4878aSAndroid Build Coastguard Worker# https://www.apache.org/licenses/LICENSE-2.0 8*61c4878aSAndroid Build Coastguard Worker# 9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under 13*61c4878aSAndroid Build Coastguard Worker# the License. 14*61c4878aSAndroid Build Coastguard Worker 15*61c4878aSAndroid Build Coastguard Workerimport("//build_overrides/pigweed.gni") 16*61c4878aSAndroid Build Coastguard Worker 17*61c4878aSAndroid Build Coastguard Workerdeclare_args() { 18*61c4878aSAndroid Build Coastguard Worker # stm32cube_xx install directories 19*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_f0 = "" 20*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_f1 = "" 21*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_f2 = "" 22*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_f3 = "" 23*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_f4 = "" 24*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_f7 = "" 25*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_g0 = "" 26*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_g4 = "" 27*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_h7 = "" 28*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_l0 = "" 29*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_l1 = "" 30*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_l4 = "" 31*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_l5 = "" 32*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_wb = "" 33*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube_wl = "" 34*61c4878aSAndroid Build Coastguard Worker 35*61c4878aSAndroid Build Coastguard Worker # The currently selected stm32cube_xx package 36*61c4878aSAndroid Build Coastguard Worker # This can be selected by the target by doing something like: 37*61c4878aSAndroid Build Coastguard Worker # dir_pw_third_party_stm32cube = dir_pw_third_party_stm32cube_f4 38*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_stm32cube = "" 39*61c4878aSAndroid Build Coastguard Worker 40*61c4878aSAndroid Build Coastguard Worker # The Product specified in as much detail as possible. 41*61c4878aSAndroid Build Coastguard Worker # i.e. "stm32f429zit", "stm32l552ze", "stm32f207zg", etc. 42*61c4878aSAndroid Build Coastguard Worker pw_third_party_stm32cube_PRODUCT = "" 43*61c4878aSAndroid Build Coastguard Worker 44*61c4878aSAndroid Build Coastguard Worker # pw_source_set with `stm32{family}xx_hal_conf.h` 45*61c4878aSAndroid Build Coastguard Worker # The default uses the in-tree `stm32{family}xx_hal_conf_template.h`. 46*61c4878aSAndroid Build Coastguard Worker pw_third_party_stm32cube_CONFIG = 47*61c4878aSAndroid Build Coastguard Worker "$dir_pw_third_party/stm32cube:hal_config_template" 48*61c4878aSAndroid Build Coastguard Worker 49*61c4878aSAndroid Build Coastguard Worker # pw_source_set containing timebase 50*61c4878aSAndroid Build Coastguard Worker # The default uses the in-tree `stm32{family}xx_hal_timebase_tim_template.c` 51*61c4878aSAndroid Build Coastguard Worker pw_third_party_stm32cube_TIMEBASE = 52*61c4878aSAndroid Build Coastguard Worker "$dir_pw_third_party/stm32cube:hal_timebase_template" 53*61c4878aSAndroid Build Coastguard Worker 54*61c4878aSAndroid Build Coastguard Worker # pw_source_set containing cmsis init logic 55*61c4878aSAndroid Build Coastguard Worker # The default uses the in-tree `system_stm32{family}xx.c` 56*61c4878aSAndroid Build Coastguard Worker pw_third_party_stm32cube_CMSIS_INIT = 57*61c4878aSAndroid Build Coastguard Worker "$dir_pw_third_party/stm32cube:cmsis_init_template" 58*61c4878aSAndroid Build Coastguard Worker 59*61c4878aSAndroid Build Coastguard Worker # pw_source_set containing the core initization logic. This normally includes 60*61c4878aSAndroid Build Coastguard Worker # a `startup_stm32{...}.s` + a dependent `pw_linker_script`. The default 61*61c4878aSAndroid Build Coastguard Worker # `core_init_template` uses the upstream startup and linker script matching 62*61c4878aSAndroid Build Coastguard Worker # $pw_third_party_stm32cube_PRODUCT. If set to "", you must provide your own 63*61c4878aSAndroid Build Coastguard Worker # linker/startup logic somewhere else in the build. 64*61c4878aSAndroid Build Coastguard Worker pw_third_party_stm32cube_CORE_INIT = 65*61c4878aSAndroid Build Coastguard Worker "$dir_pw_third_party/stm32cube:core_init_template" 66*61c4878aSAndroid Build Coastguard Worker} 67