summaryrefslogtreecommitdiff
path: root/bsp/coreip-e21-arty
diff options
context:
space:
mode:
Diffstat (limited to 'bsp/coreip-e21-arty')
-rw-r--r--bsp/coreip-e21-arty/design.dts2
-rw-r--r--bsp/coreip-e21-arty/metal.h7
-rw-r--r--bsp/coreip-e21-arty/metal.lds2
3 files changed, 9 insertions, 2 deletions
diff --git a/bsp/coreip-e21-arty/design.dts b/bsp/coreip-e21-arty/design.dts
index be0c023..32ef5e8 100644
--- a/bsp/coreip-e21-arty/design.dts
+++ b/bsp/coreip-e21-arty/design.dts
@@ -7,7 +7,7 @@
model = "SiFive,FE210G";
chosen {
stdout-path = "/soc/serial@20000000:115200";
- mee,entry = <&L7 0x400000>;
+ metal,entry = <&L7 0x400000>;
};
L17: aliases {
serial0 = &L6;
diff --git a/bsp/coreip-e21-arty/metal.h b/bsp/coreip-e21-arty/metal.h
index 49b4c73..5a9459b 100644
--- a/bsp/coreip-e21-arty/metal.h
+++ b/bsp/coreip-e21-arty/metal.h
@@ -334,6 +334,7 @@ struct __metal_driver_sifive_global_external_interrupts0 __metal_dt_global_exter
/* From gpio@20002000 */
struct __metal_driver_sifive_gpio0 __metal_dt_gpio_20002000 = {
.vtable = &__metal_driver_vtable_sifive_gpio0,
+ .gpio.vtable = &__metal_driver_vtable_sifive_gpio0.gpio,
.base = 536879104UL,
.size = 4096UL,
/* From interrupt_controller@2000000 */
@@ -559,6 +560,12 @@ struct __metal_driver_cpu *__metal_cpu_table[] = {
#define __METAL_DT_GLOBAL_EXTERNAL_INTERRUPTS_HANDLE (&__metal_dt_global_external_interrupts.irc)
+#define __MEE_DT_MAX_GPIOS 1
+
+asm (".weak __metal_gpio_table");
+struct __metal_driver_sifive_gpio0 *__metal_gpio_table[] = {
+ &__metal_dt_gpio_20002000};
+
#define __METAL_DT_MAX_BUTTONS 4
asm (".weak __metal_button_table");
diff --git a/bsp/coreip-e21-arty/metal.lds b/bsp/coreip-e21-arty/metal.lds
index ea41b72..4c81b1b 100644
--- a/bsp/coreip-e21-arty/metal.lds
+++ b/bsp/coreip-e21-arty/metal.lds
@@ -5,7 +5,7 @@ ENTRY(_enter)
MEMORY
{
ram (wxa!ri) : ORIGIN = 0x80000000, LENGTH = 0x10000
- flash (rxai!w) : ORIGIN = 0x40400000, LENGTH = 0x20000000
+ flash (rxai!w) : ORIGIN = 0x40400000, LENGTH = 0x1fc00000
}
PHDRS