LKML Archive mirror
 help / color / mirror / Atom feed
From: Andre Przywara <andre.przywara@arm.com>
To: Maxime Ripard <maxime.ripard@free-electrons.com>,
	Chen-Yu Tsai <wens@csie.org>,
	linux-sunxi@googlegroups.com
Cc: Arnd Bergmann <arnd@arndb.de>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 00/11] arm64: Introduce Allwinner A64 and Pine64 support
Date: Mon,  1 Feb 2016 17:39:19 +0000	[thread overview]
Message-ID: <1454348370-3816-1-git-send-email-andre.przywara@arm.com> (raw)

Hi,

this series provides initial support for the Allwinner A64 SoC,
which is based on four ARM Cortex-A53 cores implementing the ARMv8
64-bit architecture.
On top of this there is also initial support for the Pine64 board,
for which you can find more information and links in the linux-sunxi
Wiki [1].
The resulting kernel boots fine on my development samples I have
here, though the actual boot process is a bit involved at the moment.
You can find more information and a ready-to-flash image here [2].

The first three patches fix warnings that appear when compiling some
existing Allwinner drivers for arm64.
Patch 4/11 enables the Allwinner/sunxi platform for the arm64
architecture, so one can select the required drivers during
configuration.
Patch 5/11 adds the (currently) inevitable pinctrl driver, this
addresses the comments I got from an earlier post and also fixes
the IRQ banking which I got wrong before.
Patch 6-9 pimp the sunxi clocks drivers to deal with the A64. It adds
a new generic driver for the bus clock gates which relies on DT for
providing the parent relationship. That makes adding new SoCs much
easier, since there should be no more kernel code changes necessary.
Also the sunxi mux clocks learns about the critical-clocks property,
again this moves a previously hard-coded information into the DT.
The final two patches eventually add the A64 .dtsi and the actual
dts files for the two Pine64 board variants.

In the moment we support the basic peripherals like GIC, timer, clocks,
GPIO and UART. The MMC support seems to fail to find the regulator at
the moment, I will send a follow up patch once this is fixed.
Meanwhile you can use an initrd to get to a prompt.

Please have a look and comment on the patches. We might want to split
the series if some patches seem too controversial for being merged
soonish, please let me know if this is the case and I am happy to
rearrange the series.

The patches are based on mripard/sunxi/for-next[3] as of yesterday
and can be found in the repo over here[4].

Cheers,
Andre

[1] http://linux-sunxi.org/Pine64
[2] https://github.com/apritzel/pine64
[3] https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/log/?h=sunxi/for-next
[4] https://github.com/apritzel/linux/commits/a64-v1

Andre Przywara (11):
  irqchip: sun4i: fix compilation outside of arch/arm
  crypto: sunxi-ss: prevent compilation on 64-bit
  drivers: rtc: allow compilation of sun6i RTC for all sunxi SoCs
  arm64: Introduce Allwinner SoC config option
  drivers: pinctrl: add driver for Allwinner A64 SoC
  clk: sunxi: add generic multi-parent bus clock gates driver
  clk: sunxi: add generic allwinner,sunxi name
  clk: sunxi: improve error reporting for the mux clock
  clk: sunxi: add critical-clocks property to mux clocks
  arm64: dts: add Allwinner A64 SoC .dtsi
  arm64: dts: add Pine64 support

 Documentation/devicetree/bindings/arm/sunxi.txt    |   5 +
 Documentation/devicetree/bindings/clock/sunxi.txt  |   1 +
 .../bindings/pinctrl/allwinner,sunxi-pinctrl.txt   |   1 +
 .../devicetree/bindings/vendor-prefixes.txt        |   1 +
 arch/arm64/Kconfig.platforms                       |   7 +
 arch/arm64/boot/dts/Makefile                       |   1 +
 arch/arm64/boot/dts/allwinner/Makefile             |   5 +
 arch/arm64/boot/dts/allwinner/a64.dtsi             | 583 ++++++++++++++++++++
 arch/arm64/boot/dts/allwinner/pine64.dts           |  58 ++
 arch/arm64/boot/dts/allwinner/pine64_common.dtsi   |  76 +++
 arch/arm64/boot/dts/allwinner/pine64_plus.dts      |  59 ++
 drivers/clk/sunxi/Makefile                         |   1 +
 drivers/clk/sunxi/clk-multi-gates.c                | 105 ++++
 drivers/clk/sunxi/clk-sunxi.c                      |  43 +-
 drivers/crypto/Kconfig                             |   2 +-
 drivers/irqchip/irq-sun4i.c                        |   1 -
 drivers/pinctrl/sunxi/Kconfig                      |   4 +
 drivers/pinctrl/sunxi/Makefile                     |   1 +
 drivers/pinctrl/sunxi/pinctrl-a64.c                | 606 +++++++++++++++++++++
 drivers/rtc/Kconfig                                |   7 +-
 20 files changed, 1550 insertions(+), 17 deletions(-)
 create mode 100644 arch/arm64/boot/dts/allwinner/Makefile
 create mode 100644 arch/arm64/boot/dts/allwinner/a64.dtsi
 create mode 100644 arch/arm64/boot/dts/allwinner/pine64.dts
 create mode 100644 arch/arm64/boot/dts/allwinner/pine64_common.dtsi
 create mode 100644 arch/arm64/boot/dts/allwinner/pine64_plus.dts
 create mode 100644 drivers/clk/sunxi/clk-multi-gates.c
 create mode 100644 drivers/pinctrl/sunxi/pinctrl-a64.c

