]> err.no Git - linux-2.6/blobdiff - Documentation/powerpc/booting-without-of.txt
Merge branch 'core/softlockup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6] / Documentation / powerpc / booting-without-of.txt
index 07ae2edff7c4592b2ec6867e5ec5f8c9be04e5b4..ea1b70b357936b6e32ebfb8e3c7ae180f45f9209 100644 (file)
@@ -41,12 +41,24 @@ Table of Contents
   VI - System-on-a-chip devices and nodes
     1) Defining child nodes of an SOC
     2) Representing devices without a current OF specification
-      a) PHY nodes
-      b) Interrupt controllers
-      c) CFI or JEDEC memory-mapped NOR flash
-      d) 4xx/Axon EMAC ethernet nodes
-      e) Xilinx IP cores
-      f) USB EHCI controllers
+      a) MDIO IO device
+      b) Gianfar-compatible ethernet nodes
+      c) PHY nodes
+      d) Interrupt controllers
+      e) I2C
+      f) Freescale SOC USB controllers
+      g) Freescale SOC SEC Security Engines
+      h) Board Control and Status (BCSR)
+      i) Freescale QUICC Engine module (QE)
+      j) CFI or JEDEC memory-mapped NOR flash
+      k) Global Utilities Block
+      l) Freescale Communications Processor Module
+      m) Chipselect/Local Bus
+      n) 4xx/Axon EMAC ethernet nodes
+      o) Xilinx IP cores
+      p) Freescale Synchronous Serial Interface
+         q) USB EHCI controllers
+      r) MDIO on GPIOs
 
   VII - Marvell Discovery mv64[345]6x System Controller chips
     1) The /system-controller node
@@ -1817,6 +1829,60 @@ platforms are moved over to use the flattened-device-tree model.
                   big-endian;
           };
 
+    r) Freescale Display Interface Unit
+
+    The Freescale DIU is a LCD controller, with proper hardware, it can also
+    drive DVI monitors.
+
+    Required properties:
+    - compatible : should be "fsl-diu".
+    - reg : should contain at least address and length of the DIU register
+      set.
+    - Interrupts : one DIU interrupt should be describe here.
+
+    Example (MPC8610HPCD)
+       display@2c000 {
+               compatible = "fsl,diu";
+               reg = <0x2c000 100>;
+               interrupts = <72 2>;
+               interrupt-parent = <&mpic>;
+       };
+
+    s) Freescale on board FPGA
+
+    This is the memory-mapped registers for on board FPGA.
+
+    Required properities:
+    - compatible : should be "fsl,fpga-pixis".
+    - reg : should contain the address and the lenght of the FPPGA register
+      set.
+
+    Example (MPC8610HPCD)
+       board-control@e8000000 {
+               compatible = "fsl,fpga-pixis";
+               reg = <0xe8000000 32>;
+       };
+
+   r) MDIO on GPIOs
+
+   Currently defined compatibles:
+   - virtual,gpio-mdio
+
+   MDC and MDIO lines connected to GPIO controllers are listed in the
+   gpios property as described in section VIII.1 in the following order:
+
+   MDC, MDIO.
+
+   Example:
+
+       mdio {
+               compatible = "virtual,mdio-gpio";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               gpios = <&qe_pio_a 11
+                        &qe_pio_c 6>;
+       };
+
 VII - Marvell Discovery mv64[345]6x System Controller chips
 ===========================================================
 
@@ -2507,18 +2573,14 @@ sleep-map should wait until its necessity is demonstrated).
 Appendix A - Sample SOC node for MPC8540
 ========================================
 
