From: Greentime Hu <green.hu@gmail.com>
To: greentime@andestech.com, linux-kernel@vger.kernel.org,
arnd@arndb.de, linux-arch@vger.kernel.org, tglx@linutronix.de,
jason@lakedaemon.net, marc.zyngier@arm.com, robh+dt@kernel.org,
netdev@vger.kernel.org, deanbo422@gmail.com,
devicetree@vger.kernel.org, viro@zeniv.linux.org.uk,
dhowells@redhat.com, will.deacon@arm.com,
daniel.lezcano@linaro.org, linux-serial@vger.kernel.org,
geert.uytterhoeven@gmail.com, linus.walleij@linaro.org,
mark.rutland@arm.com, greg@kroah.com, ren_guo@c-sky.com,
pombredanne@nexb.com
Cc: green.hu@gmail.com, Vincent Chen <vincentc@andestech.com>
Subject: [PATCH v4 24/36] nds32: Device tree support
Date: Mon, 18 Dec 2017 14:46:36 +0800 [thread overview]
Message-ID: <8e4350bd85cada3eec445568d95bab06a9cbe9ef.1513577007.git.green.hu@gmail.com> (raw)
In-Reply-To: <cover.1513577007.git.green.hu@gmail.com>
In-Reply-To: <cover.1513577007.git.green.hu@gmail.com>
From: Greentime Hu <greentime@andestech.com>
This patch adds support for device tree.
Signed-off-by: Vincent Chen <vincentc@andestech.com>
Signed-off-by: Greentime Hu <greentime@andestech.com>
---
arch/nds32/boot/dts/Makefile | 8 +++++
arch/nds32/boot/dts/ae3xx.dts | 65 +++++++++++++++++++++++++++++++++++++++++
arch/nds32/kernel/devtree.c | 19 ++++++++++++
3 files changed, 92 insertions(+)
create mode 100644 arch/nds32/boot/dts/Makefile
create mode 100644 arch/nds32/boot/dts/ae3xx.dts
create mode 100644 arch/nds32/kernel/devtree.c
diff --git a/arch/nds32/boot/dts/Makefile b/arch/nds32/boot/dts/Makefile
new file mode 100644
index 0000000..d31faa8
--- /dev/null
+++ b/arch/nds32/boot/dts/Makefile
@@ -0,0 +1,8 @@
+ifneq '$(CONFIG_NDS32_BUILTIN_DTB)' '""'
+BUILTIN_DTB := $(patsubst "%",%,$(CONFIG_NDS32_BUILTIN_DTB)).dtb.o
+else
+BUILTIN_DTB :=
+endif
+obj-$(CONFIG_OF) += $(BUILTIN_DTB)
+
+clean-files := *.dtb *.dtb.S
diff --git a/arch/nds32/boot/dts/ae3xx.dts b/arch/nds32/boot/dts/ae3xx.dts
new file mode 100644
index 0000000..0ef2c44
--- /dev/null
+++ b/arch/nds32/boot/dts/ae3xx.dts
@@ -0,0 +1,65 @@
+/dts-v1/;
+/ {
+ compatible = "andestech,ae3xx";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ interrupt-parent = <&intc>;
+
+ chosen {
+ stdout-path = &serial0;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x00000000 0x40000000>;
+ };
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ cpu@0 {
+ device_type = "cpu";
+ compatible = "andestech,n13", "andestech,nds32v3";
+ reg = <0>;
+ clock-frequency = <60000000>;
+ };
+ };
+
+ apb: clk@0 {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <30000000>;
+ };
+
+
+ intc: interrupt-controller {
+ compatible = "andestech,ativic32";
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ };
+
+ serial0: serial@f0300000 {
+ compatible = "andestech,uart16550", "ns16550a";
+ reg = <0xf0300000 0x1000>;
+ interrupts = <8>;
+ clock-frequency = <14745600>;
+ reg-shift = <2>;
+ reg-offset = <32>;
+ no-loopback-test = <1>;
+ };
+
+ timer0: timer@f0400000 {
+ compatible = "andestech,atcpit100";
+ reg = <0xf0400000 0x1000>;
+ interrupts = <2>;
+ clocks = <&apb>;
+ clock-names = "PCLK";
+ };
+
+ mac0: mac@e0100000 {
+ compatible = "andestech,atmac100";
+ reg = <0xe0100000 0x1000>;
+ interrupts = <18>;
+ };
+
+};
diff --git a/arch/nds32/kernel/devtree.c b/arch/nds32/kernel/devtree.c
new file mode 100644
index 0000000..bdce0fe
--- /dev/null
+++ b/arch/nds32/kernel/devtree.c
@@ -0,0 +1,19 @@
+// SPDX-License-Identifier: GPL-2.0
+// Copyright (C) 2005-2017 Andes Technology Corporation
+
+#include <linux/bug.h>
+#include <linux/printk.h>
+#include <linux/of_fdt.h>
+
+void __init early_init_devtree(void *params)
+{
+ if (!params || !early_init_dt_scan(params)) {
+ pr_crit("\n"
+ "Error: invalid device tree blob at (virtual address 0x%p)\n"
+ "\nPlease check your bootloader.", params);
+
+ BUG_ON(1);
+ }
+
+ dump_stack_set_arch_desc("%s (DT)", of_flat_dt_get_machine_name());
+}
--
1.7.9.5
next prev parent reply other threads:[~2017-12-18 7:13 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-18 6:46 [PATCH v4 00/36] Andes(nds32) Linux Kernel Greentime Hu
2017-12-18 6:46 ` [PATCH v4 01/36] asm-generic/io.h: move ioremap_nocache/ioremap_uc/ioremap_wc/ioremap_wt out of ifndef CONFIG_MMU Greentime Hu
2017-12-20 10:09 ` kbuild test robot
2017-12-22 14:38 ` Greentime Hu
2017-12-20 10:10 ` kbuild test robot
2017-12-22 14:40 ` Greentime Hu
2017-12-18 6:46 ` [PATCH v4 02/36] earlycon: add reg-offset to physical address before mapping Greentime Hu
2017-12-18 6:46 ` [PATCH v4 03/36] nds32: Assembly macros and definitions Greentime Hu
2017-12-18 6:46 ` [PATCH v4 04/36] nds32: Kernel booting and initialization Greentime Hu
2017-12-19 22:01 ` Randy Dunlap
2017-12-20 2:35 ` Greentime Hu
2017-12-18 6:46 ` [PATCH v4 05/36] nds32: Exception handling Greentime Hu
2017-12-18 6:46 ` [PATCH v4 06/36] nds32: MMU definitions Greentime Hu
2017-12-18 6:46 ` [PATCH v4 07/36] nds32: MMU initialization Greentime Hu
2017-12-18 6:46 ` [PATCH v4 08/36] nds32: MMU fault handling and page table management Greentime Hu
2017-12-18 6:46 ` [PATCH v4 09/36] nds32: Cache and TLB routines Greentime Hu
2017-12-18 6:46 ` [PATCH v4 10/36] nds32: Process management Greentime Hu
2017-12-18 6:46 ` [PATCH v4 11/36] nds32: IRQ handling Greentime Hu
2017-12-18 6:46 ` [PATCH v4 12/36] nds32: Atomic operations Greentime Hu
2017-12-18 6:46 ` [PATCH v4 13/36] nds32: Device specific operations Greentime Hu
2017-12-18 11:26 ` Arnd Bergmann
2017-12-18 11:44 ` Greentime Hu
2017-12-18 6:46 ` [PATCH v4 14/36] nds32: DMA mapping API Greentime Hu
2017-12-18 6:46 ` [PATCH v4 15/36] nds32: ELF definitions Greentime Hu
2017-12-18 6:46 ` [PATCH v4 16/36] nds32: System calls handling Greentime Hu
2017-12-18 11:19 ` Arnd Bergmann
2017-12-19 2:10 ` Vincent Chen
2017-12-18 6:46 ` [PATCH v4 17/36] nds32: VDSO support Greentime Hu
2017-12-18 6:46 ` [PATCH v4 18/36] nds32: Signal handling support Greentime Hu
2017-12-18 6:46 ` [PATCH v4 19/36] nds32: Library functions Greentime Hu
2017-12-18 6:46 ` [PATCH v4 20/36] nds32: Debugging support Greentime Hu
2017-12-18 6:46 ` [PATCH v4 21/36] nds32: L2 cache support Greentime Hu
2017-12-18 6:46 ` [PATCH v4 22/36] nds32: Loadable modules Greentime Hu
2017-12-18 6:46 ` [PATCH v4 23/36] nds32: Generic timers support Greentime Hu
2017-12-18 6:46 ` Greentime Hu [this message]
2017-12-18 6:46 ` [PATCH v4 25/36] nds32: Miscellaneous header files Greentime Hu
2017-12-18 11:13 ` Arnd Bergmann
2017-12-19 5:34 ` Greentime Hu
2017-12-19 9:54 ` Arnd Bergmann
2017-12-20 2:34 ` Greentime Hu
2017-12-18 6:46 ` [PATCH v4 26/36] nds32: defconfig Greentime Hu
2017-12-18 6:46 ` [PATCH v4 27/36] nds32: Build infrastructure Greentime Hu
2017-12-18 6:46 ` [PATCH v4 28/36] MAINTAINERS: Add nds32 Greentime Hu
2017-12-18 6:46 ` [PATCH v4 29/36] dt-bindings: nds32 CPU Bindings Greentime Hu
2017-12-18 6:46 ` [PATCH v4 30/36] dt-bindings: nds32 SoC Bindings Greentime Hu
2017-12-18 6:46 ` [PATCH v4 31/36] dt-bindings: interrupt-controller: Andestech Internal Vector Interrupt Controller Greentime Hu
2017-12-18 6:46 ` [PATCH v4 32/36] irqchip: Andestech Internal Vector Interrupt Controller driver Greentime Hu
2017-12-18 6:46 ` [PATCH v4 33/36] net: faraday add nds32 support Greentime Hu
2017-12-20 9:54 ` kbuild test robot
2017-12-20 9:58 ` Geert Uytterhoeven
2017-12-20 10:34 ` Greentime Hu
2017-12-20 11:03 ` kbuild test robot
2017-12-18 6:46 ` [PATCH v4 34/36] clocksource/drivers/atcpit100: Add andestech atcpit100 timer Greentime Hu
2017-12-18 6:46 ` [PATCH v4 35/36] clocksource/drivers/atcpit100: VDSO support Greentime Hu
2017-12-18 6:46 ` [PATCH v4 36/36] dt-bindings: timer: Add andestech atcpit100 timer binding doc Greentime Hu
2018-02-14 14:56 ` [PATCH v4 00/36] Andes(nds32) Linux Kernel Arnd Bergmann
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=8e4350bd85cada3eec445568d95bab06a9cbe9ef.1513577007.git.green.hu@gmail.com \
--to=green.hu@gmail.com \
--cc=arnd@arndb.de \
--cc=daniel.lezcano@linaro.org \
--cc=deanbo422@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dhowells@redhat.com \
--cc=geert.uytterhoeven@gmail.com \
--cc=greentime@andestech.com \
--cc=greg@kroah.com \
--cc=jason@lakedaemon.net \
--cc=linus.walleij@linaro.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=mark.rutland@arm.com \
--cc=netdev@vger.kernel.org \
--cc=pombredanne@nexb.com \
--cc=ren_guo@c-sky.com \
--cc=robh+dt@kernel.org \
--cc=tglx@linutronix.de \
--cc=vincentc@andestech.com \
--cc=viro@zeniv.linux.org.uk \
--cc=will.deacon@arm.com \
/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
all inboxes | Powered by JetHome®