u-boot/board/freescale/mpc832xemds
Simon Glass e895a4b06f fdt: Allow ft_board_setup() to report failure
This function can fail if the device tree runs out of space. Rather than
silently booting with an incomplete device tree, allow the failure to be
detected.

Unfortunately this involves changing a lot of places in the code. I have
not changed behvaiour to return an error where one is not currently
returned, to avoid unexpected breakage.

Eventually it would be nice to allow boards to register functions to be
called to update the device tree. This would avoid all the many functions
to do this. However it's not clear yet if this should be done using driver
model or with a linker list. This work is left for later.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Anatolij Gustschin <agust@denx.de>
2014-11-21 04:43:15 +01:00
..
Kconfig kconfig: remove redundant "string" type in arch and board Kconfigs 2014-09-13 16:43:55 -04:00
MAINTAINERS Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
Makefile board: powerpc: convert makefiles to Kbuild style 2013-11-01 11:42:12 -04:00
mpc832xemds.c fdt: Allow ft_board_setup() to report failure 2014-11-21 04:43:15 +01:00
pci.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
README

Freescale MPC832XEMDS Board
-----------------------------------------
1. Board Switches and Jumpers
1.0 There are five Dual-In-Line Packages(DIP) Switches on MPC832XE SYS board
	For some reason, the HW designers describe the switch settings
	in terms of 0 and 1, and then map that to physical switches where
	the label "On" refers to logic 0 and "Off" is logic 1.

	Switch bits are numbered 1 through, like, 4 6 8 or 10, but the
	bits may contribute to signals that are numbered based at 0,
	and some of those signals may be high-bit-number-0 too.  Heed
	well the names and labels and do not get confused.

		"Off" == 1
		"On"  == 0

	SW3 is switch 18 as silk-screened onto the board.
	SW4[8] is the bit labeled 8 on Switch 4.
	SW5[1:6] refers to bits labeled 1 through 6 in order on switch 5.
	SW6[7:1] refers to bits labeled 7 through 1 in order on switch 6.
	SW7[1:8]= 0000_0001 refers to bits labeled 1 through 6 is set as "On"
		and bits labeled 8 is set as "Off".

1.1 For the MPC832XEMDS PROTO Board

	First, make sure the board default setting is consistent with the document
		 shipped with your board. Then apply the following setting:
	SW3[1-8]= 0000_1000  (core PLL setting, core enable)
	SW4[1-8]= 0001_0010  (Flash boot on local bus, system PLL setting)
	SW5[1-8]= 0010_0110  (Boot from high end)
	SW6[1-8]= 0011_0100  (Flash boot on 16 bit local bus)
	SW7[1-8]= 1000_0011  (QE PLL setting)

	ENET3/4 MII mode settings:
	J1 1-2 (ETH3_TXER)
	J2 2-3 (MII mode)
	J3 2-3 (MII mode)
	J4 2-3 (ADSL clockOscillator)
	J5 1-2 (ETH4_TXER)
	J6 2-3 (ClockOscillator)
	JP1 removed (don't force PORESET)
	JP2 mounted (ETH4/2 MII)
	JP3 mounted (ETH3 MII)
	JP4 mounted (HRCW from BCSR)

	ENET3/4 RMII mode settings:
	J1 1-2 (ETH3_TXER)
	J2 1-2 (RMII mode)
	J3 1-2 (RMII mode)
	J4 2-3 (ADSL clockOscillator)
	J5 1-2 (ETH4_TXER)
	J6 2-3 (ClockOscillator)
	JP1 removed (don't force PORESET)
	JP2 removed (ETH4/2 RMII)
	JP3 removed (ETH3 RMII)
	JP4 removed (HRCW from FLASH)

	on board Oscillator: 66M


2. Memory Map

2.1 The memory map should look pretty much like this:

	0x0000_0000	0x7fff_ffff	DDR			2G
	0x8000_0000	0x8fff_ffff	PCI MEM prefetch	256M
	0x9000_0000	0x9fff_ffff	PCI MEM non-prefetch	256M
	0xc000_0000	0xdfff_ffff	Empty			512M
	0xe000_0000	0xe01f_ffff	Int Mem Reg Space	2M
	0xe020_0000	0xe02f_ffff	Empty			1M
	0xe030_0000	0xe03f_ffff	PCI IO			1M
	0xe040_0000	0xefff_ffff	Empty			252M
	0xf400_0000	0xf7ff_ffff	Empty			64M
	0xf800_0000	0xf800_7fff	BCSR on CS1		32K
	0xf800_8000	0xf800_ffff	PIB CS2			32K
	0xf801_0000	0xf801_7fff	PIB CS3			32K
	0xfe00_0000	0xfeff_ffff	FLASH on CS0		16M


3. Definitions

3.1 Explanation of NEW definitions in:

	include/configs/MPC832XEPB.h

    CONFIG_MPC83xx	MPC83xx family for MPC8349, MPC8360 and MPC832x
    CONFIG_MPC832x	MPC832x specific
    CONFIG_MPC832XEMDS	MPC832XEMDS board specific

4. Compilation

	Assuming you're using BASH shell:

		export CROSS_COMPILE=your-cross-compile-prefix
		cd u-boot
		make distclean
		make MPC832XEMDS_config
		make

	MPC832x support PCI 33MHz and PCI 66MHz, to make u-boot support PCI:

		1)Make sure the DIP SW support PCI mode as described in Section 1.1.

		2)To Make U-Boot image support PCI 33MHz, use
			Make MPC832XEMDS_HOST_33_config

		3)To Make U-Boot image support PCI 66MHz, use
			Make MPC832XEMDS_HOST_66M_config

5. Downloading and Flashing Images

5.0 Download over network:

	tftp 10000 u-boot.bin

5.1 Reflash U-boot Image using U-boot

	tftp 20000 u-boot.bin
	protect off fe000000 fe0fffff
	erase fe000000 fe0fffff
	cp.b 20000 fe000000 xxxx

You have to supply the correct byte count with 'xxxx' from the TFTP result log.
Maybe 3ffff will work too, that corresponds to the erased sectors.


6. Notes
	1) The console baudrate for MPC832XEMDS is 115200bps.