public inbox for newlib-cvs@sourceware.org
help / color / mirror / Atom feed
From: Jeff Johnston <jjohnstn@sourceware.org>
To: newlib-cvs@sourceware.org
Subject: [newlib-cygwin/main] arc: libgloss: Add support of IoT Development Kit board
Date: Wed, 22 May 2024 18:28:21 +0000 (GMT)	[thread overview]
Message-ID: <20240522182821.19B323845BC3@sourceware.org> (raw)

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=4f50d9d6204987f84b3d1912a543f21ba1378f41

commit 4f50d9d6204987f84b3d1912a543f21ba1378f41
Author: Yuriy Kolerov <kolerov93@gmail.com>
Date:   Tue May 21 10:56:54 2024 +0100

    arc: libgloss: Add support of IoT Development Kit board
    
    An example of building an application:
    
        $ arc-elf32-gcc -mcpu=em -specs=iotdk.specs main.c -o main
    
    Signed-off-by: Vladimir Isaev <vvisaev@gmail.com>
    Signed-off-by: Yuriy Kolerov <kolerov93@gmail.com>

Diff:
---
 libgloss/arc/iotdk-uart-setup.c | 36 ++++++++++++++++++++++++++++++++++++
 libgloss/arc/iotdk.ld           | 14 ++++++++++++++
 libgloss/arc/iotdk.specs        | 18 ++++++++++++++++++
 3 files changed, 68 insertions(+)

diff --git a/libgloss/arc/iotdk-uart-setup.c b/libgloss/arc/iotdk-uart-setup.c
new file mode 100644
index 000000000..e6d2ac887
--- /dev/null
+++ b/libgloss/arc/iotdk-uart-setup.c
@@ -0,0 +1,36 @@
+/*
+ * iotdk-setup.c -- provide _setup_low_level() to initialize UART.
+ *
+ * Copyright (c) 2024 Synopsys Inc.
+ *
+ * The authors hereby grant permission to use, copy, modify, distribute,
+ * and license this software and its documentation for any purpose, provided
+ * that existing copyright notices are retained in all copies and that this
+ * notice is included verbatim in any distributions. No written agreement,
+ * license, or royalty fee is required for any of the authorized uses.
+ * Modifications to this software may be copyrighted by their authors
+ * and need not follow the licensing terms described here, provided that
+ * the new terms are clearly indicated on the first page of each file where
+ * they apply.
+ *
+ */
+
+#include "uart-8250.h"
+
+/* Setup UART parameters.  */
+int
+_setup_low_level (void)
+{
+  void * const uart_base = (void *) 0x80014000;
+  const uint32_t uart_clk_ena = 0xC0;
+  const int uart_aux_mapped = 1;
+  const uint32_t uart_clock = 16000000;
+  const uint32_t uart_baud = 115200;
+
+  /* For this platform we have to enable UART clock before configuring it.   */
+  __builtin_arc_sr (0x01, (uint32_t) uart_base + uart_clk_ena);
+
+  _uart_8250_setup (uart_base, uart_aux_mapped, uart_clock, uart_baud);
+
+  return 0;
+}
diff --git a/libgloss/arc/iotdk.ld b/libgloss/arc/iotdk.ld
new file mode 100644
index 000000000..18874e819
--- /dev/null
+++ b/libgloss/arc/iotdk.ld
@@ -0,0 +1,14 @@
+/* Memory map for ARC IoT DK - EM9D */
+
+MEMORY
+{
+    ICCM : ORIGIN = 0x20000000, LENGTH = 256K
+    DCCM : ORIGIN = 0x80000000, LENGTH = 128K
+}
+
+REGION_ALIAS("startup", ICCM)
+REGION_ALIAS("text", ICCM)
+REGION_ALIAS("data", DCCM)
+REGION_ALIAS("sdata", DCCM)
+
+INCLUDE arcv2elf-common.ld
diff --git a/libgloss/arc/iotdk.specs b/libgloss/arc/iotdk.specs
new file mode 100644
index 000000000..9f9ba433f
--- /dev/null
+++ b/libgloss/arc/iotdk.specs
@@ -0,0 +1,18 @@
+%rename link iotdk_link
+%rename link_gcc_c_sequence iotdk_link_gcc_c_sequence
+%rename startfile iotdk_startfile
+
+*link:
+%(iotdk_link) -T iotdk.ld%s
+
+*iotdk_libgloss:
+-luart_8250 -liotdk_uart
+
+*iotdk_libc:
+%{!specs=nano.specs:-lc} %{specs=nano.specs:-lc_nano}
+
+*link_gcc_c_sequence:
+%(iotdk_link_gcc_c_sequence) --start-group %G %(iotdk_libc) %(iotdk_libgloss) --end-group
+
+*startfile:
+%(iotdk_startfile) arc-main-helper%O%s

                 reply	other threads:[~2024-05-22 18:28 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240522182821.19B323845BC3@sourceware.org \
    --to=jjohnstn@sourceware.org \
    --cc=newlib-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).