Realtek ARM64 based SoC DT for v4.12

This adds an initial DT for the RTD1295 SoC and a TV box based on it.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJZJrZhAAoJEPou0S0+fgE/jyUP/RNEdXDkFUCYlUaWgGbtH7us
 5vPSSQC+nyaNhHg+J3aGmnQsDV8znzGhrCS/RGH+OvGc4Nk8LPcp/qhX43pZDQ8x
 7N5vNiEJJUTV5SPtHInCWDOg9sUNOY/zhMBlDb1UbxbzS2o41frIU4a2KklYFNrf
 Hxh2gsZ433NYdDchMUXj9m3zui+l8XzjFXr6LRLRwfLrBV1GBETZvEFn9omyu7z4
 jz5JKPadvDP5ApsCFqkKrbFk9P3wCGRbE/SJXczh6sZS5zTn184JNswW1E/FM/c/
 EJJouuXSy5gkli4qwC21qCPNSZBTQ6lWXxX7nq8hYWw5cnZS/5RMPgveLblvukel
 OroFQKcQDrhve/jL4gD/9TDoijxwN5ZNhigB/1IwwhGxddUpEXcZyz6c9fPpJKMi
 5ZOYSue0iUUw/q4zUQztVZqBW0+bPRXrKWaBNo2numrZMGuGRVkwGMxgEUbYkFY8
 oSD0H7JnnqKbq/1amIFOIcA9FAB8/b1bsh7QKkaLAWioHWHqLlU8L/mExEcldwKE
 E50ZbUemUeKhBTnhMbwYWNepDDhWxIl2uSW/QLIthIFafkEXkkEfvE+cjqz+C5Nl
 WVfBAoNQpEbdGaKyyvt1rVHdBaB7XSqcEVokkGv388eXufzjU5BpNUUKB0KlytLQ
 pzufPd1vOdprUS2S62f/
 =vjlA
 -----END PGP SIGNATURE-----

Merge tag 'realtek-arm64-dt-for-4.12' of git://github.com/afaerber/linux into next/dt64

Realtek ARM64 based SoC DT for v4.12

This adds an initial DT for the RTD1295 SoC and a TV box based on it.

* tag 'realtek-arm64-dt-for-4.12' of git://github.com/afaerber/linux:
  ARM64: dts: Add Realtek RTD1295 and Zidoo X9S
  dt-bindings: arm: Add Realtek RTD1295 bindings
  dt-bindings: Add vendor prefix for Zidoo

Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2017-06-01 17:29:02 -07:00
commit 704ffd74e1
6 changed files with 200 additions and 0 deletions

View file

@ -0,0 +1,20 @@
Realtek platforms device tree bindings
--------------------------------------
RTD1295 SoC
===========
Required root node properties:
- compatible : must contain "realtek,rtd1295"
Root node property compatible must contain, depending on board:
- Zidoo X9S: "zidoo,x9s"
Example:
compatible = "zidoo,x9s", "realtek,rtd1295";

View file

@ -356,6 +356,7 @@ xlnx Xilinx
xunlong Shenzhen Xunlong Software CO.,Limited
zarlink Zarlink Semiconductor
zeitec ZEITEC Semiconductor Co., LTD.
zidoo Shenzhen Zidoo Technology Co., Ltd.
zii Zodiac Inflight Innovations
zte ZTE Corp.
zyxel ZyXEL Communications Corp.

View file

@ -14,6 +14,7 @@ dts-dirs += marvell
dts-dirs += mediatek
dts-dirs += nvidia
dts-dirs += qcom
dts-dirs += realtek
dts-dirs += renesas
dts-dirs += rockchip
dts-dirs += socionext

View file

@ -0,0 +1,5 @@
dtb-$(CONFIG_ARCH_REALTEK) += rtd1295-zidoo-x9s.dtb
always := $(dtb-y)
subdir-y := $(dts-dirs)
clean-files := *.dtb

