From: Jisheng Zhang <jszhang@marvell.com>
To: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
Russell King <linux@arm.linux.org.uk>,
Jason Cooper <jason@lakedaemon.net>,
"Arnd Bergmann" <arnd@arndb.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 8/8] ARM: add initial support for Marvell Berlin SoCs
Date: Wed, 9 Oct 2013 11:20:58 +0800 [thread overview]
Message-ID: <20131009112058.683739d0@xhacker> (raw)
In-Reply-To: <1381235073-17134-9-git-send-email-sebastian.hesselbarth@gmail.com>
Dear Sebastian,
On Tue, 8 Oct 2013 05:24:33 -0700
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> wrote:
> This adds initial support for the Marvell Berlin (88DE3xxx) SoC family
> and basic machine setup for Armada 1500 (88DE3100) SoCs.
First of all, thanks for these patches. I worked and is still working on Marvell
Berlin Linux kernel BSP at Marvell. As the person who brought up Linux kernel for
various Berlin SoCs since BG2, I have some comments to share with you.
>
> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
> Reviewed-by: Jason Cooper <jason@lakedaemon.net>
> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Reviewed-by: Arnd Bergmann <arnd@arndb.de>
> ---
> Changelog:
> RFCv2->v1:
> - remove custom .init_time, adds dependency for arch-wide of_clk_init call
> RFCv1->RFCv2:
> - nuke .map_io (Reported by Arnd Bergmann)
> - add copyright reference
> - switch to mach-berlin instead of mach-mvebu
>
> Cc: Jason Cooper <jason@lakedaemon.net>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Russell King <linux@arm.linux.org.uk>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> ---
> arch/arm/Kconfig | 2 ++
> arch/arm/Makefile | 1 +
> arch/arm/mach-berlin/Kconfig | 24 ++++++++++++++++++++++++
> arch/arm/mach-berlin/Makefile | 1 +
> arch/arm/mach-berlin/berlin.c | 39
> +++++++++++++++++++++++++++++++++++++++ 5 files changed, 67 insertions(+)
> create mode 100644 arch/arm/mach-berlin/Kconfig
> create mode 100644 arch/arm/mach-berlin/Makefile
> create mode 100644 arch/arm/mach-berlin/berlin.c
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 1ad6fb6..5692426 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -932,6 +932,8 @@ source "arch/arm/mach-bcm/Kconfig"
>
> source "arch/arm/mach-bcm2835/Kconfig"
>
> +source "arch/arm/mach-berlin/Kconfig"
> +
> source "arch/arm/mach-clps711x/Kconfig"
>
> source "arch/arm/mach-cns3xxx/Kconfig"
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index a37a50f..3ba332b 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -147,6 +147,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
> machine-$(CONFIG_ARCH_AT91) += at91
> machine-$(CONFIG_ARCH_BCM) += bcm
> machine-$(CONFIG_ARCH_BCM2835) += bcm2835
> +machine-$(CONFIG_ARCH_BERLIN) += berlin
> machine-$(CONFIG_ARCH_CLPS711X) += clps711x
> machine-$(CONFIG_ARCH_CNS3XXX) += cns3xxx
> machine-$(CONFIG_ARCH_DAVINCI) += davinci
> diff --git a/arch/arm/mach-berlin/Kconfig b/arch/arm/mach-berlin/Kconfig
> new file mode 100644
> index 0000000..56a671e
> --- /dev/null
> +++ b/arch/arm/mach-berlin/Kconfig
> @@ -0,0 +1,24 @@
> +config ARCH_BERLIN
> + bool "Marvell Berlin (88DE3xxx) SoCs" if ARCH_MULTI_V7
> + select GENERIC_CLOCKEVENTS
> + select GENERIC_IRQ_CHIP
> + select COMMON_CLK
> + select DW_APB_ICTL
> + select DW_APB_TIMER_OF
> +
> +if ARCH_BERLIN
> +
> +menu "Marvell Berlin (88DE3xxx) SoC variants"
It would be better to s/88DE3xxx/88DExxxx or remove 88DE3xxx totally
> +
> +config MACH_MV88DE3100
Can you please use MACH_BERLIN2? This is what we used internally in latest BSP
> + bool "Marvell 88DE3100 (Armada 1500)"
> + select ARM_GIC
> + select CACHE_L2X0
The tauros3 and PL310 are different although the programming interface are
compatible. In PJ4B and Tauros3, the CP15 cache maintenance commands include
both L1 and L2, memory mapped PA-based maintenance operations in L2 are not needed.
How to handle this in cache-l2x0.c?
> + select CPU_PJ4B
> + select HAVE_ARM_TWD if LOCAL_TIMERS
> + select HAVE_SMP
> + select LOCAL_TIMERS if SMP
> +
> +endmenu
> +
> +endif
> diff --git a/arch/arm/mach-berlin/Makefile b/arch/arm/mach-berlin/Makefile
> new file mode 100644
> index 0000000..ab69fe9
> --- /dev/null
> +++ b/arch/arm/mach-berlin/Makefile
> @@ -0,0 +1 @@
> +obj-y += berlin.o
> diff --git a/arch/arm/mach-berlin/berlin.c b/arch/arm/mach-berlin/berlin.c
> new file mode 100644
> index 0000000..54b3ba7
> --- /dev/null
> +++ b/arch/arm/mach-berlin/berlin.c
> @@ -0,0 +1,39 @@
> +/*
> + * Device Tree support for Marvell Berlin (88DE3xxx) platforms.
ditto
> + *
> + * Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
> + *
> + * based on GPL'ed 2.6 kernel sources
> + * (c) Marvell International Ltd.
> + *
> + * This file is licensed under the terms of the GNU General Public
> + * License version 2. This program is licensed "as is" without any
> + * warranty of any kind, whether express or implied.
> + */
> +
> +#include <linux/init.h>
> +#include <linux/io.h>
> +#include <linux/kernel.h>
> +#include <linux/of_platform.h>
> +#include <asm/hardware/cache-l2x0.h>
> +#include <asm/mach/arch.h>
> +
> +static void __init berlin_init_machine(void)
> +{
> + /*
> + * with DT probing for L2CCs, berlin_init_machine can be removed.
> + * Note: 88DE3005 (Armada 1500-mini) uses pl310 l2cc
> + */
> + l2x0_of_init(0x70c00000, 0xfeffffff);
> + of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
> +}
> +
> +static const char * const berlin_dt_compat[] = {
> + "marvell,berlin",
> + NULL,
> +};
> +
> +DT_MACHINE_START(BERLIN_DT, "Marvell Berlin (88DE3xxx)")
ditto
> + .dt_compat = berlin_dt_compat,
> + .init_machine = berlin_init_machine,
> +MACHINE_END
> create mode 100644 arch/arm/boot/dts/mv88de3100-sony-nsz-gs7.dts
> create mode 100644 arch/arm/boot/dts/mv88de3100.dtsi
Armada 1500 == mv88de3100 == BG2
We always call BGx internally, so s/mv88de3100/berlin2 in all patches except
patch 4 would be better. IOW, I prefer to call berlin2/berlin2ct/berlin2cd etc
and never use mv88dexxxx or armada xxxx in code, dt bindings except documents.
This would remove unnecessary confusions. What do you think?
Thanks,
Jisheng
next prev parent reply other threads:[~2013-10-09 3:23 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-08 12:24 [PATCH 0/8] ARM: Initial support for Marvell Berlin SoCs Sebastian Hesselbarth
2013-10-08 12:24 ` [PATCH 1/8] irqchip: add DesignWare APB ICTL interrupt controller Sebastian Hesselbarth
2013-10-08 13:24 ` Mark Rutland
2013-10-08 15:51 ` Sebastian Hesselbarth
2013-10-11 9:30 ` Jisheng Zhang
2013-10-17 6:37 ` [PATCH v2 " Sebastian Hesselbarth
2013-10-25 21:30 ` Sebastian Hesselbarth
2013-10-08 12:24 ` [PATCH 2/8] MAINTAINERS: add ARM Marvell Berlin SoC Sebastian Hesselbarth
2013-10-08 13:57 ` Jason Cooper
2013-10-08 12:24 ` [PATCH 3/8] ARM: l2x0: add Marvell Tauros3 compatible Sebastian Hesselbarth
2013-10-08 13:41 ` Mark Rutland
2013-10-08 16:05 ` Sebastian Hesselbarth
2013-10-08 16:33 ` Gregory CLEMENT
2013-10-09 8:50 ` Mark Rutland
2013-10-09 9:14 ` Gregory CLEMENT
2013-10-09 19:27 ` Sebastian Hesselbarth
2013-10-11 9:05 ` Lennert Buytenhek
2013-10-17 6:37 ` [PATCH v2 3/8] ARM: l2x0: add Marvell Tauros3 support Sebastian Hesselbarth
2013-10-08 12:24 ` [PATCH 4/8] ARM: add Marvell Berlin SoC familiy to Marvell doc Sebastian Hesselbarth
2013-10-14 23:09 ` Sebastian Hesselbarth
2013-10-15 3:10 ` Jisheng Zhang
2013-10-15 17:09 ` Sebastian Hesselbarth
2013-10-08 12:24 ` [PATCH 5/8] ARM: add Marvell Berlin and Armada 1500 to multi_v7_defconfig Sebastian Hesselbarth
2013-10-08 12:24 ` [PATCH 6/8] ARM: add Marvell Berlin UART0 lowlevel debug Sebastian Hesselbarth
2013-10-08 12:24 ` [PATCH 7/8] ARM: add Armada 1500 and Sony NSZ-GS7 device tree files Sebastian Hesselbarth
2013-10-14 23:13 ` Sebastian Hesselbarth
2013-10-14 23:18 ` Sebastian Hesselbarth
2013-10-15 3:06 ` Jisheng Zhang
2013-10-17 6:37 ` [PATCH v2 " Sebastian Hesselbarth
2013-10-08 12:24 ` [PATCH 8/8] ARM: add initial support for Marvell Berlin SoCs Sebastian Hesselbarth
2013-10-08 23:24 ` Dinh Nguyen
2013-10-09 7:08 ` Sebastian Hesselbarth
2013-10-09 3:20 ` Jisheng Zhang [this message]
2013-10-09 7:20 ` Sebastian Hesselbarth
2013-10-09 9:24 ` Gregory CLEMENT
2013-10-17 6:37 ` [PATCH v2 " Sebastian Hesselbarth
2013-11-05 14:28 ` [PATCH v3 0/9] ARM: Initial " Sebastian Hesselbarth
2013-11-05 14:28 ` [PATCH v3 1/9] irqchip: add DesignWare APB ICTL interrupt controller Sebastian Hesselbarth
2013-11-06 11:34 ` Thomas Gleixner
2013-11-05 14:28 ` [PATCH v3 2/9] MAINTAINERS: add ARM Marvell Berlin SoC Sebastian Hesselbarth
2013-11-05 14:28 ` [PATCH v3 3/9] ARM: l2x0: add Marvell Tauros3 support Sebastian Hesselbarth
2013-11-05 14:28 ` [PATCH v3 4/9] ARM: add Marvell Berlin SoC familiy to Marvell doc Sebastian Hesselbarth
2013-11-07 5:56 ` Jisheng Zhang
2013-11-07 10:12 ` Sebastian Hesselbarth
2013-11-05 14:28 ` [PATCH v3 5/9] ARM: add Marvell Berlin SoCs to multi_v7_defconfig Sebastian Hesselbarth
2013-11-05 14:28 ` [PATCH v3 6/9] ARM: add Marvell Berlin UART0 lowlevel debug Sebastian Hesselbarth
2013-11-05 14:28 ` [PATCH v3 7/9] ARM: add Armada 1500 and Sony NSZ-GS7 device tree files Sebastian Hesselbarth
2013-11-08 16:13 ` Kumar Gala
2013-11-08 16:57 ` Jason Cooper
2013-11-08 18:06 ` Kumar Gala
2013-11-08 18:24 ` Jason Cooper
2013-11-08 19:14 ` Olof Johansson
2013-11-08 19:17 ` Sebastian Hesselbarth
2013-11-08 19:19 ` Olof Johansson
2013-11-08 19:30 ` Jason Cooper
2013-11-08 20:10 ` Olof Johansson
2013-11-08 20:29 ` Jason Cooper
2013-11-08 19:15 ` Sebastian Hesselbarth
2013-11-05 14:28 ` [PATCH v3 8/9] ARM: add Armada 1500-mini and Chromecast " Sebastian Hesselbarth
2013-11-07 5:48 ` Jisheng Zhang
2013-11-07 10:12 ` Sebastian Hesselbarth
2013-11-05 14:28 ` [PATCH v3 9/9] ARM: add initial support for Marvell Berlin SoCs Sebastian Hesselbarth
2013-11-07 5:40 ` Jisheng Zhang
2013-11-07 7:01 ` Jisheng Zhang
2013-11-07 10:12 ` Sebastian Hesselbarth
2013-11-07 16:20 ` Arnd Bergmann
2013-11-07 21:22 ` Sebastian Hesselbarth
2013-11-07 22:11 ` Arnd Bergmann
2013-11-08 0:58 ` Jisheng Zhang
2013-11-08 8:54 ` Sebastian Hesselbarth
2013-12-08 14:13 ` [PATCH v4 0/9] ARM: Initial " Sebastian Hesselbarth
2013-12-08 14:13 ` [PATCH v4 1/9] irqchip: add DesignWare APB ICTL interrupt controller Sebastian Hesselbarth
2013-12-08 14:13 ` [PATCH v4 2/9] MAINTAINERS: add ARM Marvell Berlin SoC Sebastian Hesselbarth
2013-12-08 14:14 ` [PATCH v4 3/9] ARM: l2x0: add Marvell Tauros3 support Sebastian Hesselbarth
2013-12-08 14:14 ` [PATCH v4 4/9] ARM: add Marvell Berlin SoC familiy to Marvell doc Sebastian Hesselbarth
2013-12-08 14:14 ` [PATCH v4 5/9] ARM: add Marvell Berlin SoCs to multi_v7_defconfig Sebastian Hesselbarth
2013-12-08 14:14 ` [PATCH v4 6/9] ARM: add Marvell Berlin UART0 lowlevel debug Sebastian Hesselbarth
2013-12-08 14:14 ` [PATCH v4 7/9] ARM: add Armada 1500 and Sony NSZ-GS7 device tree files Sebastian Hesselbarth
2013-12-08 14:14 ` [PATCH v4 8/9] ARM: add Armada 1500-mini and Chromecast " Sebastian Hesselbarth
2013-12-08 14:14 ` [PATCH v4 9/9] ARM: add initial support for Marvell Berlin SoCs Sebastian Hesselbarth
2013-12-10 1:40 ` [PATCH v4 0/9] ARM: Initial " Olof Johansson
2013-12-10 1:57 ` Sebastian Hesselbarth
2013-12-10 19:16 ` Olof Johansson
2013-12-10 19:33 ` Arnd Bergmann
2013-12-10 19:38 ` Olof Johansson
2013-12-10 20:02 ` Sebastian Hesselbarth
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=20131009112058.683739d0@xhacker \
--to=jszhang@marvell.com \
--cc=arnd@arndb.de \
--cc=jason@lakedaemon.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=sebastian.hesselbarth@gmail.com \
--cc=thomas.petazzoni@free-electrons.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).