[POWERPC] Add QUICC Engine (QE) infrastructure
authorLi Yang <leoli@freescale.com>
Wed, 4 Oct 2006 04:10:46 +0000 (23:10 -0500)
committerPaul Mackerras <paulus@samba.org>
Wed, 4 Oct 2006 05:24:27 +0000 (15:24 +1000)
commit9865853851313e0d94a4acde42d6f9d8070bb376
tree0f4cca2bda6d2a21b8beb02ec2883bf328f1935c
parent9a1ab883c04e43f9f9819c40eb435bcdc4136193
[POWERPC] Add QUICC Engine (QE) infrastructure

Add QUICC Engine (QE) configuration, header files, and
QE management and library code that are used by QE devices
drivers.

Includes Leo's modifications up to, and including, the
platform_device to of_device adaptation:

"The series of patches add generic QE infrastructure called
qe_lib, and MPC8360EMDS board support.  Qe_lib is used by
QE device drivers such as ucc_geth driver.

This version updates QE interrupt controller to use new irq
mapping mechanism, addresses all the comments received with
last submission and includes some style fixes.

v2: Change to use device tree for BCSR and MURAM;
Remove I/O port interrupt handling code as it is not generic
enough.

v3: Address comments from Kumar;  Update definition of several
device tree nodes;  Copyright style change."

In addition, the following changes have been made:

o removed typedefs
o uint -> u32 conversions
o removed following defines:
  QE_SIZEOF_BD, BD_BUFFER_ARG, BD_BUFFER_CLEAR, BD_BUFFER,
  BD_STATUS_AND_LENGTH_SET, BD_STATUS_AND_LENGTH, and BD_BUFFER_SET
  because they hid sizeof/in_be32/out_be32 operations from the reader.
o fixed qe_snums_init() serial num assignment to use a const array
o made CONFIG_UCC_FAST select UCC_SLOW
o reduced NR_QE_IC_INTS from 128 to 64
o remove _IO_BASE, etc. defines (not used)
o removed irrelevant comments, added others to resemble removed BD_ defines
o realigned struct definitions in headers
o various other style fixes including things like pinMask -> pin_mask
o fixed a ton of whitespace issues
o marked ioregs as __be32/__be16
o removed platform_device code and redundant get_qe_base()
o removed redundant comments
o added cpu_relax() to qe_reset
o uncasted all get_property() assignments
o eliminated unneeded casts
o eliminated immrbar_phys_to_virt (not used)

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Shlomi Gridish <gridish@freescale.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 files changed:
arch/powerpc/Kconfig
arch/powerpc/sysdev/Makefile
arch/powerpc/sysdev/qe_lib/Kconfig [new file with mode: 0644]
arch/powerpc/sysdev/qe_lib/Makefile [new file with mode: 0644]
arch/powerpc/sysdev/qe_lib/qe.c [new file with mode: 0644]
arch/powerpc/sysdev/qe_lib/qe_ic.c [new file with mode: 0644]
arch/powerpc/sysdev/qe_lib/qe_ic.h [new file with mode: 0644]
arch/powerpc/sysdev/qe_lib/qe_io.c [new file with mode: 0644]
arch/powerpc/sysdev/qe_lib/ucc.c [new file with mode: 0644]
arch/powerpc/sysdev/qe_lib/ucc_fast.c [new file with mode: 0644]
arch/powerpc/sysdev/qe_lib/ucc_slow.c [new file with mode: 0644]
include/asm-powerpc/immap_qe.h [new file with mode: 0644]
include/asm-powerpc/qe.h [new file with mode: 0644]
include/asm-powerpc/qe_ic.h [new file with mode: 0644]
include/asm-powerpc/ucc.h [new file with mode: 0644]
include/asm-powerpc/ucc_fast.h [new file with mode: 0644]
include/asm-powerpc/ucc_slow.h [new file with mode: 0644]
include/linux/fsl_devices.h