Skip to content

Commit

Permalink
Merge tag 'mvebu-dt64-4.7-1' of git://git.infradead.org/linux-mvebu i…
Browse files Browse the repository at this point in the history
…nto next/dt64

Merge "mvebu dt64 for 4.7" from Gregory CLEMENT:

- switch to label in the mvebu arm64 device tree
- use new clock binding on Armada 7K/8K
- improve SPI and I2C description on Armada 7K/8k
- add CP110 block adding PCIe, SATA and USB3
- add XOR support on Armada 3700
- few more little fix

* tag 'mvebu-dt64-4.7-1' of git://git.infradead.org/linux-mvebu:
  arm64: dts: marvell: add XOR node for Armada 3700 SoC
  arm64: dts: marvell: Use a SoC-specific compatible for xHCI on Armada37xx
  arm64: dts: marvell: Rename armada-37xx USB node
  arm64: dts: marvell: Clean up armada-3720-db
  arm64: dts: marvell: enable several CP interfaces on Armada 7040-DB
  arm64: dts: marvell: initial DT description of Armada 7K/8K CP110 master
  arm64: dts: marvell: use the proper I2C controller compatible string for 7K/8K
  arm64: dts: marvell: improve SPI flash description on Armada 7040-DB
  arm64: dts: marvell: use new clock binding on Armada AP806
  arm64: dts: marvell: add UART aliases and define stdout-path
  arm64: dts: marvell: rename armada-ap806 XOR nodes
  arm64: dts: marvell: clean up armada-7040-db
  • Loading branch information
Arnd Bergmann committed May 10, 2016
2 parents f1c09c3 + 19b67d5 commit 3a005c1
Show file tree
Hide file tree
Showing 13 changed files with 368 additions and 85 deletions.
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/usb/usb-xhci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Required properties:
- compatible: should be one or more of

- "generic-xhci" for generic XHCI device
- "marvell,armada3700-xhci" for Armada 37xx SoCs
- "marvell,armada-375-xhci" for Armada 375 SoCs
- "marvell,armada-380-xhci" for Armada 38x SoCs
- "renesas,xhci-r8a7790" for r8a7790 SoC
Expand Down
32 changes: 12 additions & 20 deletions arch/arm64/boot/dts/marvell/armada-3720-db.dts
Original file line number Diff line number Diff line change
Expand Up @@ -60,27 +60,19 @@
device_type = "memory";
reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
};
};

soc {
internal-regs {
/*
* Exported on the micro USB connector CON32
* through an FTDI
*/
uart0: serial@12000 {
status = "okay";
};

/* CON31 */
usb3@58000 {
status = "okay";
};
/* CON3 */
&sata {
status = "okay";
};

/* CON3 */
sata@e0000 {
status = "okay";
};
};
};
/* Exported on the micro USB connector CON32 through an FTDI */
&uart0 {
status = "okay";
};

/* CON31 */
&usb3 {
status = "okay";
};
1 change: 0 additions & 1 deletion arch/arm64/boot/dts/marvell/armada-372x.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -59,5 +59,4 @@
enable-method = "psci";
};
};

};
20 changes: 17 additions & 3 deletions arch/arm64/boot/dts/marvell/armada-37xx.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -105,14 +105,28 @@
status = "disabled";
};