-Note that the #address-cells and #size-cells for the SoC node
-in this example have been explicitly listed; these are likely
-not necessary as they are usually the same as the root node.
-
-       soc8540@e0000000 {
+       soc@e0000000 {
                #address-cells = <1>;
                #size-cells = <1>;
-               #interrupt-cells = <2>;
+               compatible = "fsl,mpc8540-ccsr", "simple-bus";
                device_type = "soc";
-               ranges = <00000000 e0000000 00100000>
-               reg = <e0000000 00003000>;
+               ranges = <0x00000000 0xe0000000 0x00100000>
                bus-frequency = <0>;
+               interrupt-parent = <&pic>;
 
                ethernet@24000 {
                        #address-cells = <1>;
@@ -2526,38 +2588,31 @@ not necessary as they are usually the same as the root node.
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar", "simple-bus";
-                       reg = <24000 1000>;
-                       mac-address = [ 00 E0 0C 00 73 00 ];
-                       interrupts = <d 3 e 3 12 3>;
-                       interrupt-parent = <40000>;
-                       phy-handle = <2452000>;
+                       reg = <0x24000 0x1000>;
+                       local-mac-address = [ 00 E0 0C 00 73 00 ];
+                       interrupts = <29 2 30 2 34 2>;
+                       phy-handle = <&phy0>;
                        sleep = <&pmc 00000080>;
                        ranges;
 
                        mdio@24520 {
-                               reg = <24520 20>;
+                               reg = <0x24520 0x20>;
                                compatible = "fsl,gianfar-mdio";
 
-                               ethernet-phy@0 {
-                                       linux,phandle = <2452000>
-                                       interrupt-parent = <40000>;
-                                       interrupts = <35 1>;
+                               phy0: ethernet-phy@0 {
+                                       interrupts = <5 1>;
                                        reg = <0>;
                                        device_type = "ethernet-phy";
                                };
 
-                               ethernet-phy@1 {
-                                       linux,phandle = <2452001>
-                                       interrupt-parent = <40000>;
-                                       interrupts = <35 1>;
+                               phy1: ethernet-phy@1 {
+                                       interrupts = <5 1>;
                                        reg = <1>;
                                        device_type = "ethernet-phy";
                                };
 
-                               ethernet-phy@3 {
-                                       linux,phandle = <2452002>
-                                       interrupt-parent = <40000>;
-                                       interrupts = <35 1>;
+                               phy3: ethernet-phy@3 {
+                                       interrupts = <7 1>;
                                        reg = <3>;
                                        device_type = "ethernet-phy";
                                };
@@ -2565,30 +2620,24 @@ not necessary as they are usually the same as the root node.
                };
 
                ethernet@25000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
-                       reg = <25000 1000>;
-                       mac-address = [ 00 E0 0C 00 73 01 ];
-                       interrupts = <13 3 14 3 18 3>;
-                       interrupt-parent = <40000>;
-                       phy-handle = <2452001>;
+                       reg = <0x25000 0x1000>;
+                       local-mac-address = [ 00 E0 0C 00 73 01 ];
+                       interrupts = <13 2 14 2 18 2>;
+                       phy-handle = <&phy1>;
                        sleep = <&pmc 00000040>;
                };
 
                ethernet@26000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
                        device_type = "network";
                        model = "FEC";
                        compatible = "gianfar";
-                       reg = <26000 1000>;
-                       mac-address = [ 00 E0 0C 00 73 02 ];
-                       interrupts = <19 3>;
-                       interrupt-parent = <40000>;
-                       phy-handle = <2452002>;
+                       reg = <0x26000 0x1000>;
+                       local-mac-address = [ 00 E0 0C 00 73 02 ];
+                       interrupts = <41 2>;
+                       phy-handle = <&phy3>;
                        sleep = <&pmc 00000020>;
                };
 
@@ -2602,36 +2651,32 @@ not necessary as they are usually the same as the root node.
                        serial@4500 {
                                device_type = "serial";
                                compatible = "ns16550";
-                               reg = <4500 100>;
+                               reg = <0x4500 0x100>;
                                clock-frequency = <0>;
-                               interrupts = <1a 3>;
-                               interrupt-parent = <40000>;
+                               interrupts = <42 2>;
                        };
 
                        serial@4600 {
                                device_type = "serial";
                                compatible = "ns16550";
-                               reg = <4600 100>;
+                               reg = <0x4600 0x100>;
                                clock-frequency = <0>;
-                               interrupts = <1a 3>;
-                               interrupt-parent = <40000>;
+                               interrupts = <42 2>;
                        };
                };
 
-               pic@40000 {
-                       linux,phandle = <40000>;
+               pic: pic@40000 {
                        interrupt-controller;
                        #address-cells = <0>;
-                       reg = <40000 40000>;
+                       #interrupt-cells = <2>;
+                       reg = <0x40000 0x40000>;
                        compatible = "chrp,open-pic";
                        device_type = "open-pic";
                };
 
                i2c@3000 {
-                       interrupt-parent = <40000>;
-                       interrupts = <1b 3>;
-                       reg = <3000 18>;
-                       device_type = "i2c";
+                       interrupts = <43 2>;
+                       reg = <0x3000 0x100>;
                        compatible  = "fsl-i2c";
                        dfsrr;
                        sleep = <&pmc 00000004>;
@@ -2639,6 +2684,6 @@ not necessary as they are usually the same as the root node.
 
                pmc: power@e0070 {
                        compatible = "fsl,mpc8540-pmc", "fsl,mpc8548-pmc";
-                       reg = <e0070 20>;
+                       reg = <0xe0070 0x20>;
                };
        };