2019-12-10 12:04:17

by Zhou Yanjie

[permalink] [raw]
Subject: Add initial support for Ingenic X1000 SoC and Y&A CU Neo board v7.

v7->v8:
1.Change "mac@134b0000" to "ethernet@134b0000", change "msc@13450000"
to "mmc@13450000", change "msc@13460000" to "mmc@13460000".
2.Merge [5/6] in v7 to [1/4] of v8, merge [6/6] in v7 to [4/4] of v8.


2019-12-10 12:04:17

by Zhou Yanjie

[permalink] [raw]
Subject: [PATCH v8 1/4] MIPS: Ingenic: Add Ingenic X1000 support.

Support the Ingenic X1000 SoC using the code under arch/mips/jz4740.
This is left unselectable in Kconfig until a X1000 based board is
added in a later commit.

Signed-off-by: 周琰杰 (Zhou Yanjie) <[email protected]>
---

Notes:
v1->v2:
Rebase on top of mips-next, use ingenic-timer driver
for system timer and clocksource.

v2->v3:
Drop the 'apb' node.

v3->v4:
Adjust the node order to make it consistent with
other Ingenic boards.

v4->v5:
No change.

v5->v6:
No change.

v6->v7:
Change my Signed-off-by from "Zhou Yanjie <[email protected]>"
to "周琰杰 (Zhou Yanjie) <[email protected]>" because
the old mailbox is in an unstable state.

v7->v8:
Merge [5/6] in v7 to this patch.

arch/mips/boot/dts/ingenic/x1000.dtsi | 272 ++++++++++++++++++++++++++++++++++
arch/mips/jz4740/Kconfig | 6 +
2 files changed, 278 insertions(+)
create mode 100644 arch/mips/boot/dts/ingenic/x1000.dtsi

diff --git a/arch/mips/boot/dts/ingenic/x1000.dtsi b/arch/mips/boot/dts/ingenic/x1000.dtsi
new file mode 100644
index 00000000..61061a4
--- /dev/null
+++ b/arch/mips/boot/dts/ingenic/x1000.dtsi
@@ -0,0 +1,272 @@
+// SPDX-License-Identifier: GPL-2.0
+#include <dt-bindings/clock/x1000-cgu.h>
+#include <dt-bindings/dma/x1000-dma.h>
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "ingenic,x1000", "ingenic,x1000e";
+
+ cpuintc: interrupt-controller {
+ #address-cells = <0>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ compatible = "mti,cpu-interrupt-controller";
+ };
+
+ intc: interrupt-controller@10001000 {
+ compatible = "ingenic,x1000-intc", "ingenic,jz4780-intc";
+ reg = <0x10001000 0x50>;
+
+ interrupt-controller;
+ #interrupt-cells = <1>;
+
+ interrupt-parent = <&cpuintc>;
+ interrupts = <2>;
+ };
+
+ exclk: ext {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ };
+
+ rtclk: rtc {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <32768>;
+ };
+
+ cgu: x1000-cgu@10000000 {
+ compatible = "ingenic,x1000-cgu";
+ reg = <0x10000000 0x100>;
+
+ #clock-cells = <1>;
+
+ clocks = <&exclk>, <&rtclk>;
+ clock-names = "ext", "rtc";
+ };
+
+ tcu: timer@10002000 {
+ compatible = "ingenic,x1000-tcu",
+ "ingenic,jz4770-tcu",
+ "simple-mfd";
+ reg = <0x10002000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x0 0x10002000 0x1000>;
+
+ #clock-cells = <1>;
+
+ clocks = <&cgu X1000_CLK_RTCLK
+ &cgu X1000_CLK_EXCLK
+ &cgu X1000_CLK_PCLK>;
+ clock-names = "rtc", "ext", "pclk";
+
+ interrupt-controller;
+ #interrupt-cells = <1>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <27 26 25>;
+
+ wdt: watchdog@0 {
+ compatible = "ingenic,x1000-watchdog", "ingenic,jz4780-watchdog";
+ reg = <0x0 0x10>;
+
+ clocks = <&cgu X1000_CLK_RTCLK>;
+ clock-names = "wdt";
+ };
+ };
+
+ rtc: rtc@10003000 {
+ compatible = "ingenic,x1000-rtc", "ingenic,jz4780-rtc";
+ reg = <0x10003000 0x4c>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <32>;
+
+ clocks = <&cgu X1000_CLK_RTCLK>;
+ clock-names = "rtc";
+ };
+
+ pinctrl: pin-controller@10010000 {
+ compatible = "ingenic,x1000-pinctrl";
+ reg = <0x10010000 0x800>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gpa: gpio@0 {
+ compatible = "ingenic,x1000-gpio";
+ reg = <0>;
+
+ gpio-controller;
+ gpio-ranges = <&pinctrl 0 0 32>;
+ #gpio-cells = <2>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <17>;
+ };
+
+ gpb: gpio@1 {
+ compatible = "ingenic,x1000-gpio";
+ reg = <1>;
+
+ gpio-controller;
+ gpio-ranges = <&pinctrl 0 32 32>;
+ #gpio-cells = <2>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <16>;
+ };
+
+ gpc: gpio@2 {
+ compatible = "ingenic,x1000-gpio";
+ reg = <2>;
+
+ gpio-controller;
+ gpio-ranges = <&pinctrl 0 64 32>;
+ #gpio-cells = <2>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <15>;
+ };
+
+ gpd: gpio@3 {
+ compatible = "ingenic,x1000-gpio";
+ reg = <3>;
+
+ gpio-controller;
+ gpio-ranges = <&pinctrl 0 96 32>;
+ #gpio-cells = <2>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <14>;
+ };
+ };
+
+ uart0: serial@10030000 {
+ compatible = "ingenic,x1000-uart";
+ reg = <0x10030000 0x100>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <51>;
+
+ clocks = <&exclk>, <&cgu X1000_CLK_UART0>;
+ clock-names = "baud", "module";
+
+ status = "disabled";
+ };
+
+ uart1: serial@10031000 {
+ compatible = "ingenic,x1000-uart";
+ reg = <0x10031000 0x100>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <50>;
+
+ clocks = <&exclk>, <&cgu X1000_CLK_UART1>;
+ clock-names = "baud", "module";
+
+ status = "disabled";
+ };
+
+ uart2: serial@10032000 {
+ compatible = "ingenic,x1000-uart";
+ reg = <0x10032000 0x100>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <49>;
+
+ clocks = <&exclk>, <&cgu X1000_CLK_UART2>;
+ clock-names = "baud", "module";
+
+ status = "disabled";
+ };
+
+ pdma: dma-controller@13420000 {
+ compatible = "ingenic,x1000-dma";
+ reg = <0x13420000 0x400
+ 0x13421000 0x40>;
+ #dma-cells = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <10>;
+
+ clocks = <&cgu X1000_CLK_PDMA>;
+ };
+
+ mac: ethernet@134b0000 {
+ compatible = "ingenic,x1000-mac", "snps,dwmac";
+ reg = <0x134b0000 0x2000>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <55>;
+ interrupt-names = "macirq";
+
+ clocks = <&cgu X1000_CLK_MAC>;
+ clock-names = "stmmaceth";
+
+ status = "disabled";
+
+ mdio: mdio {
+ compatible = "snps,dwmac-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disabled";
+ };
+ };
+
+ msc0: mmc@13450000 {
+ compatible = "ingenic,x1000-mmc";
+ reg = <0x13450000 0x1000>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <37>;
+
+ clocks = <&cgu X1000_CLK_MSC0>;
+ clock-names = "mmc";
+
+ cap-sd-highspeed;
+ cap-mmc-highspeed;
+ cap-sdio-irq;
+
+ dmas = <&pdma X1000_DMA_MSC0_RX 0xffffffff>,
+ <&pdma X1000_DMA_MSC0_TX 0xffffffff>;
+ dma-names = "rx", "tx";
+
+ status = "disabled";
+ };
+
+ msc1: mmc@13460000 {
+ compatible = "ingenic,x1000-mmc";
+ reg = <0x13460000 0x1000>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <36>;
+
+ clocks = <&cgu X1000_CLK_MSC1>;
+ clock-names = "mmc";
+
+ cap-sd-highspeed;
+ cap-mmc-highspeed;
+ cap-sdio-irq;
+
+ dmas = <&pdma X1000_DMA_MSC1_RX 0xffffffff>,
+ <&pdma X1000_DMA_MSC1_TX 0xffffffff>;
+ dma-names = "rx", "tx";
+
+ status = "disabled";
+ };
+};
diff --git a/arch/mips/jz4740/Kconfig b/arch/mips/jz4740/Kconfig
index 4dd0c44..6b96844 100644
--- a/arch/mips/jz4740/Kconfig
+++ b/arch/mips/jz4740/Kconfig
@@ -33,3 +33,9 @@ config MACH_JZ4780
select MIPS_CPU_SCACHE
select SYS_HAS_CPU_MIPS32_R2
select SYS_SUPPORTS_HIGHMEM
+
+config MACH_X1000
+ bool
+ select MIPS_CPU_SCACHE
+ select SYS_HAS_CPU_MIPS32_R2
+ select SYS_SUPPORTS_HIGHMEM
--
2.7.4

