]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
Merge tag 'mvebu-dt-3.16-2' of git://git.infradead.org/linux-mvebu into next/dt
authorArnd Bergmann <arnd@arndb.de>
Fri, 23 May 2014 20:44:47 +0000 (22:44 +0200)
committerArnd Bergmann <arnd@arndb.de>
Fri, 23 May 2014 21:55:29 +0000 (23:55 +0200)
Merge "mvebu DT changes for v3.16 (incremental #2)" from Jason Cooper:

 - kirkwood
    - add OpenRD boards
    - make keymile boards bootable with latest kernels

 - mvebu
    - add ehci/xhci to Armada 375/38x boards

* tag 'mvebu-dt-3.16-2' of git://git.infradead.org/linux-mvebu:
  ARM: dts: kirkwood: add kirkwood-km_fixedeth DTS file
  ARM: dts: kirkwood: add kirkwood-km_common DTSI files
  ARM: dts: kirkwood: resynch 98dx4122 dtsi
  ARM: mvebu: add Device Tree description for the EHCI controllers on Armada 375
  ARM: mvebu: add Device Tree description of the xHCI controller on Armada 375
  ARM: mvebu: add Device Tree description of the EHCI controller on Armada 38x
  ARM: mvebu: add Device Tree description of xHCI controllers on Armada 38x
  ARM: Kirkwood: DT versions of OpenRD boards

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
14 files changed:
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/armada-375-db.dts
arch/arm/boot/dts/armada-375.dtsi
arch/arm/boot/dts/armada-385-db.dts
arch/arm/boot/dts/armada-385-rd.dts
arch/arm/boot/dts/armada-38x.dtsi
arch/arm/boot/dts/kirkwood-98dx4122.dtsi
arch/arm/boot/dts/kirkwood-km_common.dtsi [new file with mode: 0644]
arch/arm/boot/dts/kirkwood-km_fixedeth.dts [new file with mode: 0644]
arch/arm/boot/dts/kirkwood-km_kirkwood.dts
arch/arm/boot/dts/kirkwood-openrd-base.dts [new file with mode: 0644]
arch/arm/boot/dts/kirkwood-openrd-client.dts [new file with mode: 0644]
arch/arm/boot/dts/kirkwood-openrd-ultimate.dts [new file with mode: 0644]
arch/arm/boot/dts/kirkwood-openrd.dtsi [new file with mode: 0644]

index 5f55146a4bad1973c96ceee545147c30faf0e316..881c8c47681d9e71709097cf533767eecaf850a2 100644 (file)
@@ -128,6 +128,9 @@ kirkwood := \
        kirkwood-nsa310a.dtb \
        kirkwood-openblocks_a6.dtb \
        kirkwood-openblocks_a7.dtb \
+       kirkwood-openrd-base.dtb \
+       kirkwood-openrd-client.dtb \
+       kirkwood-openrd-ultimate.dtb \
        kirkwood-rd88f6192.dtb \
        kirkwood-rd88f6281-a0.dtb \
        kirkwood-rd88f6281-a1.dtb \
index 2f26b963eee9768ddf045f0bb35a78ce39de2325..eb90b83d7d380091bb4ac69b33c7c230d1ccac73 100644 (file)
                                };
                        };
 
+                       usb@54000 {
+                               status = "okay";
+                       };
+
+                       usb3@58000 {
+                               status = "okay";
+                       };
+
                        mvsdio@d4000 {
                                pinctrl-0 = <&sdio_pins &sdio_st_pins>;
                                pinctrl-names = "default";
index 3b6de4c0e37922cb7bfa7d4fb1850b05de0913b2..fb92551a1e71586e4fc9aadf834c21e9b85e6679 100644 (file)
                                reg = <0x21010 0x1c>;
                        };
 