usb3@58000 {
compatible = "generic-xhci";
usb3: usb@58000 {
compatible = "marvell,armada3700-xhci",
"generic-xhci";
reg = <0x58000 0x4000>;
interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};

sata@e0000 {
xor@60900 {
compatible = "marvell,armada-3700-xor";
reg = <0x60900 0x100
0x60b00 0x100>;

xor10 {
interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
};
xor11 {
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
};
};

sata: sata@e0000 {
compatible = "marvell,armada-3700-ahci";
reg = <0xe0000 0x2000>;
interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/boot/dts/marvell/armada-7020.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
*/

#include "armada-ap806-dual.dtsi"
#include "armada-cp110-master.dtsi"

/ {
model = "Marvell Armada 7020";
Expand Down
108 changes: 82 additions & 26 deletions arch/arm64/boot/dts/marvell/armada-7040-db.dts
Original file line number Diff line number Diff line change
Expand Up @@ -51,42 +51,98 @@
compatible = "marvell,armada7040-db", "marvell,armada7040",
"marvell,armada-ap806-quad", "marvell,armada-ap806";

chosen {
stdout-path = "serial0:115200n8";
};

memory@00000000 {
device_type = "memory";
reg = <0x0 0x0 0x0 0x80000000>;
};
};

&i2c0 {
status = "okay";
clock-frequency = <100000>;
};

&spi0 {
status = "okay";

spi-flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;

ap806 {
config-space {
spi@510600 {
status = "okay";

spi-flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "n25q128a13";
reg = <0>; /* Chip select 0 */
spi-max-frequency = <10000000>;

partition@0 {
label = "U-Boot";
reg = <0 0x200000>;
};
partition@400000 {
label = "Filesystem";
reg = <0x200000 0xce0000>;
};
};
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;

partition@0 {
label = "U-Boot";
reg = <0 0x200000>;
};
partition@400000 {
label = "Filesystem";
reg = <0x200000 0xce0000>;
};
};
};
};

&uart0 {
status = "okay";
};

i2c@511000 {
status = "okay";
clock-frequency = <100000>;

&cpm_pcie2 {
status = "okay";
};

&cpm_i2c0 {
status = "okay";
clock-frequency = <100000>;
};

&cpm_spi1 {
status = "okay";

spi-flash@0 {
#address-cells = <0x1>;
#size-cells = <0x1>;
compatible = "jedec,spi-nor";
reg = <0x0>;
spi-max-frequency = <20000000>;

partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;

partition@0 {
label = "U-Boot";
reg = <0x0 0x200000>;
};

serial@512000 {
status = "okay";
partition@400000 {
label = "Filesystem";
reg = <0x200000 0xe00000>;
};
};
};
};

&cpm_sata0 {
status = "okay";
};

&cpm_usb3_0 {
status = "okay";
};

&cpm_usb3_1 {
status = "okay";
};
1 change: 1 addition & 0 deletions arch/arm64/boot/dts/marvell/armada-7040.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
*/

#include "armada-ap806-quad.dtsi"
#include "armada-cp110-master.dtsi"

/ {
model = "Marvell Armada 7040";
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/boot/dts/marvell/armada-8020.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
*/

#include "armada-ap806-dual.dtsi"
#include "armada-cp110-master.dtsi"

/ {
model = "Marvell Armada 8020";
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/boot/dts/marvell/armada-8040.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
*/

#include "armada-ap806-quad.dtsi"
#include "armada-cp110-master.dtsi"

/ {
model = "Marvell Armada 8040";
Expand Down
1 change: 0 additions & 1 deletion arch/arm64/boot/dts/marvell/armada-ap806-dual.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,3 @@
};
};
};

2 changes: 0 additions & 2 deletions arch/arm64/boot/dts/marvell/armada-ap806-quad.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,4 @@
enable-method = "psci";
};
};

};

56 changes: 24 additions & 32 deletions arch/arm64/boot/dts/marvell/armada-ap806.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,16 @@
#address-cells = <2>;
#size-cells = <2>;

aliases {
serial0 = &uart0;
serial1 = &uart1;
};

psci {
compatible = "arm,psci-0.2";
method = "smc";
};


ap806 {
#address-cells = <2>;
#size-cells = <2>;
Expand Down Expand Up @@ -136,31 +140,31 @@
marvell,spi-base = <128>, <136>, <144>, <152>;
};

xor0@400000 {
xor@400000 {
compatible = "marvell,mv-xor-v2";
reg = <0x400000 0x1000>,
<0x410000 0x1000>;
msi-parent = <&gic_v2m0>;
dma-coherent;
};

xor1@420000 {
xor@420000 {
compatible = "marvell,mv-xor-v2";
reg = <0x420000 0x1000>,
<0x430000 0x1000>;
msi-parent = <&gic_v2m0>;
dma-coherent;
};

xor2@440000 {
xor@440000 {
compatible = "marvell,mv-xor-v2";
reg = <0x440000 0x1000>,
<0x450000 0x1000>;
msi-parent = <&gic_v2m0>;
dma-coherent;
};

xor3@460000 {
xor@460000 {
compatible = "marvell,mv-xor-v2";
reg = <0x460000 0x1000>,
<0x470000 0x1000>;
Expand All @@ -175,63 +179,51 @@
#size-cells = <0>;
cell-index = <0>;
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ringclk 2>;
clocks = <&ap_syscon 3>;
status = "disabled";
};

i2c0: i2c@511000 {
compatible = "marvell,mv64xxx-i2c";
compatible = "marvell,mv78230-i2c";
reg = <0x511000 0x20>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
timeout-ms = <1000>;
clocks = <&ringclk 2>;
clocks = <&ap_syscon 3>;
status = "disabled";
};

serial@512000 {
uart0: serial@512000 {
compatible = "snps,dw-apb-uart";
reg = <0x512000 0x100>;
reg-shift = <2>;
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
reg-io-width = <1>;
clocks = <&ringclk 2>;
clocks = <&ap_syscon 3>;
status = "disabled";
};

serial@512100 {
uart1: serial@512100 {
compatible = "snps,dw-apb-uart";
reg = <0x512100 0x100>;
reg-shift = <2>;
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
reg-io-width = <1>;
clocks = <&ringclk 2>;
clocks = <&ap_syscon 3>;
status = "disabled";

};

dfx-server@6f8000 {
compatible = "simple-mfd", "syscon";
reg = <0x6f8000 0x70000>;

coreclk: clk@204 {
compatible = "marvell,armada-ap806-core-clock";
#clock-cells = <1>;
clock-output-names = "ddr", "ring", "cpu";
};

ringclk: clk@250 {
compatible = "marvell,armada-ap806-ring-clock";
#clock-cells = <1>;
clock-output-names = "ring-0", "ring-2",
"ring-3", "ring-4",
"ring-5";
clocks = <&coreclk 1>;
};
ap_syscon: system-controller@6f4000 {
compatible = "marvell,ap806-system-controller",
"syscon";
#clock-cells = <1>;
clock-output-names = "ap-cpu-cluster-0",
"ap-cpu-cluster-1",
"ap-fixed", "ap-mss";
reg = <0x6f4000 0x1000>;
};
};
};

};

Loading

0 comments on commit 3a005c1

Please sign in to comment.