Skip to content

Commit 8703fcf

Browse files
committed
first commit, based off BRCM downloaded cfe 1.4.0
0 parents  commit 8703fcf

File tree

736 files changed

+262040
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

736 files changed

+262040
-0
lines changed

README

Lines changed: 1994 additions & 0 deletions
Large diffs are not rendered by default.

TODO

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
/* *********************************************************************
2+
* Broadcom Common Firmware Environment (CFE)
3+
*
4+
* TODO
5+
*
6+
* Author: Mitch Lichtenberg
7+
*
8+
*********************************************************************
9+
*
10+
* Copyright 2000,2001,2002,2003
11+
* Broadcom Corporation. All rights reserved.
12+
*
13+
* This software is furnished under license and may be used and
14+
* copied only in accordance with the following terms and
15+
* conditions. Subject to these conditions, you may download,
16+
* copy, install, use, modify and distribute modified or unmodified
17+
* copies of this software in source and/or binary form. No title
18+
* or ownership is transferred hereby.
19+
*
20+
* 1) Any source code used, modified or distributed must reproduce
21+
* and retain this copyright notice and list of conditions
22+
* as they appear in the source file.
23+
*
24+
* 2) No right is granted to use any trade name, trademark, or
25+
* logo of Broadcom Corporation. The "Broadcom Corporation"
26+
* name may not be used to endorse or promote products derived
27+
* from this software without the prior written permission of
28+
* Broadcom Corporation.
29+
*
30+
* 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR
31+
* IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED
32+
* WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
33+
* PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT
34+
* SHALL BROADCOM BE LIABLE FOR ANY DAMAGES WHATSOEVER, AND IN
35+
* PARTICULAR, BROADCOM SHALL NOT BE LIABLE FOR DIRECT, INDIRECT,
36+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
37+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
38+
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
39+
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
40+
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
41+
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF
42+
* THE POSSIBILITY OF SUCH DAMAGE.
43+
********************************************************************* */
44+
45+
46+
This file is a quick list of the things that are being considered
47+
for future development in CFE as it matures.
48+
49+
Customers: I welcome your comments (good and bad).
50+
51+
52+
------------------------------------------------------------------------------
53+
FEATURES YET TO BE IMPLEMENTED
54+
------------------------------------------------------------------------------
55+
56+
* No user interface
57+
58+
One way we envision CFE being used is with no user interface whatsoever;
59+
it will be used to initialize the BCM12500 and launch a program,
60+
and that's all. This configuration might be popular in systems
61+
with many BCM12500s, where the slave BCM12500s do not need
62+
console interfaces of their own.
63+
64+
* Simple scripts
65+
66+
CFE needs some simple script mechanism (it could be as simple as a set
67+
of commands stored in an environment variable), and a way to invoke
68+
the script on startup. For example, such a script could configure
69+
the network interface and start a netboot from that interface.
70+
71+
* Power-on Diagnostics
72+
73+
Once we have a reasonable set of power-on diagnostics, they
74+
will be incorporated into the firmware.
75+
76+
* Set/configure serial port baud rate, store rate in flash
77+
78+
* Better "test" commands for tinkering with SOC peripherals
79+
80+
81+
------------------------------------------------------------------------------
82+
FEATURES IN PROGRESS, NOT COMPLETED
83+
------------------------------------------------------------------------------
84+
85+
* User's Manual improvements
86+
87+
The user's manual needs to be improved to fill in the missing
88+
sections, add additional sections, and convert the style to
89+
Broadcom's documentation standards. You'll be able to get
90+
the latest manuals from DocSafe when this happens.
91+
92+
* Some API functions not implemented
93+
94+
Several of the API functions available via CFE's external API are not
95+
implemented, or are missing features.
96+
97+
98+
------------------------------------------------------------------------------
99+
IDEAS THAT WON'T NECESSARILY BE DONE
100+
------------------------------------------------------------------------------
101+
102+
* Write access to file systems
103+
104+
Write access to file systems is specifically *not* included in CFE for
105+
simplicity.
106+
107+
* Direct support for reading boot files via NFS
108+
109+
This is outside the design goals for CFE, but given enough requests
110+
it can be done easily.
111+
112+
113+
------------------------------------------------------------------------------
114+
115+
116+