+                       usb@50000 {
+                               compatible = "marvell,orion-ehci";
+                               reg = <0x50000 0x500>;
+                               interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&gateclk 18>;
+                               status = "disabled";
+                       };
+
+                       usb@54000 {
+                               compatible = "marvell,orion-ehci";
+                               reg = <0x54000 0x500>;
+                               interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&gateclk 26>;
+                               status = "disabled";
+                       };
+
+                       usb3@58000 {
+                               compatible = "marvell,armada-375-xhci";
+                               reg = <0x58000 0x20000>,<0x5b880 0x80>;
+                               interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&gateclk 16>;
+                               status = "disabled";
+                       };
+
                        xor@60800 {
                                compatible = "marvell,orion-xor";
                                reg = <0x60800 0x100
index 7fcbc0d2a85ff868329058c9eab96ba518f7b073..ff9637dd8d0fb6d0501d02fe2f94630dcd49f4a0 100644 (file)
                                phy-mode = "rgmii-id";
                        };
 
+                       usb@50000 {
+                               status = "ok";
+                       };
+
                        ethernet@70000 {
                                status = "okay";
                                phy = <&phy0>;
                                bus-width = <8>;
                                status = "okay";
                        };
+
+                       usb3@f0000 {
+                               status = "okay";
+                       };
+
+                       usb3@f8000 {
+                               status = "okay";
+                       };
                };
 
                pcie-controller {
index 4b39bed4ed07d11e4e1b70613a782b74694b8650..40893255a3f0edad962ab006e6e11b716fa9a019 100644 (file)
                                        reg = <1>;
                                };
                        };
+
+                       usb3@f0000 {
+                               status = "okay";
+                       };
                };
 
                pcie-controller {
index 6ee59a34408902e4ab8182ceff8a1900841090b3..3de364e81b5233b615035765b32a0f930f442a95 100644 (file)
                                status = "disabled";
                        };
 
+                       usb@50000 {
+                               compatible = "marvell,orion-ehci";
+                               reg = <0x58000 0x500>;
+                               interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&gateclk 18>;
+                               status = "disabled";
+                       };
+
                        xor@60800 {
                                compatible = "marvell,orion-xor";
                                reg = <0x60800 0x100
                                mrvl,clk-delay-cycles = <0x1F>;
                                status = "disabled";
                        };
+
+                       usb3@f0000 {
+                               compatible = "marvell,armada-380-xhci";
+                               reg = <0xf0000 0x4000>,<0xf4000 0x4000>;
+                               interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&gateclk 9>;
+                               status = "disabled";
+                       };
+
+                       usb3@f8000 {
+                               compatible = "marvell,armada-380-xhci";
+                               reg = <0xf8000 0x4000>,<0xfc000 0x4000>;
+                               interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&gateclk 10>;
+                               status = "disabled";
+                       };
                };
        };
 
index 2e8e412b9db0ddb655adf70c4933f58216bffa9c..9e1f741d74ff4aed504bece8454bad93301fa4b5 100644 (file)
@@ -1,4 +1,39 @@
 / {
+       mbus {
+               pciec: pcie-controller {
+                       compatible = "marvell,kirkwood-pcie";
+                       status = "disabled";
+                       device_type = "pci";
+
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+
+                       bus-range = <0x00 0xff>;
+
+                       ranges =
+                              <0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000
+                               0x82000000 0x1 0     MBUS_ID(0x04, 0xe8) 0       1 0 /* Port 0.0 MEM */
+                               0x81000000 0x1 0     MBUS_ID(0x04, 0xe0) 0       1 0 /* Port 0.0 IO  */>;
+
+                       pcie0: pcie@1,0 {
+                               device_type = "pci";
+                               assigned-addresses = <0x82000800 0 0x00040000 0 0x2000>;
+                               reg = <0x0800 0 0 0 0>;
+                               #address-cells = <3>;
+                               #size-cells = <2>;
+                               #interrupt-cells = <1>;
+                               ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
+                                         0x81000000 0 0 0x81000000 0x1 0 1 0>;
+                               interrupt-map-mask = <0 0 0 0>;
+                               interrupt-map = <0 0 0 0 &intc 9>;
+                               marvell,pcie-port = <0>;
+                               marvell,pcie-lane = <0>;
+                               clocks = <&gate_clk 2>;
+                               status = "disabled";
+                       };
+               };
+       };
+
        ocp@f1000000 {
                pinctrl: pin-controller@10000 {
                        compatible = "marvell,98dx4122-pinctrl";
@@ -6,3 +41,11 @@
                };
        };
 };
