public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Gregory CLEMENT <gregory.clement@free-electrons.com>
To: "Andreas Färber" <afaerber@suse.de>
Cc: linux-arm-kernel@lists.infradead.org,
	Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Jisheng Zhang <jszhang@marvell.com>,
	Daniel Mack <daniel@zonque.org>,
	Haojian Zhuang <haojian.zhuang@gmail.com>,
	Robert Jarzmik <robert.jarzmik@free.fr>,
	Eric Miao <eric.y.miao@gmail.com>,
	info@andromedabox.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH 0/4] ARM64: Initial Marvell IAP140 enablement
Date: Mon, 20 Feb 2017 14:17:46 +0100	[thread overview]
Message-ID: <87bmtxatmt.fsf@free-electrons.com> (raw)
In-Reply-To: <20170219032000.4674-1-afaerber@suse.de> ("Andreas Färber"'s message of "Sun, 19 Feb 2017 04:19:56 +0100")

Hi Andreas,
 
 On dim., févr. 19 2017, Andreas Färber <afaerber@suse.de> wrote:

> Hello,
>
> This mini-series adds initial support for the Marvell IAP140 SoC (aka PXA1908)
> and the Andromeda Box Edge development board.

Given the name of the SoC (PXA1908) and the fact that you reuse driver
related to PXA, for me these SoC is neither a mvebu nor a berlin SoC. So
just to avoid any misunderstanding, I don't mind being CC and possibly
doing review but I don't plan to take this patch ( I don't think the
berlin maintainer will do it too). 

>
> In order to enable the 8250 UART driver, it reuses ARCH_PXA; but some drivers
> enabled with ARCH_PXA don't build due to arm assembly or arm64's lack of mach-,
> so their dependencies need to be limited to ARM alongside (blacklisted). The
> alternative would of course be to choose a new ARCH_ symbol and to selectively
> add it to drivers known working (whitelisting). The latter would require
> finding a suitable name.

For this kind of issue you can have a look on what we did when
introducing mvebu SoC using ARM64.

Gregory