-- 
2.6.4

             reply	other threads:[~2016-02-01 17:39 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-01 17:39 Andre Przywara [this message]
2016-02-01 17:39 ` [PATCH 01/11] irqchip: sun4i: fix compilation outside of arch/arm Andre Przywara
2016-02-02 14:51   ` [tip:irq/urgent] irqchip/sun4i: Fix compilation outside of arch/ arm tip-bot for Andre Przywara
2016-02-02 15:12   ` [PATCH 01/11] irqchip: sun4i: fix compilation outside of arch/arm Matthias Brugger
2016-02-02 15:32     ` Andre Przywara
2016-02-02 16:50       ` Matthias Brugger
2016-02-01 17:39 ` [PATCH 02/11] crypto: sunxi-ss: prevent compilation on 64-bit Andre Przywara
2016-02-02  3:16   ` Herbert Xu
2016-02-02  8:42   ` [linux-sunxi] " LABBE Corentin
2016-02-06  7:46   ` Herbert Xu
2016-02-01 17:39 ` [PATCH 03/11] drivers: rtc: allow compilation of sun6i RTC for all sunxi SoCs Andre Przywara
2016-02-02  9:44   ` Maxime Ripard
2016-02-04 22:58   ` Alexandre Belloni
2016-02-01 17:39 ` [PATCH 04/11] arm64: Introduce Allwinner SoC config option Andre Przywara
2016-02-02 15:20   ` Matthias Brugger
2016-02-02 15:30     ` Andre Przywara
2016-02-02 16:04       ` Arnd Bergmann
2016-02-01 17:39 ` [PATCH 05/11] drivers: pinctrl: add driver for Allwinner A64 SoC Andre Przywara
2016-02-01 18:27   ` Karsten Merker
2016-02-01 18:45     ` [linux-sunxi] " Karsten Merker
2016-02-01 23:02       ` André Przywara
2016-02-01 22:49     ` André Przywara
2016-02-02  1:58       ` [linux-sunxi] " Siarhei Siamashka
2016-02-02 14:24         ` Andre Przywara
2016-02-02 17:37         ` Maxime Ripard
2016-02-02 10:00       ` Maxime Ripard
2016-02-02 10:09         ` Chen-Yu Tsai
2016-02-02 16:53         ` Andre Przywara
2016-02-04 16:51           ` Maxime Ripard
2016-02-08 15:54             ` Rob Herring
2016-02-08 15:58               ` Andre Przywara
2016-02-09 17:12                 ` Maxime Ripard
2016-02-01 17:39 ` [PATCH 06/11] clk: sunxi: add generic multi-parent bus clock gates driver Andre Przywara
2016-02-01 18:40   ` Jean-Francois Moine
2016-02-01 23:01     ` André Przywara
2016-02-01 17:39 ` [PATCH 07/11] clk: sunxi: add generic allwinner,sunxi name Andre Przywara
2016-02-08 15:57   ` Rob Herring
2016-02-08 16:06     ` Andre Przywara
2016-02-01 17:39 ` [PATCH 08/11] clk: sunxi: improve error reporting for the mux clock Andre Przywara
2016-02-02 18:02   ` Maxime Ripard
2016-02-02 18:05     ` Andre Przywara
2016-02-01 17:39 ` [PATCH 09/11] clk: sunxi: add critical-clocks property to mux clocks Andre Przywara
2016-02-01 17:39 ` [PATCH 10/11] arm64: dts: add Allwinner A64 SoC .dtsi Andre Przywara
2016-02-01 19:05   ` [linux-sunxi] " Karsten Merker
2016-02-01 23:03     ` André Przywara
2016-02-02 16:24   ` Jens Kuske
2016-02-02 16:46     ` Andre Przywara
2016-02-02 17:40       ` Jens Kuske
2016-02-05  8:55       ` Chen-Yu Tsai
2016-02-05  8:50   ` Maxime Ripard
2016-02-08  9:42     ` Andre Przywara
2016-02-23 18:45       ` Maxime Ripard
2016-02-01 17:39 ` [PATCH 11/11] arm64: dts: add Pine64 support Andre Przywara
2016-02-01 19:22   ` [linux-sunxi] " Karsten Merker
2016-02-01 23:04     ` André Przywara
2016-02-05  9:03   ` Maxime Ripard
2016-02-05 10:04     ` Andre Przywara
2016-02-08  0:55       ` [linux-sunxi] " Julian Calaby
2016-02-09 20:33         ` Danny Milosavljevic
2016-02-11 10:32       ` Maxime Ripard
2016-02-02  7:57 ` [PATCH 00/11] arm64: Introduce Allwinner A64 and " lists.nick.betteridge
2016-02-02  8:12   ` André Przywara

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=1454348370-3816-1-git-send-email-andre.przywara@arm.com \
    --to=andre.przywara@arm.com \
    --cc=arnd@arndb.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=maxime.ripard@free-electrons.com \
    --cc=wens@csie.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is 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 read-only IMAP folder(s) and NNTP newsgroup(s).