+
+&sata_phy0 {
+       status = "disabled";
+};
+
+&sata_phy1 {
+       status = "disabled";
+};
diff --git a/arch/arm/boot/dts/kirkwood-km_common.dtsi b/arch/arm/boot/dts/kirkwood-km_common.dtsi
new file mode 100644 (file)
index 0000000..8367c77
--- /dev/null
@@ -0,0 +1,48 @@
+/ {
+       chosen {
+               bootargs = "console=ttyS0,115200n8 earlyprintk";
+               stdout-path = &uart0;
+       };
+
+       mbus {
+               pcie-controller {
+                       status = "okay";
+
+                       pcie@1,0 {
+                               status = "okay";
+                       };
+               };
+       };
+
+       ocp@f1000000 {
+               pinctrl: pin-controller@10000 {
+                       pinctrl-0 = < &pmx_i2c_gpio_sda &pmx_i2c_gpio_scl >;
+                       pinctrl-names = "default";
+
+                       pmx_i2c_gpio_sda: pmx-gpio-sda {
+                               marvell,pins = "mpp8";
+                               marvell,function = "gpio";
+                       };
+                       pmx_i2c_gpio_scl: pmx-gpio-scl {
+                               marvell,pins = "mpp9";
+                               marvell,function = "gpio";
+                       };
+               };
+
+               serial@12000 {
+                       status = "okay";
+               };
+       };
+
+       i2c@0 {
+               compatible = "i2c-gpio";
+               gpios = < &gpio0 8 GPIO_ACTIVE_HIGH             /* sda */
+                         &gpio0 9 GPIO_ACTIVE_HIGH>;           /* scl */
+               i2c-gpio,delay-us = <2>;        /* ~100 kHz */
+       };
+};
+
+&nand {
+       status = "okay";
+       chip-delay = <25>;
+};
diff --git a/arch/arm/boot/dts/kirkwood-km_fixedeth.dts b/arch/arm/boot/dts/kirkwood-km_fixedeth.dts
new file mode 100644 (file)
index 0000000..9895f2b
--- /dev/null
@@ -0,0 +1,23 @@
+/dts-v1/;
+
+#include "kirkwood.dtsi"
+#include "kirkwood-98dx4122.dtsi"
+#include "kirkwood-km_common.dtsi"
+
+/ {
+       model = "Keymile Kirkwood Fixed Eth";
+       compatible = "keymile,km_fixedeth", "marvell,kirkwood-98DX4122", "marvell,kirkwood";
+
+       memory {
+               device_type = "memory";
+               reg = <0x00000000 0x10000000>;
+       };
+};
+
+&eth0 {
+       status = "okay";
+       ethernet0-port@0 {
+               speed = <1000>;  /* <SPEED_1000> */
+               duplex = <1>; /* <DUPLEX_FULL> */
+       };
+};
index 61139bf309858cba22f6c678e087fdd7e5cdd32c..235bf382fff936fce858296c7357a37811146595 100644 (file)
@@ -2,6 +2,7 @@
 
 #include "kirkwood.dtsi"
 #include "kirkwood-98dx4122.dtsi"
+#include "kirkwood-km_common.dtsi"
 
 / {
        model = "Keymile Kirkwood Reference Design";
                device_type = "memory";
                reg = <0x00000000 0x08000000>;
        };
