Skip to content

Commit

Permalink
Merge branch 'axxia/soc' into next/soc
Browse files Browse the repository at this point in the history
Patches from Anders Berg applied individually:

Here is version 4 of platform support for AXM5516 SoC.

The clk driver is now applied to clk-next. The rest should be ready for
arm-soc. Haven't got any response from the power/reset maintainers... I hope
this driver can be taken via arm-soc as well.

The AXM55xx family consists of devices that may contain up to 16 ARM Cortex-A15
cores (in a 4x4 cluster configuration). The cores within each cluster share an
L2 cache, and the clusters are connected to each other via a CCN-504 cache
coherent interconnect.

This machine requires CONFIG_ARM_LPAE enabled as all peripherals are located
above 4GB in the memory map.

* axxia/soc:
  ARM: dts: axxia: Add reset controller
  power: reset: Add Axxia system reset driver
  ARM: axxia: Adding defconfig for AXM55xx
  ARM: dts: Device tree for AXM55xx.
  ARM: Add platform support for LSI AXM55xx SoC

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
  • Loading branch information
arndb committed May 23, 2014
2 parents 9706c07 + 61d4549 commit 650052b
Show file tree
Hide file tree
Showing 17 changed files with 1,012 additions and 0 deletions.
12 changes: 12 additions & 0 deletions Documentation/devicetree/bindings/arm/axxia.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Axxia AXM55xx device tree bindings

Boards using the AXM55xx SoC need to have the following properties:

Required root node property:

- compatible = "lsi,axm5516"

Boards:

LSI AXM5516 Validation board (Amarillo)
compatible = "lsi,axm5516-amarillo", "lsi,axm5516"
20 changes: 20 additions & 0 deletions Documentation/devicetree/bindings/power_supply/axxia-reset.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Axxia Restart Driver

This driver can do reset of the Axxia SoC. It uses the registers in the syscon
block to initiate a chip reset.

Required Properties:
-compatible: "lsi,axm55xx-reset"
-syscon: phandle to the syscon node.

Example:

syscon: syscon@2010030000 {
compatible = "lsi,axxia-syscon", "syscon";
reg = <0x20 0x10030000 0 0x2000>;
};

reset: reset@2010031000 {
compatible = "lsi,axm55xx-reset";
syscon = <&syscon>;
};
2 changes: 2 additions & 0 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -950,6 +950,8 @@ source "arch/arm/mach-mvebu/Kconfig"

source "arch/arm/mach-at91/Kconfig"

source "arch/arm/mach-axxia/Kconfig"

source "arch/arm/mach-bcm/Kconfig"

source "arch/arm/mach-berlin/Kconfig"
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -138,10 +138,12 @@ endif
textofs-$(CONFIG_ARCH_MSM7X30) := 0x00208000
textofs-$(CONFIG_ARCH_MSM8X60) := 0x00208000
textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000

# Machine directory name. This list is sorted alphanumerically
# by CONFIG_* macro name.
machine-$(CONFIG_ARCH_AT91) += at91
machine-$(CONFIG_ARCH_AXXIA) += axxia
machine-$(CONFIG_ARCH_BCM) += bcm
machine-$(CONFIG_ARCH_BERLIN) += berlin
machine-$(CONFIG_ARCH_CLPS711X) += clps711x
Expand Down
1 change: 1 addition & 0 deletions arch/arm/boot/dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ dtb-$(CONFIG_ARCH_AT91) += sama5d35ek.dtb
dtb-$(CONFIG_ARCH_AT91) += sama5d36ek.dtb

dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \
Expand Down
51 changes: 51 additions & 0 deletions arch/arm/boot/dts/axm5516-amarillo.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/*
* arch/arm/boot/dts/axm5516-amarillo.dts
*
* Copyright (C) 2013 LSI
*
* 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/;

/memreserve/ 0x00000000 0x00400000;

#include "axm55xx.dtsi"
#include "axm5516-cpus.dtsi"

/ {
model = "Amarillo AXM5516";
compatible = "lsi,axm5516-amarillo", "lsi,axm5516";

memory {
device_type = "memory";
reg = <0 0x00000000 0x02 0x00000000>;
};
};

&serial0 {
status = "okay";
};

&serial1 {
status = "okay";
};

&serial2 {
status = "okay";
};

&serial3 {
status = "okay";
};

&gpio0 {
status = "okay";
};

&gpio1 {
status = "okay";
};
204 changes: 204 additions & 0 deletions arch/arm/boot/dts/axm5516-cpus.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
/*
* arch/arm/boot/dts/axm5516-cpus.dtsi
*
* Copyright (C) 2013 LSI
*
* 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.
*/

/ {
cpus {
#address-cells = <1>;
#size-cells = <0>;

cpu-map {
cluster0 {
core0 {
cpu = <&CPU0>;
};
core1 {
cpu = <&CPU1>;
};
core2 {
cpu = <&CPU2>;
};
core3 {
cpu = <&CPU3>;
};
};
cluster1 {
core0 {
cpu = <&CPU4>;
};
core1 {
cpu = <&CPU5>;
};
core2 {
cpu = <&CPU6>;
};
core3 {
cpu = <&CPU7>;
};
};
cluster2 {
core0 {
cpu = <&CPU8>;
};
core1 {
cpu = <&CPU9>;
};
core2 {
cpu = <&CPU10>;
};
core3 {
cpu = <&CPU11>;
};
};
cluster3 {
core0 {
cpu = <&CPU12>;
};
core1 {
cpu = <&CPU13>;
};
core2 {
cpu = <&CPU14>;
};
core3 {
cpu = <&CPU15>;
};
};
};

CPU0: cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x00>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU1: cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x01>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU2: cpu@2 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x02>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU3: cpu@3 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x03>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU4: cpu@100 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x100>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU5: cpu@101 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x101>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU6: cpu@102 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x102>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU7: cpu@103 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x103>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU8: cpu@200 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x200>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU9: cpu@201 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x201>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU10: cpu@202 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x202>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU11: cpu@203 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x203>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU12: cpu@300 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x300>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU13: cpu@301 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x301>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU14: cpu@302 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x302>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};

CPU15: cpu@303 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0x303>;
clock-frequency= <1400000000>;
cpu-release-addr = <0>; // Fixed by the boot loader
};
};
};
Loading

0 comments on commit 650052b

Please sign in to comment.