This sums up the dts changes of the recent committed drivers into the kernel.
This will grant PMU, reboot, USB and gpio functionalities to the platform.
These patches are all based on existing and approved driver that is in the
kernel tree today.
V2 Changes:
- add dma-coherent attribute for usb node.
Feng Kan (7):
arm64: dts: Add APM X-Gene USB DTS node
Documentation: arm64: add SCU dts binding documentation to linux
kernel
arm64: dts: Add X-Gene reboot driver dts node
arm64: dts: Add Designware GPIO dts binding to APM X-Gene platform
arm64: dts: Add APM X-Gene SoC GFC GPIO controller DTS entries
Documentation: arm: pmu: Add Potenza PMU binding
arm64: dts: Add PMU node for APM X-Gene Storm SOC
Documentation/devicetree/bindings/arm/apm/scu.txt | 17 +++++++
Documentation/devicetree/bindings/arm/pmu.txt | 1 +
arch/arm64/boot/dts/apm-storm.dtsi | 55 +++++++++++++++++++++++
3 files changed, 73 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/apm/scu.txt
--
1.9.1
This parch adds the device tree nodes for APM X-Gnene USB host controller.
Since X-Gene SOC supports maximum 2 USB ports, 2 dts node are added.
Signed-off-by: Bao Truong <[email protected]>
Signed-off-by: Feng Kan <[email protected]>
---
arch/arm64/boot/dts/apm-storm.dtsi | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm64/boot/dts/apm-storm.dtsi b/arch/arm64/boot/dts/apm-storm.dtsi
index 295c72d..6b4c577 100644
--- a/arch/arm64/boot/dts/apm-storm.dtsi
+++ b/arch/arm64/boot/dts/apm-storm.dtsi
@@ -587,6 +587,22 @@
phy-names = "sata-phy";
};
+ usb0: dwusb@19000000 {
+ status = "disabled";
+ compatible = "xhci-platform";
+ reg = <0x0 0x19000000 0x0 0x100000>;
+ interrupts = <0x0 0x89 0x4>;
+ dma-coherent;
+ };
+
+ usb1: dwusb@19800000 {
+ status = "disabled";
+ compatible = "xhci-platform";
+ reg = <0x0 0x19800000 0x0 0x100000>;
+ interrupts = <0x0 0x8a 0x4>;
+ dma-coherent;
+ };
+
rtc: rtc@10510000 {
compatible = "apm,xgene-rtc";
reg = <0x0 0x10510000 0x0 0x400>;
--
1.9.1
This add documentation for the SCU system clock unit device tree binding
to the kernel.
Signed-off-by: Feng Kan <[email protected]>
---
Documentation/devicetree/bindings/arm/apm/scu.txt | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/apm/scu.txt
diff --git a/Documentation/devicetree/bindings/arm/apm/scu.txt b/Documentation/devicetree/bindings/arm/apm/scu.txt
new file mode 100644
index 0000000..b45be06
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/apm/scu.txt
@@ -0,0 +1,17 @@
+APM X-GENE SoC series SCU Registers
+
+This system clock unit contain various register that control block resets,
+clock enable/disables, clock divisors and other deepsleep registers.
+
+Properties:
+ - compatible : should contain two values. First value must be:
+ - "apm,xgene-scu"
+ second value must be always "syscon".
+
+ - reg : offset and length of the register set.
+
+Example :
+ scu: system-clk-controller@17000000 {
+ compatible = "apm,xgene-scu","syscon";
+ reg = <0x0 0x17000000 0x0 0x400>;
+ };
--
1.9.1
Add X-Gene platform reboot driver dts node.
Signed-off-by: Feng Kan <[email protected]>
---
arch/arm64/boot/dts/apm-storm.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/apm-storm.dtsi b/arch/arm64/boot/dts/apm-storm.dtsi
index 6b4c577..9a28d3a 100644
--- a/arch/arm64/boot/dts/apm-storm.dtsi
+++ b/arch/arm64/boot/dts/apm-storm.dtsi
@@ -103,6 +103,11 @@
#size-cells = <2>;
ranges;
+ scu: system-clk-controller@17000000 {
+ compatible = "apm,xgene-scu","syscon";
+ reg = <0x0 0x17000000 0x0 0x400>;
+ };
+
clocks {
#address-cells = <2>;
#size-cells = <2>;
@@ -354,6 +359,13 @@
};
};
+ reboot: reboot@17000014 {
+ compatible = "syscon-reboot";
+ regmap = <&scu>;
+ offset = <0x14>;
+ mask = <0x1>;
+ };
+
pcie0: pcie@1f2b0000 {
status = "disabled";
device_type = "pci";
--
1.9.1
This patch adds the PMU device tree node for APM X-Gene Storm SOC.
Signed-off-by: Vinayak Kale <[email protected]>
Signed-off-by: Feng Kan <[email protected]>
---
arch/arm64/boot/dts/apm-storm.dtsi | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/apm-storm.dtsi b/arch/arm64/boot/dts/apm-storm.dtsi
index 59f752a..cbf21d4 100644
--- a/arch/arm64/boot/dts/apm-storm.dtsi
+++ b/arch/arm64/boot/dts/apm-storm.dtsi
@@ -97,6 +97,11 @@
clock-frequency = <50000000>;
};
+ pmu {
+ compatible = "apm,potenza-pmu", "arm,armv8-pmuv3";
+ interrupts = <1 12 0xff04>;
+ };
+
soc {
compatible = "simple-bus";
#address-cells = <2>;
--
1.9.1
This patch documents the compatible string for APM X-Gene Potenza CPU's PMU.
Signed-off-by: Vinayak Kale <[email protected]>
Signed-off-by: Feng Kan <[email protected]>
---
Documentation/devicetree/bindings/arm/pmu.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/pmu.txt b/Documentation/devicetree/bindings/arm/pmu.txt
index 75ef91d..6d268b3 100644
--- a/Documentation/devicetree/bindings/arm/pmu.txt
+++ b/Documentation/devicetree/bindings/arm/pmu.txt
@@ -7,6 +7,7 @@ representation in the device tree should be done as under:-
Required properties:
- compatible : should be one of
+ "apm,potenza-pmu"
"arm,armv8-pmuv3"
"arm,cortex-a17-pmu"
"arm,cortex-a15-pmu"
--
1.9.1
Add Designware GPIO dts binding to APM X-Gene platform
Signed-off-by: Feng Kan <[email protected]>
---
arch/arm64/boot/dts/apm-storm.dtsi | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/arch/arm64/boot/dts/apm-storm.dtsi b/arch/arm64/boot/dts/apm-storm.dtsi
index 9a28d3a..35f66fe 100644
--- a/arch/arm64/boot/dts/apm-storm.dtsi
+++ b/arch/arm64/boot/dts/apm-storm.dtsi
@@ -525,6 +525,21 @@
interrupts = <0x0 0x4f 0x4>;
};
+ dwgpio: dwgpio@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>;
+ };
+ };
+
phy1: phy@1f21a000 {
compatible = "apm,xgene-phy";
reg = <0x0 0x1f21a000 0x0 0x100>;
--
1.9.1
Add the flash controller muxed gpio dts node for APM X-Gene SoC platform.
Signed-off-by: Feng Kan <[email protected]>
---
arch/arm64/boot/dts/apm-storm.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm64/boot/dts/apm-storm.dtsi b/arch/arm64/boot/dts/apm-storm.dtsi
index 35f66fe..59f752a 100644
--- a/arch/arm64/boot/dts/apm-storm.dtsi
+++ b/arch/arm64/boot/dts/apm-storm.dtsi
@@ -540,6 +540,13 @@
};
};
+ gfcgpio: gpio0@1701c000 {
+ compatible = "apm,xgene-gpio";
+ reg = <0x0 0x1701c000 0x0 0x40>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
phy1: phy@1f21a000 {
compatible = "apm,xgene-phy";
reg = <0x0 0x1f21a000 0x0 0x100>;
--
1.9.1
On Thursday 13 November 2014 16:19:55 Feng Kan wrote:
>
> + usb0: dwusb@19000000 {
> + status = "disabled";
> + compatible = "xhci-platform";
> + reg = <0x0 0x19000000 0x0 0x100000>;
> + interrupts = <0x0 0x89 0x4>;
> + dma-coherent;
> + };
> +
> + usb1: dwusb@19800000 {
> + status = "disabled";
> + compatible = "xhci-platform";
> + reg = <0x0 0x19800000 0x0 0x100000>;
> + interrupts = <0x0 0x8a 0x4>;
> + dma-coherent;
> + };
>
Call the nodes 'usb', not 'dwusb'. Should these be 'status="disabled"', or
do you expect every machine to have both connected?
Arnd
On Thursday 13 November 2014 16:19:58 Feng Kan wrote:
> + dwgpio: dwgpio@1c024000 {
> + compatible = "snps,dw-apb-gpio";
> + reg = <0x0 0x1c024000 0x0 0x1000>;
> + reg-io-width = <4>;
> + #address-cells = <1>;
> + #size-cells = <0>;
>
Same comment as patch 1: make the node name 'gpio', not 'dwgpio'.
Arnd
On Fri, Nov 14, 2014 at 7:04 AM, Arnd Bergmann <[email protected]> wrote:
> On Thursday 13 November 2014 16:19:55 Feng Kan wrote:
>>
>> + usb0: dwusb@19000000 {
>> + status = "disabled";
>> + compatible = "xhci-platform";
>> + reg = <0x0 0x19000000 0x0 0x100000>;
>> + interrupts = <0x0 0x89 0x4>;
>> + dma-coherent;
>> + };
>> +
>> + usb1: dwusb@19800000 {
>> + status = "disabled";
>> + compatible = "xhci-platform";
>> + reg = <0x0 0x19800000 0x0 0x100000>;
>> + interrupts = <0x0 0x8a 0x4>;
>> + dma-coherent;
>> + };
>>
>
> Call the nodes 'usb', not 'dwusb'.
This was a deliberate change on our part to make sure backward
compatibility with a older bootloader.
> Should these be 'status="disabled"', or
> do you expect every machine to have both connected?
Not all platform has both enabled at this point. Not enabling them
would allow us to save some power
if the IP is not used.
>
> Arnd
On Fri, Nov 14, 2014 at 7:06 AM, Arnd Bergmann <[email protected]> wrote:
> On Thursday 13 November 2014 16:19:58 Feng Kan wrote:
>> + dwgpio: dwgpio@1c024000 {
>> + compatible = "snps,dw-apb-gpio";
>> + reg = <0x0 0x1c024000 0x0 0x1000>;
>> + reg-io-width = <4>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>>
>
> Same comment as patch 1: make the node name 'gpio', not 'dwgpio'.
I can make this change.
>
> Arnd
On Friday 14 November 2014 11:17:38 Feng Kan wrote:
> On Fri, Nov 14, 2014 at 7:04 AM, Arnd Bergmann <[email protected]> wrote:
> > On Thursday 13 November 2014 16:19:55 Feng Kan wrote:
> >>
> >> + usb0: dwusb@19000000 {
> >> + status = "disabled";
> >> + compatible = "xhci-platform";
> >> + reg = <0x0 0x19000000 0x0 0x100000>;
> >> + interrupts = <0x0 0x89 0x4>;
> >> + dma-coherent;
> >> + };
> >> +
> >> + usb1: dwusb@19800000 {
> >> + status = "disabled";
> >> + compatible = "xhci-platform";
> >> + reg = <0x0 0x19800000 0x0 0x100000>;
> >> + interrupts = <0x0 0x8a 0x4>;
> >> + dma-coherent;
> >> + };
> >>
> >
> > Call the nodes 'usb', not 'dwusb'.
> This was a deliberate change on our part to make sure backward
> compatibility with a older bootloader.
Ok, then add a comment above the nodes explaining this, to prevent
people from cleaning it up and accidentally breaking your boot loader
later.
Arnd