build/broadcom/bcm1250cpci/Makefile

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
2+
CFG_LITTLE ?= 0
3+
CFG_RELOC ?= 1
4+
CFG_UNCACHED ?= 0
5+
CFG_VAPI ?= 0
6+
CFG_BOOTRAM ?= 0
7+
CFG_BOARDNAME = "BCM1250CPCI"
8+
CFG_PCI = 1
9+
CFG_DOWNLOAD = 0
10+
11+
TOP = ../../../cfe
12+
ARCH = mips
13+
BOARD = bcm1250cpci
14+
CHIPSET = sibyte
15+
CPU = sb1250
16+
17+
18+
include ${TOP}/main/cfe.mk
19+
20+
#
21+
# Don't clean these object files if building bi-endian.
22+
# To build a clean bi-endian flash image, use "gmake clean cfe-biendian.flash"
23+
#
24+
25+
ifeq ($(strip ${CFG_BIENDIAN}),0)
26+
CLEANOBJS += cfe.bin.le cfe.bin.be
27+
endif
28+
29+
#
30+
# These settings speed up the cache init by not doing too much of it. This helps
31+
# boot time in the sim. It also adjusts timers and other hardware stuff
32+
# for running in the functional simulator (mostly changes CPU speed to
33+
# 500Khz). Remove this before using on real hardware.
34+
#
35+
# CFLAGS += -D_FASTEMUL_ -D_FUNCSIM_
36+
37+
38+
ALL : cfe cfe.flash
39+
echo done
40+
41+
#
42+
# Special targets for bi-endian builds
43+
#
44+
45+
cfe.bin.le :
46+
${MAKE} clean all CFG_BIENDIAN=1 CFG_LITTLE=1 CFG_RELOC=1
47+
cp cfe.bin cfe.bin.le
48+
49+
cfe.bin.be :
50+
${MAKE} clean all CFG_BIENDIAN=1 CFG_LITTLE=0 CFG_RELOC=1
51+
cp cfe.bin cfe.bin.be
52+
53+
biend : cfe-biendian.flash cfe-biendian.srec
54+
echo done
55+
56+
cfe-biendian.flash : cfe.bin.le cfe.bin.be mkflashimage
57+
./mkflashimage -v -EX -B ${CFG_BOARDNAME} -V ${CFE_VER_MAJ}.${CFE_VER_MIN}.${CFE_VER_ECO} cfe.bin.be cfe.bin.le cfe-biendian.flash
58+
59+
cfe-biendian.srec : cfe-biendian.flash
60+
dd if=cfe-biendian.flash of=cfe-biendian.bin bs=64 skip=1
61+
$(OBJCOPY) --input-target=binary --output-target=srec cfe-biendian.bin cfe-biendian.srec
62+
63+
#
64+
# Linker script
65+
#
66+
67+
include ${TOP}/main/cfe_link.mk
68+
69+
7.55 KB
Binary file not shown.

build/broadcom/bcm91125cpci/Makefile

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
CFG_LITTLE ?= 0
2+
CFG_RELOC ?= 1
3+
CFG_UNCACHED ?= 0
4+
CFG_VAPI ?= 0
5+
CFG_BOOTRAM ?= 0
6+
CFG_BOARDNAME = "BCM91125CPCI"
7+
CFG_PCI ?= 1
8+
CFG_LDT ?= 0
9+
10+
TOP = ../../../cfe
11+
ARCH = mips
12+
BOARD = bcm91125cpci
13+
CHIPSET = sibyte
14+
CPU = sb1250
15+
16+
include ${TOP}/main/cfe.mk
17+
18+
#
19+
# Don't clean these object files if building bi-endian.
20+
# To build a clean bi-endian flash image, use "gmake clean cfe-biendian.flash"
21+
#
22+
23+
ifeq ($(strip ${CFG_BIENDIAN}),0)
24+
CLEANOBJS += cfe.bin.le cfe.bin.be
25+
endif
26+
27+
28+
29+
ALL : cfe cfe.flash
30+
echo done
31+
32+
#
33+
# Special targets for bi-endian builds
34+
#
35+
36+
cfe.bin.le :
37+
${MAKE} clean all CFG_BIENDIAN=1 CFG_LITTLE=1 CFG_RELOC=1
38+
cp cfe.bin cfe.bin.le
39+
40+
cfe.bin.be :
41+
${MAKE} clean all CFG_BIENDIAN=1 CFG_LITTLE=0 CFG_RELOC=1
42+
cp cfe.bin cfe.bin.be
43+
44+
biend : cfe-biendian.flash cfe-biendian.srec
45+
echo done
46+
47+
cfe-biendian.flash : cfe.bin.le cfe.bin.be mkflashimage
48+
./mkflashimage -v -EX -B ${CFG_BOARDNAME} -V ${CFE_VER_MAJ}.${CFE_VER_MIN}.${CFE_VER_ECO} cfe.bin.be cfe.bin.le cfe-biendian.flash
49+
50+
cfe-biendian.srec : cfe-biendian.flash
51+
dd if=cfe-biendian.flash of=cfe-biendian.bin bs=64 skip=1
52+
$(OBJCOPY) --input-target=binary --output-target=srec cfe-biendian.bin cfe-biendian.srec
53+
54+
include ${TOP}/main/cfe_link.mk
55+
56+
57+

