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.
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) <zhouyanjie@wanyeetech.com> --- 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 <zhouyanjie@zoho.com>" to "周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>" 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
The "yna" is an acronym of the "YSH & ATIL". Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com> --- 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 <zhouyanjie@zoho.com>" to "周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>" 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
Add Ingenic XBurst based boards, prepare for later dts. Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com> --- 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 <zhouyanjie@zoho.com>" to "周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>" 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) <zhouyanjie@wanyeetech.com> +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
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) <zhouyanjie@wanyeetech.com> --- 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 <zhouyanjie@zoho.com>" to "周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>" 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
Hi Zhou, Le mar., déc. 10, 2019 at 20:02, 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com> 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 <paul@crapouillou.net> Cheers, Paul > Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com> > --- > > 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 <zhouyanjie@zoho.com>" > to "周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>" 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 >
On 2019年12月11日 01:19, Paul Cercueil wrote: > Hi Zhou, > > > Le mar., déc. 10, 2019 at 20:02, 周琰杰 (Zhou Yanjie) > <zhouyanjie@wanyeetech.com> 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 <paul@crapouillou.net> > > Cheers, > Paul > > >> Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com> >> --- >> >> 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 <zhouyanjie@zoho.com>" >> to "周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>" 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 >> >
Hi Zhou, Le mer., déc. 11, 2019 at 19:02, zhouyanjie <zhouyanjie@wanyeetech.com> a écrit : > > > On 2019年12月11日 01:19, Paul Cercueil wrote: >> Hi Zhou, >> >> >> Le mar., déc. 10, 2019 at 20:02, 周琰杰 (Zhou Yanjie) >> \x7f<zhouyanjie@wanyeetech.com> 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 <paul@crapouillou.net> >> >> Cheers, >> Paul >> >> >>> Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com> >>> --- >>> >>> Notes: >>> v1->v2: >>> Rebase on top of mips-next, use TCU for system timer and >>> \x7f\x7fclocksource. >>> >>> v2->v3: >>> No change. >>> >>> v3->v4: >>> 1.Adjust "model" in "cu1000.dts" to match the description in >>> \x7f\x7f"devices.yaml". >>> 2.Adjust "bool" in "Kconfig" to avoid duplicate names with >>> \x7f\x7fsubsequent boards. >>> >>> v4->v5: >>> 1.Rename "cu1000" to "cu1000-neo" to prevent conflicts with >>> \x7f\x7fsubsequent 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 = >>> \x7f\x7f&uart2" in DT. >>> 2.Remove "console=ttyS2,115200n8" and >>> "CONFIG_CMDLINE_OVERRIDE=y" \x7f\x7ffrom defconfg. >>> >>> v6->v7: >>> Change my Signed-off-by from "Zhou Yanjie <zhouyanjie@zoho.com>" >>> to "周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>" 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 >>> \x7f\x7f++++++++++++++++++++++++++ >>> arch/mips/configs/cu1000-neo_defconfig | 111 >>> \x7f\x7f++++++++++++++++++++++++++++++ >>> 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 >>> \x7f\x7fb/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 >>> \x7f\x7fb/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 >>> \x7f\x7fclocksource */ >>> + 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", >>> \x7f\x7f"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 >>> \x7f\x7fb/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 >>> >> >
On Tue, 10 Dec 2019 20:02:41 +0800, =?UTF-8?q?=E5=91=A8=E7=90=B0=E6=9D=B0=20=28Zhou=20Yanjie=29?= wrote:
> The "yna" is an acronym of the "YSH & ATIL".
>
> Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
> ---
>
> 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 <zhouyanjie@zoho.com>"
> to "周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>" 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(+)
>
Acked-by: Rob Herring <robh@kernel.org>
On Tue, 10 Dec 2019 20:02:42 +0800, =?UTF-8?q?=E5=91=A8=E7=90=B0=E6=9D=B0=20=28Zhou=20Yanjie=29?= wrote:
> Add Ingenic XBurst based boards, prepare for later dts.
>
> Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
> ---
>
> 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 <zhouyanjie@zoho.com>"
> to "周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>" 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
>
Reviewed-by: Rob Herring <robh@kernel.org>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain, Size: 1635 bytes --] 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) <zhouyanjie@wanyeetech.com> > Signed-off-by: Paul Burton <paulburton@kernel.org> > > dt-bindings: Document yna vendor-prefix. > commit 9d022be3c192 > https://git.kernel.org/mips/c/9d022be3c192 > > Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com> > Acked-by: Rob Herring <robh@kernel.org> > Signed-off-by: Paul Burton <paulburton@kernel.org> > > dt-bindings: MIPS: Add Ingenic XBurst based boards. > commit 4b396e56a0b8 > https://git.kernel.org/mips/c/4b396e56a0b8 > > Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com> > Reviewed-by: Rob Herring <robh@kernel.org> > Signed-off-by: Paul Burton <paulburton@kernel.org> > > MIPS: Ingenic: Add YSH & ATIL CU Neo board support. > commit 0cd2c6e5701e > https://git.kernel.org/mips/c/0cd2c6e5701e > > Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com> > Acked-by: Paul Cercueil <paul@crapouillou.net> > [paulburton@kernel.org: > Drop stale mention of previously unselectable Kconfig entry.] > Signed-off-by: Paul Burton <paulburton@kernel.org> Thanks, Paul [ This message was auto-generated; if you believe anything is incorrect then please email paulburton@kernel.org to report it. ]