# Always include these libraries through //src/rp2_common:*!
# This ensures that you'll get the right headers for the MCU you're targeting.

package(
    default_visibility = [
        "//src/rp2350:__subpackages__",
        "//src/rp2_common:__pkg__",
    ],
)

cc_library(
    name = "hardware_structs",
    hdrs = [
        "include/hardware/structs/accessctrl.h",
        "include/hardware/structs/adc.h",
        "include/hardware/structs/bootram.h",
        "include/hardware/structs/bus_ctrl.h",
        "include/hardware/structs/busctrl.h",
        "include/hardware/structs/clocks.h",
        "include/hardware/structs/coresight_trace.h",
        "include/hardware/structs/dma.h",
        "include/hardware/structs/dma_debug.h",
        "include/hardware/structs/glitch_detector.h",
        "include/hardware/structs/hstx_ctrl.h",
        "include/hardware/structs/hstx_fifo.h",
        "include/hardware/structs/i2c.h",
        "include/hardware/structs/interp.h",
        "include/hardware/structs/io_bank0.h",
        "include/hardware/structs/io_qspi.h",
        "include/hardware/structs/iobank0.h",
        "include/hardware/structs/ioqspi.h",
        "include/hardware/structs/m33.h",
        "include/hardware/structs/m33_eppb.h",
        "include/hardware/structs/mpu.h",
        "include/hardware/structs/nvic.h",
        "include/hardware/structs/otp.h",
        "include/hardware/structs/pads_bank0.h",
        "include/hardware/structs/pads_qspi.h",
        "include/hardware/structs/padsbank0.h",
        "include/hardware/structs/pio.h",
        "include/hardware/structs/pll.h",
        "include/hardware/structs/powman.h",
        "include/hardware/structs/psm.h",
        "include/hardware/structs/pwm.h",
        "include/hardware/structs/qmi.h",
        "include/hardware/structs/resets.h",
        "include/hardware/structs/rosc.h",
        "include/hardware/structs/sau.h",
        "include/hardware/structs/scb.h",
        "include/hardware/structs/sha256.h",
        "include/hardware/structs/sio.h",
        "include/hardware/structs/spi.h",
        "include/hardware/structs/syscfg.h",
        "include/hardware/structs/sysinfo.h",
        "include/hardware/structs/systick.h",
        "include/hardware/structs/tbman.h",
        "include/hardware/structs/ticks.h",
        "include/hardware/structs/timer.h",
        "include/hardware/structs/tmds_encode.h",
        "include/hardware/structs/trng.h",
        "include/hardware/structs/uart.h",
        "include/hardware/structs/usb.h",
        "include/hardware/structs/usb_dpram.h",
        "include/hardware/structs/watchdog.h",
        "include/hardware/structs/xip.h",
        "include/hardware/structs/xip_aux.h",
        "include/hardware/structs/xip_ctrl.h",
        "include/hardware/structs/xosc.h",
    ],
    includes = ["include"],
    target_compatible_with = ["//bazel/constraint:rp2350"],
)
