1# Always include these libraries through //src/rp2_common:*!
2# This ensures that you'll get the right headers for the MCU you're targeting.
3
4package(
5    default_visibility = [
6        "//src/rp2350:__subpackages__",
7        "//src/rp2_common:__pkg__",
8    ],
9)
10
11cc_library(
12    name = "platform_defs",
13    hdrs = [
14        "include/hardware/platform_defs.h",
15    ],
16    includes = ["include"],
17    target_compatible_with = ["//bazel/constraint:rp2350"],
18)
19
20# Picotool needs this, so we can't strictly constrain compatibility.
21cc_library(
22    name = "otp_data",
23    hdrs = [
24        "include/hardware/regs/otp_data.h",
25    ],
26    includes = ["include"],
27    tags = ["manual"],
28    visibility = ["@picotool//:__subpackages__"],
29)
30
31filegroup(
32    name = "otp_data_header",
33    srcs = ["include/hardware/regs/otp_data.h"],
34    tags = ["manual"],
35    visibility = ["@picotool//:__subpackages__"],
36)
37
38cc_library(
39    name = "hardware_regs",
40    hdrs = [
41        "include/hardware/platform_defs.h",
42        "include/hardware/regs/accessctrl.h",
43        "include/hardware/regs/adc.h",
44        "include/hardware/regs/addressmap.h",
45        "include/hardware/regs/bootram.h",
46        "include/hardware/regs/busctrl.h",
47        "include/hardware/regs/clocks.h",
48        "include/hardware/regs/coresight_trace.h",
49        "include/hardware/regs/dma.h",
50        "include/hardware/regs/dreq.h",
51        "include/hardware/regs/glitch_detector.h",
52        "include/hardware/regs/hstx_ctrl.h",
53        "include/hardware/regs/hstx_fifo.h",
54        "include/hardware/regs/i2c.h",
55        "include/hardware/regs/intctrl.h",
56        "include/hardware/regs/io_bank0.h",
57        "include/hardware/regs/io_qspi.h",
58        "include/hardware/regs/m33.h",
59        "include/hardware/regs/m33_eppb.h",
60        "include/hardware/regs/otp.h",
61        "include/hardware/regs/otp_data.h",
62        "include/hardware/regs/pads_bank0.h",
63        "include/hardware/regs/pads_qspi.h",
64        "include/hardware/regs/pio.h",
65        "include/hardware/regs/pll.h",
66        "include/hardware/regs/powman.h",
67        "include/hardware/regs/psm.h",
68        "include/hardware/regs/pwm.h",
69        "include/hardware/regs/qmi.h",
70        "include/hardware/regs/resets.h",
71        "include/hardware/regs/riscv_dm.h",
72        "include/hardware/regs/rosc.h",
73        "include/hardware/regs/rp_ap.h",
74        "include/hardware/regs/rvcsr.h",
75        "include/hardware/regs/sha256.h",
76        "include/hardware/regs/sio.h",
77        "include/hardware/regs/spi.h",
78        "include/hardware/regs/syscfg.h",
79        "include/hardware/regs/sysinfo.h",
80        "include/hardware/regs/tbman.h",
81        "include/hardware/regs/ticks.h",
82        "include/hardware/regs/timer.h",
83        "include/hardware/regs/trng.h",
84        "include/hardware/regs/uart.h",
85        "include/hardware/regs/usb.h",
86        "include/hardware/regs/usb_device_dpram.h",
87        "include/hardware/regs/watchdog.h",
88        "include/hardware/regs/xip.h",
89        "include/hardware/regs/xip_aux.h",
90        "include/hardware/regs/xosc.h",
91    ],
92    includes = ["include"],
93    target_compatible_with = ["//bazel/constraint:rp2350"],
94)
95