diff --git a/libgloss/or1k/Makefile.in b/libgloss/or1k/Makefile.in
index ec8d2c4..7a0a83b 100644
--- a/libgloss/or1k/Makefile.in
+++ b/libgloss/or1k/Makefile.in
@@ -78,6 +78,7 @@ BOARDS = 	or1ksim		\
 		orpsocrefdesign	\
 		ordb1a3pe1500	\
 		ml501		\
+		ml509		\
 		ordb2a		\
 		atlys		\
 		de0_nano
diff --git a/libgloss/or1k/ml509.S b/libgloss/or1k/ml509.S
new file mode 100644
index 0000000..bec61f7
--- /dev/null
+++ b/libgloss/or1k/ml509.S
@@ -0,0 +1,35 @@
+#include "or1k-asm.h"
+
+/*
+ * Define symbols to be used during startup - file is linked at compile time
+ *
+ */
+.weak _board_mem_base
+.weak _board_mem_size
+.weak _board_clk_freq
+
+_board_mem_base:	.long	0x0
+_board_mem_size:	.long	0x08000000
+
+_board_clk_freq:	.long	50000000
+	
+/* Peripheral information - Set base to 0 if not present*/
+.weak _board_uart_base
+.weak _board_uart_baud
+.weak _board_uart_IRQ
+	
+_board_uart_base:	.long	0x90000000
+_board_uart_baud:	.long	115200
+_board_uart_IRQ:	.long	2
+
+.weak _board_exit
+_board_exit:
+        OR1K_EXIT_NOP(l.j _board_exit)
+
+.global _board_init_early
+_board_init_early:
+    OR1K_DELAYED_NOP(l.jr r9)
+
+.weak _board_init
+_board_init:
+    OR1K_DELAYED_NOP(l.jr r9)
