mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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

  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®