1load("//bazel:defs.bzl", "compatible_with_rp2")
2
3package(default_visibility = ["//visibility:public"])
4
5# This exists to break a dependency cycle between
6# this library and //src/rp2_common/hardware_xosc.
7# Application code should always use :hardware_clocks instead.
8cc_library(
9    name = "hardware_clocks_headers",
10    hdrs = ["include/hardware/clocks.h"],
11    includes = ["include"],
12    target_compatible_with = compatible_with_rp2(),
13    visibility = [
14        "//src/rp2_common/hardware_pll:__pkg__",
15        "//src/rp2_common/hardware_xosc:__pkg__",
16    ],
17    deps = [
18        "//src/common/pico_base_headers",
19        "//src/rp2_common:hardware_structs",
20        "//src/rp2_common/hardware_base",
21    ],
22)
23
24cc_library(
25    name = "hardware_clocks",
26    srcs = ["clocks.c"],
27    hdrs = ["include/hardware/clocks.h"],
28    includes = ["include"],
29    target_compatible_with = compatible_with_rp2(),
30    deps = [
31        "//src/common/pico_base_headers",
32        "//src/rp2_common:hardware_regs",
33        "//src/rp2_common:hardware_structs",
34        "//src/rp2_common:platform_defs",
35        "//src/rp2_common/hardware_base",
36        "//src/rp2_common/hardware_gpio",
37        "//src/rp2_common/hardware_irq",
38        "//src/rp2_common/hardware_pll",
39        "//src/rp2_common/hardware_watchdog",
40        "//src/rp2_common/hardware_xosc",
41    ],
42)
43