[PATCH 04/11] ARM: mvebu: add Device Tree description of the Armada 375 SoC
Jason Cooper
jason at lakedaemon.net
Mon Feb 10 12:35:27 EST 2014
On Mon, Feb 10, 2014 at 06:23:15PM +0100, Thomas Petazzoni wrote:
> From: Gregory CLEMENT <gregory.clement at free-electrons.com>
>
> The Armada 375 SoC is a new SoC from Marvell, based on a dual core
> Cortex-A9 and a number of hardware blocks that are common with earlier
> SoCs from the mvebu family.
>
> The provided Device Tree describes the following parts of the SoC:
>
> * CPUs
> * Device Bus
> * Clocks
> * Interrupt controllers: GIC and MPIC
> * GPIO controllers
> * I2C buses
> * L2 cache
> * MBus controller
> * SDIO
> * Pinctrl
> * SATA
> * Serial
> * SPI buses
> * System controller (for reboot)
> * Timer
> * XOR engines
> * PCIe controllers
>
> Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> ---
> arch/arm/boot/dts/armada-375.dtsi | 439 ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 439 insertions(+)
> create mode 100644 arch/arm/boot/dts/armada-375.dtsi
>
> diff --git a/arch/arm/boot/dts/armada-375.dtsi b/arch/arm/boot/dts/armada-375.dtsi
> new file mode 100644
> index 0000000..2697345
> --- /dev/null
> +++ b/arch/arm/boot/dts/armada-375.dtsi
> @@ -0,0 +1,439 @@
> +/*
> + * Device Tree Include file for Marvell Armada 375 family SoC
> + *
> + * Copyright (C) 2014 Marvell
> + *
> + * Gregory CLEMENT <gregory.clement at free-electrons.com>
> + * Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> + *
> + * 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/ "skeleton.dtsi"
> +
> +#define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))
> +
> +/ {
> + model = "Marvell Armada 375 family SoC";
> + compatible = "marvell,armada375";
> +
> + aliases {
> + gpio0 = &gpio0;
> + gpio1 = &gpio1;
> + gpio2 = &gpio2;
> + };
> +
> + clocks {
> + /* 2 GHz fixed main PLL */
> + mainpll: mainpll {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <2000000000>;
> + };
> + };
> +
> + cpus {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + cpu at 0 {
> + device_type = "cpu";
> + compatible = "arm,cortex-a9";
> + reg = <0>;
> + };
> + cpu at 1 {
> + device_type = "cpu";
> + compatible = "arm,cortex-a9";
> + reg = <1>;
> + };
> + };
> +
> + soc {
...
> + internal-regs {
...
> + gateclk: clock-gating-control at 18220 {
> + compatible = "marvell,armada-375-gating-clock";
> + reg = <0x18220 0x4>;
> + clocks = <&coreclk 0>;
> + #clock-cells = <1>;
> + };
> +
...
> + coreclk: mvebu-sar at e8204 {
> + compatible = "marvell,armada-375-core-clock";
> + reg = <0xe8204 0x04>;
> + #clock-cells = <1>;
> + };
> +
> + coredivclk: corediv-clock at e8250 {
> + compatible = "marvell,armada-375-corediv-clock";
> + reg = <0xe8250 0xc>;
> + #clock-cells = <1>;
> + clocks = <&mainpll>;
> + clock-output-names = "nand";
> + };
Thanks for putting the internal-regs nodes in order so I didn't have to
ask. :) Have you noticed the same problem as the other SoCs with clock
ordering on bootup?
thx,
Jason.
More information about the linux-arm-kernel
mailing list