08 Oct, 2007

11 commits

  • On the Freescale embedded (83xx, 85xx, 86xx) and a few of the discrete
    bridges (mpc10x, tsi108) use the new for_each_compatible_node() or
    for_each_node_by_type() to provide more exact matching when looking for
    PHBs in the device tree.

    With the previous code it was possible to match on pci bridges since
    we were only matching on device_type.

    Signed-off-by: Kumar Gala

    Kumar Gala
     
  • The LTSSM register is actual 32-bits wide so we should be doing a
    dword access.

    Signed-off-by: Kumar Gala

    Kumar Gala
     
  • The CONFIG_FSL_BOOKE mmu setup code fails when CONFIG_HIGHMEM=y
    and the 3 fixed TLB entries cannot exactly map the lowmem size.
    Each TLB entry can map 4MB, 16MB, 64MB or 256MB, so the failure
    is observed when the kernel lowmem size is not equal to the
    sum of up to 3 of those values.

    Normally, memory is sized in nice numbers, but I observed this
    problem while testing a crash dump kernel. The failure can
    also be observed by artificially reducing the kernel's main
    memory via the mem= kernel command line parameter.

    This commit fixes the problem by setting __initial_memory_limit
    in adjust_total_lowmem().

    Signed-off-by: Dale Farnsworth
    Signed-off-by: Kumar Gala

    Dale Farnsworth
     
  • Add basic board support for the MPC8610 HPCD. This does
    not include any support the SoC Display or Audio controllers.

    Signed-off-by: Xianghua Xiao
    Signed-off-by: Jason Jin
    Signed-off-by: Jon Loelier
    Signed-off-by: Kumar Gala

    Xianghua Xiao
     
  • Signed-off-by: Jason Jin
    Signed-off-by: Jon Loeliger
    Signed-off-by: Kumar Gala

    Jason Jin
     
  • Signed-off-by: Xianghua Xiao
    Signed-off-by: Jon Loeliger
    Signed-off-by: Kumar Gala

    Xianghua Xiao
     
  • Mode should be "cpu-qe" for QE in CPU mode. "qe" should be reserved
    for native QE mode.

    Signed-off-by: Peter Korsgaard
    Signed-off-by: Kumar Gala

    Peter Korsgaard
     
  • According to booting-without-of.txt, compatible should be "fsl_spi" and
    mode "cpu" or "qe" for the fsl SPI controllers.

    Signed-off-by: Peter Korsgaard
    Signed-off-by: Kumar Gala

    Peter Korsgaard
     
  • This patch makes numerous miscellaneous code improvements to the QE library.

    1. Remove struct ucc_common and merge ucc_init_guemr() into ucc_set_type()
    (every caller of ucc_init_guemr() also calls ucc_set_type()). Modify all
    callers of ucc_set_type() accordingly.

    2. Remove the unused enum ucc_pram_initial_offset.

    3. Refactor qe_setbrg(), also implement work-around for errata QE_General4.

    4. Several printk() calls were missing the terminating \n.

    5. Add __iomem where needed, and change u16 to __be16 and u32 to __be32 where
    appropriate.

    6. In ucc_slow_init() the RBASE and TBASE registers in the PRAM were programmed
    with the wrong value.

    7. Add the protocol type to struct us_info and updated ucc_slow_init() to
    use it, instead of always programming QE_CR_PROTOCOL_UNSPECIFIED.

    8. Rename ucc_slow_restart_x() to ucc_slow_restart_tx()

    9. Add several macros in qe.h (mostly for slow UCC support, but also to
    standardize some naming convention) and remove several unused macros.

    10. Update ucc_geth.c to use the new macros.

    11. Add ucc_slow_info.protocol to specify which QE_CR_PROTOCOL_xxx protcol
    to use when initializing the UCC in ucc_slow_init().

    12. Rename ucc_slow_pram.rfcr to rbmr and ucc_slow_pram.tfcr to tbmr, since
    these are the real names of the registers.

    13. Use the setbits, clrbits, and clrsetbits where appropriate.

    14. Refactor ucc_set_qe_mux_rxtx().

    15. Remove all instances of 'volatile'.

    16. Simplify get_cmxucr_reg();

    17. Replace qe_mux.cmxucrX with qe_mux.cmxucr[].

    18. Updated struct ucc_geth because struct ucc_fast is not padded any more.

    Signed-off-by: Timur Tabi
    Signed-off-by: Kumar Gala

    Timur Tabi
     
  • We now generate vdso[32,64].so.dbg as part of the build so
    add them to .gitignore

    Signed-off-by: Kumar Gala

    Kumar Gala
     
  • The PCI nodes on the MPC8568 dts didn't get moved up to be sibilings of the
    SOC node when we did that clean up for some reason. Fix that up and some
    minor whitespace and adjusting the size of the soc reg property.

    Signed-off-by: Kumar Gala

    Kumar Gala
     

