Renesas ARM64 Based SoC DT Updates for v4.5

* Initial support for Renesas ARM64 Based r8a7795 SoC and
   Salvator-X board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWTm0oAAoJENfPZGlqN0++n8EP/1Xg9Yx1KzY5Ss2yLviTFy7k
 1L0UpgYotdahDZr3x0QAeXNSEzJOyxjau9eg9+gwbuDxIYZNt8jO3tfAXzqcbNkv
 0X7m3BL7K5f1EOWEpaOq4pwdSkKTjPs3CycjS3lYJtI9WQj0lmsBVTuuF77CuZjr
 aZa432UCzdnZEs9B/YA4HkOVb3s1Y5pLeiD28NPDK/ZJE1lR0+of2sVgK1YuteXx
 pff13nOuOaYuU5mdkbhmE1Djkl6O4UTo8bJcK9ylzoht2dj672ftJuVA5bp5jox6
 I3O+x4NPoByGEGQ7cdg4kihqEbAcVEWm6GaXk6/3Kq+1KKafELY6F0ABsHmOANFk
 fjtq9PQjFPYO/ygrxN/4pDvr7u6WCOFWEk/SgfJKg1dVPZN54K0kcr5P1gggzDx8
 pgRg0h0Rnf4uSZCAtVmLMcoFWOb3ZKzHbmv5rUxgVXovMJiSBQrMQyfMnn/t+uVf
 PrTzJDR9/FodmvmJ2oKPkLuiH8MOUFaUiP91A2Se68ijCglIXZ65j6rGBZtsrrkQ
 hGIYu8HL43AWsAqVzrFQIFmT9cqQh728o3ahJtHn/XkqHmuO2D1Z8/MzdHnFybyy
 FCuma2pROhFfbj4T/dgd2IWFC3SgTVSP2HI5VLsdJ4uyEIEqjxCErc22rzawGB9C
 XK0fRUn6cy7jntdeKMN3
 =MVJ0
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm64-dt-for-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt64

Merge "Renesas ARM64 Based SoC DT Updates for v4.5" from Simon Horman:

* Initial support for Renesas ARM64 Based r8a7795 SoC and
  Salvator-X board

* tag 'renesas-arm64-dt-for-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  MAINTAINERS: Add entry for Renesas arm64 architecture
  arm64: renesas: add Salvator-X board support
  arm64: renesas: r8a7795: enable PFC
  arm64: renesas: r8a7795: Add all SCIF nodes
  arm64: renesas: r8a7795: Add dummy dma-controller nodes
  arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
This commit is contained in:
Arnd Bergmann 2015-12-12 00:49:59 +01:00
commit 63747d3c27
7 changed files with 270 additions and 0 deletions

View File

@ -27,6 +27,8 @@ SoCs:
compatible = "renesas,r8a7793"
- R-Car E2 (R8A77940)
compatible = "renesas,r8a7794"
- R-Car H3 (R8A77950)
compatible = "renesas,r8a7795"
Boards:
@ -57,5 +59,7 @@ Boards:
compatible = "renesas,marzen", "renesas,r8a7779"
- Porter (M2-LCDP)
compatible = "renesas,porter", "renesas,r8a7791"
- Salvator-X
compatible = "renesas,salvator-x", "renesas,r8a7795";
- SILK (RTP0RC7794LCB00011S)
compatible = "renesas,silk", "renesas,r8a7794"

View File

@ -1420,6 +1420,15 @@ M: Lennert Buytenhek <kernel@wantstofly.org>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Maintained
ARM/RENESAS ARM64 ARCHITECTURE
M: Simon Horman <horms@verge.net.au>
M: Magnus Damm <magnus.damm@gmail.com>
L: linux-sh@vger.kernel.org
Q: http://patchwork.kernel.org/project/linux-sh/list/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next
S: Supported
F: arch/arm64/boot/dts/renesas/
ARM/RISCPC ARCHITECTURE
M: Russell King <linux@arm.linux.org.uk>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)

View File

@ -67,6 +67,23 @@ config ARCH_SEATTLE
help
This enables support for AMD Seattle SOC Family
config ARCH_SHMOBILE
bool
config ARCH_RENESAS
bool "Renesas SoC Platforms"
select ARCH_SHMOBILE
select PINCTRL
select PM_GENERIC_DOMAINS if PM
help
This enables support for the ARMv8 based Renesas SoCs.
config ARCH_R8A7795
bool "Renesas R-Car H3 SoC Platform"
depends on ARCH_RENESAS
help
This enables support for the Renesas R-Car H3 SoC.
config ARCH_STRATIX10
bool "Altera's Stratix 10 SoCFPGA Family"
help

View File

@ -10,6 +10,7 @@ dts-dirs += hisilicon
dts-dirs += marvell
dts-dirs += mediatek
dts-dirs += qcom
dts-dirs += renesas
dts-dirs += rockchip
dts-dirs += sprd
dts-dirs += xilinx

View File

@ -0,0 +1,4 @@
dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb
always := $(dtb-y)
clean-files := *.dtb

View File

