aboutsummaryrefslogtreecommitdiffstats
path: root/main/linux-vanilla/0001-Add-dts-for-GIGABYTE-X-Gene-MP30-AR0.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/linux-vanilla/0001-Add-dts-for-GIGABYTE-X-Gene-MP30-AR0.patch')
-rw-r--r--main/linux-vanilla/0001-Add-dts-for-GIGABYTE-X-Gene-MP30-AR0.patch786
1 files changed, 786 insertions, 0 deletions
diff --git a/main/linux-vanilla/0001-Add-dts-for-GIGABYTE-X-Gene-MP30-AR0.patch b/main/linux-vanilla/0001-Add-dts-for-GIGABYTE-X-Gene-MP30-AR0.patch
new file mode 100644
index 0000000000..b22d04ec17
--- /dev/null
+++ b/main/linux-vanilla/0001-Add-dts-for-GIGABYTE-X-Gene-MP30-AR0.patch
@@ -0,0 +1,786 @@
+From e9614bce69232e6e571a706d8744198d284c0789 Mon Sep 17 00:00:00 2001
+From: Carlo Landmeter <clandmeter@gmail.com>
+Date: Fri, 5 Aug 2016 14:00:54 +0000
+Subject: [PATCH] Add dts for GIGABYTE X-Gene MP30-AR0
+
+---
+ arch/arm64/boot/dts/apm/Makefile | 1 +
+ arch/arm64/boot/dts/apm/apm-mp30ar0.dts | 179 +++++++++++++++++
+ arch/arm64/boot/dts/apm/apm-storm.dtsi | 336 +++++++++++++++++++++++++++++---
+ 3 files changed, 485 insertions(+), 31 deletions(-)
+ create mode 100644 arch/arm64/boot/dts/apm/apm-mp30ar0.dts
+
+diff --git a/arch/arm64/boot/dts/apm/Makefile b/arch/arm64/boot/dts/apm/Makefile
+index c75f17a4..2582444 100644
+--- a/arch/arm64/boot/dts/apm/Makefile
++++ b/arch/arm64/boot/dts/apm/Makefile
+@@ -1,5 +1,6 @@
+ dtb-$(CONFIG_ARCH_XGENE) += apm-mustang.dtb
+ dtb-$(CONFIG_ARCH_XGENE) += apm-merlin.dtb
++dtb-$(CONFIG_ARCH_XGENE) += apm-mp30ar0.dtb
+
+ always := $(dtb-y)
+ subdir-y := $(dts-dirs)
+diff --git a/arch/arm64/boot/dts/apm/apm-mp30ar0.dts b/arch/arm64/boot/dts/apm/apm-mp30ar0.dts
+new file mode 100644
+index 0000000..841e614
+--- /dev/null
++++ b/arch/arm64/boot/dts/apm/apm-mp30ar0.dts
+@@ -0,0 +1,179 @@
++/*
++ * dts file for AppliedMicro (APM) Mustang Board
++ *
++ * Copyright (C) 2013, Applied Micro Circuits Corporation
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ */
++
++/dts-v1/;
++
++/include/ "apm-storm.dtsi"
++
++/ {
++ model = "Gigabyte X-Gene MP30-AR0 board";
++ compatible = "apm,mustang", "apm,xgene-storm";
++
++ chosen { };
++
++ aliases {
++ ethernet0 = &sgenet0;
++ };
++
++ memory {
++ device_type = "memory";
++ reg = < 0x1 0x00000000 0x0 0x80000000 >; /* Updated by bootloader */
++ };
++
++ poweroff_mbox: poweroff_mbox@10548000 {
++ compatible = "syscon";
++ reg = <0x0 0x10548000 0x0 0x30>;
++ };
++
++ poweroff: poweroff@10548010 {
++ compatible = "syscon-poweroff";
++ regmap = <&poweroff_mbox>;
++ offset = <0x10>;
++ mask = <0x1>;
++ };
++
++ cpus {
++ cpu@000 {
++ cpu-release-addr = <0x0 0x80008008>;
++ };
++ cpu@001 {
++ cpu-release-addr = <0x0 0x80009008>;
++ };
++ cpu@100 {
++ cpu-release-addr = <0x0 0x8000A008>;
++ };
++ cpu@101 {
++ cpu-release-addr = <0x0 0x8000B008>;
++ };
++ cpu@200 {
++ cpu-release-addr = <0x0 0x8000C008>;
++ };
++ cpu@201 {
++ cpu-release-addr = <0x0 0x8000D008>;
++ };
++ cpu@300 {
++ cpu-release-addr = <0x0 0x8000E008>;
++ };
++ cpu@301 {
++ cpu-release-addr = <0x0 0x8000F008>;
++ };
++ };
++};
++
++/delete-node/&sataphy2clk;
++/delete-node/&sataphy3clk;
++/delete-node/&sata23clk;
++/delete-node/&sata45clk;
++
++&phy2 {
++ /delete-property/clocks;
++};
++
++&phy3 {
++ /delete-property/clocks;
++};
++
++&sata2 {
++ /delete-property/clocks;
++ /delete-property/phys;
++ /delete-property/phy-names;
++};
++
++&sata3 {
++ /delete-property/clocks;
++ /delete-property/phys;
++ /delete-property/phy-names;
++};
++
++&pcie0clk {
++ status = "ok";
++};
++
++&pcie0 {
++ status = "ok";
++};
++
++&pcie2clk {
++ status = "ok";
++};
++
++&pcie2 {
++ status = "ok";
++};
++
++&pcie3clk {
++ status = "ok";
++};
++
++&pcie3 {
++ status = "ok";
++};
++
++&serial0 {
++ clock-frequency = <50000000>;
++ status = "ok";
++};
++
++&serial1 {
++ clock-frequency = <50000000>;
++ status = "ok";
++};
++
++&serial2 {
++ clock-frequency = <50000000>;
++ status = "ok";
++};
++
++&serial3 {
++ clock-frequency = <50000000>;
++ status = "ok";
++};
++
++&menet {
++ status = "disabled";
++};
++
++&sgenet0 {
++ status = "ok";
++};
++
++&sgenet1 {
++ status = "ok";
++};
++
++&xgenet {
++ status = "ok";
++ sfp-gpios = <&sbgpio 12 1>;
++ rxlos-gpios = <&sbgpio 9 1>;
++};
++
++&xgenet1 {
++ status = "ok";
++ sfp-gpios = <&sbgpio 13 1>;
++ rxlos-gpios = <&sbgpio 11 1>;
++};
++
++&sbgpio {
++ interrupts = <0x0 0x28 0x1>,
++ <0x0 0x2a 0x1>;
++};
++
++&mmc0 {
++ status = "ok";
++};
++
++&usb0 {
++ status = "ok";
++};
++
++&usb1 {
++ status = "ok";
++};
+diff --git a/arch/arm64/boot/dts/apm/apm-storm.dtsi b/arch/arm64/boot/dts/apm/apm-storm.dtsi
+index 6c5ed11..4cfd5c0 100644
+--- a/arch/arm64/boot/dts/apm/apm-storm.dtsi
++++ b/arch/arm64/boot/dts/apm/apm-storm.dtsi
+@@ -25,6 +25,7 @@
+ reg = <0x0 0x000>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0x1 0x0000fff8>;
++ next-level-cache = <&xgene_L2_0>;
+ };
+ cpu@001 {
+ device_type = "cpu";
+@@ -32,6 +33,7 @@
+ reg = <0x0 0x001>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0x1 0x0000fff8>;
++ next-level-cache = <&xgene_L2_0>;
+ };
+ cpu@100 {
+ device_type = "cpu";
+@@ -39,6 +41,7 @@
+ reg = <0x0 0x100>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0x1 0x0000fff8>;
++ next-level-cache = <&xgene_L2_1>;
+ };
+ cpu@101 {
+ device_type = "cpu";
+@@ -46,6 +49,7 @@
+ reg = <0x0 0x101>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0x1 0x0000fff8>;
++ next-level-cache = <&xgene_L2_1>;
+ };
+ cpu@200 {
+ device_type = "cpu";
+@@ -53,6 +57,7 @@
+ reg = <0x0 0x200>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0x1 0x0000fff8>;
++ next-level-cache = <&xgene_L2_2>;
+ };
+ cpu@201 {
+ device_type = "cpu";
+@@ -60,6 +65,7 @@
+ reg = <0x0 0x201>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0x1 0x0000fff8>;
++ next-level-cache = <&xgene_L2_2>;
+ };
+ cpu@300 {
+ device_type = "cpu";
+@@ -67,6 +73,7 @@
+ reg = <0x0 0x300>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0x1 0x0000fff8>;
++ next-level-cache = <&xgene_L2_3>;
+ };
+ cpu@301 {
+ device_type = "cpu";
+@@ -74,6 +81,19 @@
+ reg = <0x0 0x301>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0x1 0x0000fff8>;
++ next-level-cache = <&xgene_L2_3>;
++ };
++ xgene_L2_0: l2-cache-0 {
++ compatible = "cache";
++ };
++ xgene_L2_1: l2-cache-1 {
++ compatible = "cache";
++ };
++ xgene_L2_2: l2-cache-2 {
++ compatible = "cache";
++ };
++ xgene_L2_3: l2-cache-3 {
++ compatible = "cache";
+ };
+ };
+
+@@ -81,10 +101,10 @@
+ compatible = "arm,cortex-a15-gic";
+ #interrupt-cells = <3>;
+ interrupt-controller;
+- reg = <0x0 0x78010000 0x0 0x1000>, /* GIC Dist */
+- <0x0 0x78020000 0x0 0x1000>, /* GIC CPU */
+- <0x0 0x78040000 0x0 0x2000>, /* GIC VCPU Control */
+- <0x0 0x78060000 0x0 0x2000>; /* GIC VCPU */
++ reg = <0x0 0x78090000 0x0 0x10000>, /* GIC Dist */
++ <0x0 0x780a0000 0x0 0x20000>, /* GIC CPU */
++ <0x0 0x780c0000 0x0 0x10000>, /* GIC VCPU Control */
++ <0x0 0x780e0000 0x0 0x20000>; /* GIC VCPU */
+ interrupts = <1 9 0xf04>; /* GIC Maintenence IRQ */
+ };
+
+@@ -98,7 +118,7 @@
+ };
+
+ pmu {
+- compatible = "apm,potenza-pmu", "arm,armv8-pmuv3";
++ compatible = "apm,potenza-pmu", "arm,armv8-pmuv3", "apm,xgene-pmu-v2";
+ interrupts = <1 12 0xff04>;
+ };
+
+@@ -150,14 +170,33 @@
+ clock-output-names = "socplldiv2";
+ };
+
+- qmlclk: qmlclk {
++ ahbclk: ahbclk@17000000 {
+ compatible = "apm,xgene-device-clock";
+ #clock-cells = <1>;
+ clocks = <&socplldiv2 0>;
+- clock-names = "qmlclk";
+- reg = <0x0 0x1703C000 0x0 0x1000>;
+- reg-names = "csr-reg";
+- clock-output-names = "qmlclk";
++ reg = <0x0 0x17000000 0x0 0x2000>;
++ reg-names = "div-reg";
++ divider-offset = <0x164>;
++ divider-width = <0x5>;
++ divider-shift = <0x0>;
++ clock-output-names = "ahbclk";
++ };
++
++ sdioclk: sdioclk@1f2ac000 {
++ compatible = "apm,xgene-device-clock";
++ #clock-cells = <1>;
++ clocks = <&socplldiv2 0>;
++ reg = <0x0 0x1f2ac000 0x0 0x1000
++ 0x0 0x17000000 0x0 0x2000>;
++ reg-names = "csr-reg", "div-reg";
++ csr-offset = <0x0>;
++ csr-mask = <0x2>;
++ enable-offset = <0x8>;
++ enable-mask = <0x2>;
++ divider-offset = <0x178>;
++ divider-width = <0x8>;
++ divider-shift = <0x0>;
++ clock-output-names = "sdioclk";
+ };
+
+ ethclk: ethclk {
+@@ -177,7 +216,8 @@
+ compatible = "apm,xgene-device-clock";
+ #clock-cells = <1>;
+ clocks = <&ethclk 0>;
+- reg = <0x0 0x1702C000 0x0 0x1000>;
++ clock-names = "menetclk";
++ reg = <0x0 0x1702c000 0x0 0x1000>;
+ reg-names = "csr-reg";
+ clock-output-names = "menetclk";
+ };
+@@ -388,11 +428,21 @@
+ reg-names = "csr-reg";
+ clock-output-names = "dmaclk";
+ };
++
++ cryptoclk: cryptoclk@1f25c000 {
++ compatible = "apm,xgene-device-clock";
++ #clock-cells = <1>;
++ clocks = <&socplldiv2 0>;
++ reg = <0x0 0x1f25c000 0x0 0x1000>;
++ reg-names = "csr-reg";
++ clock-output-names = "cryptoclk";
++ };
+ };
+
+ msi: msi@79000000 {
+- compatible = "apm,xgene1-msi";
++ compatible = "xgene,gic-msi", "apm,xgene1-msi";
+ msi-controller;
++ msi-available-ranges = <0x0 0x1000>;
+ reg = <0x00 0x79000000 0x0 0x900000>;
+ interrupts = < 0x0 0x10 0x4
+ 0x0 0x11 0x4
+@@ -444,6 +494,11 @@
+ reg = <0x0 0x1054a000 0x0 0x20>;
+ };
+
++ rb: rb@7e000000 {
++ compatible = "apm,xgene-rb", "syscon";
++ reg = <0x0 0x7e000000 0x0 0x10>;
++ };
++
+ edac@78800000 {
+ compatible = "apm,xgene-edac";
+ #address-cells = <2>;
+@@ -453,6 +508,7 @@
+ regmap-mcba = <&mcba>;
+ regmap-mcbb = <&mcbb>;
+ regmap-efuse = <&efuse>;
++ regmap-rb = <&rb>;
+ reg = <0x0 0x78800000 0x0 0x100>;
+ interrupts = <0x0 0x20 0x4>,
+ <0x0 0x21 0x4>,
+@@ -517,6 +573,64 @@
+ };
+ };
+
++ pmu: pmu@78810000 {
++ compatible = "apm,xgene-pmu-v2";
++ #address-cells = <2>;
++ #size-cells = <2>;
++ ranges;
++ regmap-csw = <&csw>;
++ regmap-mcba = <&mcba>;
++ regmap-mcbb = <&mcbb>;
++ reg = <0x0 0x78810000 0x0 0x1000>;
++ interrupts = <0x0 0x22 0x4>;
++ };
++
++ pmul3c@7e610000 {
++ compatible = "apm,xgene-pmu-l3c";
++ reg = <0x0 0x7e610000 0x0 0x1000>;
++ };
++
++ pmuiob@7e940000 {
++ compatible = "apm,xgene-pmu-iob";
++ reg = <0x0 0x7e940000 0x0 0x1000>;
++ };
++
++ pmucmcb@7e710000 {
++ compatible = "apm,xgene-pmu-mcb";
++ reg = <0x0 0x7e710000 0x0 0x1000>;
++ memory-controller-bridge = <0>;
++ };
++
++ pmucmcb@7e730000 {
++ compatible = "apm,xgene-pmu-mcb";
++ reg = <0x0 0x7e730000 0x0 0x1000>;
++ memory-controller-bridge = <1>;
++ };
++
++ pmucmc@7e810000 {
++ compatible = "apm,xgene-pmu-mc";
++ reg = <0x0 0x7e810000 0x0 0x1000>;
++ memory-controller = <0>;
++ };
++
++ pmucmc@7e850000 {
++ compatible = "apm,xgene-pmu-mc";
++ reg = <0x0 0x7e850000 0x0 0x1000>;
++ memory-controller = <1>;
++ };
++
++ pmucmc@7e890000 {
++ compatible = "apm,xgene-pmu-mc";
++ reg = <0x0 0x7e890000 0x0 0x1000>;
++ memory-controller = <2>;
++ };
++
++ pmucmc@7e8d0000 {
++ compatible = "apm,xgene-pmu-mc";
++ reg = <0x0 0x7e8d0000 0x0 0x1000>;
++ memory-controller = <3>;
++ };
++
+ pcie0: pcie@1f2b0000 {
+ status = "disabled";
+ device_type = "pci";
+@@ -532,6 +646,8 @@
+ 0x43000000 0xf0 0x00000000 0xf0 0x00000000 0x10 0x00000000>; /* mem */
+ dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
+ 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
++ ib-ranges = <0x42000000 0x40 0x00000000 0x40 0x00000000 0x40 0x00000000 /* dma */
++ 0x00000000 0x0 0x79000000 0x00 0x79000000 0x0 0x00800000>; /* msi */
+ interrupt-map-mask = <0x0 0x0 0x0 0x7>;
+ interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1
+ 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1
+@@ -557,6 +673,8 @@
+ 0x43000000 0xd8 0x00000000 0xd8 0x00000000 0x08 0x00000000>; /* mem */
+ dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
+ 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
++ ib-ranges = <0x42000000 0x40 0x00000000 0x40 0x00000000 0x40 0x00000000 /* dma */
++ 0x00000000 0x0 0x79000000 0x00 0x79000000 0x0 0x00800000>; /* msi */
+ interrupt-map-mask = <0x0 0x0 0x0 0x7>;
+ interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1
+ 0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1
+@@ -582,6 +700,8 @@
+ 0x43000000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>; /* mem */
+ dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
+ 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
++ ib-ranges = <0x42000000 0x40 0x00000000 0x40 0x00000000 0x40 0x00000000 /* dma */
++ 0x00000000 0x0 0x79000000 0x00 0x79000000 0x0 0x00800000>; /* msi */
+ interrupt-map-mask = <0x0 0x0 0x0 0x7>;
+ interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1
+ 0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1
+@@ -607,6 +727,8 @@
+ 0x43000000 0xb0 0x00000000 0xb0 0x00000000 0x10 0x00000000>; /* mem */
+ dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
+ 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
++ ib-ranges = <0x42000000 0x40 0x00000000 0x40 0x00000000 0x40 0x00000000 /* dma */
++ 0x00000000 0x0 0x79000000 0x00 0x79000000 0x0 0x00800000>; /* msi */
+ interrupt-map-mask = <0x0 0x0 0x0 0x7>;
+ interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1
+ 0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1
+@@ -632,6 +754,8 @@
+ 0x43000000 0xc8 0x00000000 0xc8 0x00000000 0x08 0x00000000>; /* mem */
+ dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
+ 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
++ ib-ranges = <0x42000000 0x40 0x00000000 0x40 0x00000000 0x40 0x00000000 /* dma */
++ 0x00000000 0x0 0x79000000 0x00 0x79000000 0x0 0x00800000>; /* msi */
+ interrupt-map-mask = <0x0 0x0 0x0 0x7>;
+ interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1
+ 0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1
+@@ -642,6 +766,30 @@
+ msi-parent = <&msi>;
+ };
+
++ mailbox: mailbox@10540000 {
++ compatible = "apm,xgene-slimpro-mbox";
++ reg = <0x0 0x10540000 0x0 0xa000>;
++ #mbox-cells = <1>;
++ interrupts = <0x0 0x0 0x4>,
++ <0x0 0x1 0x4>,
++ <0x0 0x2 0x4>,
++ <0x0 0x3 0x4>,
++ <0x0 0x4 0x4>,
++ <0x0 0x5 0x4>,
++ <0x0 0x6 0x4>,
++ <0x0 0x7 0x4>;
++ };
++
++ i2cslimpro {
++ compatible = "apm,xgene-slimpro-i2c";
++ mboxes = <&mailbox 0>;
++ };
++
++ hwmonslimpro {
++ compatible = "apm,xgene-slimpro-hwmon";
++ mboxes = <&mailbox 7>;
++ };
++
+ serial0: serial@1c020000 {
+ status = "disabled";
+ device_type = "serial";
+@@ -686,6 +834,62 @@
+ interrupts = <0x0 0x4f 0x4>;
+ };
+
++ mmc0: mmc@1c000000 {
++ status = "disabled";
++ compatible = "apm,xgene-sdhci", "arasan,sdhci-4.9a";
++ reg = <0x0 0x1c000000 0x0 0x100>;
++ interrupts = <0x0 0x49 0x4>;
++ dma-coherent;
++ no-1-8-v;
++ clock-names = "clk_xin", "clk_ahb";
++ clocks = <&sdioclk 0>, <&ahbclk 0>;
++ };
++
++ mmc1: mmc@1c000100 {
++ status = "disabled";
++ compatible = "apm,xgene-sdhci", "arasan,sdhci-4.9a";
++ reg = <0x0 0x1c000100 0x0 0x100>;
++ interrupts = <0x0 0x49 0x4>;
++ dma-coherent;
++ no-1-8-v;
++ clock-names = "clk_xin", "clk_ahb";
++ clocks = <&sdioclk 0>, <&ahbclk 0>;
++ };
++
++ gfcgpio: gpio0@1701c000 {
++ compatible = "apm,xgene-gpio";
++ reg = <0x0 0x1701c000 0x0 0x40>;
++ gpio-controller;
++ #gpio-cells = <2>;
++ };
++
++ dwgpio: gpio@1c024000 {
++ compatible = "snps,dw-apb-gpio";
++ reg = <0x0 0x1c024000 0x0 0x1000>;
++ reg-io-width = <4>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ porta: gpio-controller@0 {
++ compatible = "snps,dw-apb-gpio-port";
++ gpio-controller;
++ snps,nr-gpios = <32>;
++ reg = <0>;
++ };
++ };
++
++ i2c0: i2c@10512000 {
++ status = "disabled";
++ #address-cells = <1>;
++ #size-cells = <0>;
++ compatible = "snps,designware-i2c";
++ reg = <0x0 0x10512000 0x0 0x1000>;
++ interrupts = <0 0x44 0x4>;
++ #clock-cells = <1>;
++ clocks = <&ahbclk 0>;
++ bus_num = <0>;
++ };
++
+ phy1: phy@1f21a000 {
+ compatible = "apm,xgene-phy";
+ reg = <0x0 0x1f21a000 0x0 0x100>;
+@@ -760,7 +964,26 @@
+ phy-names = "sata-phy";
+ };
+
+- sbgpio: sbgpio@17001000{
++ /* Do not change dwusb name, coded for backward compatibility */
++ usb0: dwusb@19000000 {
++ status = "disabled";
++ compatible = "xhci-platform";
++ reg = <0x0 0x19000000 0x0 0x100000>;
++ interrupts = <0x0 0x89 0x4>;
++ dma-coherent;
++ dr_mode = "host";
++ };
++
++ usb1: dwusb@19800000 {
++ status = "disabled";
++ compatible = "xhci-platform";
++ reg = <0x0 0x19800000 0x0 0x100000>;
++ interrupts = <0x0 0x8a 0x4>;
++ dma-coherent;
++ dr_mode = "host";
++ };
++
++ sbgpio: gpio@17001000{
+ compatible = "apm,xgene-gpio-sb";
+ reg = <0x0 0x17001000 0x0 0x400>;
+ #gpio-cells = <2>;
+@@ -771,6 +994,9 @@
+ <0x0 0x2b 0x1>,
+ <0x0 0x2c 0x1>,
+ <0x0 0x2d 0x1>;
++ interrupt-parent = <&gic>;
++ #interrupt-cells = <2>;
++ interrupt-controller;
+ };
+
+ rtc: rtc@10510000 {
+@@ -785,8 +1011,8 @@
+ compatible = "apm,xgene-enet";
+ status = "disabled";
+ reg = <0x0 0x17020000 0x0 0xd100>,
+- <0x0 0X17030000 0x0 0Xc300>,
+- <0x0 0X10000000 0x0 0X200>;
++ <0x0 0x17030000 0x0 0xc300>,
++ <0x0 0x10000000 0x0 0x200>;
+ reg-names = "enet_csr", "ring_csr", "ring_cmd";
+ interrupts = <0x0 0x3c 0x4>;
+ dma-coherent;
+@@ -803,7 +1029,6 @@
+ compatible = "ethernet-phy-id001c.c915";
+ reg = <0x3>;
+ };
+-
+ };
+ };
+
+@@ -811,11 +1036,17 @@
+ compatible = "apm,xgene1-sgenet";
+ status = "disabled";
+ reg = <0x0 0x1f210000 0x0 0xd100>,
+- <0x0 0x1f200000 0x0 0Xc300>,
+- <0x0 0x1B000000 0x0 0X200>;
++ <0x0 0x1f200000 0x0 0xc300>,
++ <0x0 0x1b000000 0x0 0x200>;
+ reg-names = "enet_csr", "ring_csr", "ring_cmd";
+- interrupts = <0x0 0xA0 0x4>,
+- <0x0 0xA1 0x4>;
++ interrupts = <0x0 0xa0 0x4>,
++ <0x0 0xa1 0x4>,
++ <0x0 0xa2 0x4>,
++ <0x0 0xa3 0x4>,
++ <0x0 0xa4 0x4>,
++ <0x0 0xa5 0x4>,
++ <0x0 0xa6 0x4>,
++ <0x0 0xa7 0x4>;
+ dma-coherent;
+ clocks = <&sge0clk 0>;
+ local-mac-address = [00 00 00 00 00 00];
+@@ -826,11 +1057,17 @@
+ compatible = "apm,xgene1-sgenet";
+ status = "disabled";
+ reg = <0x0 0x1f210030 0x0 0xd100>,
+- <0x0 0x1f200000 0x0 0Xc300>,
+- <0x0 0x1B000000 0x0 0X8000>;
++ <0x0 0x1f200000 0x0 0xc300>,
++ <0x0 0x1b000000 0x0 0x8000>;
+ reg-names = "enet_csr", "ring_csr", "ring_cmd";
+- interrupts = <0x0 0xAC 0x4>,
+- <0x0 0xAD 0x4>;
++ interrupts = <0x0 0xac 0x4>,
++ <0x0 0xad 0x4>,
++ <0x0 0xae 0x4>,
++ <0x0 0xaf 0x4>,
++ <0x0 0xb0 0x4>,
++ <0x0 0xb1 0x4>,
++ <0x0 0xb2 0x4>,
++ <0x0 0xb3 0x4>;
+ port-id = <1>;
+ dma-coherent;
+ clocks = <&sge1clk 0>;
+@@ -842,11 +1079,18 @@
+ compatible = "apm,xgene1-xgenet";
+ status = "disabled";
+ reg = <0x0 0x1f610000 0x0 0xd100>,
+- <0x0 0x1f600000 0x0 0Xc300>,
+- <0x0 0x18000000 0x0 0X200>;
++ <0x0 0x1f600000 0x0 0xc300>,
++ <0x0 0x18000000 0x0 0x200>;
+ reg-names = "enet_csr", "ring_csr", "ring_cmd";
+ interrupts = <0x0 0x60 0x4>,
+- <0x0 0x61 0x4>;
++ <0x0 0x61 0x4>,
++ <0x0 0x62 0x4>,
++ <0x0 0x63 0x4>,
++ <0x0 0x64 0x4>,
++ <0x0 0x65 0x4>,
++ <0x0 0x66 0x4>,
++ <0x0 0x67 0x4>;
++ channel = <0>;
+ dma-coherent;
+ clocks = <&xge0clk 0>;
+ /* mac address will be overwritten by the bootloader */
+@@ -858,11 +1102,17 @@
+ compatible = "apm,xgene1-xgenet";
+ status = "disabled";
+ reg = <0x0 0x1f620000 0x0 0xd100>,
+- <0x0 0x1f600000 0x0 0Xc300>,
+- <0x0 0x18000000 0x0 0X8000>;
++ <0x0 0x1f600000 0x0 0xc300>,
++ <0x0 0x18000000 0x0 0x8000>;
+ reg-names = "enet_csr", "ring_csr", "ring_cmd";
+- interrupts = <0x0 0x6C 0x4>,
+- <0x0 0x6D 0x4>;
++ interrupts = <0x0 0x6c 0x4>,
++ <0x0 0x6d 0x4>,
++ <0x0 0x6e 0x4>,
++ <0x0 0x6f 0x4>,
++ <0x0 0x70 0x4>,
++ <0x0 0x71 0x4>,
++ <0x0 0x72 0x4>,
++ <0x0 0x73 0x4>;
+ port-id = <1>;
+ dma-coherent;
+ clocks = <&xge1clk 0>;
+@@ -893,5 +1143,29 @@
+ dma-coherent;
+ clocks = <&dmaclk 0>;
+ };
++
++ crypto: crypto@1f250000 {
++ device_type = "crypto";
++ compatible = "apm,xgene-crypto-v1";
++ status = "ok";
++ reg = <0x0 0x1f250000 0x0 0x10000>,
++ <0x0 0x1f200000 0x0 0X10000>,
++ <0x0 0x1b00a000 0x0 0x02000>,
++ <0x0 0x1054a000 0x0 0x0001c>;
++ dma-coherent;
++ clocks = <&cryptoclk 0>;
++ interrupts = <0x0 0x85 0x4>,
++ <0x0 0xbc 0x4>,
++ <0x0 0xbd 0x4>;
++ };
++
++ pka: pka@10524000 {
++ device_type = "pka";
++ compatible = "apm,xgene-pka";
++ reg = <0x0 0x10524000 0x0 0x4000>;
++ interrupts = <0x0 0x43 0x4>;
++ clocks = <&rngpkaclk 0>;
++ };
++
+ };
+ };
+--
+2.9.1
+