2019-12-10 12:04:29

by Zhou Yanjie

[permalink] [raw]
Subject: [PATCH v8 2/4] dt-bindings: Document yna vendor-prefix.

The "yna" is an acronym of the "YSH & ATIL".

Signed-off-by: 周琰杰 (Zhou Yanjie) <[email protected]>
---

Notes:
v1->v2:
No change.

v2->v3:
No change.

v3->v4:
No change.

v4->v5:
No change.

v5->v6:
No change.

v6->v7:
Change my Signed-off-by from "Zhou Yanjie <[email protected]>"
to "周琰杰 (Zhou Yanjie) <[email protected]>" because
the old mailbox is in an unstable state.

v7->v8:
No change.

Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 6046f45..50c2b63 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1060,6 +1060,8 @@ patternProperties:
description: Xilinx
"^xunlong,.*":
description: Shenzhen Xunlong Software CO.,Limited
+ "^yna,.*":
+ description: YSH & ATIL
"^yones-toptech,.*":
description: Yones Toptech Co., Ltd.
"^ysoft,.*":
--
2.7.4

2019-12-10 12:04:42

by Zhou Yanjie

[permalink] [raw]
Subject: [PATCH v8 4/4] MIPS: Ingenic: Add YSH & ATIL CU Neo board support.

Add a device tree for the Ingenic X1000 based YSH & ATIL CU Neo board.
Note that this is unselectable via Kconfig until the X1000 SoC is made
selectable in a later commit.

Signed-off-by: 周琰杰 (Zhou Yanjie) <[email protected]>
---

Notes:
v1->v2:
Rebase on top of mips-next, use TCU for system timer and clocksource.

v2->v3:
No change.

v3->v4:
1.Adjust "model" in "cu1000.dts" to match the description in "devices.yaml".
2.Adjust "bool" in "Kconfig" to avoid duplicate names with subsequent boards.

v4->v5:
1.Rename "cu1000" to "cu1000-neo" to prevent conflicts with subsequent boards
such as "cu1000-geo", and so on.
2.Remove "CONFIG_HZ=100" and "mem=32M@0x0" from defconfg.
3.Modify incorrect comments in DT.

v5->v6:
1.Use "stdout-path = "serial2:115200n8"" instead "stdout-path = &uart2" in DT.
2.Remove "console=ttyS2,115200n8" and "CONFIG_CMDLINE_OVERRIDE=y" from defconfg.

v6->v7:
Change my Signed-off-by from "Zhou Yanjie <[email protected]>"
to "周琰杰 (Zhou Yanjie) <[email protected]>" because
the old mailbox is in an unstable state.

v7->v8:
Merge [6/6] in v7 to this patch.

arch/mips/boot/dts/ingenic/Makefile | 1 +
arch/mips/boot/dts/ingenic/cu1000-neo.dts | 99 ++++++++++++++++++++++++++
arch/mips/configs/cu1000-neo_defconfig | 111 ++++++++++++++++++++++++++++++
arch/mips/jz4740/Kconfig | 4 ++
4 files changed, 215 insertions(+)
create mode 100644 arch/mips/boot/dts/ingenic/cu1000-neo.dts
create mode 100644 arch/mips/configs/cu1000-neo_defconfig

diff --git a/arch/mips/boot/dts/ingenic/Makefile b/arch/mips/boot/dts/ingenic/Makefile
index 9cc4844..e165429 100644
--- a/arch/mips/boot/dts/ingenic/Makefile
+++ b/arch/mips/boot/dts/ingenic/Makefile
@@ -2,5 +2,6 @@
dtb-$(CONFIG_JZ4740_QI_LB60) += qi_lb60.dtb
dtb-$(CONFIG_JZ4770_GCW0) += gcw0.dtb
dtb-$(CONFIG_JZ4780_CI20) += ci20.dtb
+dtb-$(CONFIG_X1000_CU1000_NEO) += cu1000-neo.dtb

