[PATCH] csky: dts: Add NationalChip GX6605S

From: Andreas FÃrber
Date: Mon Jun 24 2019 - 20:28:41 EST


Add Device Trees for NationalChip GX6605S SoC (based on CK610 CPU) and its
dev board. GxLoader expects as filename gx6605s.dtb, so keep that.
The bootargs are prepared to boot from USB and to output to serial.

Compatibles for the SoC and board are left out for now.

Signed-off-by: Andreas FÃrber <afaerber@xxxxxxx>
---
arch/csky/boot/dts/gx6605s.dts | 104 ++++++++++++++++++++++++++++++++++++++++
arch/csky/boot/dts/gx6605s.dtsi | 82 +++++++++++++++++++++++++++++++
2 files changed, 186 insertions(+)
create mode 100644 arch/csky/boot/dts/gx6605s.dts
create mode 100644 arch/csky/boot/dts/gx6605s.dtsi

diff --git a/arch/csky/boot/dts/gx6605s.dts b/arch/csky/boot/dts/gx6605s.dts
new file mode 100644
index 000000000000..f7511024ec6f
--- /dev/null
+++ b/arch/csky/boot/dts/gx6605s.dts
@@ -0,0 +1,104 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause */
+/*
+ * GX6605S dev board
+ *
+ * Copyright (c) 2019 Andreas FÃrber
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+#include "gx6605s.dtsi"
+
+/ {
+ model = "Nationalchip GX6605S";
+
+ aliases {
+ serial0 = &uart;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,115200n8 root=/dev/sda2 rw rootwait";
+ stdout-path = "serial0:115200n8";
+ };
+
+ memory@10000000 {
+ device_type = "memory";
+ reg = <0x10000000 0x04000000>;
+ };
+
+ dummy_apb_clk: dummy-apb-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <24000000>; /* guesstimate */
+ #clock-cells = <0>;
+ };
+
+ buttons {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+ autorepeat;
+
+ button5 {
+ label = "button5";
+ linux,code = <103>;
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+
+ button6 {
+ label = "button6";
+ linux,code = <106>;
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+
+ button7 {
+ label = "button7";
+ linux,code = <28>;
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ };
+
+ button8 {
+ label = "button8";
+ linux,code = <105>;
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+
+ button9 {
+ label = "button9";
+ linux,code = <108>;
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led0 {
+ label = "led10";
+ gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "heartbeat";
+ };
+
+ led1 {
+ label = "led11";
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "timer";
+ };
+
+ led2 {
+ label = "led12";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+ led3 {
+ label = "led13";
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+ };
+};
+
+&timer0 {
+ clocks = <&dummy_apb_clk>;
+};
diff --git a/arch/csky/boot/dts/gx6605s.dtsi b/arch/csky/boot/dts/gx6605s.dtsi
new file mode 100644
index 000000000000..956af5674add
--- /dev/null
+++ b/arch/csky/boot/dts/gx6605s.dtsi
@@ -0,0 +1,82 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause */
+/*
+ * NationalChip GX6605S SoC
+ *
+ * Copyright (c) 2019 Andreas FÃrber
+ */
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu0: cpu@0 {
+ device_type = "cpu";
+ compatible = "csky,ck610";
+ reg = <0>;
+ };
+ };
+
+ soc {
+ compatible = "simple-bus";
+ interrupt-parent = <&intc>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ timer0: timer@20a000 {
+ compatible = "csky,gx6605s-timer";
+ reg = <0x0020a000 0x400>;
+ clocks = <&dummy_apb_clk>;
+ interrupts = <10>;
+ };
+
+ gpio: gpio@305000 {
+ compatible = "wd,mbl-gpio";
+ reg-names = "dirout", "dat", "set", "clr";
+ reg = <0x00305000 0x4>,
+ <0x00305004 0x4>,
+ <0x00305008 0x4>,
+ <0x0030500c 0x4>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ uart: serial@403000 {
+ compatible = "ns16550a";
+ reg = <0x00403000 0x400>;
+ interrupts = <15>;
+ clock-frequency = <29491200>;
+ reg-shift = <2>;
+ reg-io-width = <1>;
+ };
+
+ intc: interrupt-controller@500000 {
+ compatible = "csky,gx6605s-intc";
+ reg = <0x00500000 0x400>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
+
+ ehci_hcd: usb@900000 {
+ compatible = "generic-ehci";
+ reg = <0x00900000 0x400>;
+ interrupts = <59>;
+ };
+
+ ohci_hcd0: usb@a00000 {
+ compatible = "generic-ohci";
+ reg = <0x00a00000 0x400>;
+ interrupts = <58>;
+ };
+
+ ohci_hcd1: usb@b00000 {
+ compatible = "generic-ohci";
+ reg = <0x00b00000 0x400>;
+ interrupts = <57>;
+ };
+ };
+};
--
2.16.4