View file

@ -0,0 +1,42 @@
/*
* Copyright (c) 2016-2017 Andreas Färber
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
/dts-v1/;
/memreserve/ 0x0000000000000000 0x0000000000030000;
/memreserve/ 0x000000000001f000 0x0000000000001000;
/memreserve/ 0x0000000000030000 0x00000000000d0000;
/memreserve/ 0x0000000001b00000 0x00000000004be000;
/memreserve/ 0x0000000001ffe000 0x0000000000004000;
#include "rtd1295.dtsi"
/ {
compatible = "zidoo,x9s", "realtek,rtd1295";
model = "Zidoo X9S";
memory@0 {
device_type = "memory";
reg = <0x0 0x80000000>;
};
aliases {
serial0 = &uart0;
serial1 = &uart1;
};
chosen {
stdout-path = "serial0:115200n8";
};
};
&uart0 {
status = "okay";
};
&uart1 {
status = "okay";
};

View file

@ -0,0 +1,131 @@
/*
* Realtek RTD1295 SoC
*
* Copyright (c) 2016-2017 Andreas Färber
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
#include <dt-bindings/interrupt-controller/arm-gic.h>
/ {
compatible = "realtek,rtd1295";
interrupt-parent = <&gic>;
#address-cells = <1>;
#size-cells = <1>;
cpus {
#address-cells = <2>;
#size-cells = <0>;
cpu0: cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a53", "arm,armv8";
reg = <0x0 0x0>;
next-level-cache = <&l2>;
};
cpu1: cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a53", "arm,armv8";
reg = <0x0 0x1>;
next-level-cache = <&l2>;
};
cpu2: cpu@2 {
device_type = "cpu";
compatible = "arm,cortex-a53", "arm,armv8";
reg = <0x0 0x2>;
next-level-cache = <&l2>;
};
cpu3: cpu@3 {
device_type = "cpu";
compatible = "arm,cortex-a53", "arm,armv8";
reg = <0x0 0x3>;
next-level-cache = <&l2>;
};
l2: l2-cache {
compatible = "cache";
};
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
tee@10100000 {
reg = <0x10100000 0xf00000>;
no-map;
};
};
arm-pmu {
compatible = "arm,cortex-a53-pmu";
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
};
timer {
compatible = "arm,armv8-timer";
interrupts = <GIC_PPI 13
(GIC_CPU_MASK_RAW(0xf) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 14
(GIC_CPU_MASK_RAW(0xf) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 11
(GIC_CPU_MASK_RAW(0xf) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 10
(GIC_CPU_MASK_RAW(0xf) | IRQ_TYPE_LEVEL_LOW)>;
};
soc {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
/* Exclude up to 2 GiB of RAM */
ranges = <0x80000000 0x80000000 0x80000000>;
uart0: serial@98007800 {
compatible = "snps,dw-apb-uart";
reg = <0x98007800 0x400>,
<0x98007000 0x100>;
reg-shift = <2>;
reg-io-width = <4>;
clock-frequency = <27000000>;
status = "disabled";
};
uart1: serial@9801b200 {
compatible = "snps,dw-apb-uart";
reg = <0x9801b200 0x100>,
<0x9801b00c 0x100>;
reg-shift = <2>;
reg-io-width = <4>;
clock-frequency = <432000000>;
status = "disabled";
};
uart2: serial@9801b400 {
compatible = "snps,dw-apb-uart";
reg = <0x9801b400 0x100>,
<0x9801b00c 0x100>;
reg-shift = <2>;
reg-io-width = <4>;
clock-frequency = <432000000>;
status = "disabled";
};
gic: interrupt-controller@ff011000 {
compatible = "arm,gic-400";
reg = <0xff011000 0x1000>,
<0xff012000 0x2000>,
<0xff014000 0x2000>,
<0xff016000 0x2000>;
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
interrupt-controller;
#interrupt-cells = <3>;
};
};
};