]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/boot/dts/kirkwood.dtsi
Merge branch 'mvebu/dt' into for-next
[karo-tx-linux.git] / arch / arm / boot / dts / kirkwood.dtsi
index 70f414d9bd9ac8e99a1dd14e28f564f96f3d2634..8b73c80f1dad40995be65547ee5caa4a4fbffdaa 100644 (file)
@@ -13,6 +13,7 @@
                cpu@0 {
                        device_type = "cpu";
                        compatible = "marvell,feroceon";
+                       reg = <0>;
                        clocks = <&core_clk 1>, <&core_clk 3>, <&gate_clk 11>;
                        clock-names = "cpu_clk", "ddrclk", "powersave";
                };
               gpio0 = &gpio0;
               gpio1 = &gpio1;
        };
-       intc: interrupt-controller {
-               compatible = "marvell,orion-intc", "marvell,intc";
-               interrupt-controller;
-               #interrupt-cells = <1>;
-               reg = <0xf1020204 0x04>,
-                     <0xf1020214 0x04>;
-       };
 
        mbus {
                compatible = "marvell,kirkwood-mbus", "simple-bus";
                #address-cells = <2>;
                #size-cells = <1>;
+               /* If a board file needs to change this ranges it must replace it completely */
+               ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000     /* internal-regs */
+                         MBUS_ID(0x01, 0x2f) 0 0xf4000000 0x10000      /* nand flash */
+                         MBUS_ID(0x03, 0x01) 0 0xf5000000 0x10000      /* crypto sram */
+                         >;
                controller = <&mbusc>;
                pcie-mem-aperture = <0xe0000000 0x10000000>; /* 256 MiB memory space */
                pcie-io-aperture  = <0xf2000000 0x100000>;   /*   1 MiB    I/O space */
+
+               crypto@0301 {
+                       compatible = "marvell,orion-crypto";
+                       reg = <MBUS_ID(0xf0, 0x01) 0x30000 0x10000>,
+                             <MBUS_ID(0x03, 0x01) 0 0x800>;
+                       reg-names = "regs", "sram";
+                       interrupts = <22>;
+                       clocks = <&gate_clk 17>;
+                       status = "okay";
+               };
+
+               nand: nand@012f {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       cle = <0>;
+                       ale = <1>;
+                       bank-width = <1>;
+                       compatible = "marvell,orion-nand";
+                       reg = <MBUS_ID(0x01, 0x2f) 0 0x400>;
+                       chip-delay = <25>;
+                       /* set partition map and/or chip-delay in board dts */
+                       clocks = <&gate_clk 7>;
+                       status = "disabled";
+               };
        };
 
        ocp@f1000000 {
                compatible = "simple-bus";
-               ranges = <0x00000000 0xf1000000 0x0100000
-                         0xf4000000 0xf4000000 0x0000400
-                         0xf5000000 0xf5000000 0x0000400>;
+               ranges = <0x00000000 0xf1000000 0x0100000>;
                #address-cells = <1>;
                #size-cells = <1>;
 
                        reg = <0x20000 0x80>, <0x1500 0x20>;
                };
 
+               timer: timer@20300 {
+                       compatible = "marvell,orion-timer";
+                       reg = <0x20300 0x20>;
+                       interrupt-parent = <&bridge_intc>;
+                       interrupts = <1>, <2>;
+                       clocks = <&core_clk 0>;
+               };
+
+               intc: main-interrupt-ctrl@20200 {
+                       compatible = "marvell,orion-intc";
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+                       reg = <0x20200 0x10>, <0x20210 0x10>;
+               };
+
+               bridge_intc: bridge-interrupt-ctrl@20110 {
+                       compatible = "marvell,orion-bridge-intc";
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+                       reg = <0x20110 0x8>;
+                       interrupts = <1>;
+                       marvell,#interrupts = <6>;
+               };
+
                core_clk: core-clocks@10030 {
                        compatible = "marvell,kirkwood-core-clock";
                        reg = <0x10030 0x4>;
                        #clock-cells = <1>;
                };
 
-               wdt@20300 {
+               wdt: watchdog-timer@20300 {
                        compatible = "marvell,orion-wdt";
                        reg = <0x20300 0x28>;
+                       interrupt-parent = <&bridge_intc>;
+                       interrupts = <3>;
                        clocks = <&gate_clk 7>;
                        status = "okay";
                };
                xor@60900 {
                        compatible = "marvell,orion-xor";
                        reg = <0x60900 0x100
-                              0xd0B00 0x100>;
+                              0x60B00 0x100>;
                        status = "okay";
                        clocks = <&gate_clk 16>;
 
                        status = "okay";
                };
 
-               nand@3000000 {
-                       #address-cells = <1>;
-                       #size-cells = <1>;
-                       cle = <0>;
-                       ale = <1>;
-                       bank-width = <1>;
-                       compatible = "marvell,orion-nand";
-                       reg = <0xf4000000 0x400>;
-                       chip-delay = <25>;
-                       /* set partition map and/or chip-delay in board dts */
-                       clocks = <&gate_clk 7>;
-                       status = "disabled";
-               };
-
                i2c@11000 {
                        compatible = "marvell,mv64xxx-i2c";
                        reg = <0x11000 0x20>;
                        status = "disabled";
                };
 
-               crypto@30000 {
-                       compatible = "marvell,orion-crypto";
-                       reg = <0x30000 0x10000>,
-                             <0xf5000000 0x800>;
-                       reg-names = "regs", "sram";
-                       interrupts = <22>;
-                       clocks = <&gate_clk 17>;
-                       status = "okay";
+               mdio: mdio-bus@72004 {
+                       compatible = "marvell,orion-mdio";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0x72004 0x84>;
+                       interrupts = <46>;
+                       clocks = <&gate_clk 0>;
+                       status = "disabled";
+
+                       /* add phy nodes in board file */
+               };
+
+               eth0: ethernet-controller@72000 {
+                       compatible = "marvell,kirkwood-eth";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0x72000 0x4000>;
+                       clocks = <&gate_clk 0>;
+                       marvell,tx-checksum-limit = <1600>;
+                       status = "disabled";
+
+                       ethernet0-port@0 {
+                               device_type = "network";
+                               compatible = "marvell,kirkwood-eth-port";
+                               reg = <0>;
+                               interrupts = <11>;
+                               /* overwrite MAC address in bootloader */
+                               local-mac-address = [00 00 00 00 00 00];
+                               /* set phy-handle property in board file */
+                       };
+               };
+
+               eth1: ethernet-controller@76000 {
+                       compatible = "marvell,kirkwood-eth";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0x76000 0x4000>;
+                       clocks = <&gate_clk 19>;
+                       marvell,tx-checksum-limit = <1600>;
+                       status = "disabled";
+
+                       ethernet1-port@0 {
+                               device_type = "network";
+                               compatible = "marvell,kirkwood-eth-port";
+                               reg = <0>;
+                               interrupts = <15>;
+                               /* overwrite MAC address in bootloader */
+                               local-mac-address = [00 00 00 00 00 00];
+                               /* set phy-handle property in board file */
+                       };
                };
        };
 };