-
-       chosen {
-               bootargs = "console=ttyS0,115200n8 earlyprintk";
-               stdout-path = &uart0;
-       };
-
-       ocp@f1000000 {
-               pinctrl: pin-controller@10000 {
-                       pinctrl-0 = < &pmx_i2c_gpio_sda &pmx_i2c_gpio_scl >;
-                       pinctrl-names = "default";
-
-                       pmx_i2c_gpio_sda: pmx-gpio-sda {
-                               marvell,pins = "mpp8";
-                               marvell,function = "gpio";
-                       };
-                       pmx_i2c_gpio_scl: pmx-gpio-scl {
-                               marvell,pins = "mpp9";
-                               marvell,function = "gpio";
-                       };
-               };
-
-               serial@12000 {
-                       status = "ok";
-               };
-       };
-
-       i2c@0 {
-               compatible = "i2c-gpio";
-               gpios = < &gpio0 8 GPIO_ACTIVE_HIGH             /* sda */
-                         &gpio0 9 GPIO_ACTIVE_HIGH>;           /* scl */
-               i2c-gpio,delay-us = <2>;        /* ~100 kHz */
-       };
-};
-
-&nand {
-       status = "okay";
-       chip-delay = <25>;
 };
 
 &mdio {
diff --git a/arch/arm/boot/dts/kirkwood-openrd-base.dts b/arch/arm/boot/dts/kirkwood-openrd-base.dts
new file mode 100644 (file)
index 0000000..8af5899
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Marvell OpenRD Base Board Description
+ *
+ * Andrew Lunn <andrew@lunn.ch>
+ *
+ * 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.
+ *
+ * This file contains the definitions that are specific to OpenRD
+ * base variant of the Marvell Kirkwood Development Board.
+ */
+
+/dts-v1/;
+
+#include "kirkwood-openrd.dtsi"
+
+/ {
+       model = "OpenRD Base";
+       compatible = "marvell,openrd-base", "marvell,openrd", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+
+       ocp@f1000000 {
+               serial@12100 {
+                       status = "okay";
+               };
+       };
+};
+
+&mdio {
+       status = "okay";
+
+       ethphy0: ethernet-phy@8 {
+               reg = <8>;
+       };
+};
+
+&eth0 {
+       status = "okay";
+       ethernet0-port@0 {
+               phy-handle = <&ethphy0>;
+       };
+};
diff --git a/arch/arm/boot/dts/kirkwood-openrd-client.dts b/arch/arm/boot/dts/kirkwood-openrd-client.dts
new file mode 100644 (file)
index 0000000..887b9c1
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Marvell OpenRD Client Board Description
+ *
+ * Andrew Lunn <andrew@lunn.ch>
+ *
+ * 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.
+ *
+ * This file contains the definitions that are specific to OpenRD
+ * client variant of the Marvell Kirkwood Development Board.
+ */
+
+/dts-v1/;
+
+#include "kirkwood-openrd.dtsi"
+
+/ {
+       model = "OpenRD Client";
+       compatible = "marvell,openrd-client", "marvell,openrd", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+
+       ocp@f1000000 {
+               i2c@11000 {
+                       status = "okay";
+                       clock-frequency = <400000>;
+
+                       cs42l51: cs42l51@4a {
+                               compatible = "cirrus,cs42l51";
+                               reg = <0x4a>;
+                       };
+               };
+       };
+
+       sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,format = "i2s";
+               simple-audio-card,mclk-fs = <256>;
+
+               simple-audio-card,cpu {
+                       sound-dai = <&audio0>;
+               };
+
+               simple-audio-card,codec {
+                       sound-dai = <&cs42l51>;
+               };
+       };
+};
+
+&mdio {
+       status = "okay";
+
+       ethphy0: ethernet-phy@8 {
+               reg = <8>;
+       };
+       ethphy1: ethernet-phy@24 {
+               reg = <24>;
+       };
+};
+
+&eth0 {
+       status = "okay";
+       ethernet0-port@0 {
+               phy-handle = <&ethphy0>;
+       };
+};
+
+&eth1 {
+       status = "okay";
+       ethernet1-port@0 {
+               phy-handle = <&ethphy1>;
+       };
+};
+
diff --git a/arch/arm/boot/dts/kirkwood-openrd-ultimate.dts b/arch/arm/boot/dts/kirkwood-openrd-ultimate.dts
new file mode 100644 (file)
index 0000000..9f12f8b
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * Marvell OpenRD Ultimate Board Description
+ *
+ * Andrew Lunn <andrew@lunn.ch>
+ *
+ * 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.
+ *
+ * This file contains the definitions that are specific to OpenRD
+ * ultimate variant of the Marvell Kirkwood Development Board.
+ */
+
+/dts-v1/;
+
+#include "kirkwood-openrd.dtsi"
+
+/ {
+       model = "OpenRD Ultimate";
+       compatible = "marvell,openrd-ultimate", "marvell,openrd", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+
+       ocp@f1000000 {
+               i2c@11000 {
+                       status = "okay";
+                       clock-frequency = <400000>;
+
+                       cs42l51: cs42l51@4a {
+                               compatible = "cirrus,cs42l51";
+                               reg = <0x4a>;
+                       };
+               };
+       };
+};
+
+&mdio {
+       status = "okay";
+
+       ethphy0: ethernet-phy@0 {
+               reg = <0>;
+       };
+       ethphy1: ethernet-phy@1 {
+               reg = <1>;
+       };
+};
+
+&eth0 {
+       status = "okay";
+       ethernet0-port@0 {
+               phy-handle = <&ethphy0>;
+       };
+};
+
+&eth1 {
+       status = "okay";
+       ethernet1-port@0 {
+               phy-handle = <&ethphy1>;
+       };
+};
diff --git a/arch/arm/boot/dts/kirkwood-openrd.dtsi b/arch/arm/boot/dts/kirkwood-openrd.dtsi
new file mode 100644 (file)
index 0000000..d3330da
--- /dev/null
@@ -0,0 +1,90 @@
+/*
+ * Marvell OpenRD (Base|Client|Ultimate) Board Description
+ *
+ * Andrew Lunn <andrew@lunn.ch>
+ *
+ * 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.
+ *
+ * This file contains the definitions that are common between the three
+ * variants of the Marvell Kirkwood Development Board.
+ */
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6281.dtsi"
+
+/ {
+       memory {
+               device_type = "memory";
+               reg = <0x00000000 0x20000000>;
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,115200n8";
+               stdout-path = &uart0;
+       };
+
+       mbus {
+               pcie-controller {
+                       status = "okay";
+
+                       pcie@1,0 {
+                               status = "okay";
+                       };
+               };
+       };
+
+       ocp@f1000000 {
+               pinctrl: pin-controller@10000 {
+                       pinctrl-0 = <&pmx_select28 &pmx_sdio_cd &pmx_select34>;
+                       pinctrl-names = "default";
+
+                       pmx_select28: pmx-select-uart-sd {
+                               marvell,pins = "mpp28";
+                               marvell,function = "gpio";
+                       };
+                       pmx_sdio_cd: pmx-sdio-cd {
+                               marvell,pins = "mpp29";
+                               marvell,function = "gpio";
+                       };
+                       pmx_select34: pmx-select-rs232-rs484 {
+                               marvell,pins = "mpp34";
+                               marvell,function = "gpio";
+                       };
+               };
+               serial@12000 {
+                       status = "okay";
+
+               };
+               sata@80000 {
+                       status = "okay";
+                       nr-ports = <2>;
+               };
+               mvsdio@90000 {
+                       status = "okay";
+                       cd-gpios = <&gpio0 29 9>;
+               };
+       };
+};
+
+&nand {
+       status = "okay";
+       pinctrl-0 = <&pmx_nand>;
+       pinctrl-names = "default";
+
+       partition@0 {
+               label = "u-boot";
+               reg = <0x0000000 0x100000>;
+       };
+
+       partition@100000 {
+               label = "uImage";
+               reg = <0x0100000 0x400000>;
+       };
+
+       partition@600000 {
+               label = "root";
+               reg = <0x0600000 0x1FA00000>;
+       };
+};