[RFC POWERPC] booting-without-of: bindings for FHCI USB, GPIO LEDs, MCU, and NAND on UPM

Anton Vorontsov avorontsov at ru.mvista.com
Wed Apr 23 05:41:35 EST 2008


Hi all,

Here is purposed bindings draft for the new drivers that I would like to
send for this or next merge window, depending on results of this RFC. ;-)
(The new bindings needs to be in-tree or at least Acked before I could
send the drivers.)

Comments and suggestions are highly appreciated.

Thanks.

diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt
index c350623..38fe3e9 100644
--- a/Documentation/powerpc/booting-without-of.txt
+++ b/Documentation/powerpc/booting-without-of.txt
@@ -59,6 +59,11 @@ Table of Contents
       p) Freescale Synchronous Serial Interface
       q) USB EHCI controllers
       r) Freescale General-purpose Timers Module
+      s) Freescale USB Parameter RAM:
+      t) Freescale QUICC Engine USB Controller
+      u) LEDs on GPIOs
+      v) Freescale MCU with MPC8349E-mITX compatible firmware
+      w) NAND on UPM-driven Freescale Localbus
 
   VII - Marvell Discovery mv64[345]6x System Controller chips
     1) The /system-controller node
@@ -2866,6 +2871,139 @@ platforms are moved over to use the flattened-device-tree model.
     	clock-frequency = <0>;
     };
 
+    s) Freescale USB Parameter RAM:
+
+    Required properties:
+      - compatible : should be "fsl,<chip>-qe-muram-usb-pram",
+        "fsl,qe-muram-usb-pram", "fsl,cpm-muram-usb-pram".
+      - reg : should contain USB PRAM location and length.
+
+    Example:
+
+	usb-pram at 8b00 {
+		compatible = "fsl,mpc8360-qe-muram-usb-pram",
+			     "fsl,qe-muram-usb-pram",
+			     "fsl,cpm-muram-usb-pram";
+		reg = <0x8b00 0x100>;
+	};
+
+    t) Freescale QUICC Engine USB Controller
+
+    Required properties:
+      - compatible : should be "fsl,<chip>-qe-usb", "fsl,qe-usb",
+        "fsl,usb-fhci"
+      - reg : should contain gtm registers location and length.
+      - interrupts : should contain USB interrupt.
+      - interrupt-parent : interrupt source phandle.
+      - fsl,fullspeed-clock : specifies the full speed USB clock source.
+      - fsl,lowspeed-clock : specifies the low speed USB clock source.
+      - fsl,usb-mode : should be "host".
+      - linux,hub-power-budget : optional, USB power budget for the root hub
+        in mA.
+      - gpios : should specify GPIOs in this order: USBOE, USBTP, USBTN, USBRP,
+        USBRN, SPEED (optional), and SUSPEND (optional).
+
+    Example:
+
+	usb at 6c0 {
+		compatible = "fsl,mpc8360-qe-usb", "fsl,qe-usb",
+			     "fsl,usb-fhci";
+		reg = <0x6c0 0x40>;
+		interrupts = <11>;
+		interrupt-parent = <&qeic>;
+		fsl,fullspeed-clock = "clk21";
+		fsl,usb-mode = "host";
+		gpios = <&qe_pio_b  2 0 /* USBOE */
+			 &qe_pio_b  3 0 /* USBTP */
+			 &qe_pio_b  8 0 /* USBTN */
+			 &qe_pio_b  9 0 /* USBRP */
+			 &qe_pio_b 11 0 /* USBRN */
+			 &qe_pio_e 20 0 /* SPEED */
+			 &qe_pio_e 21 0 /* SUSPN */>;
+	};
+
+    u) LEDs on GPIOs
+
+    Required properties:
+      - compatible : should be "linux,gpio-led".
+      - linux,name : LED name.
+      - linux,active-low : property should be present if LED wired as
+        active-low.
+      - linux,default-trigger : Linux default trigger for this LED.
+      - linux,brightness : default brightness.
+      - gpios : should specify LED GPIO.
+
+    Example:
+
+	led at 0 {
+		compatible = "linux,gpio-led";
+		linux,name = "pwr";
+		linux,brightness = <1>;
+		linux,active-low;
+		gpios = <&mcu_pio 0>;
+	};
+
+	led at 1 {
+	        compatible = "linux,gpio-led";
+	        linux,name = "hdd";
+	        linux,default-trigger = "ide-disk";
+		linux,active-low;
+		gpios = <&mcu_pio 1>;
+	};
+
+    v) Freescale MCU with MPC8349E-mITX compatible firmware
+
+    Required properties:
+      - compatible : "fsl,<mcu-chip>-<board>", "fsl,mcu-mpc8349emitx",
+        "simple-bus";
+      - reg : should specify I2C address (0x0a).
+      - #address-cells : should be 0.
+      - #size-cells : should be 0.
+      - #gpio-cells : should be 1.
+      - gpio-controller : should be present;
+
+    Example:
+
+	mcu_pio: mcu at 0a {
+		#address-cells = <0>;
+		#size-cells = <0>;
+		#gpio-cells = <1>;
+		compatible = "fsl,mc9s08qg8-mpc8349emitx",
+			     "fsl,mcu-mpc8349emitx",
+			     "simple-bus";
+		reg = <0x0a>;
+		gpio-controller;
+	};
+
+    w) NAND on UPM-driven Freescale Localbus
+
+      Required properties:
+      - compatible : "fsl,upm-nand".
+      - reg : should specify localbus chip select and size used for the chip.
+      - width : should specify port size in bytes.
+      - fsl,upm-addr-offset : UPM pattern offset for the address latch.
+      - fsl,upm-cmd-offset : UPM pattern offset for the command latch.
+      - fsl,wait-pattern : should be present if NAND chip requires waiting
+        for Ready-Not-Busy pin after each executed pattern.
+      - fsl,wait-write : should be present if NAND chip needs waiting on
+        Ready-Not-Busy pin after each write cycle.
+      - linux,chip-delay : optional, may contain delay value in milliseconds
+        (in case when Ready-Not-Busy pin was unspecified).
+      - gpios : may specify optional GPIO connected to the Ready-Not-Busy pin.
+
+      Example:
+
+	flash at 1,0 {
+		compatible = "stmicro,NAND512W3A2BN6E", "fsl,upm-nand";
+		reg = <1 0 1>;
+		width = <1>;
+		fsl,upm-addr-offset = <16>;
+		fsl,upm-cmd-offset = <8>;
+		fsl,wait-pattern;
+		fsl,wait-write;
+		gpios = <&qe_pio_e 18 0>;
+	};
+
 VII - Marvell Discovery mv64[345]6x System Controller chips
 ===========================================================
 



More information about the Linuxppc-dev mailing list