[PATCH] csky: dts: Add NationalChip GX6605S

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux