All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Cercueil <paul@crapouillou.net>
To: Ralf Baechle <ralf@linux-mips.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@codeaurora.org>,
	Rob Herring <robh+dt@kernel.org>
Cc: Paul Burton <paul.burton@imgtec.com>,
	Maarten ter Huurne <maarten@treewalker.org>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@linux-mips.org, linux-clk@vger.kernel.org,
	Paul Cercueil <paul@crapouillou.net>
Subject: [PATCH v2 17/17] MIPS: ingenic: Initial GCW Zero support
Date: Tue, 20 Jun 2017 17:18:55 +0200	[thread overview]
Message-ID: <20170620151855.19399-17-paul@crapouillou.net> (raw)
In-Reply-To: <20170620151855.19399-1-paul@crapouillou.net>

The GCW Zero (http://www.gcw-zero.com) is a retro-gaming focused
handheld game console, successfully kickstarted in ~2012, running Linux.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---
 arch/mips/boot/dts/ingenic/Makefile |  1 +
 arch/mips/boot/dts/ingenic/gcw0.dts | 60 +++++++++++++++++++++++++++++++++++++
 arch/mips/configs/gcw0_defconfig    | 28 +++++++++++++++++
 arch/mips/jz4740/Kconfig            |  4 +++
 arch/mips/jz4740/boards.c           |  1 +
 5 files changed, 94 insertions(+)
 create mode 100644 arch/mips/boot/dts/ingenic/gcw0.dts
 create mode 100644 arch/mips/configs/gcw0_defconfig

 v2: No change

diff --git a/arch/mips/boot/dts/ingenic/Makefile b/arch/mips/boot/dts/ingenic/Makefile
index f2b864f07850..f64ad1c27a28 100644
--- a/arch/mips/boot/dts/ingenic/Makefile
+++ b/arch/mips/boot/dts/ingenic/Makefile
@@ -1,4 +1,5 @@
 dtb-$(CONFIG_JZ4740_QI_LB60)	+= qi_lb60.dtb
+dtb-$(CONFIG_JZ4770_GCW0)	+= gcw0.dtb
 dtb-$(CONFIG_JZ4780_CI20)	+= ci20.dtb
 
 obj-y				+= $(patsubst %.dtb, %.dtb.o, $(dtb-y))
diff --git a/arch/mips/boot/dts/ingenic/gcw0.dts b/arch/mips/boot/dts/ingenic/gcw0.dts
new file mode 100644
index 000000000000..9c9a0137ccdf
--- /dev/null
+++ b/arch/mips/boot/dts/ingenic/gcw0.dts
@@ -0,0 +1,60 @@
+/dts-v1/;
+
+#include "jz4770.dtsi"
+
+/ {
+	compatible = "gcw,zero", "ingenic,jz4770";
+
+	aliases {
+		serial0 = &uart0;
+		serial1 = &uart1;
+		serial2 = &uart2;
+		serial3 = &uart3;
+	};
+
+	chosen {
+		stdout-path = "serial2:57600n8";
+	};
+
+	board {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "simple-bus";
+		ranges = <>;
+
+		otg_phy: otg-phy {
+			compatible = "usb-nop-xceiv";
+			clocks = <&cgu JZ4770_CLK_OTG_PHY>;
+			clock-names = "main_clk";
+		};
+	};
+};
+
+&ext {
+	clock-frequency = <12000000>;
+};
+
+&uart2 {
+	status = "okay";
+};
+
+&cgu {
+	/* Put high-speed peripherals under PLL1, such that we can change the
+	 * PLL0 frequency on demand without having to suspend peripherals.
+	 * We use a rate of 432 MHz, which is the least common multiple of
+	 * 27 MHz (required by TV encoder) and 48 MHz (required by USB host).
+	 */
+	assigned-clocks =
+		<&cgu JZ4770_CLK_PLL1>,
+		<&cgu JZ4770_CLK_UHC>;
+	assigned-clock-parents =
+		<0>,
+		<&cgu JZ4770_CLK_PLL1>;
+	assigned-clock-rates =
+		<432000000>;
+};
+
+&uhc {
+	/* The WiFi module is connected to the UHC. */
+	status = "okay";
+};
diff --git a/arch/mips/configs/gcw0_defconfig b/arch/mips/configs/gcw0_defconfig
new file mode 100644
index 000000000000..471497033855
--- /dev/null
+++ b/arch/mips/configs/gcw0_defconfig
@@ -0,0 +1,28 @@
+CONFIG_MACH_INGENIC=y
+CONFIG_JZ4770_GCW0=y
+CONFIG_HIGHMEM=y
+# CONFIG_BOUNCE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_SECCOMP is not set
+CONFIG_CROSS_COMPILE="mipsel-gcw0-linux-uclibc-"
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_EMBEDDED=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_SUSPEND is not set
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_NETDEVICES=y
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_INGENIC=y
+CONFIG_USB=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_TMPFS=y
diff --git a/arch/mips/jz4740/Kconfig b/arch/mips/jz4740/Kconfig
index 922850503271..db270653fe8c 100644
--- a/arch/mips/jz4740/Kconfig
+++ b/arch/mips/jz4740/Kconfig
@@ -7,6 +7,10 @@ config JZ4740_QI_LB60
 	bool "Qi Hardware Ben NanoNote"
 	select MACH_JZ4740
 
+config JZ4770_GCW0
+	bool "Game Consoles Worldwide GCW Zero"
+	select MACH_JZ4770
+
 config JZ4780_CI20
 	bool "MIPS Creator CI20"
 	select MACH_JZ4780
diff --git a/arch/mips/jz4740/boards.c b/arch/mips/jz4740/boards.c
index a3cf64cf004a..98a4d8e68cf0 100644
--- a/arch/mips/jz4740/boards.c
+++ b/arch/mips/jz4740/boards.c
@@ -12,5 +12,6 @@
 #include <asm/mips_machine.h>
 
 MIPS_MACHINE(MACH_INGENIC_JZ4740, "qi,lb60", "Qi Hardware Ben Nanonote", NULL);
+MIPS_MACHINE(MACH_INGENIC_JZ4770, "gcw,zero", "GCW Zero", NULL);
 MIPS_MACHINE(MACH_INGENIC_JZ4780, "img,ci20",
 			"Imagination Technologies CI20", NULL);
-- 
2.11.0

  parent reply	other threads:[~2017-06-20 15:19 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-07 20:04 [PATCH 00/15] Ingenic JZ4770 and GCW Zero patchset Paul Cercueil
2017-06-07 20:04 ` Paul Cercueil
2017-06-07 20:04 ` [PATCH 01/15] clk: ingenic: Fix recalc_rate for clocks with fixed divider Paul Cercueil
2017-06-20 15:18   ` [PATCH v2 01/17] clk: ingenic: Use const pointer to clk_ops in struct Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 02/17] clk: ingenic: Fix recalc_rate for clocks with fixed divider Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 03/17] clk: ingenic: support PLLs with no bypass bit Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 04/17] clk: ingenic: Add code to enable/disable PLLs Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 05/17] clk: Add Ingenic jz4770 CGU driver Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 06/17] serial: core: Make uart_parse_options take const char* argument Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 07/17] serial: 8250_ingenic: Add support for the JZ4770 SoC Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 08/17] serial: 8250_ingenic: Parse earlycon options Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 09/17] MIPS: Setup boot_command_line before plat_mem_setup Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 10/17] MIPS: ingenic: Use common cmdline handling code Paul Cercueil
2017-06-20 15:18       ` Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 11/17] MIPS: platform: add machtype IDs for more Ingenic SoCs Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 12/17] MIPS: ingenic: Add machine info for supported boards Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 13/17] MIPS: ingenic: Initial JZ4770 support Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 14/17] MIPS: JZ4770: Work around config2 misreporting associativity Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 15/17] MIPS: JZ4770: Workaround for corrupted DMA transfers Paul Cercueil
2017-06-22  7:21       ` Marcin Nowakowski
2017-06-22  7:21         ` Marcin Nowakowski
2017-06-22  7:21         ` Marcin Nowakowski
2017-06-26 13:32         ` Paul Cercueil
2017-06-20 15:18     ` [PATCH v2 16/17] devicetree/bindings: Add GCW vendor prefix Paul Cercueil
2017-06-20 15:18     ` Paul Cercueil [this message]
2017-06-21 21:50     ` [PATCH v2 01/17] clk: ingenic: Use const pointer to clk_ops in struct Stephen Boyd
2017-06-26 13:34       ` Paul Cercueil
2017-07-02 16:29   ` [PATCH v3 00/18] JZ4770 support Paul Cercueil
2017-07-02 16:29     ` [PATCH v3 01/18] clk: ingenic: Use const pointer to clk_ops in struct Paul Cercueil
2017-07-12 23:20       ` Stephen Boyd
2017-07-13 10:07         ` [PATCH v3 01/18] clk: ingenic: Use const pointer to clk_ops in struct, Paul Cercueil
2017-07-13 10:07           ` Paul Cercueil
2017-07-13 11:49           ` [PATCH v3 01/18] clk: ingenic: Use const pointer to clk_ops in struct Ralf Baechle
2017-07-13 11:49             ` Ralf Baechle
2017-07-13 17:50             ` Stephen Boyd
2017-07-13 17:50               ` Stephen Boyd
2017-12-28 13:56       ` [PATCH v4 00/15] Ingenic JZ4770 and GCW Zero support Paul Cercueil
2017-12-28 13:56         ` [PATCH v4 01/15] clk: ingenic: Use const pointer to clk_ops in struct Paul Cercueil
2017-12-28 13:56           ` Paul Cercueil
2017-12-28 13:56         ` [PATCH v4 02/15] clk: ingenic: Fix recalc_rate for clocks with fixed divider Paul Cercueil
2017-12-28 18:36           ` Stephen Boyd
2017-12-28 13:56         ` [PATCH v4 03/15] clk: ingenic: support PLLs with no bypass bit Paul Cercueil
2017-12-28 18:36           ` Stephen Boyd
2017-12-28 13:56         ` [PATCH v4 04/15] clk: ingenic: Add code to enable/disable PLLs Paul Cercueil
2017-12-28 18:39           ` Stephen Boyd
2017-12-28 13:56         ` [PATCH v4 05/15] dt-bindings: clock: Add jz4770-cgu.h header Paul Cercueil
2017-12-28 18:36           ` Stephen Boyd
2017-12-28 13:56         ` [PATCH v4 06/15] clk: Add Ingenic jz4770 CGU driver Paul Cercueil
2017-12-28 18:38           ` Stephen Boyd
2017-12-29 12:55           ` Philippe Ombredanne
2017-12-29 12:55             ` Philippe Ombredanne
2017-12-29 12:55             ` Philippe Ombredanne
2017-12-29 15:02             ` Paul Cercueil
2017-12-29 15:02               ` Paul Cercueil
2017-12-29 15:02               ` Paul Cercueil
2017-12-28 13:56         ` [PATCH v4 07/15] MIPS: Setup boot_command_line before plat_mem_setup Paul Cercueil
2017-12-28 13:56         ` [PATCH v4 08/15] MIPS: ingenic: Use common cmdline handling code Paul Cercueil
2017-12-28 13:56           ` Paul Cercueil
2017-12-28 13:56         ` [PATCH v4 09/15] MIPS: platform: add machtype IDs for more Ingenic SoCs Paul Cercueil
2017-12-28 13:56         ` [PATCH v4 10/15] MIPS: ingenic: Add machine info for supported boards Paul Cercueil
2017-12-28 13:56         ` [PATCH v4 11/15] MIPS: ingenic: Initial JZ4770 support Paul Cercueil
2017-12-28 13:56         ` [PATCH v4 12/15] MIPS: JZ4770: Work around config2 misreporting associativity Paul Cercueil
2017-12-28 13:56         ` [PATCH v4 13/15] MIPS: JZ4770: Workaround for corrupted DMA transfers Paul Cercueil
2017-12-28 13:56         ` [PATCH v4 14/15] devicetree/bindings: Add GCW vendor prefix Paul Cercueil
2017-12-28 13:56         ` [PATCH v4 15/15] MIPS: ingenic: Initial GCW Zero support Paul Cercueil
2017-12-28 13:56           ` Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 02/18] clk: ingenic: Fix recalc_rate for clocks with fixed divider Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 03/18] clk: ingenic: support PLLs with no bypass bit Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 04/18] clk: ingenic: Add code to enable/disable PLLs Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 05/18] dt-bindings: clock: Add jz4770-cgu.h header Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 06/18] clk: Add Ingenic jz4770 CGU driver Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 07/18] serial: core: Make uart_parse_options take const char* argument Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 08/18] serial: 8250_ingenic: Add support for the JZ4770 SoC Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 09/18] serial: 8250_ingenic: Parse earlycon options Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 10/18] MIPS: Setup boot_command_line before plat_mem_setup Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 11/18] MIPS: ingenic: Use common cmdline handling code Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 12/18] MIPS: platform: add machtype IDs for more Ingenic SoCs Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 13/18] MIPS: ingenic: Add machine info for supported boards Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 14/18] MIPS: ingenic: Initial JZ4770 support Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 15/18] MIPS: JZ4770: Work around config2 misreporting associativity Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 16/18] MIPS: JZ4770: Workaround for corrupted DMA transfers Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 17/18] devicetree/bindings: Add GCW vendor prefix Paul Cercueil
2017-07-02 16:30     ` [PATCH v3 18/18] MIPS: ingenic: Initial GCW Zero support Paul Cercueil
2017-06-07 20:04 ` [PATCH 02/15] clk: ingenic: support PLLs with no bypass bit Paul Cercueil
2017-06-07 20:04 ` [PATCH 03/15] clk: ingenic: Add code to enable/disable PLLs Paul Cercueil
2017-06-07 20:04 ` [PATCH 04/15] clk: Add Ingenic jz4770 CGU driver Paul Cercueil
2017-06-07 20:59   ` Stephen Boyd
2017-06-07 20:59     ` Stephen Boyd
2017-06-08  8:40     ` Maarten ter Huurne
2017-06-08 21:10     ` Paul Cercueil
2017-06-26 13:50     ` Paul Cercueil
2017-06-26 22:49       ` Stephen Boyd
2017-06-07 20:04 ` [PATCH 05/15] serial: 8250_ingenic: Add support for the JZ4770 SoC Paul Cercueil
2017-06-09 14:22   ` Rob Herring
2017-06-09 14:22     ` Rob Herring
2017-06-07 20:04 ` [PATCH 06/15] serial: 8250_ingenic: Parse earlycon options Paul Cercueil
2017-06-08  7:31   ` Marcin Nowakowski
2017-06-08  7:31     ` Marcin Nowakowski
2017-06-08 21:12     ` Paul Cercueil
2017-06-07 20:04 ` [PATCH 07/15] MIPS: Setup boot_command_line before plat_mem_setup Paul Cercueil
2017-06-07 20:04 ` [PATCH 08/15] MIPS: ingenic: Use common cmdline handling code Paul Cercueil
2017-06-07 20:04 ` [PATCH 09/15] MIPS: platform: add machtype IDs for more Ingenic SoCs Paul Cercueil
2017-06-07 20:04 ` [PATCH 10/15] MIPS: ingenic: Add machine info for supported boards Paul Cercueil
2017-06-07 20:04 ` [PATCH 11/15] MIPS: ingenic: Initial JZ4770 support Paul Cercueil
2017-06-07 20:04 ` [PATCH 12/15] MIPS: JZ4770: Work around config2 misreporting associativity Paul Cercueil
2017-06-07 20:04 ` [PATCH 13/15] MIPS: JZ4770: Workaround for corrupted DMA transfers Paul Cercueil
2017-06-07 20:04 ` [PATCH 14/15] devicetree/bindings: Add GCW vendor prefix Paul Cercueil
2017-06-09 14:24   ` Rob Herring
2017-06-07 20:04 ` [PATCH 15/15] MIPS: ingenic: Initial GCW Zero support Paul Cercueil

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=20170620151855.19399-17-paul@crapouillou.net \
    --to=paul@crapouillou.net \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=maarten@treewalker.org \
    --cc=mturquette@baylibre.com \
    --cc=paul.burton@imgtec.com \
    --cc=ralf@linux-mips.org \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@codeaurora.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.