* mpc55xx/include/fsl-mpc551x.h, mpc55xx/include/fsl-mpc555x.h,
mpc55xx/include/fsl-mpc556x.h, mpc55xx/include/fsl-mpc567x.h,
mpc55xx/include/regs-edma.h, mpc55xx/include/regs-mmu.h: New files.
* Makefile.am, M preinstall.am: Reflect changes above.
* mpc55xx/dspi/dspi.c: Update due to API changes.
* mpc55xx/include/edma.h, mpc55xx/edma/edma.c: Rework to support
multiple eDMA modules. Removed complex error interrupt handling.
* mpc55xx/include/esci.h, mpc55xx/esci/esci.c: Support interrupt mode
and printk(). Use configure options.
* mpc55xx/include/irq.h: More defines. API changes.
* mpc55xx/include/mpc55xx.h: API changes.
* mpc55xx/include/reg-defs.h: Added register defines.
* mpc55xx/include/regs.h: Use new register header files.
* mpc55xx/include/siu.h: Fixed includes.
* mpc55xx/misc/fmpll.S, mpc55xx/misc/copy.S, mpc55xx/misc/flash.S:
Changed sections. API changes. Support MPC5674F.
* make/custom/phycore_mpc5554.cfg, startup/linkcmds.phycore_mpc5554,
network/if_smc.c: New files.
* Makefile.am, preinstall.am: Reflect changes above.
* configure.ac: Add support for the Phytec PhyCORE MPC5554. Includes:
- HAS_SMC91111 to indicate a BSP has that neworking.
- SMC91111_ENADDR_IS_SETUP so that it skips code to set up the MAC
address.
- MPC55XX_CLOCK_EMIOS_CHANNEL to permit one to set which eMIOS
channel to use for the clock.
- MPC55XX_BOOTFLAGS: Skips two words above the RCHW in the startup
for use in skpping over the MMU setup. Required for debugging via a
cheap emulator where code is loaded into RAM and then mapped in as
flash.
- BOARD_PHYCORE_MPC5554 If defined, use custom settings for the
Phytec PhyCORE MPC5554 SOM.
* clock/clock-config.c: Modify so that the EMIOS channel used for the
clock can be selected at configuration time. For MPC5544 only:
- Conditionally skip access to a register that faults if accessed on
the MPC5554
- Do not set the control register mode as was done for GW_LCFM
support, it breaks interrupts.
* make/custom/mpc55xx.inc: Make it possible to override the soft-float
to set the type of floating point BSP will use.
* startup/start.S: Add support for the "boot flags", two long-words
that I manipulate with the debugger to skip over MMU setup. Use an
external for the start of external SRAM instead of the hardwired
number 0x20000000. Disable write access to the internal flash.
* mpc55xx/misc/flash_support.c: New file.
* Makefile.am: Reflect change above.
* mpc55xx/include/mpc55xx.h: Add definitions for the FLASH interface
and two memory protect interfaces. Add modifications to eliminate
warnings in some of the cache macros.
* mpc55xx/include/regs.h: Add some structure tag names for some
structures that I needed access to. Don't define the ALTCADR for the
MPC5554 - it is reserved and acess casues an exception. Hide the C99
designated initializers when compiling with C++. Add some support for
the EQADC.
* mpc55xx/include/esci.h, mpc55xx/include/watchdog.h: Add C++
protection.
* libchip/network/smc91111.c: Modify to support the MPC5554 using new
exceptions. Fix where the networking status is being dumped to a
single thousand-character line. Add support for when the chip loaded
it's MAC address from a serial chip at reset (the
SMC91111_ENADDR_IS_SETUP option). Call lan91cxx_start() every time
the the device is initialized. Without this change the chip can not
be "upped" once it has been downed.
* c/src/libchip/network/smc91111.h: Change the "#ifdef expression" to
"#if expression".
* c/src/libchip/network/smc91111exp.h: Add support for new exceptions.
* shared/bootloader/exception.S, shared/bootloader/misc.c,
shared/bootloader/mm.c, shared/console/polled_io.c,
shared/startup/probeMemEnd.c: Update due to API changes.
* mpc6xx/clock/c_clock.c, mpc6xx/mmu/mmuAsm.S,
new-exceptions/bspsupport/ppc_exc_global_handler.c,
shared/include/cpuIdent.c, shared/src/stack.c: Update due to API
changes.
* Makefile.am: Removed console.c and linked to the shared console.c.
Note: This change was verified through compilation only.
* console/console.c: Removed.
* irq/irq.c: Removed printk() before the interrupt initialization
because it somehow destroys the interrupt context.
* make/custom/nds.cfg: Enable Thumb interwork.
* startup/bspstart.c: Set default exception handler.
* shared/irq/irq_asm.S: BUGFIX (introduced by SMP changes
which moved code around, apparently): *must* store i8259
mask to frame *before* switching to IRQ stack. The code
retrieves the mask after switching back to original stack.
Also, the IRQ stack has no reserved space for the mask;
storing it there could overwrite memory!
* shared/start/start.S, shared/start/preload.S:
Make sure stack is 16-byte aligned and the TOS
is tagged with a NULL pointer (used as a terminator
when printing stack traces).