1*61c4878aSAndroid Build Coastguard Worker# Copyright 2022 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 Workerimport("$dir_pw_build/error.gni") 18*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/target_types.gni") 19*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_docgen/docs.gni") 20*61c4878aSAndroid Build Coastguard Workerimport("tinyusb.gni") 21*61c4878aSAndroid Build Coastguard Worker 22*61c4878aSAndroid Build Coastguard Worker# List of targets defined by this module. 23*61c4878aSAndroid Build Coastguard Worker_tinyusb_targets = [ 24*61c4878aSAndroid Build Coastguard Worker "device", 25*61c4878aSAndroid Build Coastguard Worker "device_audio", 26*61c4878aSAndroid Build Coastguard Worker "device_bth", 27*61c4878aSAndroid Build Coastguard Worker "device_cdc", 28*61c4878aSAndroid Build Coastguard Worker "device_dfu", 29*61c4878aSAndroid Build Coastguard Worker "device_hid", 30*61c4878aSAndroid Build Coastguard Worker "device_midi", 31*61c4878aSAndroid Build Coastguard Worker "device_msc", 32*61c4878aSAndroid Build Coastguard Worker "device_net", 33*61c4878aSAndroid Build Coastguard Worker "device_usbtmc", 34*61c4878aSAndroid Build Coastguard Worker "device_vendor", 35*61c4878aSAndroid Build Coastguard Worker "device_video", 36*61c4878aSAndroid Build Coastguard Worker "host", 37*61c4878aSAndroid Build Coastguard Worker "host_cdc", 38*61c4878aSAndroid Build Coastguard Worker "host_hid", 39*61c4878aSAndroid Build Coastguard Worker "host_msc", 40*61c4878aSAndroid Build Coastguard Worker "host_vendor", 41*61c4878aSAndroid Build Coastguard Worker] 42*61c4878aSAndroid Build Coastguard Worker 43*61c4878aSAndroid Build Coastguard Worker# This file defines multiple GN source_set for using tinyusb and its different 44*61c4878aSAndroid Build Coastguard Worker# parts. See docs.rst for the configuration details. 45*61c4878aSAndroid Build Coastguard Workerif (pw_third_party_tinyusb_SOURCE == "") { 46*61c4878aSAndroid Build Coastguard Worker group("tinyusb") { 47*61c4878aSAndroid Build Coastguard Worker } 48*61c4878aSAndroid Build Coastguard Worker foreach(tinyusb_target, _tinyusb_targets) { 49*61c4878aSAndroid Build Coastguard Worker group("${tinyusb_target}") { 50*61c4878aSAndroid Build Coastguard Worker } 51*61c4878aSAndroid Build Coastguard Worker } 52*61c4878aSAndroid Build Coastguard Worker} else if (pw_third_party_tinyusb_PORT == "") { 53*61c4878aSAndroid Build Coastguard Worker pw_error("tinyusb") { 54*61c4878aSAndroid Build Coastguard Worker message_lines = [ 55*61c4878aSAndroid Build Coastguard Worker "tinyusb is being used by $current_toolchain, but pw_third_party_tinyusb_PORT is not set.", 56*61c4878aSAndroid Build Coastguard Worker "If this toolchain is intentionally using tinyusb, ensure your toolchain configuration for this target sets pw_third_party_tinyusb_PORT.", 57*61c4878aSAndroid Build Coastguard Worker ] 58*61c4878aSAndroid Build Coastguard Worker } 59*61c4878aSAndroid Build Coastguard Worker foreach(tinyusb_target, _tinyusb_targets) { 60*61c4878aSAndroid Build Coastguard Worker group("${tinyusb_target}") { 61*61c4878aSAndroid Build Coastguard Worker deps = [ ":tinyusb" ] 62*61c4878aSAndroid Build Coastguard Worker } 63*61c4878aSAndroid Build Coastguard Worker } 64*61c4878aSAndroid Build Coastguard Worker} else if (pw_third_party_tinyusb_CONFIG == "") { 65*61c4878aSAndroid Build Coastguard Worker pw_error("tinyusb") { 66*61c4878aSAndroid Build Coastguard Worker message_lines = [ 67*61c4878aSAndroid Build Coastguard Worker "tinyusb is being used by $current_toolchain, but pw_third_party_tinyusb_CONFIG is not set.", 68*61c4878aSAndroid Build Coastguard Worker "If this toolchain is intentionally using tinyusb, ensure your toolchain configuration for this target sets pw_third_party_tinyusb_CONFIG.", 69*61c4878aSAndroid Build Coastguard Worker ] 70*61c4878aSAndroid Build Coastguard Worker } 71*61c4878aSAndroid Build Coastguard Worker foreach(tinyusb_target, _tinyusb_targets) { 72*61c4878aSAndroid Build Coastguard Worker group("${tinyusb_target}") { 73*61c4878aSAndroid Build Coastguard Worker deps = [ ":tinyusb" ] 74*61c4878aSAndroid Build Coastguard Worker } 75*61c4878aSAndroid Build Coastguard Worker } 76*61c4878aSAndroid Build Coastguard Worker} else { 77*61c4878aSAndroid Build Coastguard Worker not_needed([ "_tinyusb_targets" ]) 78*61c4878aSAndroid Build Coastguard Worker 79*61c4878aSAndroid Build Coastguard Worker config("public_includes") { 80*61c4878aSAndroid Build Coastguard Worker include_dirs = [ "$pw_third_party_tinyusb_SOURCE/src" ] 81*61c4878aSAndroid Build Coastguard Worker visibility = [ ":*" ] 82*61c4878aSAndroid Build Coastguard Worker } 83*61c4878aSAndroid Build Coastguard Worker 84*61c4878aSAndroid Build Coastguard Worker pw_source_set("tinyusb") { 85*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 86*61c4878aSAndroid Build Coastguard Worker 87*61c4878aSAndroid Build Coastguard Worker # tinyusb depends on headers provided by the other modules in this file 88*61c4878aSAndroid Build Coastguard Worker # conditional to the features enabled by the config, so ignore those include 89*61c4878aSAndroid Build Coastguard Worker # checks. 90*61c4878aSAndroid Build Coastguard Worker check_includes = false 91*61c4878aSAndroid Build Coastguard Worker allow_circular_includes_from = [ pw_third_party_tinyusb_PORT ] 92*61c4878aSAndroid Build Coastguard Worker public_deps = [ 93*61c4878aSAndroid Build Coastguard Worker pw_third_party_tinyusb_CONFIG, 94*61c4878aSAndroid Build Coastguard Worker pw_third_party_tinyusb_PORT, 95*61c4878aSAndroid Build Coastguard Worker ] 96*61c4878aSAndroid Build Coastguard Worker public = [ 97*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/common/tusb_common.h", 98*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/common/tusb_compiler.h", 99*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/common/tusb_error.h", 100*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/common/tusb_fifo.h", 101*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/common/tusb_timeout.h", 102*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/common/tusb_types.h", 103*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/common/tusb_verify.h", 104*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/tusb.h", 105*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/tusb_option.h", 106*61c4878aSAndroid Build Coastguard Worker ] 107*61c4878aSAndroid Build Coastguard Worker sources = [ 108*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/common/tusb_fifo.c", 109*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/tusb.c", 110*61c4878aSAndroid Build Coastguard Worker ] 111*61c4878aSAndroid Build Coastguard Worker } 112*61c4878aSAndroid Build Coastguard Worker 113*61c4878aSAndroid Build Coastguard Worker ############################################################################## 114*61c4878aSAndroid Build Coastguard Worker # Device side. 115*61c4878aSAndroid Build Coastguard Worker pw_source_set("device") { 116*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 117*61c4878aSAndroid Build Coastguard Worker public_deps = [ 118*61c4878aSAndroid Build Coastguard Worker ":tinyusb", 119*61c4878aSAndroid Build Coastguard Worker pw_third_party_tinyusb_PORT, 120*61c4878aSAndroid Build Coastguard Worker ] 121*61c4878aSAndroid Build Coastguard Worker 122*61c4878aSAndroid Build Coastguard Worker # Ports may need to include the device headers. 123*61c4878aSAndroid Build Coastguard Worker allow_circular_includes_from = [ pw_third_party_tinyusb_PORT ] 124*61c4878aSAndroid Build Coastguard Worker sources = [ 125*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/device/usbd.c", 126*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/device/usbd_control.c", 127*61c4878aSAndroid Build Coastguard Worker ] 128*61c4878aSAndroid Build Coastguard Worker public = [ 129*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/device/dcd.h", 130*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/device/usbd.h", 131*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/device/usbd_pvt.h", 132*61c4878aSAndroid Build Coastguard Worker ] 133*61c4878aSAndroid Build Coastguard Worker } 134*61c4878aSAndroid Build Coastguard Worker 135*61c4878aSAndroid Build Coastguard Worker pw_source_set("device_audio") { 136*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 137*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":device" ] 138*61c4878aSAndroid Build Coastguard Worker sources = 139*61c4878aSAndroid Build Coastguard Worker [ "$pw_third_party_tinyusb_SOURCE/src/class/audio/audio_device.c" ] 140*61c4878aSAndroid Build Coastguard Worker public = [ 141*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/audio/audio.h", 142*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/audio/audio_device.h", 143*61c4878aSAndroid Build Coastguard Worker ] 144*61c4878aSAndroid Build Coastguard Worker } 145*61c4878aSAndroid Build Coastguard Worker 146*61c4878aSAndroid Build Coastguard Worker pw_source_set("device_bth") { 147*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 148*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":device" ] 149*61c4878aSAndroid Build Coastguard Worker sources = [ "$pw_third_party_tinyusb_SOURCE/src/class/bth/bth_device.c" ] 150*61c4878aSAndroid Build Coastguard Worker public = [ "$pw_third_party_tinyusb_SOURCE/src/class/bth/bth_device.h" ] 151*61c4878aSAndroid Build Coastguard Worker } 152*61c4878aSAndroid Build Coastguard Worker 153*61c4878aSAndroid Build Coastguard Worker pw_source_set("device_cdc") { 154*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 155*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":device" ] 156*61c4878aSAndroid Build Coastguard Worker sources = [ "$pw_third_party_tinyusb_SOURCE/src/class/cdc/cdc_device.c" ] 157*61c4878aSAndroid Build Coastguard Worker public = [ 158*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/cdc/cdc.h", 159*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/cdc/cdc_device.h", 160*61c4878aSAndroid Build Coastguard Worker ] 161*61c4878aSAndroid Build Coastguard Worker } 162*61c4878aSAndroid Build Coastguard Worker 163*61c4878aSAndroid Build Coastguard Worker pw_source_set("device_dfu") { 164*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 165*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":device" ] 166*61c4878aSAndroid Build Coastguard Worker sources = [ 167*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/dfu/dfu_device.c", 168*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/dfu/dfu_rt_device.c", 169*61c4878aSAndroid Build Coastguard Worker ] 170*61c4878aSAndroid Build Coastguard Worker public = [ 171*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/dfu/dfu.h", 172*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/dfu/dfu_device.h", 173*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/dfu/dfu_rt_device.h", 174*61c4878aSAndroid Build Coastguard Worker ] 175*61c4878aSAndroid Build Coastguard Worker } 176*61c4878aSAndroid Build Coastguard Worker 177*61c4878aSAndroid Build Coastguard Worker pw_source_set("device_hid") { 178*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 179*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":device" ] 180*61c4878aSAndroid Build Coastguard Worker sources = [ "$pw_third_party_tinyusb_SOURCE/src/class/hid/hid_device.c" ] 181*61c4878aSAndroid Build Coastguard Worker public = [ 182*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/hid/hid.h", 183*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/hid/hid_device.h", 184*61c4878aSAndroid Build Coastguard Worker ] 185*61c4878aSAndroid Build Coastguard Worker } 186*61c4878aSAndroid Build Coastguard Worker 187*61c4878aSAndroid Build Coastguard Worker pw_source_set("device_midi") { 188*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 189*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":device" ] 190*61c4878aSAndroid Build Coastguard Worker sources = [ "$pw_third_party_tinyusb_SOURCE/src/class/midi/midi_device.c" ] 191*61c4878aSAndroid Build Coastguard Worker public = [ 192*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/midi/midi.h", 193*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/midi/midi_device.h", 194*61c4878aSAndroid Build Coastguard Worker ] 195*61c4878aSAndroid Build Coastguard Worker } 196*61c4878aSAndroid Build Coastguard Worker 197*61c4878aSAndroid Build Coastguard Worker pw_source_set("device_msc") { 198*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 199*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":device" ] 200*61c4878aSAndroid Build Coastguard Worker sources = [ "$pw_third_party_tinyusb_SOURCE/src/class/msc/msc_device.c" ] 201*61c4878aSAndroid Build Coastguard Worker public = [ 202*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/msc/msc.h", 203*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/msc/msc_device.h", 204*61c4878aSAndroid Build Coastguard Worker ] 205*61c4878aSAndroid Build Coastguard Worker } 206*61c4878aSAndroid Build Coastguard Worker 207*61c4878aSAndroid Build Coastguard Worker pw_source_set("device_net") { 208*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 209*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":device" ] 210*61c4878aSAndroid Build Coastguard Worker sources = [ 211*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/net/ecm_rndis_device.c", 212*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/net/ncm_device.c", 213*61c4878aSAndroid Build Coastguard Worker ] 214*61c4878aSAndroid Build Coastguard Worker public = [ 215*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/net/ncm.h", 216*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/net/net_device.h", 217*61c4878aSAndroid Build Coastguard Worker ] 218*61c4878aSAndroid Build Coastguard Worker } 219*61c4878aSAndroid Build Coastguard Worker 220*61c4878aSAndroid Build Coastguard Worker pw_source_set("device_usbtmc") { 221*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 222*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":device" ] 223*61c4878aSAndroid Build Coastguard Worker sources = 224*61c4878aSAndroid Build Coastguard Worker [ "$pw_third_party_tinyusb_SOURCE/src/class/usbtmc/usbtmc_device.c" ] 225*61c4878aSAndroid Build Coastguard Worker public = [ 226*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/usbtmc/usbtmc.h", 227*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/usbtmc/usbtmc_device.h", 228*61c4878aSAndroid Build Coastguard Worker ] 229*61c4878aSAndroid Build Coastguard Worker } 230*61c4878aSAndroid Build Coastguard Worker 231*61c4878aSAndroid Build Coastguard Worker pw_source_set("device_vendor") { 232*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 233*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":device" ] 234*61c4878aSAndroid Build Coastguard Worker sources = 235*61c4878aSAndroid Build Coastguard Worker [ "$pw_third_party_tinyusb_SOURCE/src/class/vendor/vendor_device.c" ] 236*61c4878aSAndroid Build Coastguard Worker public = 237*61c4878aSAndroid Build Coastguard Worker [ "$pw_third_party_tinyusb_SOURCE/src/class/vendor/vendor_device.h" ] 238*61c4878aSAndroid Build Coastguard Worker } 239*61c4878aSAndroid Build Coastguard Worker 240*61c4878aSAndroid Build Coastguard Worker pw_source_set("device_video") { 241*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 242*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":common" ] 243*61c4878aSAndroid Build Coastguard Worker sources = 244*61c4878aSAndroid Build Coastguard Worker [ "$pw_third_party_tinyusb_SOURCE/src/class/video/video_device.c" ] 245*61c4878aSAndroid Build Coastguard Worker public = [ 246*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/video/video.h", 247*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/video/video_device.h", 248*61c4878aSAndroid Build Coastguard Worker ] 249*61c4878aSAndroid Build Coastguard Worker } 250*61c4878aSAndroid Build Coastguard Worker 251*61c4878aSAndroid Build Coastguard Worker ############################################################################## 252*61c4878aSAndroid Build Coastguard Worker # Host side. 253*61c4878aSAndroid Build Coastguard Worker pw_source_set("host") { 254*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 255*61c4878aSAndroid Build Coastguard Worker public_deps = [ 256*61c4878aSAndroid Build Coastguard Worker ":tinyusb", 257*61c4878aSAndroid Build Coastguard Worker pw_third_party_tinyusb_PORT, 258*61c4878aSAndroid Build Coastguard Worker ] 259*61c4878aSAndroid Build Coastguard Worker 260*61c4878aSAndroid Build Coastguard Worker # Ports may need to include the host headers. 261*61c4878aSAndroid Build Coastguard Worker allow_circular_includes_from = [ pw_third_party_tinyusb_PORT ] 262*61c4878aSAndroid Build Coastguard Worker sources = [ 263*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/host/hub.c", 264*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/host/usbh.c", 265*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/host/usbh_control.c", 266*61c4878aSAndroid Build Coastguard Worker ] 267*61c4878aSAndroid Build Coastguard Worker public = [ 268*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/host/hcd.h", 269*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/host/hcd_attr.h", 270*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/host/hub.h", 271*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/host/usbh.h", 272*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/host/usbh_classdriver.h", 273*61c4878aSAndroid Build Coastguard Worker ] 274*61c4878aSAndroid Build Coastguard Worker } 275*61c4878aSAndroid Build Coastguard Worker 276*61c4878aSAndroid Build Coastguard Worker pw_source_set("host_cdc") { 277*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 278*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":host" ] 279*61c4878aSAndroid Build Coastguard Worker sources = [ 280*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/cdc/cdc_host.c", 281*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/cdc/cdc_rndis_host.c", 282*61c4878aSAndroid Build Coastguard Worker ] 283*61c4878aSAndroid Build Coastguard Worker public = [ 284*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/cdc/cdc.h", 285*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/cdc/cdc_host.h", 286*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/cdc/cdc_rndis.h", 287*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/cdc/cdc_rndis_host.h", 288*61c4878aSAndroid Build Coastguard Worker ] 289*61c4878aSAndroid Build Coastguard Worker } 290*61c4878aSAndroid Build Coastguard Worker 291*61c4878aSAndroid Build Coastguard Worker pw_source_set("host_hid") { 292*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 293*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":host" ] 294*61c4878aSAndroid Build Coastguard Worker sources = [ "$pw_third_party_tinyusb_SOURCE/src/class/hid/hid_host.c" ] 295*61c4878aSAndroid Build Coastguard Worker public = [ 296*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/hid/hid.h", 297*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/hid/hid_host.h", 298*61c4878aSAndroid Build Coastguard Worker ] 299*61c4878aSAndroid Build Coastguard Worker } 300*61c4878aSAndroid Build Coastguard Worker 301*61c4878aSAndroid Build Coastguard Worker pw_source_set("host_msc") { 302*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 303*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":host" ] 304*61c4878aSAndroid Build Coastguard Worker sources = [ "$pw_third_party_tinyusb_SOURCE/src/class/msc/msc_host.c" ] 305*61c4878aSAndroid Build Coastguard Worker public = [ 306*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/msc/msc.h", 307*61c4878aSAndroid Build Coastguard Worker "$pw_third_party_tinyusb_SOURCE/src/class/msc/msc_host.h", 308*61c4878aSAndroid Build Coastguard Worker ] 309*61c4878aSAndroid Build Coastguard Worker } 310*61c4878aSAndroid Build Coastguard Worker 311*61c4878aSAndroid Build Coastguard Worker pw_source_set("host_vendor") { 312*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_includes" ] 313*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":host" ] 314*61c4878aSAndroid Build Coastguard Worker sources = 315*61c4878aSAndroid Build Coastguard Worker [ "$pw_third_party_tinyusb_SOURCE/src/class/vendor/vendor_host.c" ] 316*61c4878aSAndroid Build Coastguard Worker public = [ "$pw_third_party_tinyusb_SOURCE/src/class/vendor/vendor_host.h" ] 317*61c4878aSAndroid Build Coastguard Worker } 318*61c4878aSAndroid Build Coastguard Worker} 319*61c4878aSAndroid Build Coastguard Worker 320*61c4878aSAndroid Build Coastguard Workerpw_doc_group("docs") { 321*61c4878aSAndroid Build Coastguard Worker sources = [ "docs.rst" ] 322*61c4878aSAndroid Build Coastguard Worker} 323