Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d4509e5a authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'merge' of git://git.secretlab.ca/git/linux-2.6

* 'merge' of git://git.secretlab.ca/git/linux-2.6:
  powerpc/5200: in lpbfifo, flag DMA irqs as enabled after requesting them
  powerpc/fsl: add device tree binding for QE firmware
  of/flattree: Fix unhandled OF_DT_NOP tag when unflattening the device tree
parents 0afa80ab ed01f64b
Loading
Loading
Loading
Loading
+54 −0
Original line number Diff line number Diff line
@@ -21,6 +21,15 @@ Required properties:
- fsl,qe-num-snums: define how many serial number(SNUM) the QE can use for the
  threads.

Optional properties:
- fsl,firmware-phandle:
    Usage: required only if there is no fsl,qe-firmware child node
    Value type: <phandle>
    Definition: Points to a firmware node (see "QE Firmware Node" below)
        that contains the firmware that should be uploaded for this QE.
        The compatible property for the firmware node should say,
        "fsl,qe-firmware".

Recommended properties
- brg-frequency : the internal clock source frequency for baud-rate
  generators in Hz.
@@ -59,3 +68,48 @@ Example:
		reg = <0 c000>;
	};
     };

* QE Firmware Node

This node defines a firmware binary that is embedded in the device tree, for
the purpose of passing the firmware from bootloader to the kernel, or from
the hypervisor to the guest.

The firmware node itself contains the firmware binary contents, a compatible
property, and any firmware-specific properties.  The node should be placed
inside a QE node that needs it.  Doing so eliminates the need for a
fsl,firmware-phandle property.  Other QE nodes that need the same firmware
should define an fsl,firmware-phandle property that points to the firmware node
in the first QE node.

The fsl,firmware property can be specified in the DTS (possibly using incbin)
or can be inserted by the boot loader at boot time.

Required properties:
  - compatible
      Usage: required
      Value type: <string>
      Definition: A standard property.  Specify a string that indicates what
          kind of firmware it is.  For QE, this should be "fsl,qe-firmware".

   - fsl,firmware
      Usage: required
      Value type: <prop-encoded-array>, encoded as an array of bytes
      Definition: A standard property.  This property contains the firmware
          binary "blob".

Example:
	qe1@e0080000 {
		compatible = "fsl,qe";
		qe_firmware:qe-firmware {
			compatible = "fsl,qe-firmware";
			fsl,firmware = [0x70 0xcd 0x00 0x00 0x01 0x46 0x45 ...];
		};
		...
	};

	qe2@e0090000 {
		compatible = "fsl,qe";
		fsl,firmware-phandle = <&qe_firmware>;
		...
	};
+2 −0
Original line number Diff line number Diff line
@@ -481,6 +481,8 @@ mpc52xx_lpbfifo_probe(struct of_device *op, const struct of_device_id *match)
	if (rc)
		goto err_bcom_rx_irq;

	lpbfifo.dma_irqs_enabled = 1;

	/* Request the Bestcomm transmit (memory --> fifo) task and IRQ */
	lpbfifo.bcom_tx_task =
		bcom_gen_bd_tx_init(2, res.start + LPBFIFO_REG_FIFO_DATA,
+5 −2
Original line number Diff line number Diff line
@@ -376,7 +376,10 @@ unsigned long __init unflatten_dt_node(unsigned long mem,
		if (!np->type)
			np->type = "<NULL>";
	}
	while (tag == OF_DT_BEGIN_NODE) {
	while (tag == OF_DT_BEGIN_NODE || tag == OF_DT_NOP) {
		if (tag == OF_DT_NOP)
			*p += 4;
		else
			mem = unflatten_dt_node(mem, p, np, allnextpp, fpsize);
		tag = be32_to_cpup((__be32 *)(*p));
	}