build/broadcom/bcm91125e/Makefile

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
2+
CFG_LITTLE ?= 0
3+
CFG_RELOC ?= 1
4+
CFG_UNCACHED ?= 0
5+
CFG_VAPI ?= 0
6+
CFG_BOOTRAM ?= 0
7+
CFG_BOARDNAME = "BCM91125E"
8+
CFG_PCI = 1
9+
10+
TOP = ../../../cfe
11+
ARCH = mips
12+
CPU = sb1250
13+
CHIPSET = sibyte
14+
BOARD = bcm91125e
15+
16+
include ${TOP}/main/cfe.mk
17+
18+
#
19+
# Don't clean these object files if building bi-endian.
20+
# To build a clean bi-endian flash image, use "gmake clean cfe-biendian.flash"
21+
#
22+
23+
ifeq ($(strip ${CFG_BIENDIAN}),0)
24+
CLEANOBJS += cfe.bin.le cfe.bin.be
25+
endif
26+
27+
#
28+
# Uncomment to make things happy under the functional simulator.
29+
#
30+
#CFLAGS += -D_FUNCSIM_ -D_FASTEMUL_
31+
32+
#
33+
# For now, we do the BCM11xx magic at compile time, not at run-time
34+
# So, define this symbol to tweak the MC code and other stuff
35+
# to work properly.
36+
#
37+
CFLAGS += -D_SB11XX_
38+
#
39+
# Main target for normal builds
40+
#
41+
42+
ALL : cfe cfe.flash
43+
echo done
44+
45+
#
46+
# Special targets for bi-endian builds
47+
#
48+
49+
cfe.bin.le :
50+
${MAKE} clean all CFG_BIENDIAN=1 CFG_LITTLE=1 CFG_RELOC=1
51+
cp cfe.bin cfe.bin.le
52+
53+
cfe.bin.be :
54+
${MAKE} clean all CFG_BIENDIAN=1 CFG_LITTLE=0 CFG_RELOC=1
55+
cp cfe.bin cfe.bin.be
56+
57+
biend : cfe-biendian.flash cfe-biendian.srec
58+
echo done
59+
60+
cfe-biendian.flash : cfe.bin.le cfe.bin.be mkflashimage
61+
./mkflashimage -v -EX -B ${CFG_BOARDNAME} -V ${CFE_VER_MAJ}.${CFE_VER_MIN}.${CFE_VER_ECO} cfe.bin.be cfe.bin.le cfe-biendian.flash
62+
63+
cfe-biendian.srec : cfe-biendian.flash
64+
dd if=cfe-biendian.flash of=cfe-biendian.bin bs=64 skip=1
65+
$(OBJCOPY) --input-target=binary --output-target=srec cfe-biendian.bin cfe-biendian.srec
66+
67+
68+
include ${TOP}/main/cfe_link.mk
69+
70+

build/broadcom/bcm91125f/Makefile

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
2+
CFG_LITTLE ?= 0
3+
CFG_RELOC ?= 1
4+
CFG_UNCACHED ?= 0
5+
CFG_VAPI ?= 0
6+
CFG_BOOTRAM ?= 0
7+
CFG_BOARDNAME = "BCM91125F"
8+
CFG_PCI ?= 1
9+
CFG_PCIDEVICE = 1
10+
11+
TOP = ../../../cfe
12+
ARCH = mips
13+
BOARD = bcm91125f
14+
CHIPSET = sibyte
15+
CPU = sb1250
16+
17+
include ${TOP}/main/cfe.mk
18+
19+
#
20+
# Don't clean these object files if building bi-endian.
21+
# To build a clean bi-endian flash image, use "gmake clean cfe-biendian.flash"
22+
#
23+
24+
ifeq ($(strip ${CFG_BIENDIAN}),0)
25+
CLEANOBJS += cfe.bin.le cfe.bin.be
26+
endif
27+
28+
29+
30+
ALL : cfe cfe.flash
31+
echo done
32+
33+
#
34+
# Special targets for bi-endian builds
35+
#
36+
37+
cfe.bin.le :
38+
${MAKE} clean all CFG_BIENDIAN=1 CFG_LITTLE=1 CFG_RELOC=1
39+
cp cfe.bin cfe.bin.le
40+
41+
cfe.bin.be :
42+
${MAKE} clean all CFG_BIENDIAN=1 CFG_LITTLE=0 CFG_RELOC=1
43+
cp cfe.bin cfe.bin.be
44+
45+
biend : cfe-biendian.flash cfe-biendian.srec
46+
echo done
47+
48+
cfe-biendian.flash : cfe.bin.le cfe.bin.be mkflashimage
49+
./mkflashimage -v -EX -B ${CFG_BOARDNAME} -V ${CFE_VER_MAJ}.${CFE_VER_MIN}.${CFE_VER_ECO} cfe.bin.be cfe.bin.le cfe-biendian.flash
50+
51+
cfe-biendian.srec : cfe-biendian.flash
52+
dd if=cfe-biendian.flash of=cfe-biendian.bin bs=64 skip=1
53+
$(OBJCOPY) --input-target=binary --output-target=srec cfe-biendian.bin cfe-biendian.srec
54+
55+
include ${TOP}/main/cfe_link.mk
56+
57+
58+

0 commit comments

Comments
 (0)