05 Oct, 2007

22 commits


04 Oct, 2007

7 commits

  • The 8xx can only support a max of 8M during early boot (it seems a lot of
    8xx boards only have 8M so the bug was never triggered), but the early
    allocator isn't aware of this. The following change makes it able to run
    with larger memory.

    Signed-off-by: John Traill
    Signed-off-by: Vitaly Bordug
    Signed-off-by: Scott Wood
    Signed-off-by: Kumar Gala

    John Traill
     
  • The CPU15 erratum on MPC8xx chips can cause incorrect code execution
    under certain circumstances, where there is a conditional or indirect
    branch in the last word of a page, with a target in the last cache line
    of the next page. This patch implements one of the suggested
    workarounds, by forcing a TLB miss whenever execution crosses a page
    boundary. This is done by invalidating the pages before and after the
    one being loaded into the TLB in the ITLB miss handler.

    Signed-off-by: Scott Wood
    Signed-off-by: Kumar Gala

    Scott Wood
     
  • These let board code set up pins and clocks without having to
    put magic numbers directly into the registers.

    The clock function is mostly duplicated from the cpm2 version;
    hopefully this stuff can be merged at some point.

    Signed-off-by: Scott Wood
    Signed-off-by: Kumar Gala

    Scott Wood
     
  • 1. Keep a global mpc8xx_immr mapping, rather than constantly
    creating temporary mappings.
    2. Look for new fsl,cpm1 and fsl,cpm1-pic names.
    3. Always reset the CPM when not using the udbg console;
    this is required in case the firmware initialized a device
    that is incompatible with one that the kernel is about to
    use.
    4. Remove some superfluous casts and header includes.
    5. Change a usage of IMAP_ADDR to get_immrbase().
    6. Use phys_addr_t, not uint, for dpram_pbase.
    7. Various sparse-related fixes, such as __iomem annotations.
    8. Remove mpc8xx_show_cpuinfo, which doesn't provide anything
    useful beyond the generic cpuinfo handler.
    9. Move prototypes for 8xx support functions from board files
    to sysdev/commproc.h.

    Signed-off-by: Scott Wood
    Signed-off-by: Kumar Gala

    Scott Wood
     
  • 1. Move CONSISTENT_START on 8xx so that it doesn't overlap the IMMR mapping.
    2. The wrong register was being loaded into SPRN_MD_RPN.

    Signed-off-by: Scott Wood
    Signed-off-by: Kumar Gala

    Scott Wood
     
  • This prevents some bootloader/bootwrapper characters from being lost.

    Signed-off-by: Scott Wood
    Signed-off-by: Kumar Gala

    Scott Wood
     
  • Mostly a bunch of direct access to in/out conversions, plus a few
    cast removals, __iomem annotations, and miscellaneous cleanup.

    Signed-off-by: Scott Wood
    Signed-off-by: Kumar Gala

    Scott Wood