>
> Both earlycon and serial are working, but an explicit console=ttyS0,115200n8
> is needed; with just "earlycon" and stdout-path the earlycon stops early and
> switches to a tty0, long before disabling the bootconsole...
>
> All four CPUs come up, and an initrd can be reached.
>
> However, there are errors about CPUs 1-3 having a zero SYS_CNTFRQ_EL0:
>
> [    0.095812] smp: Bringing up secondary CPUs ...
> ======pxa1908_pmu_core_pwr_on: mpidr = 0x1
> ======pxa1908_pmu_core_pwr_on: mpidr = 0x2
> ======pxa1908_pmu_core_pwr_on: mpidr = 0x3
> [    0.133419] Detected VIPT I-cache on CPU1
> [    0.133430] CPU features: SANITY CHECK: Unexpected variation in SYS_CNTFRQ_EL0. Boot CPU: 0x000000018cba80, CPU1: 0x00000000000000
> [    0.133447] Unsupported CPU feature variation.
> ...
> [    0.133748] CPU1: Booted secondary processor [410fd032]
> [    0.165465] Detected VIPT I-cache on CPU2
> [    0.165474] CPU features: SANITY CHECK: Unexpected variation in SYS_CNTFRQ_EL0. Boot CPU: 0x000000018cba80, CPU2: 0x00000000000000
> [    0.165505] CPU2: Booted secondary processor [410fd032]
> [    0.197539] Detected VIPT I-cache on CPU3
> [    0.197546] CPU features: SANITY CHECK: Unexpected variation in SYS_CNTFRQ_EL0. Boot CPU: 0x000000018cba80, CPU3: 0x00000000000000
> [    0.197573] CPU3: Booted secondary processor [410fd032]
> [    0.197625] smp: Brought up 1 node, 4 CPUs
> [    0.522514] SMP: Total of 4 processors activated.
> [    0.527212] CPU features: detected feature: 32-bit EL0 Support
> [    0.533105] CPU: All CPU(s) started at EL2
>
> KVM appears to initialize okay, but was not yet tested with guests.
>
> [    0.865255] kvm [1]: 8-bit VMID
> [    0.868401] kvm [1]: IDMAP page: d23000
> [    0.872233] kvm [1]: HYP VA range: 800000000000:ffffffffffff
> [    0.878262] kvm [1]: Hyp mode initialized successfully
> [    0.883429] kvm [1]: vgic-v2@d1dfc000
> [    0.887179] kvm [1]: vgic interrupt IRQ1
> [    0.891120] kvm [1]: virtual timer IRQ4
>
> More Marvell drivers may be available in-tree for reuse - besides build errors
> the limitation is currently the lack of an IAP140 clk driver though. Patch 4/4
> works around that for UART0 with a fixed-clock.
>
> A 3.14 based tree is available on GitHub acorn-marvell/brillo_pxa_kernel. No
> driver comparisons to mainline have been attempted yet.
>
> Booting required changes to the vendor U-Boot,
> cf. https://en.opensuse.org/HCL:AndromedaBoxEdge
>
> https://github.com/afaerber/linux/commits/edge-next
>
> Have a lot of fun!
>
> Cheers,
> Andreas
>
> Cc: info@andromedabox.org
> Cc: devicetree@vger.kernel.org
>
> Andreas Färber (4):
>   ARM64: Prepare Marvell IAP140 aka PXA1908
>   Documentation: devicetree: arm: Document Marvell IAP140
>   ARM64: dts: marvell: Add IAP140 and Andromeda Box Edge
>   ARM64: dts: marvell: iap140-andromeda-box-edge: Add uart0 clock
>
>  .../devicetree/bindings/arm/marvell/iap140.txt     |   7 +
>  arch/arm64/Kconfig.platforms                       |   5 +
>  arch/arm64/boot/dts/marvell/Makefile               |   2 +
>  .../boot/dts/marvell/iap140-andromeda-box-edge.dts |  77 ++++++++
>  arch/arm64/boot/dts/marvell/iap140.dtsi            | 195 +++++++++++++++++++++
>  drivers/clk/Kconfig                                |   2 +-
>  drivers/mmc/host/Kconfig                           |   2 +-
>  drivers/tty/serial/Kconfig                         |   2 +-
>  8 files changed, 289 insertions(+), 3 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arm/marvell/iap140.txt
>  create mode 100644 arch/arm64/boot/dts/marvell/iap140-andromeda-box-edge.dts
>  create mode 100644 arch/arm64/boot/dts/marvell/iap140.dtsi
>
> -- 
> 2.10.2
>

-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

  parent reply	other threads:[~2017-02-20 13:18 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-19  3:19 [PATCH 0/4] ARM64: Initial Marvell IAP140 enablement Andreas Färber
2017-02-19  3:19 ` [PATCH 1/4] ARM64: Prepare Marvell IAP140 aka PXA1908 Andreas Färber
2017-03-14 16:30   ` Ulf Hansson
2017-03-14 18:10     ` Andreas Färber
2017-02-19  3:19 ` [PATCH 2/4] Documentation: devicetree: arm: Document Marvell IAP140 Andreas Färber
2017-02-20 12:56   ` Thomas Petazzoni
2017-02-20 13:16     ` Andreas Färber
2017-02-20 13:58       ` Thomas Petazzoni
2017-02-19  3:19 ` [PATCH 3/4] ARM64: dts: marvell: Add IAP140 and Andromeda Box Edge Andreas Färber
2017-02-19  3:20 ` [PATCH 4/4] ARM64: dts: marvell: iap140-andromeda-box-edge: Add uart0 clock Andreas Färber
2017-02-20 13:17 ` Gregory CLEMENT [this message]
2017-02-21 18:26   ` [PATCH 0/4] ARM64: Initial Marvell IAP140 enablement Andreas Färber
2017-02-21 19:19     ` Andrew Lunn
2017-02-21 22:26     ` Robert Jarzmik

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=87bmtxatmt.fsf@free-electrons.com \
    --to=gregory.clement@free-electrons.com \
    --cc=afaerber@suse.de \
    --cc=andrew@lunn.ch \
    --cc=daniel@zonque.org \
    --cc=devicetree@vger.kernel.org \
    --cc=eric.y.miao@gmail.com \
    --cc=haojian.zhuang@gmail.com \
    --cc=info@andromedabox.org \
    --cc=jason@lakedaemon.net \
    --cc=jszhang@marvell.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robert.jarzmik@free.fr \
    --cc=sebastian.hesselbarth@gmail.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