From 6af51ca7b09c8e5b7e1933700b1d855893ca42b1 Mon Sep 17 00:00:00 2001 From: Bunnaroath Sou Date: Mon, 20 May 2019 14:34:10 -0700 Subject: Update BSP files to pickup inline support --- bsp/coreip-e31-arty/metal-inline1.h | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 bsp/coreip-e31-arty/metal-inline1.h (limited to 'bsp/coreip-e31-arty/metal-inline1.h') diff --git a/bsp/coreip-e31-arty/metal-inline1.h b/bsp/coreip-e31-arty/metal-inline1.h new file mode 100644 index 0000000..7cd8b1f --- /dev/null +++ b/bsp/coreip-e31-arty/metal-inline1.h @@ -0,0 +1,44 @@ +#ifndef ASSEMBLY + +#ifndef COREIP_E31_ARTY1_INLINE_H +#define COREIP_E31_ARTY1_INLINE_H + +#include + +/* From global_external_interrupts */ +struct __metal_driver_sifive_global_external_interrupts0 __metal_dt_global_external_interrupts = { + .irc.vtable = &__metal_driver_vtable_sifive_global_external_interrupts0.global0_vtable, + .init_done = 0, +}; + +/* --------------------- sifive_global_external_interrupts0 ------------ */ +extern inline int __metal_driver_sifive_global_external_interrupts0_init_done( ); +extern inline struct metal_interrupt * __metal_driver_sifive_global_external_interrupts0_interrupt_parent(struct metal_interrupt *controller); +extern inline int __metal_driver_sifive_global_external_interrupts0_num_interrupts(struct metal_interrupt *controller); +extern inline int __metal_driver_sifive_global_external_interrupts0_interrupt_lines(struct metal_interrupt *controller, int idx); + + +/* --------------------- sifive_gpio_button ------------ */ +extern inline struct __metal_driver_sifive_gpio0 * __metal_driver_sifive_gpio_button_gpio(struct metal_button *button); +extern inline int __metal_driver_sifive_gpio_button_pin(struct metal_button *button); +extern inline struct metal_interrupt * __metal_driver_sifive_gpio_button_interrupt_controller(struct metal_button *button); +extern inline int __metal_driver_sifive_gpio_button_interrupt_line(struct metal_button *button); +extern inline char * __metal_driver_sifive_gpio_button_label(struct metal_button *button); + + +/* --------------------- sifive_gpio_led ------------ */ +extern inline struct __metal_driver_sifive_gpio0 * __metal_driver_sifive_gpio_led_gpio(struct metal_led *led); +extern inline int __metal_driver_sifive_gpio_led_pin(struct metal_led *led); +extern inline char * __metal_driver_sifive_gpio_led_label(struct metal_led *led); + + +/* --------------------- sifive_gpio_switch ------------ */ +extern inline struct __metal_driver_sifive_gpio0 * __metal_driver_sifive_gpio_switch_gpio(struct metal_switch *flip); +extern inline int __metal_driver_sifive_gpio_switch_pin(struct metal_switch *flip); +extern inline struct metal_interrupt * __metal_driver_sifive_gpio_switch_interrupt_controller(struct metal_switch *flip); +extern inline int __metal_driver_sifive_gpio_switch_interrupt_line(struct metal_switch *flip); +extern inline char * __metal_driver_sifive_gpio_switch_label(struct metal_switch *flip); + + +#endif /* COREIP_E31_ARTY1_INLINE_H*/ +#endif /* ! ASSEMBLY */ -- cgit v1.2.3