blob: ec154b11707251099213e60e273394ae32d3d9c9 [file] [log] [blame]
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
subdir('base')
subdir('arch')
subdir('crt')
subdir('dif')
subdir('runtime')
# Flash controller library (sw_lib_flash_ctrl)
sw_lib_flash_ctrl = declare_dependency(
link_with: static_library(
'flash_ctrl_ot',
sources: [
hw_ip_flash_ctrl_reg_h,
'flash_ctrl.c',
],
dependencies: [
top_earlgrey,
]
)
)
# Temp ibex peri library (sw_lib_ibex)
sw_lib_ibex = declare_dependency(
link_with: static_library(
'ibex_ot',
sources: [
hw_ip_ibex_reg_h,
'ibex_peri.c',
],
dependencies: [
top_earlgrey,
]
)
)
# PINMUX library (sw_lib_pinmux)
sw_lib_pinmux = declare_dependency(
link_with: static_library(
'pinmux_ot',
sources: [
hw_top_earlgrey_pinmux_reg_h,
'pinmux.c',
],
dependencies: [
top_earlgrey,
]
)
)
# IRQ library (sw_lib_irq)
sw_lib_irq = declare_dependency(
link_with: static_library(
'irq_ot',
sources: [
'irq.c',
],
)
)
# IRQ Handlers Library
#
# handler.c contains various definitions with weak linkage, for interrupt
# handler symbols referenced from riscv_crt.
#
# To override default handlers, implement the declarations in handler.h, and
# link to this library to pick up the other default definitions, if needed.
#
# If you are getting errors for functions beginning `handler_` when linking a
# device executable, it's likely because you forgot to link this library.
sw_lib_irq_handlers = declare_dependency(
link_with: static_library(
'irq_default_handlers_ot',
sources: [
'handler.c',
],
dependencies: [
sw_lib_runtime_log,
],
)
)
# USB DEV library (sw_lib_usb)
sw_lib_usb = declare_dependency(
link_with: static_library(
'usb_ot',
sources: [
hw_ip_usbdev_reg_h,
'usb_controlep.c',
'usb_simpleserial.c',
'usbdev.c',
],
dependencies: [
top_earlgrey,
]
)
)
subdir('testing')