diff options
author | Bunnaroath Sou <bsou@sifive.com> | 2019-04-29 11:08:01 -0700 |
---|---|---|
committer | Nathaniel Graff <nathaniel.graff@sifive.com> | 2019-04-30 10:21:11 -0700 |
commit | 3448fa201b9be5a201fc7496476999975948766a (patch) | |
tree | 2588e19d06ea9f4b615bccd1989e5ea722127333 /bsp/sifive-hifive1 | |
parent | 1741292e512bc0659f7c7434ff056c7426758a4c (diff) |
Update metal.*, *.dts and settings to latest
Diffstat (limited to 'bsp/sifive-hifive1')
-rw-r--r-- | bsp/sifive-hifive1/metal.h | 50 |
1 files changed, 48 insertions, 2 deletions
diff --git a/bsp/sifive-hifive1/metal.h b/bsp/sifive-hifive1/metal.h index 422bdf1..28979c7 100644 --- a/bsp/sifive-hifive1/metal.h +++ b/bsp/sifive-hifive1/metal.h @@ -66,6 +66,7 @@ #include <metal/pmp.h> #include <metal/drivers/sifive,local-external-interrupts0.h> #include <metal/drivers/sifive,gpio0.h> +#include <metal/drivers/sifive,gpio-leds.h> #include <metal/drivers/sifive,spi0.h> #include <metal/drivers/sifive,uart0.h> #include <metal/drivers/sifive,fe310-g000,hfrosc.h> @@ -114,6 +115,18 @@ struct __metal_driver_sifive_local_external_interrupts0 __metal_dt_local_externa asm (".weak __metal_dt_gpio_10012000"); struct __metal_driver_sifive_gpio0 __metal_dt_gpio_10012000; +/* From led@0red */ +asm (".weak __metal_dt_led_0red"); +struct __metal_driver_sifive_gpio_led __metal_dt_led_0red; + +/* From led@0green */ +asm (".weak __metal_dt_led_0green"); +struct __metal_driver_sifive_gpio_led __metal_dt_led_0green; + +/* From led@0blue */ +asm (".weak __metal_dt_led_0blue"); +struct __metal_driver_sifive_gpio_led __metal_dt_led_0blue; + /* From spi@10014000 */ asm (".weak __metal_dt_spi_10014000"); struct __metal_driver_sifive_spi0 __metal_dt_spi_10014000; @@ -278,6 +291,36 @@ struct __metal_driver_sifive_gpio0 __metal_dt_gpio_10012000 = { .interrupt_lines[15] = 22, }; +/* From led@0red */ +struct __metal_driver_sifive_gpio_led __metal_dt_led_0red = { + .vtable = &__metal_driver_vtable_sifive_led, + .led.vtable = &__metal_driver_vtable_sifive_led.led_vtable, +/* From gpio@10012000 */ + .gpio = &__metal_dt_gpio_10012000, + .pin = 22UL, + .label = "LD0red", +}; + +/* From led@0green */ +struct __metal_driver_sifive_gpio_led __metal_dt_led_0green = { + .vtable = &__metal_driver_vtable_sifive_led, + .led.vtable = &__metal_driver_vtable_sifive_led.led_vtable, +/* From gpio@10012000 */ + .gpio = &__metal_dt_gpio_10012000, + .pin = 19UL, + .label = "LD0green", +}; + +/* From led@0blue */ +struct __metal_driver_sifive_gpio_led __metal_dt_led_0blue = { + .vtable = &__metal_driver_vtable_sifive_led, + .led.vtable = &__metal_driver_vtable_sifive_led.led_vtable, +/* From gpio@10012000 */ + .gpio = &__metal_dt_gpio_10012000, + .pin = 21UL, + .label = "LD0blue", +}; + /* From spi@10014000 */ struct __metal_driver_sifive_spi0 __metal_dt_spi_10014000 = { .vtable = &__metal_driver_vtable_sifive_spi0, @@ -403,11 +446,14 @@ struct __metal_driver_sifive_gpio0 *__metal_gpio_table[] = { asm (".weak __metal_button_table"); struct __metal_driver_sifive_gpio_button *__metal_button_table[] = { NULL }; -#define __METAL_DT_MAX_LEDS 0 +#define __METAL_DT_MAX_LEDS 3 asm (".weak __metal_led_table"); struct __metal_driver_sifive_gpio_led *__metal_led_table[] = { - NULL }; + &__metal_dt_led_0red, + &__metal_dt_led_0green, + &__metal_dt_led_0blue}; + #define __METAL_DT_MAX_SWITCHES 0 asm (".weak __metal_switch_table"); |