obj-$(CONFIG_BUILTIN_DTB) += $(addsuffix .o, $(dtb-y))
diff --git a/arch/mips/boot/dts/ingenic/cu1000-neo.dts b/arch/mips/boot/dts/ingenic/cu1000-neo.dts
new file mode 100644
index 00000000..b0733da
--- /dev/null
+++ b/arch/mips/boot/dts/ingenic/cu1000-neo.dts
@@ -0,0 +1,99 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "x1000.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/clock/ingenic,tcu.h>
+
+/ {
+ compatible = "yna,cu1000-neo", "ingenic,x1000";
+ model = "YSH & ATIL General Board CU Neo";
+
+ aliases {
+ serial2 = &uart2;
+ };
+
+ chosen {
+ stdout-path = "serial2:115200n8";
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0x0 0x04000000>;
+ };
+};
+
+&exclk {
+ clock-frequency = <24000000>;
+};
+
+&tcu {
+ /* 1500 kHz for the system timer and clocksource */
+ assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER2>;
+ assigned-clock-rates = <1500000>, <1500000>;
+
+ /* Use channel #0 for the system timer channel #2 for the clocksource */
+ ingenic,pwm-channels-mask = <0xfa>;
+};
+
+&uart2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_uart2>;
+
+ status = "okay";
+};
+
+&mac {
+ phy-mode = "rmii";
+ phy-handle = <&lan8720a>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_mac>;
+
+ snps,reset-gpio = <&gpc 23 GPIO_ACTIVE_LOW>; /* PC23 */
+ snps,reset-active-low;
+ snps,reset-delays-us = <0 10000 30000>;
+
+ status = "okay";
+};
+
+&mdio {
+ status = "okay";
+
+ lan8720a: ethernet-phy@0 {
+ compatible = "ethernet-phy-id0007.c0f0", "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+};
+
+&msc0 {
+ bus-width = <8>;
+ max-frequency = <50000000>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_msc0>;
+
+ non-removable;
+
+ status = "okay";
+};
+
+&pinctrl {
+ pins_uart2: uart2 {
+ function = "uart2";
+ groups = "uart2-data-d";
+ bias-disable;
+ };
+
+ pins_mac: mac {
+ function = "mac";
+ groups = "mac";
+ bias-disable;
+ };
+
+ pins_msc0: msc0 {
+ function = "mmc0";
+ groups = "mmc0-1bit", "mmc0-4bit", "mmc0-8bit";
+ bias-disable;
+ };
+};
diff --git a/arch/mips/configs/cu1000-neo_defconfig b/arch/mips/configs/cu1000-neo_defconfig
new file mode 100644
index 00000000..9f988ed
--- /dev/null
+++ b/arch/mips/configs/cu1000-neo_defconfig
@@ -0,0 +1,111 @@
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_KERNEL_GZIP=y
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_PREEMPT=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_CGROUPS=y
+CONFIG_MEMCG=y
+CONFIG_MEMCG_KMEM=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_NAMESPACES=y
+CONFIG_USER_NS=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_EMBEDDED=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+CONFIG_MACH_INGENIC=y
+CONFIG_X1000_CU1000_NEO=y
+CONFIG_HIGHMEM=y
+CONFIG_HZ_100=y
+# CONFIG_SECCOMP is not set
+# CONFIG_SUSPEND is not set
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_COMPACTION is not set
+CONFIG_CMA=y
+CONFIG_CMA_AREAS=7
+CONFIG_NET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_UEVENT_HELPER=y
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_ALLOW_DEV_COREDUMP is not set
+CONFIG_NETDEVICES=y
+CONFIG_STMMAC_ETH=y
+CONFIG_SMSC_PHY=y
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_SERIO is not set
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_LEGACY_PTY_COUNT=2
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=3
+CONFIG_SERIAL_8250_RUNTIME_UARTS=3
+CONFIG_SERIAL_8250_INGENIC=y
+CONFIG_SERIAL_OF_PLATFORM=y
+# CONFIG_HW_RANDOM is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_WATCHDOG=y
+CONFIG_JZ4740_WDT=y
+# CONFIG_HWMON is not set
+# CONFIG_LCD_CLASS_DEVICE is not set
+# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
+# CONFIG_VGA_CONSOLE is not set
+# CONFIG_HID is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+CONFIG_MMC_JZ4740=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_JZ4740=y
+CONFIG_DMADEVICES=y
+CONFIG_DMA_JZ4780=y
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_NVMEM=y
+CONFIG_NVMEM_SYSFS=y
+CONFIG_EXT4_FS=y
+# CONFIG_DNOTIFY is not set
+CONFIG_AUTOFS_FS=y
+CONFIG_PROC_KCORE=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_TMPFS=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_NLS=y
+CONFIG_NLS_CODEPAGE_936=y
+CONFIG_NLS_CODEPAGE_950=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_UTF8=y
+CONFIG_CRYPTO_ECHAINIV=y
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_LZO=y
+CONFIG_PRINTK_TIME=y
+CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15
+CONFIG_CONSOLE_LOGLEVEL_QUIET=15
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7
+CONFIG_DEBUG_INFO=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_DEBUG_FS=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_PANIC_ON_OOPS=y
+CONFIG_PANIC_TIMEOUT=10
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_DEBUG_PREEMPT is not set
+CONFIG_STACKTRACE=y
+# CONFIG_FTRACE is not set
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE="earlycon clk_ignore_unused"
diff --git a/arch/mips/jz4740/Kconfig b/arch/mips/jz4740/Kconfig
index 6b96844..412d2fa 100644
--- a/arch/mips/jz4740/Kconfig
+++ b/arch/mips/jz4740/Kconfig
@@ -16,6 +16,10 @@ config JZ4780_CI20
bool "MIPS Creator CI20"
select MACH_JZ4780

+config X1000_CU1000_NEO
+ bool "YSH & ATIL CU1000 Module with Neo backplane"
+ select MACH_X1000
+
endchoice

config MACH_JZ4740
--
2.7.4

2019-12-10 12:05:15

by Zhou Yanjie

[permalink] [raw]
Subject: [PATCH v8 3/4] dt-bindings: MIPS: Add Ingenic XBurst based boards.

Add Ingenic XBurst based boards, prepare for later dts.

Signed-off-by: 周琰杰 (Zhou Yanjie) <[email protected]>
---

Notes:
v1->v2:
No change.

v2->v3:
No change.

v3->v4:
Adjust the description to make it more reasonable.

v4->v5:
Adjust item naming to prevent conflicts with
subsequent "CU Geo" boards.

v5->v6:
No change.

v6->v7:
Change my Signed-off-by from "Zhou Yanjie <[email protected]>"
to "周琰杰 (Zhou Yanjie) <[email protected]>" because
the old mailbox is in an unstable state.

v7->v8:
No change.

.../devicetree/bindings/mips/ingenic/devices.yaml | 35 ++++++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mips/ingenic/devices.yaml

diff --git a/Documentation/devicetree/bindings/mips/ingenic/devices.yaml b/Documentation/devicetree/bindings/mips/ingenic/devices.yaml
new file mode 100644
index 00000000..78dcf6e
--- /dev/null
+++ b/Documentation/devicetree/bindings/mips/ingenic/devices.yaml
@@ -0,0 +1,35 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mips/ingenic/devices.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Ingenic XBurst based Platforms Device Tree Bindings
+
+maintainers:
+ - 周琰杰 (Zhou Yanjie) <[email protected]>
+description: |
+ Devices with a Ingenic XBurst CPU shall have the following properties.
+
+properties:
+ $nodename:
+ const: '/'
+ compatible:
+ oneOf:
+
+ - description: Qi Hardware Ben NanoNote
+ items:
+ - const: qi,lb60
+
+ - description: Game Consoles Worldwide GCW Zero
+ items:
+ - const: gcw,zero
+
+ - description: MIPS Creator CI20
+ items:
+ - const: img,ci20
+
+ - description: YSH & ATIL General Board CU Neo
+ items:
+ - const: yna,cu1000-neo
+...
--
2.7.4

2019-12-10 17:20:18

by Paul Cercueil

[permalink] [raw]
Subject: Re: [PATCH v8 4/4] MIPS: Ingenic: Add YSH & ATIL CU Neo board support.

Hi Zhou,


Le mar., déc. 10, 2019 at 20:02, 周琰杰 (Zhou Yanjie)
<[email protected]> a écrit :
> Add a device tree for the Ingenic X1000 based YSH & ATIL CU Neo board.
> Note that this is unselectable via Kconfig until the X1000 SoC is made
> selectable in a later commit.

I believe it is now selectable via Kconfig, right?

For the whole series:
Acked-by: Paul Cercueil <[email protected]>

Cheers,
Paul


> Signed-off-by: 周琰杰 (Zhou Yanjie) <[email protected]>
> ---
>
> Notes:
> v1->v2:
> Rebase on top of mips-next, use TCU for system timer and
> clocksource.
>
> v2->v3:
> No change.
>
> v3->v4:
> 1.Adjust "model" in "cu1000.dts" to match the description in
> "devices.yaml".
> 2.Adjust "bool" in "Kconfig" to avoid duplicate names with
> subsequent boards.
>
> v4->v5:
> 1.Rename "cu1000" to "cu1000-neo" to prevent conflicts with
> subsequent boards
> such as "cu1000-geo", and so on.
> 2.Remove "CONFIG_HZ=100" and "mem=32M@0x0" from defconfg.
> 3.Modify incorrect comments in DT.
>
> v5->v6:
> 1.Use "stdout-path = "serial2:115200n8"" instead "stdout-path =
> &uart2" in DT.
> 2.Remove "console=ttyS2,115200n8" and "CONFIG_CMDLINE_OVERRIDE=y"
> from defconfg.
>
> v6->v7:
> Change my Signed-off-by from "Zhou Yanjie <[email protected]>"
> to "周琰杰 (Zhou Yanjie) <[email protected]>" because
> the old mailbox is in an unstable state.
>
> v7->v8:
> Merge [6/6] in v7 to this patch.
>
> arch/mips/boot/dts/ingenic/Makefile | 1 +
> arch/mips/boot/dts/ingenic/cu1000-neo.dts | 99
> ++++++++++++++++++++++++++
> arch/mips/configs/cu1000-neo_defconfig | 111
> ++++++++++++++++++++++++++++++
> arch/mips/jz4740/Kconfig | 4 ++
> 4 files changed, 215 insertions(+)
> create mode 100644 arch/mips/boot/dts/ingenic/cu1000-neo.dts
> create mode 100644 arch/mips/configs/cu1000-neo_defconfig
>
> diff --git a/arch/mips/boot/dts/ingenic/Makefile
> b/arch/mips/boot/dts/ingenic/Makefile
> index 9cc4844..e165429 100644
> --- a/arch/mips/boot/dts/ingenic/Makefile
> +++ b/arch/mips/boot/dts/ingenic/Makefile
> @@ -2,5 +2,6 @@
> dtb-$(CONFIG_JZ4740_QI_LB60) += qi_lb60.dtb
> dtb-$(CONFIG_JZ4770_GCW0) += gcw0.dtb
> dtb-$(CONFIG_JZ4780_CI20) += ci20.dtb
> +dtb-$(CONFIG_X1000_CU1000_NEO) += cu1000-neo.dtb
>
> obj-$(CONFIG_BUILTIN_DTB) += $(addsuffix .o, $(dtb-y))
> diff --git a/arch/mips/boot/dts/ingenic/cu1000-neo.dts
> b/arch/mips/boot/dts/ingenic/cu1000-neo.dts
> new file mode 100644
> index 00000000..b0733da
> --- /dev/null
> +++ b/arch/mips/boot/dts/ingenic/cu1000-neo.dts
> @@ -0,0 +1,99 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/dts-v1/;
> +
> +#include "x1000.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/clock/ingenic,tcu.h>
> +
> +/ {
> + compatible = "yna,cu1000-neo", "ingenic,x1000";
> + model = "YSH & ATIL General Board CU Neo";
> +
> + aliases {
> + serial2 = &uart2;
> + };
> +
> + chosen {
> + stdout-path = "serial2:115200n8";
> + };
> +
> + memory {
> + device_type = "memory";
> + reg = <0x0 0x04000000>;
> + };
> +};
> +
> +&exclk {
> + clock-frequency = <24000000>;
> +};
> +
> +&tcu {
> + /* 1500 kHz for the system timer and clocksource */
> + assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER2>;
> + assigned-clock-rates = <1500000>, <1500000>;
> +
> + /* Use channel #0 for the system timer channel #2 for the
> clocksource */
> + ingenic,pwm-channels-mask = <0xfa>;
> +};
> +
> +&uart2 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pins_uart2>;
> +
> + status = "okay";
> +};
> +
> +&mac {
> + phy-mode = "rmii";
> + phy-handle = <&lan8720a>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pins_mac>;
> +
> + snps,reset-gpio = <&gpc 23 GPIO_ACTIVE_LOW>; /* PC23 */
> + snps,reset-active-low;
> + snps,reset-delays-us = <0 10000 30000>;
> +
> + status = "okay";
> +};
> +
> +&mdio {
> + status = "okay";
> +
> + lan8720a: ethernet-phy@0 {
> + compatible = "ethernet-phy-id0007.c0f0",
> "ethernet-phy-ieee802.3-c22";
> + reg = <0>;
> + };
> +};
> +
> +&msc0 {
> + bus-width = <8>;
> + max-frequency = <50000000>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pins_msc0>;
> +
> + non-removable;
> +
> + status = "okay";
> +};
> +
> +&pinctrl {
> + pins_uart2: uart2 {
> + function = "uart2";
> + groups = "uart2-data-d";
> + bias-disable;
> + };
> +
> + pins_mac: mac {
> + function = "mac";
> + groups = "mac";
> + bias-disable;
> + };
> +
> + pins_msc0: msc0 {
> + function = "mmc0";
> + groups = "mmc0-1bit", "mmc0-4bit", "mmc0-8bit";
> + bias-disable;
> + };
> +};
> diff --git a/arch/mips/configs/cu1000-neo_defconfig
> b/arch/mips/configs/cu1000-neo_defconfig
> new file mode 100644
> index 00000000..9f988ed
> --- /dev/null
> +++ b/arch/mips/configs/cu1000-neo_defconfig
> @@ -0,0 +1,111 @@
> +CONFIG_LOCALVERSION_AUTO=y
> +CONFIG_KERNEL_GZIP=y
> +CONFIG_SYSVIPC=y
> +CONFIG_NO_HZ_IDLE=y
> +CONFIG_HIGH_RES_TIMERS=y
> +CONFIG_PREEMPT=y
> +CONFIG_IKCONFIG=y
> +CONFIG_IKCONFIG_PROC=y
> +CONFIG_LOG_BUF_SHIFT=14
> +CONFIG_CGROUPS=y
> +CONFIG_MEMCG=y
> +CONFIG_MEMCG_KMEM=y
> +CONFIG_CGROUP_SCHED=y
> +CONFIG_CGROUP_FREEZER=y
> +CONFIG_CGROUP_DEVICE=y
> +CONFIG_CGROUP_CPUACCT=y
> +CONFIG_NAMESPACES=y
> +CONFIG_USER_NS=y
> +CONFIG_CC_OPTIMIZE_FOR_SIZE=y
> +CONFIG_SYSCTL_SYSCALL=y
> +CONFIG_KALLSYMS_ALL=y
> +CONFIG_EMBEDDED=y
> +# CONFIG_VM_EVENT_COUNTERS is not set
> +# CONFIG_COMPAT_BRK is not set
> +CONFIG_SLAB=y
> +CONFIG_MACH_INGENIC=y
> +CONFIG_X1000_CU1000_NEO=y
> +CONFIG_HIGHMEM=y
> +CONFIG_HZ_100=y
> +# CONFIG_SECCOMP is not set
> +# CONFIG_SUSPEND is not set
> +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
> +# CONFIG_COMPACTION is not set
> +CONFIG_CMA=y
> +CONFIG_CMA_AREAS=7
> +CONFIG_NET=y
> +CONFIG_UNIX=y
> +CONFIG_INET=y
> +CONFIG_UEVENT_HELPER=y
> +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
> +CONFIG_DEVTMPFS=y
> +# CONFIG_FW_LOADER is not set
> +# CONFIG_ALLOW_DEV_COREDUMP is not set
> +CONFIG_NETDEVICES=y
> +CONFIG_STMMAC_ETH=y
> +CONFIG_SMSC_PHY=y
> +# CONFIG_INPUT_MOUSEDEV is not set
> +# CONFIG_INPUT_KEYBOARD is not set
> +# CONFIG_INPUT_MOUSE is not set
> +# CONFIG_SERIO is not set
> +CONFIG_VT_HW_CONSOLE_BINDING=y
> +CONFIG_LEGACY_PTY_COUNT=2
> +CONFIG_SERIAL_EARLYCON=y
> +CONFIG_SERIAL_8250=y
> +CONFIG_SERIAL_8250_CONSOLE=y
> +CONFIG_SERIAL_8250_NR_UARTS=3
> +CONFIG_SERIAL_8250_RUNTIME_UARTS=3
> +CONFIG_SERIAL_8250_INGENIC=y
> +CONFIG_SERIAL_OF_PLATFORM=y
> +# CONFIG_HW_RANDOM is not set
> +CONFIG_GPIO_SYSFS=y
> +CONFIG_WATCHDOG=y
> +CONFIG_JZ4740_WDT=y
> +# CONFIG_HWMON is not set
> +# CONFIG_LCD_CLASS_DEVICE is not set
> +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
> +# CONFIG_VGA_CONSOLE is not set
> +# CONFIG_HID is not set
> +# CONFIG_USB_SUPPORT is not set
> +CONFIG_MMC=y
> +CONFIG_MMC_JZ4740=y
> +CONFIG_RTC_CLASS=y
> +CONFIG_RTC_DRV_JZ4740=y
> +CONFIG_DMADEVICES=y
> +CONFIG_DMA_JZ4780=y
> +# CONFIG_IOMMU_SUPPORT is not set
> +CONFIG_NVMEM=y
> +CONFIG_NVMEM_SYSFS=y
> +CONFIG_EXT4_FS=y
> +# CONFIG_DNOTIFY is not set
> +CONFIG_AUTOFS_FS=y
> +CONFIG_PROC_KCORE=y
> +# CONFIG_PROC_PAGE_MONITOR is not set
> +CONFIG_TMPFS=y
> +CONFIG_CONFIGFS_FS=y
> +CONFIG_NLS=y
> +CONFIG_NLS_CODEPAGE_936=y
> +CONFIG_NLS_CODEPAGE_950=y
> +CONFIG_NLS_ASCII=y
> +CONFIG_NLS_ISO8859_1=y
> +CONFIG_NLS_UTF8=y
> +CONFIG_CRYPTO_ECHAINIV=y
> +CONFIG_CRYPTO_AES=y
> +CONFIG_CRYPTO_DEFLATE=y
> +CONFIG_CRYPTO_LZO=y
> +CONFIG_PRINTK_TIME=y
> +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15
> +CONFIG_CONSOLE_LOGLEVEL_QUIET=15
> +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7
> +CONFIG_DEBUG_INFO=y
> +CONFIG_STRIP_ASM_SYMS=y
> +CONFIG_DEBUG_FS=y
> +CONFIG_MAGIC_SYSRQ=y
> +CONFIG_PANIC_ON_OOPS=y
> +CONFIG_PANIC_TIMEOUT=10
> +# CONFIG_SCHED_DEBUG is not set
> +# CONFIG_DEBUG_PREEMPT is not set
> +CONFIG_STACKTRACE=y
> +# CONFIG_FTRACE is not set
> +CONFIG_CMDLINE_BOOL=y
> +CONFIG_CMDLINE="earlycon clk_ignore_unused"
> diff --git a/arch/mips/jz4740/Kconfig b/arch/mips/jz4740/Kconfig
> index 6b96844..412d2fa 100644
> --- a/arch/mips/jz4740/Kconfig
> +++ b/arch/mips/jz4740/Kconfig
> @@ -16,6 +16,10 @@ config JZ4780_CI20
> bool "MIPS Creator CI20"
> select MACH_JZ4780
>
> +config X1000_CU1000_NEO
> + bool "YSH & ATIL CU1000 Module with Neo backplane"
> + select MACH_X1000
> +
> endchoice
>
> config MACH_JZ4740
> --
> 2.7.4
>


2019-12-11 11:04:01

by Zhou Yanjie

[permalink] [raw]
Subject: Re: [PATCH v8 4/4] MIPS: Ingenic: Add YSH & ATIL CU Neo board support.



On 2019年12月11日 01:19, Paul Cercueil wrote:
> Hi Zhou,
>
>
> Le mar., déc. 10, 2019 at 20:02, 周琰杰 (Zhou Yanjie)
> <[email protected]> a écrit :
>> Add a device tree for the Ingenic X1000 based YSH & ATIL CU Neo board.
>> Note that this is unselectable via Kconfig until the X1000 SoC is made
>> selectable in a later commit.
>
> I believe it is now selectable via Kconfig, right?
>

Oh, apologize for my careless, it should be selectable now.
Do I need to send a v9 to fix the commit message?

Thanks and best regards!

> For the whole series:
> Acked-by: Paul Cercueil <[email protected]>
>
> Cheers,
> Paul
>
>
>> Signed-off-by: 周琰杰 (Zhou Yanjie) <[email protected]>
>> ---
>>
>> Notes:
>> v1->v2:
>> Rebase on top of mips-next, use TCU for system timer and
>> clocksource.
>>
>> v2->v3:
>> No change.
>>
>> v3->v4:
>> 1.Adjust "model" in "cu1000.dts" to match the description in
>> "devices.yaml".
>> 2.Adjust "bool" in "Kconfig" to avoid duplicate names with
>> subsequent boards.
>>
>> v4->v5:
>> 1.Rename "cu1000" to "cu1000-neo" to prevent conflicts with
>> subsequent boards
>> such as "cu1000-geo", and so on.
>> 2.Remove "CONFIG_HZ=100" and "mem=32M@0x0" from defconfg.
>> 3.Modify incorrect comments in DT.
>>
>> v5->v6:
>> 1.Use "stdout-path = "serial2:115200n8"" instead "stdout-path =
>> &uart2" in DT.
>> 2.Remove "console=ttyS2,115200n8" and "CONFIG_CMDLINE_OVERRIDE=y"
>> from defconfg.
>>
>> v6->v7:
>> Change my Signed-off-by from "Zhou Yanjie <[email protected]>"
>> to "周琰杰 (Zhou Yanjie) <[email protected]>" because
>> the old mailbox is in an unstable state.
>>
>> v7->v8:
>> Merge [6/6] in v7 to this patch.
>>
>> arch/mips/boot/dts/ingenic/Makefile | 1 +
>> arch/mips/boot/dts/ingenic/cu1000-neo.dts | 99
>> ++++++++++++++++++++++++++
>> arch/mips/configs/cu1000-neo_defconfig | 111
>> ++++++++++++++++++++++++++++++
>> arch/mips/jz4740/Kconfig | 4 ++
>> 4 files changed, 215 insertions(+)
>> create mode 100644 arch/mips/boot/dts/ingenic/cu1000-neo.dts
>> create mode 100644 arch/mips/configs/cu1000-neo_defconfig
>>
>> diff --git a/arch/mips/boot/dts/ingenic/Makefile
>> b/arch/mips/boot/dts/ingenic/Makefile
>> index 9cc4844..e165429 100644
>> --- a/arch/mips/boot/dts/ingenic/Makefile
>> +++ b/arch/mips/boot/dts/ingenic/Makefile
>> @@ -2,5 +2,6 @@
>> dtb-$(CONFIG_JZ4740_QI_LB60) += qi_lb60.dtb
>> dtb-$(CONFIG_JZ4770_GCW0) += gcw0.dtb
>> dtb-$(CONFIG_JZ4780_CI20) += ci20.dtb
>> +dtb-$(CONFIG_X1000_CU1000_NEO) += cu1000-neo.dtb
>>
>> obj-$(CONFIG_BUILTIN_DTB) += $(addsuffix .o, $(dtb-y))
>> diff --git a/arch/mips/boot/dts/ingenic/cu1000-neo.dts
>> b/arch/mips/boot/dts/ingenic/cu1000-neo.dts
>> new file mode 100644
>> index 00000000..b0733da
>> --- /dev/null
>> +++ b/arch/mips/boot/dts/ingenic/cu1000-neo.dts
>> @@ -0,0 +1,99 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/dts-v1/;
>> +
>> +#include "x1000.dtsi"
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/clock/ingenic,tcu.h>
>> +
>> +/ {
>> + compatible = "yna,cu1000-neo", "ingenic,x1000";
>> + model = "YSH & ATIL General Board CU Neo";
>> +
>> + aliases {
>> + serial2 = &uart2;
>> + };
>> +
>> + chosen {
>> + stdout-path = "serial2:115200n8";
>> + };
>> +
>> + memory {
>> + device_type = "memory";
>> + reg = <0x0 0x04000000>;
>> + };
>> +};
>> +
>> +&exclk {
>> + clock-frequency = <24000000>;
>> +};
>> +
>> +&tcu {
>> + /* 1500 kHz for the system timer and clocksource */
>> + assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER2>;
>> + assigned-clock-rates = <1500000>, <1500000>;
>> +
>> + /* Use channel #0 for the system timer channel #2 for the
>> clocksource */
>> + ingenic,pwm-channels-mask = <0xfa>;
>> +};
>> +
>> +&uart2 {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pins_uart2>;
>> +
>> + status = "okay";
>> +};
>> +
>> +&mac {
>> + phy-mode = "rmii";
>> + phy-handle = <&lan8720a>;
>> +
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pins_mac>;
>> +
>> + snps,reset-gpio = <&gpc 23 GPIO_ACTIVE_LOW>; /* PC23 */
>> + snps,reset-active-low;
>> + snps,reset-delays-us = <0 10000 30000>;
>> +
>> + status = "okay";
>> +};
>> +
>> +&mdio {
>> + status = "okay";
>> +
>> + lan8720a: ethernet-phy@0 {
>> + compatible = "ethernet-phy-id0007.c0f0",
>> "ethernet-phy-ieee802.3-c22";
>> + reg = <0>;
>> + };
>> +};
>> +
>> +&msc0 {
>> + bus-width = <8>;
>> + max-frequency = <50000000>;
>> +
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pins_msc0>;
>> +
>> + non-removable;
>> +
>> + status = "okay";
>> +};
>> +
>> +&pinctrl {
>> + pins_uart2: uart2 {
>> + function = "uart2";
>> + groups = "uart2-data-d";
>> + bias-disable;
>> + };
>> +
>> + pins_mac: mac {
>> + function = "mac";
>> + groups = "mac";
>> + bias-disable;
>> + };
>> +
>> + pins_msc0: msc0 {
>> + function = "mmc0";
>> + groups = "mmc0-1bit", "mmc0-4bit", "mmc0-8bit";
>> + bias-disable;
>> + };
>> +};
>> diff --git a/arch/mips/configs/cu1000-neo_defconfig
>> b/arch/mips/configs/cu1000-neo_defconfig
>> new file mode 100644
>> index 00000000..9f988ed
>> --- /dev/null
>> +++ b/arch/mips/configs/cu1000-neo_defconfig
>> @@ -0,0 +1,111 @@
>> +CONFIG_LOCALVERSION_AUTO=y
>> +CONFIG_KERNEL_GZIP=y
>> +CONFIG_SYSVIPC=y
>> +CONFIG_NO_HZ_IDLE=y
>> +CONFIG_HIGH_RES_TIMERS=y
>> +CONFIG_PREEMPT=y
>> +CONFIG_IKCONFIG=y
>> +CONFIG_IKCONFIG_PROC=y
>> +CONFIG_LOG_BUF_SHIFT=14
>> +CONFIG_CGROUPS=y
>> +CONFIG_MEMCG=y
>> +CONFIG_MEMCG_KMEM=y
>> +CONFIG_CGROUP_SCHED=y
>> +CONFIG_CGROUP_FREEZER=y
>> +CONFIG_CGROUP_DEVICE=y
>> +CONFIG_CGROUP_CPUACCT=y
>> +CONFIG_NAMESPACES=y
>> +CONFIG_USER_NS=y
>> +CONFIG_CC_OPTIMIZE_FOR_SIZE=y
>> +CONFIG_SYSCTL_SYSCALL=y
>> +CONFIG_KALLSYMS_ALL=y
>> +CONFIG_EMBEDDED=y
>> +# CONFIG_VM_EVENT_COUNTERS is not set
>> +# CONFIG_COMPAT_BRK is not set
>> +CONFIG_SLAB=y
>> +CONFIG_MACH_INGENIC=y
>> +CONFIG_X1000_CU1000_NEO=y
>> +CONFIG_HIGHMEM=y
>> +CONFIG_HZ_100=y
>> +# CONFIG_SECCOMP is not set
>> +# CONFIG_SUSPEND is not set
>> +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
>> +# CONFIG_COMPACTION is not set
>> +CONFIG_CMA=y
>> +CONFIG_CMA_AREAS=7
>> +CONFIG_NET=y
>> +CONFIG_UNIX=y
>> +CONFIG_INET=y
>> +CONFIG_UEVENT_HELPER=y
>> +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
>> +CONFIG_DEVTMPFS=y
>> +# CONFIG_FW_LOADER is not set
>> +# CONFIG_ALLOW_DEV_COREDUMP is not set
>> +CONFIG_NETDEVICES=y
>> +CONFIG_STMMAC_ETH=y
>> +CONFIG_SMSC_PHY=y
>> +# CONFIG_INPUT_MOUSEDEV is not set
>> +# CONFIG_INPUT_KEYBOARD is not set
>> +# CONFIG_INPUT_MOUSE is not set
>> +# CONFIG_SERIO is not set
>> +CONFIG_VT_HW_CONSOLE_BINDING=y
>> +CONFIG_LEGACY_PTY_COUNT=2
>> +CONFIG_SERIAL_EARLYCON=y
>> +CONFIG_SERIAL_8250=y
>> +CONFIG_SERIAL_8250_CONSOLE=y
>> +CONFIG_SERIAL_8250_NR_UARTS=3
>> +CONFIG_SERIAL_8250_RUNTIME_UARTS=3
>> +CONFIG_SERIAL_8250_INGENIC=y
>> +CONFIG_SERIAL_OF_PLATFORM=y
>> +# CONFIG_HW_RANDOM is not set
>> +CONFIG_GPIO_SYSFS=y
>> +CONFIG_WATCHDOG=y
>> +CONFIG_JZ4740_WDT=y
>> +# CONFIG_HWMON is not set
>> +# CONFIG_LCD_CLASS_DEVICE is not set
>> +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
>> +# CONFIG_VGA_CONSOLE is not set
>> +# CONFIG_HID is not set
>> +# CONFIG_USB_SUPPORT is not set
>> +CONFIG_MMC=y
>> +CONFIG_MMC_JZ4740=y
>> +CONFIG_RTC_CLASS=y
>> +CONFIG_RTC_DRV_JZ4740=y
>> +CONFIG_DMADEVICES=y
>> +CONFIG_DMA_JZ4780=y
>> +# CONFIG_IOMMU_SUPPORT is not set
>> +CONFIG_NVMEM=y
>> +CONFIG_NVMEM_SYSFS=y
>> +CONFIG_EXT4_FS=y
>> +# CONFIG_DNOTIFY is not set
>> +CONFIG_AUTOFS_FS=y
>> +CONFIG_PROC_KCORE=y
>> +# CONFIG_PROC_PAGE_MONITOR is not set
>> +CONFIG_TMPFS=y
>> +CONFIG_CONFIGFS_FS=y
>> +CONFIG_NLS=y
>> +CONFIG_NLS_CODEPAGE_936=y
>> +CONFIG_NLS_CODEPAGE_950=y
>> +CONFIG_NLS_ASCII=y
>> +CONFIG_NLS_ISO8859_1=y
>> +CONFIG_NLS_UTF8=y
>> +CONFIG_CRYPTO_ECHAINIV=y
>> +CONFIG_CRYPTO_AES=y
>> +CONFIG_CRYPTO_DEFLATE=y
>> +CONFIG_CRYPTO_LZO=y
>> +CONFIG_PRINTK_TIME=y
>> +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15
>> +CONFIG_CONSOLE_LOGLEVEL_QUIET=15
>> +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7
>> +CONFIG_DEBUG_INFO=y
>> +CONFIG_STRIP_ASM_SYMS=y
>> +CONFIG_DEBUG_FS=y
>> +CONFIG_MAGIC_SYSRQ=y
>> +CONFIG_PANIC_ON_OOPS=y
>> +CONFIG_PANIC_TIMEOUT=10
>> +# CONFIG_SCHED_DEBUG is not set
>> +# CONFIG_DEBUG_PREEMPT is not set
>> +CONFIG_STACKTRACE=y
>> +# CONFIG_FTRACE is not set
>> +CONFIG_CMDLINE_BOOL=y
>> +CONFIG_CMDLINE="earlycon clk_ignore_unused"
>> diff --git a/arch/mips/jz4740/Kconfig b/arch/mips/jz4740/Kconfig
>> index 6b96844..412d2fa 100644
>> --- a/arch/mips/jz4740/Kconfig
>> +++ b/arch/mips/jz4740/Kconfig
>> @@ -16,6 +16,10 @@ config JZ4780_CI20
>> bool "MIPS Creator CI20"
>> select MACH_JZ4780
>>
>> +config X1000_CU1000_NEO
>> + bool "YSH & ATIL CU1000 Module with Neo backplane"
>> + select MACH_X1000
>> +
>> endchoice
>>
>> config MACH_JZ4740
>> --
>> 2.7.4
>>
>

2019-12-11 12:58:10

by Paul Cercueil

[permalink] [raw]
Subject: Re: [PATCH v8 4/4] MIPS: Ingenic: Add YSH & ATIL CU Neo board support.

Hi Zhou,


Le mer., déc. 11, 2019 at 19:02, zhouyanjie
<[email protected]> a écrit :
>
>
> On 2019年12月11日 01:19, Paul Cercueil wrote:
>> Hi Zhou,
>>
>>
>> Le mar., déc. 10, 2019 at 20:02, 周琰杰 (Zhou Yanjie)
>> <[email protected]> a écrit :
>>> Add a device tree for the Ingenic X1000 based YSH & ATIL CU Neo
>>> board.
>>> Note that this is unselectable via Kconfig until the X1000 SoC is
>>> made
>>> selectable in a later commit.
>>
>> I believe it is now selectable via Kconfig, right?
>>
>
> Oh, apologize for my careless, it should be selectable now.
> Do I need to send a v9 to fix the commit message?

Maybe Paul Burton can just remove the last sentence when merging.

-Paul


>> For the whole series:
>> Acked-by: Paul Cercueil <[email protected]>
>>
>> Cheers,
>> Paul
>>
>>
>>> Signed-off-by: 周琰杰 (Zhou Yanjie) <[email protected]>
>>> ---
>>>
>>> Notes:
>>> v1->v2:
>>> Rebase on top of mips-next, use TCU for system timer and
>>> clocksource.
>>>
>>> v2->v3:
>>> No change.
>>>
>>> v3->v4:
>>> 1.Adjust "model" in "cu1000.dts" to match the description in
>>> "devices.yaml".
>>> 2.Adjust "bool" in "Kconfig" to avoid duplicate names with
>>> subsequent boards.
>>>
>>> v4->v5:
>>> 1.Rename "cu1000" to "cu1000-neo" to prevent conflicts with
>>> subsequent boards
>>> such as "cu1000-geo", and so on.
>>> 2.Remove "CONFIG_HZ=100" and "mem=32M@0x0" from defconfg.
>>> 3.Modify incorrect comments in DT.
>>>
>>> v5->v6:
>>> 1.Use "stdout-path = "serial2:115200n8"" instead "stdout-path =
>>> &uart2" in DT.
>>> 2.Remove "console=ttyS2,115200n8" and
>>> "CONFIG_CMDLINE_OVERRIDE=y" from defconfg.
>>>
>>> v6->v7:
>>> Change my Signed-off-by from "Zhou Yanjie <[email protected]>"
>>> to "周琰杰 (Zhou Yanjie) <[email protected]>" because
>>> the old mailbox is in an unstable state.
>>>
>>> v7->v8:
>>> Merge [6/6] in v7 to this patch.
>>>
>>> arch/mips/boot/dts/ingenic/Makefile | 1 +
>>> arch/mips/boot/dts/ingenic/cu1000-neo.dts | 99
>>> ++++++++++++++++++++++++++
>>> arch/mips/configs/cu1000-neo_defconfig | 111
>>> ++++++++++++++++++++++++++++++
>>> arch/mips/jz4740/Kconfig | 4 ++
>>> 4 files changed, 215 insertions(+)
>>> create mode 100644 arch/mips/boot/dts/ingenic/cu1000-neo.dts
>>> create mode 100644 arch/mips/configs/cu1000-neo_defconfig
>>>
>>> diff --git a/arch/mips/boot/dts/ingenic/Makefile
>>> b/arch/mips/boot/dts/ingenic/Makefile
>>> index 9cc4844..e165429 100644
>>> --- a/arch/mips/boot/dts/ingenic/Makefile
>>> +++ b/arch/mips/boot/dts/ingenic/Makefile
>>> @@ -2,5 +2,6 @@
>>> dtb-$(CONFIG_JZ4740_QI_LB60) += qi_lb60.dtb
>>> dtb-$(CONFIG_JZ4770_GCW0) += gcw0.dtb
>>> dtb-$(CONFIG_JZ4780_CI20) += ci20.dtb
>>> +dtb-$(CONFIG_X1000_CU1000_NEO) += cu1000-neo.dtb
>>>
>>> obj-$(CONFIG_BUILTIN_DTB) += $(addsuffix .o, $(dtb-y))
>>> diff --git a/arch/mips/boot/dts/ingenic/cu1000-neo.dts
>>> b/arch/mips/boot/dts/ingenic/cu1000-neo.dts
>>> new file mode 100644
>>> index 00000000..b0733da
>>> --- /dev/null
>>> +++ b/arch/mips/boot/dts/ingenic/cu1000-neo.dts
>>> @@ -0,0 +1,99 @@
>>> +// SPDX-License-Identifier: GPL-2.0
>>> +/dts-v1/;
>>> +
>>> +#include "x1000.dtsi"
>>> +#include <dt-bindings/gpio/gpio.h>
>>> +#include <dt-bindings/clock/ingenic,tcu.h>
>>> +
>>> +/ {
>>> + compatible = "yna,cu1000-neo", "ingenic,x1000";
>>> + model = "YSH & ATIL General Board CU Neo";
>>> +
>>> + aliases {
>>> + serial2 = &uart2;
>>> + };
>>> +
>>> + chosen {
>>> + stdout-path = "serial2:115200n8";
>>> + };
>>> +
>>> + memory {
>>> + device_type = "memory";
>>> + reg = <0x0 0x04000000>;
>>> + };
>>> +};
>>> +
>>> +&exclk {
>>> + clock-frequency = <24000000>;
>>> +};
>>> +
>>> +&tcu {
>>> + /* 1500 kHz for the system timer and clocksource */
>>> + assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER2>;
>>> + assigned-clock-rates = <1500000>, <1500000>;
>>> +
>>> + /* Use channel #0 for the system timer channel #2 for the
>>> clocksource */
>>> + ingenic,pwm-channels-mask = <0xfa>;
>>> +};
>>> +
>>> +&uart2 {
>>> + pinctrl-names = "default";
>>> + pinctrl-0 = <&pins_uart2>;
>>> +
>>> + status = "okay";
>>> +};
>>> +
>>> +&mac {
>>> + phy-mode = "rmii";
>>> + phy-handle = <&lan8720a>;
>>> +
>>> + pinctrl-names = "default";
>>> + pinctrl-0 = <&pins_mac>;
>>> +
>>> + snps,reset-gpio = <&gpc 23 GPIO_ACTIVE_LOW>; /* PC23 */
>>> + snps,reset-active-low;
>>> + snps,reset-delays-us = <0 10000 30000>;
>>> +
>>> + status = "okay";
>>> +};
>>> +
>>> +&mdio {
>>> + status = "okay";
>>> +
>>> + lan8720a: ethernet-phy@0 {
>>> + compatible = "ethernet-phy-id0007.c0f0",
>>> "ethernet-phy-ieee802.3-c22";
>>> + reg = <0>;
>>> + };
>>> +};
>>> +
>>> +&msc0 {
>>> + bus-width = <8>;
>>> + max-frequency = <50000000>;
>>> +
>>> + pinctrl-names = "default";
>>> + pinctrl-0 = <&pins_msc0>;
>>> +
>>> + non-removable;
>>> +
>>> + status = "okay";
>>> +};
>>> +
>>> +&pinctrl {
>>> + pins_uart2: uart2 {
>>> + function = "uart2";
>>> + groups = "uart2-data-d";
>>> + bias-disable;
>>> + };
>>> +
>>> + pins_mac: mac {
>>> + function = "mac";
>>> + groups = "mac";
>>> + bias-disable;
>>> + };
>>> +
>>> + pins_msc0: msc0 {
>>> + function = "mmc0";
>>> + groups = "mmc0-1bit", "mmc0-4bit", "mmc0-8bit";
>>> + bias-disable;
>>> + };
>>> +};
>>> diff --git a/arch/mips/configs/cu1000-neo_defconfig
>>> b/arch/mips/configs/cu1000-neo_defconfig
>>> new file mode 100644
>>> index 00000000..9f988ed
>>> --- /dev/null
>>> +++ b/arch/mips/configs/cu1000-neo_defconfig
>>> @@ -0,0 +1,111 @@
>>> +CONFIG_LOCALVERSION_AUTO=y
>>> +CONFIG_KERNEL_GZIP=y
>>> +CONFIG_SYSVIPC=y
>>> +CONFIG_NO_HZ_IDLE=y
>>> +CONFIG_HIGH_RES_TIMERS=y
>>> +CONFIG_PREEMPT=y
>>> +CONFIG_IKCONFIG=y
>>> +CONFIG_IKCONFIG_PROC=y
>>> +CONFIG_LOG_BUF_SHIFT=14
>>> +CONFIG_CGROUPS=y
>>> +CONFIG_MEMCG=y
>>> +CONFIG_MEMCG_KMEM=y
>>> +CONFIG_CGROUP_SCHED=y
>>> +CONFIG_CGROUP_FREEZER=y
>>> +CONFIG_CGROUP_DEVICE=y
>>> +CONFIG_CGROUP_CPUACCT=y
>>> +CONFIG_NAMESPACES=y
>>> +CONFIG_USER_NS=y
>>> +CONFIG_CC_OPTIMIZE_FOR_SIZE=y
>>> +CONFIG_SYSCTL_SYSCALL=y
>>> +CONFIG_KALLSYMS_ALL=y
>>> +CONFIG_EMBEDDED=y
>>> +# CONFIG_VM_EVENT_COUNTERS is not set
>>> +# CONFIG_COMPAT_BRK is not set
>>> +CONFIG_SLAB=y
>>> +CONFIG_MACH_INGENIC=y
>>> +CONFIG_X1000_CU1000_NEO=y
>>> +CONFIG_HIGHMEM=y
>>> +CONFIG_HZ_100=y
>>> +# CONFIG_SECCOMP is not set
>>> +# CONFIG_SUSPEND is not set
>>> +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
>>> +# CONFIG_COMPACTION is not set
>>> +CONFIG_CMA=y
>>> +CONFIG_CMA_AREAS=7
>>> +CONFIG_NET=y
>>> +CONFIG_UNIX=y
>>> +CONFIG_INET=y
>>> +CONFIG_UEVENT_HELPER=y
>>> +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
>>> +CONFIG_DEVTMPFS=y
>>> +# CONFIG_FW_LOADER is not set
>>> +# CONFIG_ALLOW_DEV_COREDUMP is not set
>>> +CONFIG_NETDEVICES=y
>>> +CONFIG_STMMAC_ETH=y
>>> +CONFIG_SMSC_PHY=y
>>> +# CONFIG_INPUT_MOUSEDEV is not set
>>> +# CONFIG_INPUT_KEYBOARD is not set
>>> +# CONFIG_INPUT_MOUSE is not set
>>> +# CONFIG_SERIO is not set
>>> +CONFIG_VT_HW_CONSOLE_BINDING=y
>>> +CONFIG_LEGACY_PTY_COUNT=2
>>> +CONFIG_SERIAL_EARLYCON=y
>>> +CONFIG_SERIAL_8250=y
>>> +CONFIG_SERIAL_8250_CONSOLE=y
>>> +CONFIG_SERIAL_8250_NR_UARTS=3
>>> +CONFIG_SERIAL_8250_RUNTIME_UARTS=3
>>> +CONFIG_SERIAL_8250_INGENIC=y
>>> +CONFIG_SERIAL_OF_PLATFORM=y
>>> +# CONFIG_HW_RANDOM is not set
>>> +CONFIG_GPIO_SYSFS=y
>>> +CONFIG_WATCHDOG=y
>>> +CONFIG_JZ4740_WDT=y
>>> +# CONFIG_HWMON is not set
>>> +# CONFIG_LCD_CLASS_DEVICE is not set
>>> +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
>>> +# CONFIG_VGA_CONSOLE is not set
>>> +# CONFIG_HID is not set
>>> +# CONFIG_USB_SUPPORT is not set
>>> +CONFIG_MMC=y
>>> +CONFIG_MMC_JZ4740=y
>>> +CONFIG_RTC_CLASS=y
>>> +CONFIG_RTC_DRV_JZ4740=y
>>> +CONFIG_DMADEVICES=y
>>> +CONFIG_DMA_JZ4780=y
>>> +# CONFIG_IOMMU_SUPPORT is not set
>>> +CONFIG_NVMEM=y
>>> +CONFIG_NVMEM_SYSFS=y
>>> +CONFIG_EXT4_FS=y
>>> +# CONFIG_DNOTIFY is not set
>>> +CONFIG_AUTOFS_FS=y
>>> +CONFIG_PROC_KCORE=y
>>> +# CONFIG_PROC_PAGE_MONITOR is not set
>>> +CONFIG_TMPFS=y
>>> +CONFIG_CONFIGFS_FS=y
>>> +CONFIG_NLS=y
>>> +CONFIG_NLS_CODEPAGE_936=y
>>> +CONFIG_NLS_CODEPAGE_950=y
>>> +CONFIG_NLS_ASCII=y
>>> +CONFIG_NLS_ISO8859_1=y
>>> +CONFIG_NLS_UTF8=y
>>> +CONFIG_CRYPTO_ECHAINIV=y
>>> +CONFIG_CRYPTO_AES=y
>>> +CONFIG_CRYPTO_DEFLATE=y
>>> +CONFIG_CRYPTO_LZO=y
>>> +CONFIG_PRINTK_TIME=y
>>> +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15
>>> +CONFIG_CONSOLE_LOGLEVEL_QUIET=15
>>> +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7
>>> +CONFIG_DEBUG_INFO=y
>>> +CONFIG_STRIP_ASM_SYMS=y
>>> +CONFIG_DEBUG_FS=y
>>> +CONFIG_MAGIC_SYSRQ=y
>>> +CONFIG_PANIC_ON_OOPS=y
>>> +CONFIG_PANIC_TIMEOUT=10
>>> +# CONFIG_SCHED_DEBUG is not set
>>> +# CONFIG_DEBUG_PREEMPT is not set
>>> +CONFIG_STACKTRACE=y
>>> +# CONFIG_FTRACE is not set
>>> +CONFIG_CMDLINE_BOOL=y
>>> +CONFIG_CMDLINE="earlycon clk_ignore_unused"
>>> diff --git a/arch/mips/jz4740/Kconfig b/arch/mips/jz4740/Kconfig
>>> index 6b96844..412d2fa 100644
>>> --- a/arch/mips/jz4740/Kconfig
>>> +++ b/arch/mips/jz4740/Kconfig
>>> @@ -16,6 +16,10 @@ config JZ4780_CI20
>>> bool "MIPS Creator CI20"
>>> select MACH_JZ4780
>>>
>>> +config X1000_CU1000_NEO
>>> + bool "YSH & ATIL CU1000 Module with Neo backplane"
>>> + select MACH_X1000
>>> +
>>> endchoice
>>>
>>> config MACH_JZ4740
>>> --
>>> 2.7.4
>>>
>>
>


2020-01-09 21:02:33

by Paul Burton

[permalink] [raw]
Subject: Re: [PATCH v8 1/4] MIPS: Ingenic: Add Ingenic X1000 support.

Hello,

周琰杰 (Zhou Yanjie) wrote:
> Support the Ingenic X1000 SoC using the code under arch/mips/jz4740.
> This is left unselectable in Kconfig until a X1000 based board is
> added in a later commit.

Series applied to mips-next.

> MIPS: Ingenic: Add Ingenic X1000 support.
> commit 7a16ccd300c2
> https://git.kernel.org/mips/c/7a16ccd300c2
>
> Signed-off-by: 周琰杰 (Zhou Yanjie) <[email protected]>
> Signed-off-by: Paul Burton <[email protected]>
>
> dt-bindings: Document yna vendor-prefix.
> commit 9d022be3c192
> https://git.kernel.org/mips/c/9d022be3c192
>
> Signed-off-by: 周琰杰 (Zhou Yanjie) <[email protected]>
> Acked-by: Rob Herring <[email protected]>
> Signed-off-by: Paul Burton <[email protected]>
>
> dt-bindings: MIPS: Add Ingenic XBurst based boards.
> commit 4b396e56a0b8
> https://git.kernel.org/mips/c/4b396e56a0b8
>
> Signed-off-by: 周琰杰 (Zhou Yanjie) <[email protected]>
> Reviewed-by: Rob Herring <[email protected]>
> Signed-off-by: Paul Burton <[email protected]>
>
> MIPS: Ingenic: Add YSH & ATIL CU Neo board support.
> commit 0cd2c6e5701e
> https://git.kernel.org/mips/c/0cd2c6e5701e
>
> Signed-off-by: 周琰杰 (Zhou Yanjie) <[email protected]>
> Acked-by: Paul Cercueil <[email protected]>
> [[email protected]:
> Drop stale mention of previously unselectable Kconfig entry.]
> Signed-off-by: Paul Burton <[email protected]>

Thanks,
Paul

[ This message was auto-generated; if you believe anything is incorrect
then please email [email protected] to report it. ]