@ -0,0 +1,62 @@
/*
* Device Tree Source for the Salvator-X board
*
* Copyright (C) 2015 Renesas Electronics Corp.
*
* 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.
*/
/dts-v1/;
#include "r8a7795.dtsi"
/ {
model = "Renesas Salvator-X board based on r8a7795";
compatible = "renesas,salvator-x", "renesas,r8a7795";
aliases {
serial0 = &scif2;
serial1 = &scif1;
};
chosen {
bootargs = "ignore_loglevel";
stdout-path = "serial0:115200n8";
};
memory@48000000 {
device_type = "memory";
/* first 128MB is reserved for secure area. */
reg = <0x0 0x48000000 0x0 0x38000000>;
};
};
&extal_clk {
clock-frequency = <16666666>;
};
&pfc {
scif1_pins: scif1 {
renesas,groups = "scif1_data_a", "scif1_ctrl";
renesas,function = "scif1";
};
scif2_pins: scif2 {
renesas,groups = "scif2_data_a";
renesas,function = "scif2";
};
};
&scif1 {
pinctrl-0 = <&scif1_pins>;
pinctrl-names = "default";
status = "okay";
};
&scif2 {
pinctrl-0 = <&scif2_pins>;
pinctrl-names = "default";
status = "okay";
};

View File

@ -0,0 +1,173 @@
/*
* Device Tree Source for the r8a7795 SoC
*
* Copyright (C) 2015 Renesas Electronics Corp.
*
* 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 <dt-bindings/clock/r8a7795-cpg-mssr.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
/ {
compatible = "renesas,r8a7795";
#address-cells = <2>;
#size-cells = <2>;
cpus {
#address-cells = <1>;
#size-cells = <0>;
/* 1 core only at this point */
a57_0: cpu@0 {
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x0>;
device_type = "cpu";
};
};
extal_clk: extal {
compatible = "fixed-clock";
#clock-cells = <0>;
/* This value must be overridden by the board */
clock-frequency = <0>;
};
extalr_clk: extalr {
compatible = "fixed-clock";
#clock-cells = <0>;
/* This value must be overridden by the board */
clock-frequency = <0>;
};
soc {
compatible = "simple-bus";
interrupt-parent = <&gic>;
#address-cells = <2>;
#size-cells = <2>;
ranges;
gic: interrupt-controller@0xf1010000 {
compatible = "arm,gic-400";
#interrupt-cells = <3>;
#address-cells = <0>;
interrupt-controller;
reg = <0x0 0xf1010000 0 0x1000>,
<0x0 0xf1020000 0 0x2000>;
interrupts = <GIC_PPI 9
(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
};
timer {
compatible = "arm,armv8-timer";
interrupts = <GIC_PPI 13
(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 14
(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 11
(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 10
(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
};
cpg: clock-controller@e6150000 {
compatible = "renesas,r8a7795-cpg-mssr";
reg = <0 0xe6150000 0 0x1000>;
clocks = <&extal_clk>, <&extalr_clk>;
clock-names = "extal", "extalr";
#clock-cells = <2>;
#power-domain-cells = <0>;
};
pfc: pfc@e6060000 {
compatible = "renesas,pfc-r8a7795";
reg = <0 0xe6060000 0 0x50c>;
};
dmac0: dma-controller@e6700000 {
/* Empty node for now */
};
dmac1: dma-controller@e7300000 {
/* Empty node for now */
};
dmac2: dma-controller@e7310000 {
/* Empty node for now */
};
scif0: serial@e6e60000 {
compatible = "renesas,scif-r8a7795", "renesas,scif";
reg = <0 0xe6e60000 0 64>;
interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 207>;
clock-names = "sci_ick";
dmas = <&dmac1 0x51>, <&dmac1 0x50>;
dma-names = "tx", "rx";
power-domains = <&cpg>;
status = "disabled";
};
scif1: serial@e6e68000 {
compatible = "renesas,scif-r8a7795", "renesas,scif";
reg = <0 0xe6e68000 0 64>;
interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 206>;
clock-names = "sci_ick";
dmas = <&dmac1 0x53>, <&dmac1 0x52>;
dma-names = "tx", "rx";
power-domains = <&cpg>;
status = "disabled";
};
scif2: serial@e6e88000 {
compatible = "renesas,scif-r8a7795", "renesas,scif";
reg = <0 0xe6e88000 0 64>;
interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 310>;
clock-names = "sci_ick";
dmas = <&dmac1 0x13>, <&dmac1 0x12>;
dma-names = "tx", "rx";
power-domains = <&cpg>;
status = "disabled";
};
scif3: serial@e6c50000 {
compatible = "renesas,scif-r8a7795", "renesas,scif";
reg = <0 0xe6c50000 0 64>;
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 204>;
clock-names = "sci_ick";
dmas = <&dmac0 0x57>, <&dmac0 0x56>;
dma-names = "tx", "rx";
power-domains = <&cpg>;
status = "disabled";
};
scif4: serial@e6c40000 {
compatible = "renesas,scif-r8a7795", "renesas,scif";
reg = <0 0xe6c40000 0 64>;
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 203>;
clock-names = "sci_ick";
dmas = <&dmac0 0x59>, <&dmac0 0x58>;
dma-names = "tx", "rx";
power-domains = <&cpg>;
status = "disabled";
};
scif5: serial@e6f30000 {
compatible = "renesas,scif-r8a7795", "renesas,scif";
reg = <0 0xe6f30000 0 64>;
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 202>;
clock-names = "sci_ick";
dmas = <&dmac1 0x5b>, <&dmac1 0x5a>;
dma-names = "tx", "rx";
power-domains = <&cpg>;
status = "disabled";
};
};
};