mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-05 19:26:40 +03:00
Compare commits
145 Commits
v2017.01-r
...
v2017.01
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a705ebc81b | ||
|
|
8361af0d30 | ||
|
|
f32a441b4a | ||
|
|
a8eac0acdc | ||
|
|
4d82c4b53e | ||
|
|
7410f1464e | ||
|
|
0ed06c7ee4 | ||
|
|
88c7da6275 | ||
|
|
4851278e30 | ||
|
|
7371774ab9 | ||
|
|
9ec10107e1 | ||
|
|
f43417ec97 | ||
|
|
22120f11e2 | ||
|
|
51370d5618 | ||
|
|
66e399b68d | ||
|
|
63659ff317 | ||
|
|
c01e4a1a6f | ||
|
|
ba1b6fb5cc | ||
|
|
d26e34c4c4 | ||
|
|
a105503851 | ||
|
|
146ded4d25 | ||
|
|
86e0a31321 | ||
|
|
80d261881f | ||
|
|
f4f6694060 | ||
|
|
960286b6d9 | ||
|
|
9082405d47 | ||
|
|
08a37fd13b | ||
|
|
90b80386ff | ||
|
|
2c2e2c9e14 | ||
|
|
53c953841b | ||
|
|
26e79b6547 | ||
|
|
f8dee36034 | ||
|
|
101000b771 | ||
|
|
b63b46313e | ||
|
|
57897c13de | ||
|
|
7298b3052f | ||
|
|
3f33bd299f | ||
|
|
f0adaf95b3 | ||
|
|
e090fdbaee | ||
|
|
d5c453abef | ||
|
|
a182e69d79 | ||
|
|
87f5f5417f | ||
|
|
516457013e | ||
|
|
7c4f0ff81e | ||
|
|
696386e5f3 | ||
|
|
1e80e13bf7 | ||
|
|
66d1d687e4 | ||
|
|
29005ba05c | ||
|
|
8098b8cb3f | ||
|
|
ada832f8f5 | ||
|
|
ddd90660df | ||
|
|
8a9c775aff | ||
|
|
3a22808f76 | ||
|
|
8342577148 | ||
|
|
bfd96402c2 | ||
|
|
08d7985b53 | ||
|
|
99b02b4dce | ||
|
|
fc300e2c5d | ||
|
|
965c509f0a | ||
|
|
46650d583b | ||
|
|
6d799d04a8 | ||
|
|
208d14bacd | ||
|
|
f9e7501f84 | ||
|
|
66723eda4e | ||
|
|
b352548890 | ||
|
|
cfb37772a1 | ||
|
|
25aaebdb12 | ||
|
|
5d3a28abe4 | ||
|
|
5a25b71202 | ||
|
|
1f6a664802 | ||
|
|
3de6c7fc00 | ||
|
|
d21bd69b6e | ||
|
|
15b505b055 | ||
|
|
99f49fdd5d | ||
|
|
7be4f79388 | ||
|
|
3d3a74cc8c | ||
|
|
45a68fe267 | ||
|
|
e1ce61fbba | ||
|
|
e298c46ac3 | ||
|
|
c27269953b | ||
|
|
187809517d | ||
|
|
47895838a4 | ||
|
|
d3c083a947 | ||
|
|
ff78ad284a | ||
|
|
3cc5bbb8e6 | ||
|
|
139f7b1ded | ||
|
|
c7c47ca246 | ||
|
|
ac71d4103e | ||
|
|
d0cf5512e9 | ||
|
|
085be482f6 | ||
|
|
6e1cfb099a | ||
|
|
8d48c92b45 | ||
|
|
b8948d2aef | ||
|
|
6c1a808052 | ||
|
|
c99d1b3ccf | ||
|
|
49abbd9cc3 | ||
|
|
43db3e3b3d | ||
|
|
a5acafb255 | ||
|
|
bd2e9714c8 | ||
|
|
d26a38fd61 | ||
|
|
79e550e0f3 | ||
|
|
7156831e07 | ||
|
|
a5b24110ca | ||
|
|
7ceae0eac0 | ||
|
|
0683e7e0f3 | ||
|
|
9e26834f49 | ||
|
|
23d2224b64 | ||
|
|
103e83a1b0 | ||
|
|
9c4132b526 | ||
|
|
c942fc925e | ||
|
|
cb71c6d854 | ||
|
|
353f6a770f | ||
|
|
0d92f2141a | ||
|
|
0bd1f96aa2 | ||
|
|
01b25d42c1 | ||
|
|
65d2d4f239 | ||
|
|
7588bf9390 | ||
|
|
36737f22b7 | ||
|
|
2346511961 | ||
|
|
950f86ca38 | ||
|
|
de9bf1b591 | ||
|
|
623f60198b | ||
|
|
91d11536da | ||
|
|
9cf9da78da | ||
|
|
611a9428c7 | ||
|
|
f2e70a0073 | ||
|
|
49c4c78e70 | ||
|
|
e8a016b537 | ||
|
|
720ba46e71 | ||
|
|
6516e3f253 | ||
|
|
79e2a6a04a | ||
|
|
68af100224 | ||
|
|
b215fbd868 | ||
|
|
61b994a386 | ||
|
|
48549cdf0b | ||
|
|
6d427c6b1f | ||
|
|
b116aff27c | ||
|
|
17a944b671 | ||
|
|
da22909073 | ||
|
|
75db0860b1 | ||
|
|
c49deb837c | ||
|
|
e0ff855138 | ||
|
|
4f44304b0b | ||
|
|
bf7fd50b3b | ||
|
|
77466267eb |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -31,7 +31,7 @@
|
||||
# Top-level generic files
|
||||
#
|
||||
/MLO*
|
||||
/SPL
|
||||
/SPL*
|
||||
/System.map
|
||||
/u-boot*
|
||||
/boards.cfg
|
||||
|
||||
@@ -366,6 +366,12 @@ S: Maintained
|
||||
T: git git://git.denx.de/u-boot-ppc4xx.git
|
||||
F: arch/powerpc/cpu/ppc4xx/
|
||||
|
||||
POWER
|
||||
M: Jaehoon Chung <jh80.chung@samsung.com>
|
||||
S: Maintained
|
||||
T: git git://git.denx.de/u-boot-pmic.git
|
||||
F: drivers/power/
|
||||
|
||||
NETWORK
|
||||
M: Joe Hershberger <joe.hershberger@ni.com>
|
||||
S: Maintained
|
||||
|
||||
74
Makefile
74
Makefile
@@ -5,7 +5,7 @@
|
||||
VERSION = 2017
|
||||
PATCHLEVEL = 01
|
||||
SUBLEVEL =
|
||||
EXTRAVERSION = -rc2
|
||||
EXTRAVERSION =
|
||||
NAME =
|
||||
|
||||
# *DOCUMENTATION*
|
||||
@@ -763,7 +763,11 @@ ALL-$(CONFIG_RAMBOOT_PBL) += u-boot.pbl
|
||||
endif
|
||||
endif
|
||||
ALL-$(CONFIG_SPL) += spl/u-boot-spl.bin
|
||||
ifeq ($(CONFIG_MX6)$(CONFIG_SECURE_BOOT), yy)
|
||||
ALL-$(CONFIG_SPL_FRAMEWORK) += u-boot-ivt.img
|
||||
else
|
||||
ALL-$(CONFIG_SPL_FRAMEWORK) += u-boot.img
|
||||
endif
|
||||
ALL-$(CONFIG_TPL) += tpl/u-boot-tpl.bin
|
||||
ALL-$(CONFIG_OF_SEPARATE) += u-boot.dtb
|
||||
ifeq ($(CONFIG_SPL_FRAMEWORK),y)
|
||||
@@ -809,9 +813,11 @@ cmd_zobjcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@
|
||||
quiet_cmd_efipayload = OBJCOPY $@
|
||||
cmd_efipayload = $(OBJCOPY) -I binary -O $(EFIPAYLOAD_BFDTARGET) -B $(EFIPAYLOAD_BFDARCH) $< $@
|
||||
|
||||
MKIMAGEOUTPUT ?= /dev/null
|
||||
|
||||
quiet_cmd_mkimage = MKIMAGE $@
|
||||
cmd_mkimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -d $< $@ \
|
||||
$(if $(KBUILD_VERBOSE:1=), >/dev/null)
|
||||
$(if $(KBUILD_VERBOSE:1=), >$(MKIMAGEOUTPUT))
|
||||
|
||||
quiet_cmd_cat = CAT $@
|
||||
cmd_cat = cat $(filter-out $(PHONY), $^) > $@
|
||||
@@ -903,6 +909,12 @@ u-boot.ldr: u-boot
|
||||
$(LDR) -T $(CONFIG_CPU) -c $@ $< $(LDR_FLAGS)
|
||||
$(BOARD_SIZE_CHECK)
|
||||
|
||||
# binman
|
||||
# ---------------------------------------------------------------------------
|
||||
quiet_cmd_binman = BINMAN $@
|
||||
cmd_binman = $(srctree)/tools/binman/binman -d u-boot.dtb -O . \
|
||||
-I . -I $(srctree)/board/$(BOARDDIR) $<
|
||||
|
||||
OBJCOPYFLAGS_u-boot.ldr.hex := -I binary -O ihex
|
||||
|
||||
OBJCOPYFLAGS_u-boot.ldr.srec := -I binary -O srec
|
||||
@@ -932,6 +944,11 @@ else
|
||||
MKIMAGEFLAGS_u-boot.img = -A $(ARCH) -T firmware -C none -O u-boot \
|
||||
-a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_UBOOT_START) \
|
||||
-n "U-Boot $(UBOOTRELEASE) for $(BOARD) board"
|
||||
MKIMAGEFLAGS_u-boot-ivt.img = -A $(ARCH) -T firmware_ivt -C none -O u-boot \
|
||||
-a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_UBOOT_START) \
|
||||
-n "U-Boot $(UBOOTRELEASE) for $(BOARD) board"
|
||||
u-boot-ivt.img: MKIMAGEOUTPUT = u-boot-ivt.img.log
|
||||
CLEAN_FILES += u-boot-ivt.img.log u-boot-dtb.imx.log SPL.log u-boot.imx.log
|
||||
endif
|
||||
|
||||
MKIMAGEFLAGS_u-boot-dtb.img = $(MKIMAGEFLAGS_u-boot.img)
|
||||
@@ -945,7 +962,7 @@ MKIMAGEFLAGS_u-boot-spl.kwb = -n $(srctree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%) \
|
||||
MKIMAGEFLAGS_u-boot.pbl = -n $(srctree)/$(CONFIG_SYS_FSL_PBL_RCW:"%"=%) \
|
||||
-R $(srctree)/$(CONFIG_SYS_FSL_PBL_PBI:"%"=%) -T pblimage
|
||||
|
||||
u-boot-dtb.img u-boot.img u-boot.kwb u-boot.pbl: \
|
||||
u-boot-dtb.img u-boot.img u-boot.kwb u-boot.pbl u-boot-ivt.img: \
|
||||
$(if $(CONFIG_SPL_LOAD_FIT),u-boot-nodtb.bin dts/dt.dtb,u-boot.bin) FORCE
|
||||
$(call if_changed,mkimage)
|
||||
|
||||
@@ -1047,50 +1064,11 @@ endif
|
||||
|
||||
# x86 uses a large ROM. We fill it with 0xff, put the 16-bit stuff (including
|
||||
# reset vector) at the top, Intel ME descriptor at the bottom, and U-Boot in
|
||||
# the middle.
|
||||
# the middle. This is handled by binman based on an image description in the
|
||||
# board's device tree.
|
||||
ifneq ($(CONFIG_X86_RESET_VECTOR),)
|
||||
rom: u-boot.rom FORCE
|
||||
|
||||
IFDTOOL=$(objtree)/tools/ifdtool
|
||||
IFDTOOL_FLAGS = -f 0:$(objtree)/u-boot.dtb
|
||||
IFDTOOL_FLAGS += -m 0x$(shell $(NM) u-boot |grep _dt_ucode_base_size |cut -d' ' -f1)
|
||||
IFDTOOL_FLAGS += -U $(CONFIG_SYS_TEXT_BASE):$(objtree)/u-boot-nodtb.bin
|
||||
IFDTOOL_FLAGS += -w $(CONFIG_SYS_X86_START16):$(objtree)/u-boot-x86-16bit.bin
|
||||
IFDTOOL_FLAGS += -C
|
||||
|
||||
ifneq ($(CONFIG_HAVE_INTEL_ME),)
|
||||
IFDTOOL_ME_FLAGS = -D $(srctree)/board/$(BOARDDIR)/descriptor.bin
|
||||
IFDTOOL_ME_FLAGS += -i ME:$(srctree)/board/$(BOARDDIR)/me.bin
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_HAVE_MRC),)
|
||||
IFDTOOL_FLAGS += -w $(CONFIG_X86_MRC_ADDR):$(srctree)/board/$(BOARDDIR)/mrc.bin
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_HAVE_FSP),)
|
||||
IFDTOOL_FLAGS += -w $(CONFIG_FSP_ADDR):$(srctree)/board/$(BOARDDIR)/$(CONFIG_FSP_FILE)
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_HAVE_CMC),)
|
||||
IFDTOOL_FLAGS += -w $(CONFIG_CMC_ADDR):$(srctree)/board/$(BOARDDIR)/$(CONFIG_CMC_FILE)
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_HAVE_VGA_BIOS),)
|
||||
IFDTOOL_FLAGS += -w $(CONFIG_VGA_BIOS_ADDR):$(srctree)/board/$(BOARDDIR)/$(CONFIG_VGA_BIOS_FILE)
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_HAVE_REFCODE),)
|
||||
IFDTOOL_FLAGS += -w $(CONFIG_X86_REFCODE_ADDR):refcode.bin
|
||||
endif
|
||||
|
||||
quiet_cmd_ifdtool = IFDTOOL $@
|
||||
cmd_ifdtool = $(IFDTOOL) -c -r $(CONFIG_ROM_SIZE) u-boot.tmp;
|
||||
ifneq ($(CONFIG_HAVE_INTEL_ME),)
|
||||
cmd_ifdtool += $(IFDTOOL) $(IFDTOOL_ME_FLAGS) u-boot.tmp;
|
||||
endif
|
||||
cmd_ifdtool += $(IFDTOOL) $(IFDTOOL_FLAGS) u-boot.tmp;
|
||||
cmd_ifdtool += mv u-boot.tmp $@
|
||||
|
||||
refcode.bin: $(srctree)/board/$(BOARDDIR)/refcode.bin FORCE
|
||||
$(call if_changed,copy)
|
||||
|
||||
@@ -1100,7 +1078,7 @@ cmd_ldr = $(LD) $(LDFLAGS_$(@F)) \
|
||||
|
||||
u-boot.rom: u-boot-x86-16bit.bin u-boot.bin FORCE \
|
||||
$(if $(CONFIG_HAVE_REFCODE),refcode.bin)
|
||||
$(call if_changed,ifdtool)
|
||||
$(call if_changed,binman)
|
||||
|
||||
OBJCOPYFLAGS_u-boot-x86-16bit.bin := -O binary -j .start16 -j .resetvec
|
||||
u-boot-x86-16bit.bin: u-boot FORCE
|
||||
@@ -1108,10 +1086,8 @@ u-boot-x86-16bit.bin: u-boot FORCE
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_ARCH_SUNXI),)
|
||||
OBJCOPYFLAGS_u-boot-sunxi-with-spl.bin = -I binary -O binary \
|
||||
--pad-to=$(CONFIG_SPL_PAD_TO) --gap-fill=0xff
|
||||
u-boot-sunxi-with-spl.bin: spl/sunxi-spl.bin u-boot.img FORCE
|
||||
$(call if_changed,pad_cat)
|
||||
u-boot-sunxi-with-spl.bin: spl/sunxi-spl.bin u-boot.img u-boot.dtb FORCE
|
||||
$(call if_changed,binman)
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_TEGRA),)
|
||||
|
||||
15
README
15
README
@@ -376,15 +376,6 @@ The following options need to be configured:
|
||||
Defines the string to utilize when trying to match PCIe device
|
||||
tree nodes for the given platform.
|
||||
|
||||
CONFIG_SYS_PPC_E500_DEBUG_TLB
|
||||
|
||||
Enables a temporary TLB entry to be used during boot to work
|
||||
around limitations in e500v1 and e500v2 external debugger
|
||||
support. This reduces the portions of the boot code where
|
||||
breakpoints and single stepping do not work. The value of this
|
||||
symbol should be set to the TLB1 entry to be used for this
|
||||
purpose.
|
||||
|
||||
CONFIG_SYS_FSL_ERRATUM_A004510
|
||||
|
||||
Enables a workaround for erratum A004510. If set,
|
||||
@@ -4593,12 +4584,6 @@ Low Level (hardware related) configuration options:
|
||||
addressable memory. This option causes some memory accesses
|
||||
to be mapped through map_sysmem() / unmap_sysmem().
|
||||
|
||||
- CONFIG_USE_ARCH_MEMCPY
|
||||
CONFIG_USE_ARCH_MEMSET
|
||||
If these options are used a optimized version of memcpy/memset will
|
||||
be used if available. These functions may be faster under some
|
||||
conditions but may increase the binary size.
|
||||
|
||||
- CONFIG_X86_RESET_VECTOR
|
||||
If defined, the x86 reset vector code is included. This is not
|
||||
needed when U-Boot is running from Coreboot.
|
||||
|
||||
@@ -129,7 +129,7 @@ config ENABLE_ARM_SOC_BOOT0_HOOK
|
||||
config USE_ARCH_MEMCPY
|
||||
bool "Use an assembly optimized implementation of memcpy"
|
||||
default y if CPU_V7
|
||||
depends on !ARM64 && !SPL
|
||||
depends on !ARM64
|
||||
help
|
||||
Enable the generation of an optimized version of memcpy.
|
||||
Such implementation may be faster under some conditions
|
||||
@@ -138,7 +138,7 @@ config USE_ARCH_MEMCPY
|
||||
config USE_ARCH_MEMSET
|
||||
bool "Use an assembly optimized implementation of memset"
|
||||
default y if CPU_V7
|
||||
depends on !ARM64 && !SPL
|
||||
depends on !ARM64
|
||||
help
|
||||
Enable the generation of an optimized version of memset.
|
||||
Such implementation may be faster under some conditions
|
||||
@@ -464,10 +464,16 @@ config ARCH_MESON
|
||||
config ARCH_MX7
|
||||
bool "Freescale MX7"
|
||||
select CPU_V7
|
||||
select SYS_FSL_HAS_SEC if SECURE_BOOT
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
select SYS_FSL_SEC_LE
|
||||
|
||||
config ARCH_MX6
|
||||
bool "Freescale MX6"
|
||||
select CPU_V7
|
||||
select SYS_FSL_HAS_SEC if SECURE_BOOT
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
select SYS_FSL_SEC_LE
|
||||
|
||||
config ARCH_MX5
|
||||
bool "Freescale MX5"
|
||||
@@ -540,6 +546,7 @@ config ARCH_RMOBILE
|
||||
config TARGET_S32V234EVB
|
||||
bool "Support s32v234evb"
|
||||
select ARM64
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
|
||||
config ARCH_SNAPDRAGON
|
||||
bool "Qualcomm Snapdragon SoCs"
|
||||
@@ -596,22 +603,31 @@ config TARGET_TS4600
|
||||
config TARGET_TS4800
|
||||
bool "Support TS4800"
|
||||
select CPU_V7
|
||||
select SYS_FSL_ERRATUM_ESDHC_A001
|
||||
|
||||
config TARGET_VF610TWR
|
||||
bool "Support vf610twr"
|
||||
select CPU_V7
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
|
||||
config TARGET_COLIBRI_VF
|
||||
bool "Support Colibri VF50/61"
|
||||
select CPU_V7
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
|
||||
config TARGET_PCM052
|
||||
bool "Support pcm-052"
|
||||
select CPU_V7
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_ERRATUM_ESDHC135
|
||||
select SYS_FSL_ERRATUM_ESDHC_A001
|
||||
|
||||
config TARGET_BK4R1
|
||||
bool "Support BK4r1"
|
||||
select CPU_V7
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_ERRATUM_ESDHC135
|
||||
select SYS_FSL_ERRATUM_ESDHC_A001
|
||||
|
||||
config ARCH_ZYNQ
|
||||
bool "Xilinx Zynq Platform"
|
||||
@@ -764,6 +780,7 @@ config TARGET_LS1021AQDS
|
||||
select ARCH_LS1021A
|
||||
select ARCH_SUPPORT_PSCI
|
||||
select LS1_DEEP_SLEEP
|
||||
select SYS_FSL_DDR
|
||||
|
||||
config TARGET_LS1021ATWR
|
||||
bool "Support ls1021atwr"
|
||||
|
||||
@@ -95,7 +95,7 @@ libs-y += arch/arm/cpu/
|
||||
libs-y += arch/arm/lib/
|
||||
|
||||
ifeq ($(CONFIG_SPL_BUILD),y)
|
||||
ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx7 mx31 mx35))
|
||||
ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx5 mx6 mx7 mx35))
|
||||
libs-y += arch/arm/imx-common/
|
||||
endif
|
||||
else
|
||||
|
||||
@@ -1,10 +1,19 @@
|
||||
config ARCH_LS1021A
|
||||
bool
|
||||
select SYS_FSL_ERRATUM_A008378
|
||||
select SYS_FSL_ERRATUM_A008407
|
||||
select SYS_FSL_ERRATUM_A009663
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_ERRATUM_A010315
|
||||
select SYS_FSL_SRDS_1
|
||||
select SYS_HAS_SERDES
|
||||
select SYS_FSL_DDR_BE
|
||||
select SYS_FSL_DDR_VER_50
|
||||
select SYS_FSL_DDR_BE if SYS_FSL_DDR
|
||||
select SYS_FSL_DDR_VER_50 if SYS_FSL_DDR
|
||||
select SYS_FSL_HAS_DDR3 if SYS_FSL_DDR
|
||||
select SYS_FSL_HAS_DDR4 if SYS_FSL_DDR
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_COMPAT_5
|
||||
select SYS_FSL_SEC_LE
|
||||
|
||||
menu "LS102xA architecture"
|
||||
depends on ARCH_LS1021A
|
||||
@@ -24,10 +33,6 @@ config MAX_CPUS
|
||||
cores, count the reserved ports. This will allocate enough memory
|
||||
in spin table to properly handle all cores.
|
||||
|
||||
config NUM_DDR_CONTROLLERS
|
||||
int "Maximum DDR controllers"
|
||||
default 1
|
||||
|
||||
config SECURE_BOOT
|
||||
bool "Secure Boot"
|
||||
help
|
||||
@@ -46,50 +51,12 @@ config SYS_FSL_SRDS_2
|
||||
config SYS_HAS_SERDES
|
||||
bool
|
||||
|
||||
config SYS_FSL_DDR
|
||||
bool "Freescale DDR driver"
|
||||
help
|
||||
Select Freescale General DDR driver, shared between most Freescale
|
||||
PowerPC- based SoCs (such as mpc83xx, mpc85xx, mpc86xx) and ARM-
|
||||
based Layerscape SoCs (such as ls2080a).
|
||||
|
||||
config SYS_FSL_DDR_BE
|
||||
bool
|
||||
default y
|
||||
help
|
||||
Access DDR registers in big-endian.
|
||||
|
||||
config SYS_FSL_DDR_VER
|
||||
int
|
||||
default 50 if SYS_FSL_DDR_VER_50
|
||||
|
||||
config SYS_FSL_DDR_VER_50
|
||||
bool
|
||||
|
||||
config SYS_FSL_DDRC_ARM_GEN3
|
||||
bool
|
||||
|
||||
config SYS_FSL_DDRC_GEN4
|
||||
bool
|
||||
|
||||
config SYS_FSL_DDR3
|
||||
bool "Freescale DDR3 controller"
|
||||
depends on !SYS_FSL_DDR4
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDRC_ARM_GEN3
|
||||
help
|
||||
Enable Freescale DDR3 controller on ARM-based SoCs.
|
||||
|
||||
config SYS_FSL_DDR4
|
||||
bool "Freescale DDR4 controller"
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDRC_GEN4
|
||||
help
|
||||
Enable Freescale DDR4 controller.
|
||||
|
||||
config SYS_FSL_IFC_BANK_COUNT
|
||||
int "Maximum banks of Integrated flash controller"
|
||||
depends on ARCH_LS1021A
|
||||
default 8
|
||||
|
||||
config SYS_FSL_ERRATUM_A008407
|
||||
bool
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -8,31 +8,62 @@ config ARCH_LS1012A
|
||||
config ARCH_LS1043A
|
||||
bool
|
||||
select FSL_LSCH2
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDR_BE
|
||||
select SYS_FSL_DDR_VER_50
|
||||
select SYS_FSL_ERRATUM_A008850
|
||||
select SYS_FSL_ERRATUM_A009660
|
||||
select SYS_FSL_ERRATUM_A009663
|
||||
select SYS_FSL_ERRATUM_A009929
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_ERRATUM_A010315
|
||||
select SYS_FSL_ERRATUM_A010539
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_DDR4
|
||||
|
||||
config ARCH_LS1046A
|
||||
bool
|
||||
select FSL_LSCH2
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDR_BE
|
||||
select SYS_FSL_DDR4
|
||||
select SYS_FSL_DDR_VER_50
|
||||
select SYS_FSL_ERRATUM_A008511
|
||||
select SYS_FSL_ERRATUM_A009801
|
||||
select SYS_FSL_ERRATUM_A009803
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_ERRATUM_A010165
|
||||
select SYS_FSL_ERRATUM_A010539
|
||||
select SYS_FSL_HAS_DDR4
|
||||
select SYS_FSL_SRDS_2
|
||||
|
||||
config ARCH_LS2080A
|
||||
bool
|
||||
select FSL_LSCH3
|
||||
select SYS_FSL_DDR4
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDR_LE
|
||||
select SYS_FSL_DDR_VER_50
|
||||
select SYS_FSL_HAS_DP_DDR
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_HAS_DDR4
|
||||
select SYS_FSL_SEC_COMPAT_5
|
||||
select SYS_FSL_SEC_LE
|
||||
select SYS_FSL_SRDS_2
|
||||
select SYS_FSL_ERRATUM_A008336
|
||||
select SYS_FSL_ERRATUM_A008511
|
||||
select SYS_FSL_ERRATUM_A008514
|
||||
select SYS_FSL_ERRATUM_A008585
|
||||
select SYS_FSL_ERRATUM_A009635
|
||||
select SYS_FSL_ERRATUM_A009663
|
||||
select SYS_FSL_ERRATUM_A009801
|
||||
select SYS_FSL_ERRATUM_A009803
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_ERRATUM_A010165
|
||||
|
||||
config FSL_LSCH2
|
||||
bool
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_COMPAT_5
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SRDS_1
|
||||
select SYS_HAS_SERDES
|
||||
|
||||
@@ -65,9 +96,6 @@ config FSL_PPA_ARMV8_PSCI
|
||||
implemented under the common ARMv8 PSCI framework.
|
||||
endmenu
|
||||
|
||||
config SYS_FSL_MMDC
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A010315
|
||||
bool "Workaround for PCIe erratum A010315"
|
||||
|
||||
@@ -87,11 +115,6 @@ config MAX_CPUS
|
||||
cores, count the reserved ports. This will allocate enough memory
|
||||
in spin table to properly handle all cores.
|
||||
|
||||
config NUM_DDR_CONTROLLERS
|
||||
int "Maximum DDR controllers"
|
||||
default 3 if ARCH_LS2080A
|
||||
default 1
|
||||
|
||||
config SECURE_BOOT
|
||||
bool
|
||||
help
|
||||
@@ -123,49 +146,25 @@ config SYS_FSL_SRDS_2
|
||||
config SYS_HAS_SERDES
|
||||
bool
|
||||
|
||||
config SYS_FSL_DDR
|
||||
bool "Freescale DDR driver"
|
||||
help
|
||||
Select Freescale General DDR driver, shared between most Freescale
|
||||
PowerPC- based SoCs (such as mpc83xx, mpc85xx, mpc86xx) and ARM-
|
||||
based Layerscape SoCs (such as ls2080a).
|
||||
|
||||
config SYS_FSL_DDR_BE
|
||||
bool
|
||||
help
|
||||
Access DDR registers in big-endian.
|
||||
|
||||
config SYS_FSL_DDR_LE
|
||||
bool
|
||||
help
|
||||
Access DDR registers in little-endian.
|
||||
|
||||
config SYS_FSL_DDR_VER
|
||||
int
|
||||
default 50 if SYS_FSL_DDR_VER_50
|
||||
|
||||
config SYS_FSL_DDR_VER_50
|
||||
bool
|
||||
|
||||
config SYS_FSL_DDRC_ARM_GEN3
|
||||
bool
|
||||
|
||||
config SYS_FSL_DDRC_GEN4
|
||||
bool
|
||||
|
||||
config SYS_FSL_DDR3
|
||||
bool "Freescale DDR3 controller"
|
||||
depends on !SYS_FSL_DDR4
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDRC_ARM_GEN3
|
||||
help
|
||||
Enable Freescale DDR3 controller on ARM-based SoCs.
|
||||
|
||||
config SYS_FSL_DDR4
|
||||
bool "Freescale DDR4 controller"
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDRC_GEN4
|
||||
help
|
||||
Enable Freescale DDR4 controller.
|
||||
|
||||
endmenu
|
||||
|
||||
config SYS_FSL_ERRATUM_A008336
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A008514
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A008585
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A008850
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A009635
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A009660
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A009929
|
||||
bool
|
||||
|
||||
@@ -43,6 +43,7 @@ config SYS_CONFIG_NAME
|
||||
|
||||
config BOOT_INIT_FILE
|
||||
string "boot.bin init register filename"
|
||||
depends on SPL
|
||||
default ""
|
||||
help
|
||||
Add register writes to boot.bin format (max 256 pairs).
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
serial2 = "/serial@e2900800";
|
||||
console = "/serial@e2900800";
|
||||
pinctrl0 = &pinctrl0;
|
||||
i2c3 = &i2c_pmic;
|
||||
};
|
||||
|
||||
pinctrl0: pinctrl@e0200000 {
|
||||
@@ -32,4 +33,168 @@
|
||||
id = <2>;
|
||||
};
|
||||
|
||||
i2c_pmic: i2c-pmic {
|
||||
compatible = "i2c-gpio";
|
||||
gpios = <&gpj4 0 0>, /* sda */
|
||||
<&gpj4 3 0>; /* scl */
|
||||
i2c-gpio,delay-us = <2>; /* ~100 kHz */
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
pmic@66 {
|
||||
compatible = "maxim,max8998";
|
||||
reg = <0x66 0 0>;
|
||||
|
||||
voltage-regulators {
|
||||
ldo2_reg: LDO2 {
|
||||
regulator-compatible = "LDO2";
|
||||
regulator-name = "VALIVE_1.1V";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo3_reg: LDO3 {
|
||||
regulator-compatible = "LDO3";
|
||||
regulator-name = "VUSB+MIPI_1.1V";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo4_reg: LDO4 {
|
||||
regulator-compatible = "LDO4";
|
||||
regulator-name = "VADC_3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
ldo5_reg: LDO5 {
|
||||
regulator-compatible = "LDO5";
|
||||
regulator-name = "VTF_2.8V";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
|
||||
ldo6_reg: LDO6 {
|
||||
regulator-compatible = "LDO6";
|
||||
regulator-name = "VCC_3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
ldo7_reg: LDO7 {
|
||||
regulator-compatible = "LDO7";
|
||||
regulator-name = "VLCD_1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo8_reg: LDO8 {
|
||||
regulator-compatible = "LDO8";
|
||||
regulator-name = "VUSB+VDAC_3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
ldo9_reg: LDO9 {
|
||||
regulator-compatible = "LDO9";
|
||||
regulator-name = "VCC+VCAM_2.8V";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
|
||||
ldo10_reg: LDO10 {
|
||||
regulator-compatible = "LDO10";
|
||||
regulator-name = "VPLL_1.1V";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo11_reg: LDO11 {
|
||||
regulator-compatible = "LDO11";
|
||||
regulator-name = "CAM_IO_2.8V";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
|
||||
ldo12_reg: LDO12 {
|
||||
regulator-compatible = "LDO12";
|
||||
regulator-name = "CAM_ISP_1.2V";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
|
||||
ldo13_reg: LDO13 {
|
||||
regulator-compatible = "LDO13";
|
||||
regulator-name = "CAM_A_2.8V";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
|
||||
ldo14_reg: LDO14 {
|
||||
regulator-compatible = "LDO14";
|
||||
regulator-name = "CAM_CIF_1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
ldo15_reg: LDO15 {
|
||||
regulator-compatible = "LDO15";
|
||||
regulator-name = "CAM_AF_3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
ldo16_reg: LDO16 {
|
||||
regulator-compatible = "LDO16";
|
||||
regulator-name = "VMIPI_1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
ldo17_reg: LDO17 {
|
||||
regulator-compatible = "LDO17";
|
||||
regulator-name = "CAM_8M_1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck1_reg: BUCK1 {
|
||||
regulator-compatible = "BUCK1";
|
||||
regulator-name = "VARM_1.2V";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
|
||||
buck2_reg: BUCK2 {
|
||||
regulator-compatible = "BUCK2";
|
||||
regulator-name = "VINT_1.2V";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
|
||||
buck3_reg: BUCK3 {
|
||||
regulator-compatible = "BUCK3";
|
||||
regulator-name = "VCC_1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck4_reg: BUCK4 {
|
||||
regulator-compatible = "BUCK4";
|
||||
regulator-name = "CAM_CORE_1.2V";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
14
arch/arm/dts/sunxi-u-boot.dtsi
Normal file
14
arch/arm/dts/sunxi-u-boot.dtsi
Normal file
@@ -0,0 +1,14 @@
|
||||
#include <config.h>
|
||||
|
||||
/ {
|
||||
binman {
|
||||
filename = "u-boot-sunxi-with-spl.bin";
|
||||
pad-byte = <0xff>;
|
||||
blob {
|
||||
filename = "spl/sunxi-spl.bin";
|
||||
};
|
||||
u-boot-img {
|
||||
pos = <CONFIG_SPL_PAD_TO>;
|
||||
};
|
||||
};
|
||||
};
|
||||
15
arch/arm/dts/tegra124-nyan-big-u-boot.dtsi
Normal file
15
arch/arm/dts/tegra124-nyan-big-u-boot.dtsi
Normal file
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Copyright (C) 2016 Google, Inc
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
/ {
|
||||
host1x@50000000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
dc@54200000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -27,9 +27,7 @@
|
||||
};
|
||||
|
||||
host1x@50000000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
dc@54200000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
display-timings {
|
||||
timing@0 {
|
||||
clock-frequency = <69500000>;
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
i2c2 = "/i2c@7000c400";
|
||||
mmc0 = "/sdhci@c8000600";
|
||||
usb0 = "/usb@c5000000";
|
||||
usb1 = "/usb@c5004000"; /* on-module only, for ASIX */
|
||||
usb1 = "/usb@c5004000"; /* On-module only, for ASIX */
|
||||
usb2 = "/usb@c5008000";
|
||||
};
|
||||
|
||||
@@ -92,8 +92,10 @@
|
||||
/* EHCI instance 1: ULPI -> USB3340 -> AX88772B */
|
||||
usb@c5004000 {
|
||||
status = "okay";
|
||||
/* ULPI_RESET */
|
||||
nvidia,phy-reset-gpio =
|
||||
<&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_LOW>;
|
||||
/* VBUS_LAN */
|
||||
nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_HIGH>;
|
||||
nvidia,vbus-gpio = <&gpio TEGRA_GPIO(BB, 1) GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include "tegra20.dtsi"
|
||||
|
||||
/ {
|
||||
@@ -11,7 +12,13 @@
|
||||
};
|
||||
|
||||
aliases {
|
||||
usb0 = "/usb@c5008000";
|
||||
rtc0 = "/i2c@7000d000/tps6586x@34";
|
||||
rtc1 = "/rtc@7000e000";
|
||||
serial0 = &uarta;
|
||||
serial1 = &uartc;
|
||||
usb0 = "/usb@c5000000";
|
||||
usb1 = "/usb@c5004000";
|
||||
usb2 = "/usb@c5008000";
|
||||
mmc0 = "/sdhci@c8000600";
|
||||
mmc1 = "/sdhci@c8000000";
|
||||
};
|
||||
@@ -26,19 +33,475 @@
|
||||
status = "okay";
|
||||
rgb {
|
||||
status = "okay";
|
||||
nvidia,panel = <&lcd_panel>;
|
||||
|
||||
nvidia,panel = <&panel>;
|
||||
|
||||
display-timings {
|
||||
timing@0 {
|
||||
/* PAZ00 has 1024x600 */
|
||||
clock-frequency = <54030000>;
|
||||
hactive = <1024>;
|
||||
vactive = <600>;
|
||||
hback-porch = <160>;
|
||||
hfront-porch = <24>;
|
||||
hsync-len = <136>;
|
||||
vback-porch = <3>;
|
||||
vfront-porch = <61>;
|
||||
vsync-len = <6>;
|
||||
hsync-active = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@54280000 {
|
||||
status = "okay";
|
||||
|
||||
vdd-supply = <&hdmi_vdd_reg>;
|
||||
pll-supply = <&hdmi_pll_reg>;
|
||||
|
||||
nvidia,ddc-i2c-bus = <&hdmi_ddc>;
|
||||
nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
|
||||
GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
pinmux@70000014 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&state_default>;
|
||||
|
||||
state_default: pinmux {
|
||||
ata {
|
||||
nvidia,pins = "ata", "atc", "atd", "ate",
|
||||
"dap2", "gmb", "gmc", "gmd", "spia",
|
||||
"spib", "spic", "spid", "spie";
|
||||
nvidia,function = "gmi";
|
||||
};
|
||||
atb {
|
||||
nvidia,pins = "atb", "gma", "gme";
|
||||
nvidia,function = "sdio4";
|
||||
};
|
||||
cdev1 {
|
||||
nvidia,pins = "cdev1";
|
||||
nvidia,function = "plla_out";
|
||||
};
|
||||
cdev2 {
|
||||
nvidia,pins = "cdev2";
|
||||
nvidia,function = "pllp_out4";
|
||||
};
|
||||
crtp {
|
||||
nvidia,pins = "crtp";
|
||||
nvidia,function = "crt";
|
||||
};
|
||||
csus {
|
||||
nvidia,pins = "csus";
|
||||
nvidia,function = "pllc_out1";
|
||||
};
|
||||
dap1 {
|
||||
nvidia,pins = "dap1";
|
||||
nvidia,function = "dap1";
|
||||
};
|
||||
dap3 {
|
||||
nvidia,pins = "dap3";
|
||||
nvidia,function = "dap3";
|
||||
};
|
||||
dap4 {
|
||||
nvidia,pins = "dap4";
|
||||
nvidia,function = "dap4";
|
||||
};
|
||||
ddc {
|
||||
nvidia,pins = "ddc";
|
||||
nvidia,function = "i2c2";
|
||||
};
|
||||
dta {
|
||||
nvidia,pins = "dta", "dtb", "dtc", "dtd", "dte";
|
||||
nvidia,function = "rsvd1";
|
||||
};
|
||||
dtf {
|
||||
nvidia,pins = "dtf";
|
||||
nvidia,function = "i2c3";
|
||||
};
|
||||
gpu {
|
||||
nvidia,pins = "gpu", "sdb", "sdd";
|
||||
nvidia,function = "pwm";
|
||||
};
|
||||
gpu7 {
|
||||
nvidia,pins = "gpu7";
|
||||
nvidia,function = "rtck";
|
||||
};
|
||||
gpv {
|
||||
nvidia,pins = "gpv", "slxa", "slxk";
|
||||
nvidia,function = "pcie";
|
||||
};
|
||||
hdint {
|
||||
nvidia,pins = "hdint", "pta";
|
||||
nvidia,function = "hdmi";
|
||||
};
|
||||
i2cp {
|
||||
nvidia,pins = "i2cp";
|
||||
nvidia,function = "i2cp";
|
||||
};
|
||||
irrx {
|
||||
nvidia,pins = "irrx", "irtx";
|
||||
nvidia,function = "uarta";
|
||||
};
|
||||
kbca {
|
||||
nvidia,pins = "kbca", "kbcc", "kbce", "kbcf";
|
||||
nvidia,function = "kbc";
|
||||
};
|
||||
kbcb {
|
||||
nvidia,pins = "kbcb", "kbcd";
|
||||
nvidia,function = "sdio2";
|
||||
};
|
||||
lcsn {
|
||||
nvidia,pins = "lcsn", "ld0", "ld1", "ld2",
|
||||
"ld3", "ld4", "ld5", "ld6", "ld7",
|
||||
"ld8", "ld9", "ld10", "ld11", "ld12",
|
||||
"ld13", "ld14", "ld15", "ld16", "ld17",
|
||||
"ldc", "ldi", "lhp0", "lhp1", "lhp2",
|
||||
"lhs", "lm0", "lm1", "lpp", "lpw0",
|
||||
"lpw1", "lpw2", "lsc0", "lsc1", "lsck",
|
||||
"lsda", "lsdi", "lspi", "lvp0", "lvp1",
|
||||
"lvs";
|
||||
nvidia,function = "displaya";
|
||||
};
|
||||
owc {
|
||||
nvidia,pins = "owc";
|
||||
nvidia,function = "owr";
|
||||
};
|
||||
pmc {
|
||||
nvidia,pins = "pmc";
|
||||
nvidia,function = "pwr_on";
|
||||
};
|
||||
rm {
|
||||
nvidia,pins = "rm";
|
||||
nvidia,function = "i2c1";
|
||||
};
|
||||
sdc {
|
||||
nvidia,pins = "sdc";
|
||||
nvidia,function = "twc";
|
||||
};
|
||||
sdio1 {
|
||||
nvidia,pins = "sdio1";
|
||||
nvidia,function = "sdio1";
|
||||
};
|
||||
slxc {
|
||||
nvidia,pins = "slxc", "slxd";
|
||||
nvidia,function = "spi4";
|
||||
};
|
||||
spdi {
|
||||
nvidia,pins = "spdi", "spdo";
|
||||
nvidia,function = "rsvd2";
|
||||
};
|
||||
spif {
|
||||
nvidia,pins = "spif", "uac";
|
||||
nvidia,function = "rsvd4";
|
||||
};
|
||||
spig {
|
||||
nvidia,pins = "spig", "spih";
|
||||
nvidia,function = "spi2_alt";
|
||||
};
|
||||
uaa {
|
||||
nvidia,pins = "uaa", "uab", "uda";
|
||||
nvidia,function = "ulpi";
|
||||
};
|
||||
uad {
|
||||
nvidia,pins = "uad";
|
||||
nvidia,function = "spdif";
|
||||
};
|
||||
uca {
|
||||
nvidia,pins = "uca", "ucb";
|
||||
nvidia,function = "uartc";
|
||||
};
|
||||
conf_ata {
|
||||
nvidia,pins = "ata", "atb", "atc", "atd", "ate",
|
||||
"cdev1", "cdev2", "dap1", "dap2", "dtf",
|
||||
"gma", "gmb", "gmc", "gmd", "gme",
|
||||
"gpu", "gpu7", "gpv", "i2cp", "pta",
|
||||
"rm", "sdio1", "slxk", "spdo", "uac",
|
||||
"uda";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
conf_ck32 {
|
||||
nvidia,pins = "ck32", "ddrc", "pmca", "pmcb",
|
||||
"pmcc", "pmcd", "pmce", "xm2c", "xm2d";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
};
|
||||
conf_crtp {
|
||||
nvidia,pins = "crtp", "dap3", "dap4", "dtb",
|
||||
"dtc", "dte", "slxa", "slxc", "slxd",
|
||||
"spdi";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
conf_csus {
|
||||
nvidia,pins = "csus", "spia", "spib", "spid",
|
||||
"spif";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
conf_ddc {
|
||||
nvidia,pins = "ddc", "irrx", "irtx", "kbca",
|
||||
"kbcb", "kbcc", "kbcd", "kbce", "kbcf",
|
||||
"spic", "spig", "uaa", "uab";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_UP>;
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
conf_dta {
|
||||
nvidia,pins = "dta", "dtd", "owc", "sdc", "sdd",
|
||||
"spie", "spih", "uad", "uca", "ucb";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_UP>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
conf_hdint {
|
||||
nvidia,pins = "hdint", "ld0", "ld1", "ld2",
|
||||
"ld3", "ld4", "ld5", "ld6", "ld7",
|
||||
"ld8", "ld9", "ld10", "ld11", "ld12",
|
||||
"ld13", "ld14", "ld15", "ld16", "ld17",
|
||||
"ldc", "ldi", "lhs", "lsc0", "lspi",
|
||||
"lvs", "pmc";
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
conf_lc {
|
||||
nvidia,pins = "lc", "ls";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_UP>;
|
||||
};
|
||||
conf_lcsn {
|
||||
nvidia,pins = "lcsn", "lhp0", "lhp1", "lhp2",
|
||||
"lm0", "lm1", "lpp", "lpw0", "lpw1",
|
||||
"lpw2", "lsc1", "lsck", "lsda", "lsdi",
|
||||
"lvp0", "lvp1", "sdb";
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
conf_ld17_0 {
|
||||
nvidia,pins = "ld17_0", "ld19_18", "ld21_20",
|
||||
"ld23_22";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2s@70002800 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
serial@70006000 {
|
||||
clock-frequency = < 216000000 >;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
serial@70006200 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pwm: pwm@7000a000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
lvds_ddc: i2c@7000c000 {
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
|
||||
alc5632: alc5632@1e {
|
||||
compatible = "realtek,alc5632";
|
||||
reg = <0x1e>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi_ddc: i2c@7000c400 {
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
nvec@7000c500 {
|
||||
compatible = "nvidia,nvec";
|
||||
reg = <0x7000c500 0x100>;
|
||||
interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clock-frequency = <80000>;
|
||||
request-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
|
||||
slave-addr = <138>;
|
||||
clocks = <&tegra_car TEGRA20_CLK_I2C3>,
|
||||
<&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
|
||||
clock-names = "div-clk", "fast-clk";
|
||||
resets = <&tegra_car 67>;
|
||||
reset-names = "i2c";
|
||||
};
|
||||
|
||||
i2c@7000d000 {
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
|
||||
pmic: tps6586x@34 {
|
||||
compatible = "ti,tps6586x";
|
||||
reg = <0x34>;
|
||||
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
|
||||
sys-supply = <&p5valw_reg>;
|
||||
vin-sm0-supply = <&sys_reg>;
|
||||
vin-sm1-supply = <&sys_reg>;
|
||||
vin-sm2-supply = <&sys_reg>;
|
||||
vinldo01-supply = <&sm2_reg>;
|
||||
vinldo23-supply = <&sm2_reg>;
|
||||
vinldo4-supply = <&sm2_reg>;
|
||||
vinldo678-supply = <&sm2_reg>;
|
||||
vinldo9-supply = <&sm2_reg>;
|
||||
|
||||
regulators {
|
||||
sys_reg: sys {
|
||||
regulator-name = "vdd_sys";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sm0 {
|
||||
regulator-name = "+1.2vs_sm0,vdd_core";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sm1 {
|
||||
regulator-name = "+1.0vs_sm1,vdd_cpu";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sm2_reg: sm2 {
|
||||
regulator-name = "+3.7vs_sm2,vin_ldo*";
|
||||
regulator-min-microvolt = <3700000>;
|
||||
regulator-max-microvolt = <3700000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
/* LDO0 is not connected to anything */
|
||||
|
||||
ldo1 {
|
||||
regulator-name = "+1.1vs_ldo1,avdd_pll*";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo2 {
|
||||
regulator-name = "+1.2vs_ldo2,vdd_rtc";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
|
||||
ldo3 {
|
||||
regulator-name = "+3.3vs_ldo3,avdd_usb*";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo4 {
|
||||
regulator-name = "+1.8vs_ldo4,avdd_osc,vddio_sys";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo5 {
|
||||
regulator-name = "+2.85vs_ldo5,vcore_mmc";
|
||||
regulator-min-microvolt = <2850000>;
|
||||
regulator-max-microvolt = <2850000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo6 {
|
||||
/*
|
||||
* Research indicates this should be
|
||||
* 1.8v; other boards that use this
|
||||
* rail for the same purpose need it
|
||||
* set to 1.8v. The schematic signal
|
||||
* name is incorrect; perhaps copied
|
||||
* from an incorrect NVIDIA reference.
|
||||
*/
|
||||
regulator-name = "+2.85vs_ldo6,avdd_vdac";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
hdmi_vdd_reg: ldo7 {
|
||||
regulator-name = "+3.3vs_ldo7,avdd_hdmi";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
hdmi_pll_reg: ldo8 {
|
||||
regulator-name = "+1.8vs_ldo8,avdd_hdmi_pll";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
ldo9 {
|
||||
regulator-name = "+2.85vs_ldo9,vdd_ddr_rx";
|
||||
regulator-min-microvolt = <2850000>;
|
||||
regulator-max-microvolt = <2850000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo_rtc {
|
||||
regulator-name = "+3.3vs_rtc";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
adt7461@4c {
|
||||
compatible = "adi,adt7461";
|
||||
reg = <0x4c>;
|
||||
};
|
||||
};
|
||||
|
||||
pmc@7000e400 {
|
||||
nvidia,invert-interrupt;
|
||||
nvidia,suspend-mode = <1>;
|
||||
nvidia,cpu-pwr-good-time = <2000>;
|
||||
nvidia,cpu-pwr-off-time = <0>;
|
||||
nvidia,core-pwr-good-time = <3845 3845>;
|
||||
nvidia,core-pwr-off-time = <0>;
|
||||
nvidia,sys-clock-req-active-high;
|
||||
};
|
||||
|
||||
usb@c5000000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb-phy@c5000000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb@c5004000 {
|
||||
status = "okay";
|
||||
nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 0)
|
||||
GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
usb-phy@c5004000 {
|
||||
status = "okay";
|
||||
nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 0)
|
||||
GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
usb@c5008000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb-phy@c5008000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
sdhci@c8000000 {
|
||||
status = "okay";
|
||||
cd-gpios = <&gpio TEGRA_GPIO(V, 5) GPIO_ACTIVE_LOW>;
|
||||
@@ -53,6 +516,19 @@
|
||||
non-removable;
|
||||
};
|
||||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
|
||||
enable-gpios = <&gpio TEGRA_GPIO(U, 4) GPIO_ACTIVE_HIGH>;
|
||||
power-supply = <&vdd_bl_reg>;
|
||||
pwms = <&pwm 0 5000000>;
|
||||
|
||||
brightness-levels = <0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 255>;
|
||||
default-brightness-level = <10>;
|
||||
|
||||
backlight-boot-off;
|
||||
};
|
||||
|
||||
clocks {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
@@ -60,38 +536,101 @@
|
||||
|
||||
clk32k_in: clock@0 {
|
||||
compatible = "fixed-clock";
|
||||
reg=<0>;
|
||||
reg = <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
};
|
||||
|
||||
pwm: pwm@7000a000 {
|
||||
status = "okay";
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
power {
|
||||
label = "Power";
|
||||
gpios = <&gpio TEGRA_GPIO(J, 7) GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_POWER>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
lcd_panel: panel {
|
||||
/* PAZ00 has 1024x600 */
|
||||
clock = <54030000>;
|
||||
xres = <1024>;
|
||||
yres = <600>;
|
||||
right-margin = <160>;
|
||||
left-margin = <24>;
|
||||
hsync-len = <136>;
|
||||
upper-margin = <3>;
|
||||
lower-margin = <61>;
|
||||
vsync-len = <6>;
|
||||
hsync-active-high;
|
||||
nvidia,bits-per-pixel = <16>;
|
||||
nvidia,pwm = <&pwm 0 0>;
|
||||
nvidia,backlight-enable-gpios = <&gpio TEGRA_GPIO(U, 4)
|
||||
GPIO_ACTIVE_HIGH>;
|
||||
nvidia,lvds-shutdown-gpios = <&gpio TEGRA_GPIO(M, 6)
|
||||
GPIO_ACTIVE_HIGH>;
|
||||
nvidia,backlight-vdd-gpios = <&gpio TEGRA_GPIO(W, 0)
|
||||
GPIO_ACTIVE_HIGH>;
|
||||
nvidia,panel-vdd-gpios = <&gpio TEGRA_GPIO(A, 4)
|
||||
GPIO_ACTIVE_HIGH>;
|
||||
nvidia,panel-timings = <400 4 203 17 15>;
|
||||
gpio-leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
wifi {
|
||||
label = "wifi-led";
|
||||
gpios = <&gpio TEGRA_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "rfkill0";
|
||||
};
|
||||
};
|
||||
|
||||
panel: panel {
|
||||
compatible = "samsung,ltn101nt05", "simple-panel";
|
||||
|
||||
ddc-i2c-bus = <&lvds_ddc>;
|
||||
power-supply = <&vdd_pnl_reg>;
|
||||
enable-gpios = <&gpio TEGRA_GPIO(M, 6) GPIO_ACTIVE_HIGH>;
|
||||
|
||||
backlight = <&backlight>;
|
||||
};
|
||||
|
||||
regulators {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
p5valw_reg: regulator@0 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <0>;
|
||||
regulator-name = "+5valw";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdd_pnl_reg: regulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <1>;
|
||||
regulator-name = "+3VS,vdd_pnl";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpio = <&gpio TEGRA_GPIO(A, 4) GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
vdd_bl_reg: regulator@2 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <2>;
|
||||
regulator-name = "vdd_bl";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
gpio = <&gpio TEGRA_GPIO(W, 0) GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
};
|
||||
|
||||
sound {
|
||||
compatible = "nvidia,tegra-audio-alc5632-paz00",
|
||||
"nvidia,tegra-audio-alc5632";
|
||||
|
||||
nvidia,model = "Compal PAZ00";
|
||||
|
||||
nvidia,audio-routing =
|
||||
"Int Spk", "SPKOUT",
|
||||
"Int Spk", "SPKOUTN",
|
||||
"Headset Mic", "MICBIAS1",
|
||||
"MIC1", "Headset Mic",
|
||||
"Headset Stereophone", "HPR",
|
||||
"Headset Stereophone", "HPL",
|
||||
"DMICDAT", "Digital Mic";
|
||||
|
||||
nvidia,audio-codec = <&alc5632>;
|
||||
nvidia,i2s-controller = <&tegra_i2s1>;
|
||||
nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(W, 2)
|
||||
GPIO_ACTIVE_HIGH>;
|
||||
|
||||
clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
|
||||
<&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
|
||||
<&tegra_car TEGRA20_CLK_CDEV1>;
|
||||
clock-names = "pll_a", "pll_a_out0", "mclk";
|
||||
};
|
||||
};
|
||||
|
||||
8
arch/arm/dts/tegra20-u-boot.dtsi
Normal file
8
arch/arm/dts/tegra20-u-boot.dtsi
Normal file
@@ -0,0 +1,8 @@
|
||||
/ {
|
||||
host1x@50000000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
dc@54200000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -10,7 +10,6 @@
|
||||
interrupt-parent = <&lic>;
|
||||
|
||||
host1x@50000000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
compatible = "nvidia,tegra20-host1x", "simple-bus";
|
||||
reg = <0x50000000 0x00024000>;
|
||||
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
|
||||
@@ -78,7 +77,6 @@
|
||||
};
|
||||
|
||||
dc@54200000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
compatible = "nvidia,tegra20-dc";
|
||||
reg = <0x54200000 0x00040000>;
|
||||
interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
@@ -44,10 +44,12 @@
|
||||
hvdd-pex-supply = <&sys_3v3_reg>;
|
||||
|
||||
pci@1,0 {
|
||||
/* TS_DIFF1/2/3/4 left disabled */
|
||||
nvidia,num-lanes = <4>;
|
||||
};
|
||||
|
||||
pci@2,0 {
|
||||
/* PCIE1_RX/TX left disabled */
|
||||
nvidia,num-lanes = <1>;
|
||||
};
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu@0 {
|
||||
cpu0: cpu@0 {
|
||||
compatible = "arm,cortex-a9";
|
||||
device_type = "cpu";
|
||||
reg = <0>;
|
||||
@@ -30,7 +30,7 @@
|
||||
>;
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
cpu1: cpu@1 {
|
||||
compatible = "arm,cortex-a9";
|
||||
device_type = "cpu";
|
||||
reg = <1>;
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
/ {
|
||||
compatible = "xlnx,zynqmp";
|
||||
#address-cells = <2>;
|
||||
|
||||
@@ -34,9 +34,11 @@ endif
|
||||
ifeq ($(SOC),$(filter $(SOC),vf610))
|
||||
obj-y += ddrmc-vf610.o
|
||||
endif
|
||||
ifneq ($(CONFIG_SPL_BUILD),y)
|
||||
obj-$(CONFIG_CMD_BMODE) += cmd_bmode.o
|
||||
obj-$(CONFIG_CMD_HDMIDETECT) += cmd_hdmidet.o
|
||||
obj-$(CONFIG_CMD_DEKBLOB) += cmd_dek.o
|
||||
endif
|
||||
|
||||
PLUGIN = board/$(BOARDDIR)/plugin
|
||||
|
||||
@@ -66,6 +68,7 @@ $(IMX_CONFIG): %.cfgtmp: % FORCE
|
||||
|
||||
MKIMAGEFLAGS_u-boot.imx = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T imximage \
|
||||
-e $(CONFIG_SYS_TEXT_BASE)
|
||||
u-boot.imx: MKIMAGEOUTPUT = u-boot.imx.log
|
||||
|
||||
u-boot.imx: u-boot.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE
|
||||
$(call if_changed,mkimage)
|
||||
@@ -73,6 +76,7 @@ u-boot.imx: u-boot.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE
|
||||
ifeq ($(CONFIG_OF_SEPARATE),y)
|
||||
MKIMAGEFLAGS_u-boot-dtb.imx = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T imximage \
|
||||
-e $(CONFIG_SYS_TEXT_BASE)
|
||||
u-boot-dtb.imx: MKIMAGEOUTPUT = u-boot-dtb.imx.log
|
||||
|
||||
u-boot-dtb.imx: u-boot-dtb.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE
|
||||
$(call if_changed,mkimage)
|
||||
@@ -81,6 +85,8 @@ endif
|
||||
MKIMAGEFLAGS_SPL = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T imximage \
|
||||
-e $(CONFIG_SPL_TEXT_BASE)
|
||||
|
||||
SPL: MKIMAGEOUTPUT = SPL.log
|
||||
|
||||
SPL: spl/u-boot-spl.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE
|
||||
$(call if_changed,mkimage)
|
||||
|
||||
|
||||
@@ -110,6 +110,10 @@
|
||||
* +------------+ + CSF_PAD_SIZE
|
||||
*/
|
||||
|
||||
static bool is_hab_enabled(void);
|
||||
|
||||
#if !defined(CONFIG_SPL_BUILD)
|
||||
|
||||
#define MAX_RECORD_BYTES (8*1024) /* 4 kbytes */
|
||||
|
||||
struct record {
|
||||
@@ -257,22 +261,6 @@ uint8_t hab_engines[16] = {
|
||||
-1
|
||||
};
|
||||
|
||||
bool is_hab_enabled(void)
|
||||
{
|
||||
struct imx_sec_config_fuse_t *fuse =
|
||||
(struct imx_sec_config_fuse_t *)&imx_sec_config_fuse;
|
||||
uint32_t reg;
|
||||
int ret;
|
||||
|
||||
ret = fuse_read(fuse->bank, fuse->word, ®);
|
||||
if (ret) {
|
||||
puts("\nSecure boot fuse read error\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
return (reg & IS_HAB_ENABLED_BIT) == IS_HAB_ENABLED_BIT;
|
||||
}
|
||||
|
||||
static inline uint8_t get_idx(uint8_t *list, uint8_t tgt)
|
||||
{
|
||||
uint8_t idx = 0;
|
||||
@@ -359,6 +347,68 @@ int get_hab_status(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int do_hab_status(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
if ((argc != 1)) {
|
||||
cmd_usage(cmdtp);
|
||||
return 1;
|
||||
}
|
||||
|
||||
get_hab_status();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int do_authenticate_image(cmd_tbl_t *cmdtp, int flag, int argc,
|
||||
char * const argv[])
|
||||
{
|
||||
ulong addr, ivt_offset;
|
||||
int rcode = 0;
|
||||
|
||||
if (argc < 3)
|
||||
return CMD_RET_USAGE;
|
||||
|
||||
addr = simple_strtoul(argv[1], NULL, 16);
|
||||
ivt_offset = simple_strtoul(argv[2], NULL, 16);
|
||||
|
||||
rcode = authenticate_image(addr, ivt_offset);
|
||||
|
||||
return rcode;
|
||||
}
|
||||
|
||||
U_BOOT_CMD(
|
||||
hab_status, CONFIG_SYS_MAXARGS, 1, do_hab_status,
|
||||
"display HAB status",
|
||||
""
|
||||
);
|
||||
|
||||
U_BOOT_CMD(
|
||||
hab_auth_img, 3, 0, do_authenticate_image,
|
||||
"authenticate image via HAB",
|
||||
"addr ivt_offset\n"
|
||||
"addr - image hex address\n"
|
||||
"ivt_offset - hex offset of IVT in the image"
|
||||
);
|
||||
|
||||
|
||||
#endif /* !defined(CONFIG_SPL_BUILD) */
|
||||
|
||||
static bool is_hab_enabled(void)
|
||||
{
|
||||
struct imx_sec_config_fuse_t *fuse =
|
||||
(struct imx_sec_config_fuse_t *)&imx_sec_config_fuse;
|
||||
uint32_t reg;
|
||||
int ret;
|
||||
|
||||
ret = fuse_read(fuse->bank, fuse->word, ®);
|
||||
if (ret) {
|
||||
puts("\nSecure boot fuse read error\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
return (reg & IS_HAB_ENABLED_BIT) == IS_HAB_ENABLED_BIT;
|
||||
}
|
||||
|
||||
uint32_t authenticate_image(uint32_t ddr_start, uint32_t image_size)
|
||||
{
|
||||
uint32_t load_addr = 0;
|
||||
@@ -400,7 +450,9 @@ uint32_t authenticate_image(uint32_t ddr_start, uint32_t image_size)
|
||||
(void *)(ddr_start + ivt_offset+IVT_SIZE),
|
||||
4, 0x10, 0);
|
||||
|
||||
#if !defined(CONFIG_SPL_BUILD)
|
||||
get_hab_status();
|
||||
#endif
|
||||
|
||||
puts("\nCalling authenticate_image in ROM\n");
|
||||
printf("\tivt_offset = 0x%x\n", ivt_offset);
|
||||
@@ -449,7 +501,9 @@ uint32_t authenticate_image(uint32_t ddr_start, uint32_t image_size)
|
||||
|
||||
hab_caam_clock_enable(0);
|
||||
|
||||
#if !defined(CONFIG_SPL_BUILD)
|
||||
get_hab_status();
|
||||
#endif
|
||||
} else {
|
||||
puts("hab fuse not enabled\n");
|
||||
}
|
||||
@@ -459,46 +513,3 @@ uint32_t authenticate_image(uint32_t ddr_start, uint32_t image_size)
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int do_hab_status(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
if ((argc != 1)) {
|
||||
cmd_usage(cmdtp);
|
||||
return 1;
|
||||
}
|
||||
|
||||
get_hab_status();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int do_authenticate_image(cmd_tbl_t *cmdtp, int flag, int argc,
|
||||
char * const argv[])
|
||||
{
|
||||
ulong addr, ivt_offset;
|
||||
int rcode = 0;
|
||||
|
||||
if (argc < 3)
|
||||
return CMD_RET_USAGE;
|
||||
|
||||
addr = simple_strtoul(argv[1], NULL, 16);
|
||||
ivt_offset = simple_strtoul(argv[2], NULL, 16);
|
||||
|
||||
rcode = authenticate_image(addr, ivt_offset);
|
||||
|
||||
return rcode;
|
||||
}
|
||||
|
||||
U_BOOT_CMD(
|
||||
hab_status, CONFIG_SYS_MAXARGS, 1, do_hab_status,
|
||||
"display HAB status",
|
||||
""
|
||||
);
|
||||
|
||||
U_BOOT_CMD(
|
||||
hab_auth_img, 3, 0, do_authenticate_image,
|
||||
"authenticate image via HAB",
|
||||
"addr ivt_offset\n"
|
||||
"addr - image hex address\n"
|
||||
"ivt_offset - hex offset of IVT in the image"
|
||||
);
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <asm/arch/imx-regs.h>
|
||||
#include <asm/spl.h>
|
||||
#include <spl.h>
|
||||
#include <asm/imx-common/hab.h>
|
||||
|
||||
#if defined(CONFIG_MX6)
|
||||
/* determine boot device from SRC_SBMR1 (BOOT_CFG[4:1]) or SRC_GPR9 register */
|
||||
@@ -90,3 +91,27 @@ u32 spl_boot_mode(const u32 boot_device)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SECURE_BOOT)
|
||||
|
||||
__weak void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image)
|
||||
{
|
||||
typedef void __noreturn (*image_entry_noargs_t)(void);
|
||||
|
||||
image_entry_noargs_t image_entry =
|
||||
(image_entry_noargs_t)(unsigned long)spl_image->entry_point;
|
||||
|
||||
debug("image entry point: 0x%X\n", spl_image->entry_point);
|
||||
|
||||
/* HAB looks for the CSF at the end of the authenticated data therefore,
|
||||
* we need to subtract the size of the CSF from the actual filesize */
|
||||
if (authenticate_image(spl_image->load_addr,
|
||||
spl_image->size - CONFIG_CSF_SIZE)) {
|
||||
image_entry();
|
||||
} else {
|
||||
puts("spl: ERROR: image authentication unsuccessful\n");
|
||||
hang();
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -4,5 +4,15 @@
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#define __ASSEMBLY__
|
||||
#include <config.h>
|
||||
|
||||
IMAGE_VERSION 2
|
||||
BOOT_FROM sd
|
||||
|
||||
/*
|
||||
* Secure boot support
|
||||
*/
|
||||
#ifdef CONFIG_SECURE_BOOT
|
||||
CSF CONFIG_CSF_SIZE
|
||||
#endif
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* (C) Copyright 2011
|
||||
* eInfochips Ltd. <www.einfochips.com>
|
||||
* Written-by: Ajay Bhargav <ajay.bhargav@einfochips.com>
|
||||
* Written-by: Ajay Bhargav <contact@8051projects.net>
|
||||
*
|
||||
* (C) Copyright 2010
|
||||
* Marvell Semiconductor <www.marvell.com>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* (C) Copyright 2011
|
||||
* eInfochips Ltd. <www.einfochips.com>
|
||||
* Written-by: Ajay Bhargav <ajay.bhargav@einfochips.com>
|
||||
* Written-by: Ajay Bhargav <contact@8051projects.net>
|
||||
*
|
||||
* (C) Copyright 2010
|
||||
* Marvell Semiconductor <www.marvell.com>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* (C) Copyright 2012
|
||||
* eInfochips Ltd. <www.einfochips.com>
|
||||
* Written-by: Ajay Bhargav <ajay.bhargav@einfochips.com>
|
||||
* Written-by: Ajay Bhargav <contact@8051projects.net>
|
||||
*
|
||||
* (C) Copyright 2009
|
||||
* Marvell Semiconductor <www.marvell.com>
|
||||
|
||||
@@ -55,10 +55,6 @@
|
||||
#define CONFIG_SYS_FSL_SFP_LE
|
||||
#define CONFIG_SYS_FSL_SRK_LE
|
||||
|
||||
/* SEC */
|
||||
#define CONFIG_SYS_FSL_SEC_LE
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 5
|
||||
|
||||
/* Security Monitor */
|
||||
#define CONFIG_SYS_FSL_SEC_MON_LE
|
||||
|
||||
@@ -115,17 +111,7 @@
|
||||
#define EPU_EPCTR5 0x700060a14ULL
|
||||
#define EPU_EPGCR 0x700060000ULL
|
||||
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A008336
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A008511
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A008514
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A008585
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A008751
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009635
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009663
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009801
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009803
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009942
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A010165
|
||||
|
||||
/* ARM A57 CORE ERRATA */
|
||||
#define CONFIG_ARM_ERRATA_826974
|
||||
@@ -135,7 +121,6 @@
|
||||
|
||||
#define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 1
|
||||
#elif defined(CONFIG_FSL_LSCH2)
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 5
|
||||
#define CONFIG_SYS_FSL_OCRAM_BASE 0x10000000 /* initial RAM */
|
||||
#define CONFIG_SYS_FSL_OCRAM_SIZE 0x00200000 /* 2M */
|
||||
|
||||
@@ -146,7 +131,6 @@
|
||||
#define CONFIG_SYS_FSL_QSPI_BE
|
||||
#define CONFIG_SYS_FSL_CCSR_GUR_BE
|
||||
#define CONFIG_SYS_FSL_PEX_LUT_BE
|
||||
#define CONFIG_SYS_FSL_SEC_BE
|
||||
|
||||
/* SoC related */
|
||||
#ifdef CONFIG_LS1043A
|
||||
@@ -175,17 +159,12 @@
|
||||
#define GICD_BASE 0x01401000
|
||||
#define GICC_BASE 0x01402000
|
||||
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A008850
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009663
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009929
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009942
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009660
|
||||
#define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 1
|
||||
#elif defined(CONFIG_ARCH_LS1012A)
|
||||
#undef CONFIG_SYS_FSL_DDRC_ARM_GEN3
|
||||
|
||||
#elif defined(CONFIG_ARCH_LS1012A)
|
||||
#define GICD_BASE 0x01401000
|
||||
#define GICC_BASE 0x01402000
|
||||
|
||||
#elif defined(CONFIG_ARCH_LS1046A)
|
||||
#define CONFIG_SYS_FMAN_V3
|
||||
#define CONFIG_SYS_NUM_FMAN 1
|
||||
@@ -210,11 +189,6 @@
|
||||
|
||||
#define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 1
|
||||
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A008511
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009801
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009803
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009942
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A010165
|
||||
#else
|
||||
#error SoC not defined
|
||||
#endif
|
||||
|
||||
@@ -91,7 +91,6 @@
|
||||
#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
|
||||
CONFIG_SYS_SCSI_MAX_LUN)
|
||||
#define CONFIG_DOS_PARTITION
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A008407
|
||||
|
||||
#ifdef CONFIG_DDR_SPD
|
||||
#define CONFIG_VERY_BIG_RAM
|
||||
@@ -106,7 +105,6 @@
|
||||
#define CONFIG_SYS_FSL_QSPI_BE
|
||||
#define CONFIG_SYS_FSL_DCU_BE
|
||||
#define CONFIG_SYS_FSL_SEC_MON_LE
|
||||
#define CONFIG_SYS_FSL_SEC_LE
|
||||
#define CONFIG_SYS_FSL_SFP_VER_3_2
|
||||
#define CONFIG_SYS_FSL_SFP_BE
|
||||
#define CONFIG_SYS_FSL_SRK_LE
|
||||
@@ -114,11 +112,7 @@
|
||||
#define DCU_LAYER_MAX_NUM 16
|
||||
|
||||
#ifdef CONFIG_LS102XA
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 5
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A008378
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009663
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009942
|
||||
#define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 1
|
||||
#else
|
||||
#error SoC not defined
|
||||
|
||||
@@ -97,6 +97,7 @@
|
||||
#if defined(CONFIG_MACH_SUN8I_A83T) || defined(CONFIG_MACH_SUN8I_H3) || \
|
||||
defined(CONFIG_MACH_SUN50I)
|
||||
/* SID address space starts at 0x01c1400, but e-fuse is at offset 0x200 */
|
||||
#define SUNXI_SIDC_BASE 0x01c14000
|
||||
#define SUNXI_SID_BASE 0x01c14200
|
||||
#else
|
||||
#define SUNXI_SID_BASE 0x01c23800
|
||||
|
||||
@@ -18,8 +18,6 @@
|
||||
|
||||
#define ARASAN_NAND_BASEADDR 0xFF100000
|
||||
|
||||
#define ZYNQMP_SATA_BASEADDR 0xFD0C0000
|
||||
|
||||
#define ZYNQMP_USB0_XHCI_BASEADDR 0xFE200000
|
||||
#define ZYNQMP_USB1_XHCI_BASEADDR 0xFE300000
|
||||
|
||||
|
||||
@@ -145,4 +145,6 @@ typedef void hapi_clock_init_t(void);
|
||||
|
||||
/* ----------- end of HAB API updates ------------*/
|
||||
|
||||
uint32_t authenticate_image(uint32_t ddr_start, uint32_t image_size);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -14,7 +14,7 @@ extern char * strrchr(const char * s, int c);
|
||||
#undef __HAVE_ARCH_STRCHR
|
||||
extern char * strchr(const char * s, int c);
|
||||
|
||||
#ifdef CONFIG_USE_ARCH_MEMCPY
|
||||
#if CONFIG_IS_ENABLED(USE_ARCH_MEMCPY)
|
||||
#define __HAVE_ARCH_MEMCPY
|
||||
#endif
|
||||
extern void * memcpy(void *, const void *, __kernel_size_t);
|
||||
@@ -26,7 +26,7 @@ extern void * memmove(void *, const void *, __kernel_size_t);
|
||||
extern void * memchr(const void *, int, __kernel_size_t);
|
||||
|
||||
#undef __HAVE_ARCH_MEMZERO
|
||||
#ifdef CONFIG_USE_ARCH_MEMSET
|
||||
#if CONFIG_IS_ENABLED(USE_ARCH_MEMSET)
|
||||
#define __HAVE_ARCH_MEMSET
|
||||
#endif
|
||||
extern void * memset(void *, int, __kernel_size_t);
|
||||
|
||||
@@ -21,7 +21,33 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
#define RFU_GLOBAL_SW_RST (MVEBU_RFU_BASE + 0x84)
|
||||
#define RFU_SW_RESET_OFFSET 0
|
||||
|
||||
/*
|
||||
* The following table includes all memory regions for Armada 7k and
|
||||
* 8k SoCs. The Armada 7k is missing the CP110 slave regions here. Lets
|
||||
* define these regions at the beginning of the struct so that they
|
||||
* can be easier removed later dynamically if an Armada 7k device is detected.
|
||||
* For a detailed memory map, please see doc/mvebu/armada-8k-memory.txt
|
||||
*/
|
||||
#define ARMADA_7K8K_COMMON_REGIONS_START 2
|
||||
static struct mm_region mvebu_mem_map[] = {
|
||||
/* Armada 80x0 memory regions include the CP1 (slave) units */
|
||||
{
|
||||
/* SRAM, MMIO regions - CP110 slave region */
|
||||
.phys = 0xf4000000UL,
|
||||
.virt = 0xf4000000UL,
|
||||
.size = 0x02000000UL, /* 32MiB internal registers */
|
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
PTE_BLOCK_NON_SHARE
|
||||
},
|
||||
{
|
||||
/* PCI CP1 regions */
|
||||
.phys = 0xfa000000UL,
|
||||
.virt = 0xfa000000UL,
|
||||
.size = 0x04000000UL, /* 64MiB CP110 slave PCI space */
|
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
PTE_BLOCK_NON_SHARE
|
||||
},
|
||||
/* Armada 80x0 and 70x0 common memory regions start here */
|
||||
{
|
||||
/* RAM */
|
||||
.phys = 0x0UL,
|
||||
@@ -47,29 +73,35 @@ static struct mm_region mvebu_mem_map[] = {
|
||||
PTE_BLOCK_NON_SHARE
|
||||
},
|
||||
{
|
||||
/* SRAM, MMIO regions - CP110 slave region */
|
||||
.phys = 0xf4000000UL,
|
||||
.virt = 0xf4000000UL,
|
||||
.size = 0x02000000UL, /* 32MiB internal registers */
|
||||
/* PCI CP0 regions */
|
||||
.phys = 0xf6000000UL,
|
||||
.virt = 0xf6000000UL,
|
||||
.size = 0x04000000UL, /* 64MiB CP110 master PCI space */
|
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
PTE_BLOCK_NON_SHARE
|
||||
},
|
||||
{
|
||||
/* PCI regions */
|
||||
.phys = 0xf8000000UL,
|
||||
.virt = 0xf8000000UL,
|
||||
.size = 0x08000000UL, /* 128MiB PCI space (master & slave) */
|
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
PTE_BLOCK_NON_SHARE
|
||||
},
|
||||
{
|
||||
/* List terminator */
|
||||
0,
|
||||
}
|
||||
};
|
||||
|
||||
struct mm_region *mem_map = mvebu_mem_map;
|
||||
|
||||
void enable_caches(void)
|
||||
{
|
||||
/*
|
||||
* Armada 7k is not equipped with the CP110 slave CP. In case this
|
||||
* code runs on an Armada 7k device, lets remove the CP110 slave
|
||||
* entries from the memory mapping by moving the start to the
|
||||
* common regions.
|
||||
*/
|
||||
if (of_machine_is_compatible("marvell,armada7040"))
|
||||
mem_map = &mvebu_mem_map[ARMADA_7K8K_COMMON_REGIONS_START];
|
||||
|
||||
icache_enable();
|
||||
dcache_enable();
|
||||
}
|
||||
|
||||
void reset_cpu(ulong ignored)
|
||||
{
|
||||
u32 reg;
|
||||
|
||||
@@ -475,7 +475,7 @@ int arch_misc_init(void)
|
||||
}
|
||||
#endif /* CONFIG_ARCH_MISC_INIT */
|
||||
|
||||
#ifdef CONFIG_MV_SDHCI
|
||||
#ifdef CONFIG_MMC_SDHCI_MV
|
||||
int board_mmc_init(bd_t *bis)
|
||||
{
|
||||
mv_sdh_init(MVEBU_SDIO_BASE, 0, 0,
|
||||
|
||||
@@ -119,7 +119,8 @@ config ISW_ENTRY_ADDR
|
||||
point address depending on the device type
|
||||
(secure/non-secure), boot media (xip/non-xip) and
|
||||
image headers.
|
||||
default 0x402F4000
|
||||
default 0x402F4000 if AM43XX
|
||||
default 0x402F0400 if AM33XX
|
||||
|
||||
config PUB_ROM_DATA_SIZE
|
||||
hex "Size in bytes of the L3 SRAM reserved by ROM to store data"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
quiet_cmd_mkomapsecimg = MKIMAGE $@
|
||||
quiet_cmd_mkomapsecimg = SECURE $@
|
||||
ifneq ($(TI_SECURE_DEV_PKG),)
|
||||
ifneq ($(wildcard $(TI_SECURE_DEV_PKG)/scripts/create-boot-image.sh),)
|
||||
ifneq ($(CONFIG_SPL_BUILD),)
|
||||
@@ -18,11 +18,12 @@ endif
|
||||
else
|
||||
cmd_mkomapsecimg = echo "WARNING:" \
|
||||
"$(TI_SECURE_DEV_PKG)/scripts/create-boot-image.sh not found." \
|
||||
"$@ was NOT created!"
|
||||
"$@ was NOT secured!"; cp $< $@
|
||||
endif
|
||||
else
|
||||
cmd_mkomapsecimg = echo "WARNING: TI_SECURE_DEV_PKG environment" \
|
||||
"variable must be defined for TI secure devices. $@ was NOT created!"
|
||||
"variable must be defined for TI secure devices. \
|
||||
$@ was NOT secured!"; cp $< $@
|
||||
endif
|
||||
|
||||
ifdef CONFIG_SPL_LOAD_FIT
|
||||
@@ -35,51 +36,51 @@ cmd_omapsecureimg = $(TI_SECURE_DEV_PKG)/scripts/secure-binary-image.sh \
|
||||
else
|
||||
cmd_omapsecureimg = echo "WARNING:" \
|
||||
"$(TI_SECURE_DEV_PKG)/scripts/secure-binary-image.sh not found." \
|
||||
"$@ was NOT created!"; cp $< $@
|
||||
"$@ was NOT secured!"; cp $< $@
|
||||
endif
|
||||
else
|
||||
cmd_omapsecureimg = echo "WARNING: TI_SECURE_DEV_PKG environment" \
|
||||
"variable must be defined for TI secure devices." \
|
||||
"$@ was NOT created!"; cp $< $@
|
||||
"$@ was NOT secured!"; cp $< $@
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
# Standard X-LOADER target (QPSI, NOR flash)
|
||||
u-boot-spl_HS_X-LOADER: $(obj)/u-boot-spl.bin
|
||||
u-boot-spl_HS_X-LOADER: $(obj)/u-boot-spl.bin FORCE
|
||||
$(call if_changed,mkomapsecimg)
|
||||
|
||||
# For MLO targets (SD card boot) the final file name that is copied to the SD
|
||||
# card FAT partition must be MLO, so we make a copy of the output file to a new
|
||||
# file with that name
|
||||
u-boot-spl_HS_MLO: $(obj)/u-boot-spl.bin
|
||||
u-boot-spl_HS_MLO: $(obj)/u-boot-spl.bin FORCE
|
||||
$(call if_changed,mkomapsecimg)
|
||||
@if [ -f $@ ]; then \
|
||||
cp -f $@ MLO; \
|
||||
fi
|
||||
|
||||
# Standard 2ND target (certain peripheral boot modes)
|
||||
u-boot-spl_HS_2ND: $(obj)/u-boot-spl.bin
|
||||
u-boot-spl_HS_2ND: $(obj)/u-boot-spl.bin FORCE
|
||||
$(call if_changed,mkomapsecimg)
|
||||
|
||||
# Standard ULO target (certain peripheral boot modes)
|
||||
u-boot-spl_HS_ULO: $(obj)/u-boot-spl.bin
|
||||
u-boot-spl_HS_ULO: $(obj)/u-boot-spl.bin FORCE
|
||||
$(call if_changed,mkomapsecimg)
|
||||
|
||||
# Standard ISSW target (certain devices, various boot modes)
|
||||
u-boot-spl_HS_ISSW: $(obj)/u-boot-spl.bin
|
||||
u-boot-spl_HS_ISSW: $(obj)/u-boot-spl.bin FORCE
|
||||
$(call if_changed,mkomapsecimg)
|
||||
|
||||
# For SPI flash on AM335x and AM43xx, these require special byte swap handling
|
||||
# so we use the SPI_X-LOADER target instead of X-LOADER and let the
|
||||
# create-boot-image.sh script handle that
|
||||
u-boot-spl_HS_SPI_X-LOADER: $(obj)/u-boot-spl.bin
|
||||
u-boot-spl_HS_SPI_X-LOADER: $(obj)/u-boot-spl.bin FORCE
|
||||
$(call if_changed,mkomapsecimg)
|
||||
|
||||
# For supporting single stage XiP QSPI on AM43xx, the image is a full u-boot
|
||||
# file, not an SPL. In this case the mkomapsecimg command looks for a
|
||||
# u-boot-HS_* prefix
|
||||
u-boot_HS_XIP_X-LOADER: $(obj)/u-boot.bin
|
||||
u-boot_HS_XIP_X-LOADER: $(obj)/u-boot.bin FORCE
|
||||
$(call if_changed,mkomapsecimg)
|
||||
|
||||
# For supporting the SPL loading and interpreting of FIT images whose
|
||||
@@ -90,21 +91,18 @@ ifdef CONFIG_SPL_LOAD_FIT
|
||||
MKIMAGEFLAGS_u-boot_HS.img = -f auto -A $(ARCH) -T firmware -C none -O u-boot \
|
||||
-a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_UBOOT_START) \
|
||||
-n "U-Boot $(UBOOTRELEASE) for $(BOARD) board" -E \
|
||||
$(patsubst %,-b arch/$(ARCH)/dts/%.dtb,$(subst ",,$(CONFIG_OF_LIST)))
|
||||
$(patsubst %,-b arch/$(ARCH)/dts/%.dtb_HS,$(subst ",,$(CONFIG_OF_LIST)))
|
||||
|
||||
OF_LIST_TARGETS = $(patsubst %,arch/$(ARCH)/dts/%.dtb,$(subst ",,$(CONFIG_OF_LIST)))
|
||||
$(OF_LIST_TARGETS): dtbs
|
||||
|
||||
%_HS.dtb: %.dtb
|
||||
$(call if_changed,omapsecureimg)
|
||||
$(Q)if [ -f $@ ]; then \
|
||||
cp -f $@ $<; \
|
||||
fi
|
||||
|
||||
u-boot-nodtb_HS.bin: u-boot-nodtb.bin
|
||||
%.dtb_HS: %.dtb FORCE
|
||||
$(call if_changed,omapsecureimg)
|
||||
|
||||
u-boot_HS.img: u-boot-nodtb_HS.bin u-boot.img $(patsubst %.dtb,%_HS.dtb,$(OF_LIST_TARGETS))
|
||||
u-boot-nodtb_HS.bin: u-boot-nodtb.bin FORCE
|
||||
$(call if_changed,omapsecureimg)
|
||||
|
||||
u-boot_HS.img: u-boot-nodtb_HS.bin u-boot.img $(patsubst %.dtb,%.dtb_HS,$(OF_LIST_TARGETS)) FORCE
|
||||
$(call if_changed,mkimage)
|
||||
$(Q)if [ -f $@ ]; then \
|
||||
cp -f $@ u-boot.img; \
|
||||
|
||||
@@ -40,6 +40,9 @@ choice
|
||||
prompt "OMAP5 board select"
|
||||
optional
|
||||
|
||||
config TARGET_CL_SOM_AM57X
|
||||
bool "CompuLab CL-SOM-AM57x"
|
||||
|
||||
config TARGET_CM_T54
|
||||
bool "CompuLab CM-T54"
|
||||
|
||||
@@ -179,6 +182,7 @@ endchoice
|
||||
endmenu
|
||||
endif
|
||||
|
||||
source "board/compulab/cl-som-am57x/Kconfig"
|
||||
source "board/compulab/cm_t54/Kconfig"
|
||||
source "board/ti/omap5_uevm/Kconfig"
|
||||
source "board/ti/dra7xx/Kconfig"
|
||||
|
||||
@@ -99,10 +99,54 @@ int print_cpuinfo(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_SUN8I_H3
|
||||
|
||||
#define SIDC_PRCTL 0x40
|
||||
#define SIDC_RDKEY 0x60
|
||||
|
||||
#define SIDC_OP_LOCK 0xAC
|
||||
|
||||
uint32_t sun8i_efuse_read(uint32_t offset)
|
||||
{
|
||||
uint32_t reg_val;
|
||||
|
||||
reg_val = readl(SUNXI_SIDC_BASE + SIDC_PRCTL);
|
||||
reg_val &= ~(((0x1ff) << 16) | 0x3);
|
||||
reg_val |= (offset << 16);
|
||||
writel(reg_val, SUNXI_SIDC_BASE + SIDC_PRCTL);
|
||||
|
||||
reg_val &= ~(((0xff) << 8) | 0x3);
|
||||
reg_val |= (SIDC_OP_LOCK << 8) | 0x2;
|
||||
writel(reg_val, SUNXI_SIDC_BASE + SIDC_PRCTL);
|
||||
|
||||
while (readl(SUNXI_SIDC_BASE + SIDC_PRCTL) & 0x2);
|
||||
|
||||
reg_val &= ~(((0x1ff) << 16) | ((0xff) << 8) | 0x3);
|
||||
writel(reg_val, SUNXI_SIDC_BASE + SIDC_PRCTL);
|
||||
|
||||
reg_val = readl(SUNXI_SIDC_BASE + SIDC_RDKEY);
|
||||
return reg_val;
|
||||
}
|
||||
#endif
|
||||
|
||||
int sunxi_get_sid(unsigned int *sid)
|
||||
{
|
||||
#ifdef CONFIG_AXP221_POWER
|
||||
return axp_get_sid(sid);
|
||||
#elif defined CONFIG_MACH_SUN8I_H3
|
||||
/*
|
||||
* H3 SID controller has a bug, which makes the initial value of
|
||||
* SUNXI_SID_BASE at boot wrong.
|
||||
* Read the value directly from SID controller, in order to get
|
||||
* the correct value, and also refresh the wrong value at
|
||||
* SUNXI_SID_BASE.
|
||||
*/
|
||||
int i;
|
||||
|
||||
for (i = 0; i< 4; i++)
|
||||
sid[i] = sun8i_efuse_read(i * 4);
|
||||
|
||||
return 0;
|
||||
#elif defined SUNXI_SID_BASE
|
||||
int i;
|
||||
|
||||
|
||||
@@ -11,6 +11,19 @@
|
||||
|
||||
extern unsigned long nvtboot_boot_x0;
|
||||
|
||||
static int set_fdt_addr(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = setenv_hex("fdt_addr", nvtboot_boot_x0);
|
||||
if (ret) {
|
||||
printf("Failed to set fdt_addr to point at DTB: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Attempt to use /chosen/nvidia,ether-mac in the nvtboot DTB to U-Boot's
|
||||
* ethaddr environment variable if possible.
|
||||
@@ -47,6 +60,11 @@ static int set_ethaddr_from_nvtboot(void)
|
||||
|
||||
int tegra_soc_board_init_late(void)
|
||||
{
|
||||
/*
|
||||
* Ignore errors here; the value may not be used depending on
|
||||
* extlinux.conf or boot script content.
|
||||
*/
|
||||
set_fdt_addr();
|
||||
/* Ignore errors here; not all cases care about Ethernet addresses */
|
||||
set_ethaddr_from_nvtboot();
|
||||
|
||||
|
||||
@@ -23,13 +23,20 @@ config MPC8260
|
||||
config MPC83xx
|
||||
bool "MPC83xx"
|
||||
select CREATE_ARCH_SYMLINK
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
|
||||
config MPC85xx
|
||||
bool "MPC85xx"
|
||||
select CREATE_ARCH_SYMLINK
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDR_BE
|
||||
|
||||
config MPC86xx
|
||||
bool "MPC86xx"
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDR_BE
|
||||
|
||||
config 8xx
|
||||
bool "MPC8xx"
|
||||
|
||||
@@ -22,6 +22,7 @@ config TARGET_VME8349
|
||||
|
||||
config TARGET_MPC8308RDB
|
||||
bool "Support MPC8308RDB"
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
|
||||
config TARGET_MPC8313ERDB
|
||||
bool "Support MPC8313ERDB"
|
||||
@@ -38,6 +39,9 @@ config TARGET_MPC832XEMDS
|
||||
|
||||
config TARGET_MPC8349EMDS
|
||||
bool "Support MPC8349EMDS"
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_HAS_DDR2
|
||||
select SYS_FSL_DDR_BE
|
||||
|
||||
config TARGET_MPC8349ITX
|
||||
bool "Support MPC8349ITX"
|
||||
@@ -66,9 +70,11 @@ config TARGET_TQM834X
|
||||
|
||||
config TARGET_HRCON
|
||||
bool "Support hrcon"
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
|
||||
config TARGET_STRIDER
|
||||
bool "Support strider"
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
|
||||
endchoice
|
||||
|
||||
|
||||
@@ -68,6 +68,8 @@ config TARGET_P5040DS
|
||||
config TARGET_MPC8536DS
|
||||
bool "Support MPC8536DS"
|
||||
select ARCH_MPC8536
|
||||
# Use DDR3 controller with DDR2 DIMMs on this board
|
||||
select SYS_FSL_DDRC_GEN3
|
||||
|
||||
config TARGET_MPC8540ADS
|
||||
bool "Support MPC8540ADS"
|
||||
@@ -104,6 +106,8 @@ config TARGET_MPC8569MDS
|
||||
config TARGET_MPC8572DS
|
||||
bool "Support MPC8572DS"
|
||||
select ARCH_MPC8572
|
||||
# Use DDR3 controller with DDR2 DIMMs on this board
|
||||
select SYS_FSL_DDRC_GEN3
|
||||
|
||||
config TARGET_P1010RDB_PA
|
||||
bool "Support P1010RDB_PA"
|
||||
@@ -300,6 +304,8 @@ config TARGET_XPEDITE520X
|
||||
config TARGET_XPEDITE537X
|
||||
bool "Support xpedite537x"
|
||||
select ARCH_MPC8572
|
||||
# Use DDR3 controller with DDR2 DIMMs on this board
|
||||
select SYS_FSL_DDRC_GEN3
|
||||
|
||||
config TARGET_XPEDITE550X
|
||||
bool "Support xpedite550x"
|
||||
@@ -323,154 +329,595 @@ endchoice
|
||||
|
||||
config ARCH_B4420
|
||||
bool
|
||||
select E500MC
|
||||
select E6500
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_47
|
||||
select SYS_FSL_ERRATUM_A004477
|
||||
select SYS_FSL_ERRATUM_A005871
|
||||
select SYS_FSL_ERRATUM_A006379
|
||||
select SYS_FSL_ERRATUM_A006384
|
||||
select SYS_FSL_ERRATUM_A006475
|
||||
select SYS_FSL_ERRATUM_A006593
|
||||
select SYS_FSL_ERRATUM_A007075
|
||||
select SYS_FSL_ERRATUM_A007186
|
||||
select SYS_FSL_ERRATUM_A007212
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS2
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
select SYS_PPC64
|
||||
|
||||
config ARCH_B4860
|
||||
bool
|
||||
select E500MC
|
||||
select E6500
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_47
|
||||
select SYS_FSL_ERRATUM_A004477
|
||||
select SYS_FSL_ERRATUM_A005871
|
||||
select SYS_FSL_ERRATUM_A006379
|
||||
select SYS_FSL_ERRATUM_A006384
|
||||
select SYS_FSL_ERRATUM_A006475
|
||||
select SYS_FSL_ERRATUM_A006593
|
||||
select SYS_FSL_ERRATUM_A007075
|
||||
select SYS_FSL_ERRATUM_A007186
|
||||
select SYS_FSL_ERRATUM_A007212
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS2
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
select SYS_PPC64
|
||||
|
||||
config ARCH_BSC9131
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_44
|
||||
select SYS_FSL_ERRATUM_A004477
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
|
||||
config ARCH_BSC9132
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_46
|
||||
select SYS_FSL_ERRATUM_A004477
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_ERRATUM_A005434
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_ERRATUM_I2C_A004447
|
||||
select SYS_FSL_ERRATUM_IFC_A002769
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
select SYS_PPC_E500_USE_DEBUG_TLB
|
||||
|
||||
config ARCH_C29X
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_46
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_6
|
||||
select SYS_PPC_E500_USE_DEBUG_TLB
|
||||
|
||||
config ARCH_MPC8536
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A004508
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_HAS_DDR2
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
select SYS_PPC_E500_USE_DEBUG_TLB
|
||||
|
||||
config ARCH_MPC8540
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_HAS_DDR1
|
||||
|
||||
config ARCH_MPC8541
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_HAS_DDR1
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
|
||||
config ARCH_MPC8544
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_HAS_DDR2
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
select SYS_PPC_E500_USE_DEBUG_TLB
|
||||
|
||||
config ARCH_MPC8548
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_ERRATUM_NMG_DDR120
|
||||
select SYS_FSL_ERRATUM_NMG_LBC103
|
||||
select SYS_FSL_ERRATUM_NMG_ETSEC129
|
||||
select SYS_FSL_ERRATUM_I2C_A004447
|
||||
select SYS_FSL_HAS_DDR2
|
||||
select SYS_FSL_HAS_DDR1
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
select SYS_PPC_E500_USE_DEBUG_TLB
|
||||
|
||||
config ARCH_MPC8555
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_HAS_DDR1
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
|
||||
config ARCH_MPC8560
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_HAS_DDR1
|
||||
|
||||
config ARCH_MPC8568
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_HAS_DDR2
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
|
||||
config ARCH_MPC8569
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A004508
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
|
||||
config ARCH_MPC8572
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A004508
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_ERRATUM_DDR_115
|
||||
select SYS_FSL_ERRATUM_DDR111_DDR134
|
||||
select SYS_FSL_HAS_DDR2
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
select SYS_PPC_E500_USE_DEBUG_TLB
|
||||
|
||||
config ARCH_P1010
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A004477
|
||||
select SYS_FSL_ERRATUM_A004508
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_ERRATUM_A006261
|
||||
select SYS_FSL_ERRATUM_A007075
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_ERRATUM_I2C_A004447
|
||||
select SYS_FSL_ERRATUM_IFC_A002769
|
||||
select SYS_FSL_ERRATUM_P1010_A003549
|
||||
select SYS_FSL_ERRATUM_SEC_A003571
|
||||
select SYS_FSL_ERRATUM_IFC_A003399
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
select SYS_PPC_E500_USE_DEBUG_TLB
|
||||
|
||||
config ARCH_P1011
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A004508
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_ERRATUM_ELBC_A001
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
select SYS_PPC_E500_USE_DEBUG_TLB
|
||||
|
||||
config ARCH_P1020
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A004508
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_ERRATUM_ELBC_A001
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
select SYS_PPC_E500_USE_DEBUG_TLB
|
||||
|
||||
config ARCH_P1021
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A004508
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_ERRATUM_ELBC_A001
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
select SYS_PPC_E500_USE_DEBUG_TLB
|
||||
|
||||
config ARCH_P1022
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A004477
|
||||
select SYS_FSL_ERRATUM_A004508
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_ERRATUM_ELBC_A001
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_ERRATUM_SATA_A001
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
select SYS_PPC_E500_USE_DEBUG_TLB
|
||||
|
||||
config ARCH_P1023
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A004508
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_ERRATUM_I2C_A004447
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
|
||||
config ARCH_P1024
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A004508
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_ERRATUM_ELBC_A001
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
select SYS_PPC_E500_USE_DEBUG_TLB
|
||||
|
||||
config ARCH_P1025
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A004508
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_ERRATUM_ELBC_A001
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
select SYS_PPC_E500_USE_DEBUG_TLB
|
||||
|
||||
config ARCH_P2020
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A004477
|
||||
select SYS_FSL_ERRATUM_A004508
|
||||
select SYS_FSL_ERRATUM_A005125
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_ERRATUM_ESDHC_A001
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_2
|
||||
select SYS_PPC_E500_USE_DEBUG_TLB
|
||||
|
||||
config ARCH_P2041
|
||||
bool
|
||||
select E500MC
|
||||
select FSL_LAW
|
||||
select SYS_FSL_ERRATUM_A004510
|
||||
select SYS_FSL_ERRATUM_A004849
|
||||
select SYS_FSL_ERRATUM_A006261
|
||||
select SYS_FSL_ERRATUM_CPU_A003999
|
||||
select SYS_FSL_ERRATUM_DDR_A003
|
||||
select SYS_FSL_ERRATUM_DDR_A003474
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_ERRATUM_I2C_A004447
|
||||
select SYS_FSL_ERRATUM_NMG_CPU_A011
|
||||
select SYS_FSL_ERRATUM_SRIO_A004034
|
||||
select SYS_FSL_ERRATUM_USB14
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS1
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
|
||||
config ARCH_P3041
|
||||
bool
|
||||
select E500MC
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_44
|
||||
select SYS_FSL_ERRATUM_A004510
|
||||
select SYS_FSL_ERRATUM_A004849
|
||||
select SYS_FSL_ERRATUM_A005812
|
||||
select SYS_FSL_ERRATUM_A006261
|
||||
select SYS_FSL_ERRATUM_CPU_A003999
|
||||
select SYS_FSL_ERRATUM_DDR_A003
|
||||
select SYS_FSL_ERRATUM_DDR_A003474
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_ERRATUM_I2C_A004447
|
||||
select SYS_FSL_ERRATUM_NMG_CPU_A011
|
||||
select SYS_FSL_ERRATUM_SRIO_A004034
|
||||
select SYS_FSL_ERRATUM_USB14
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS1
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
|
||||
config ARCH_P4080
|
||||
bool
|
||||
select E500MC
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_44
|
||||
select SYS_FSL_ERRATUM_A004510
|
||||
select SYS_FSL_ERRATUM_A004580
|
||||
select SYS_FSL_ERRATUM_A004849
|
||||
select SYS_FSL_ERRATUM_A005812
|
||||
select SYS_FSL_ERRATUM_A007075
|
||||
select SYS_FSL_ERRATUM_CPC_A002
|
||||
select SYS_FSL_ERRATUM_CPC_A003
|
||||
select SYS_FSL_ERRATUM_CPU_A003999
|
||||
select SYS_FSL_ERRATUM_DDR_A003
|
||||
select SYS_FSL_ERRATUM_DDR_A003474
|
||||
select SYS_FSL_ERRATUM_ELBC_A001
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_ERRATUM_ESDHC13
|
||||
select SYS_FSL_ERRATUM_ESDHC135
|
||||
select SYS_FSL_ERRATUM_I2C_A004447
|
||||
select SYS_FSL_ERRATUM_NMG_CPU_A011
|
||||
select SYS_FSL_ERRATUM_SRIO_A004034
|
||||
select SYS_P4080_ERRATUM_CPU22
|
||||
select SYS_P4080_ERRATUM_PCIE_A003
|
||||
select SYS_P4080_ERRATUM_SERDES8
|
||||
select SYS_P4080_ERRATUM_SERDES9
|
||||
select SYS_P4080_ERRATUM_SERDES_A001
|
||||
select SYS_P4080_ERRATUM_SERDES_A005
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS1
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
|
||||
config ARCH_P5020
|
||||
bool
|
||||
select E500MC
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_44
|
||||
select SYS_FSL_ERRATUM_A004510
|
||||
select SYS_FSL_ERRATUM_A006261
|
||||
select SYS_FSL_ERRATUM_DDR_A003
|
||||
select SYS_FSL_ERRATUM_DDR_A003474
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_ERRATUM_I2C_A004447
|
||||
select SYS_FSL_ERRATUM_SRIO_A004034
|
||||
select SYS_FSL_ERRATUM_USB14
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS1
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
select SYS_PPC64
|
||||
|
||||
config ARCH_P5040
|
||||
bool
|
||||
select E500MC
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_44
|
||||
select SYS_FSL_ERRATUM_A004510
|
||||
select SYS_FSL_ERRATUM_A004699
|
||||
select SYS_FSL_ERRATUM_A005812
|
||||
select SYS_FSL_ERRATUM_A006261
|
||||
select SYS_FSL_ERRATUM_DDR_A003
|
||||
select SYS_FSL_ERRATUM_DDR_A003474
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_ERRATUM_USB14
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS1
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
select SYS_PPC64
|
||||
|
||||
config ARCH_QEMU_E500
|
||||
bool
|
||||
|
||||
config ARCH_T1023
|
||||
bool
|
||||
select E500MC
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_50
|
||||
select SYS_FSL_ERRATUM_A008378
|
||||
select SYS_FSL_ERRATUM_A009663
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_DDR4
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS2
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_5
|
||||
|
||||
config ARCH_T1024
|
||||
bool
|
||||
select E500MC
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_50
|
||||
select SYS_FSL_ERRATUM_A008378
|
||||
select SYS_FSL_ERRATUM_A009663
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_DDR4
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS2
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_5
|
||||
|
||||
config ARCH_T1040
|
||||
bool
|
||||
select E500MC
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_50
|
||||
select SYS_FSL_ERRATUM_A008044
|
||||
select SYS_FSL_ERRATUM_A008378
|
||||
select SYS_FSL_ERRATUM_A009663
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_DDR4
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS2
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_5
|
||||
|
||||
config ARCH_T1042
|
||||
bool
|
||||
select E500MC
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_50
|
||||
select SYS_FSL_ERRATUM_A008044
|
||||
select SYS_FSL_ERRATUM_A008378
|
||||
select SYS_FSL_ERRATUM_A009663
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_DDR4
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS2
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_5
|
||||
|
||||
config ARCH_T2080
|
||||
bool
|
||||
select E500MC
|
||||
select E6500
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_47
|
||||
select SYS_FSL_ERRATUM_A006379
|
||||
select SYS_FSL_ERRATUM_A006593
|
||||
select SYS_FSL_ERRATUM_A007186
|
||||
select SYS_FSL_ERRATUM_A007212
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS2
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
select SYS_PPC64
|
||||
|
||||
config ARCH_T2081
|
||||
bool
|
||||
select E500MC
|
||||
select E6500
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_47
|
||||
select SYS_FSL_ERRATUM_A006379
|
||||
select SYS_FSL_ERRATUM_A006593
|
||||
select SYS_FSL_ERRATUM_A007186
|
||||
select SYS_FSL_ERRATUM_A007212
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_ERRATUM_ESDHC111
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS2
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
select SYS_PPC64
|
||||
|
||||
config ARCH_T4160
|
||||
bool
|
||||
select E500MC
|
||||
select E6500
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_47
|
||||
select SYS_FSL_ERRATUM_A004468
|
||||
select SYS_FSL_ERRATUM_A005871
|
||||
select SYS_FSL_ERRATUM_A006379
|
||||
select SYS_FSL_ERRATUM_A006593
|
||||
select SYS_FSL_ERRATUM_A007186
|
||||
select SYS_FSL_ERRATUM_A007798
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS2
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
select SYS_PPC64
|
||||
|
||||
config ARCH_T4240
|
||||
bool
|
||||
select E500MC
|
||||
select E6500
|
||||
select FSL_LAW
|
||||
select SYS_FSL_DDR_VER_47
|
||||
select SYS_FSL_ERRATUM_A004468
|
||||
select SYS_FSL_ERRATUM_A005871
|
||||
select SYS_FSL_ERRATUM_A006261
|
||||
select SYS_FSL_ERRATUM_A006379
|
||||
select SYS_FSL_ERRATUM_A006593
|
||||
select SYS_FSL_ERRATUM_A007186
|
||||
select SYS_FSL_ERRATUM_A007798
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_HAS_DDR3
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_QORIQ_CHASSIS2
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
select SYS_PPC64
|
||||
|
||||
config BOOKE
|
||||
bool
|
||||
default y
|
||||
|
||||
config E500
|
||||
bool
|
||||
default y
|
||||
help
|
||||
Enable PowerPC E500 cores, including e500v1, e500v2, e500mc
|
||||
|
||||
config E500MC
|
||||
bool
|
||||
help
|
||||
Enble PowerPC E500MC core
|
||||
|
||||
config E6500
|
||||
bool
|
||||
help
|
||||
Enable PowerPC E6500 core
|
||||
|
||||
config FSL_LAW
|
||||
bool
|
||||
@@ -507,8 +954,6 @@ config MAX_CPUS
|
||||
ARCH_P1025 || \
|
||||
ARCH_P2020 || \
|
||||
ARCH_P5020 || \
|
||||
ARCH_T1020 || \
|
||||
ARCH_T1022 || \
|
||||
ARCH_T1023 || \
|
||||
ARCH_T1024
|
||||
default 1
|
||||
@@ -550,10 +995,6 @@ config SYS_CCSRBAR_DEFAULT
|
||||
ARCH_P4080 || \
|
||||
ARCH_P5020 || \
|
||||
ARCH_P5040 || \
|
||||
ARCH_T1013 || \
|
||||
ARCH_T1014 || \
|
||||
ARCH_T1020 || \
|
||||
ARCH_T1022 || \
|
||||
ARCH_T1023 || \
|
||||
ARCH_T1024 || \
|
||||
ARCH_T1040 || \
|
||||
@@ -569,6 +1010,157 @@ config SYS_CCSRBAR_DEFAULT
|
||||
if changed by pre-boot regime. The value here must match
|
||||
the current value in SoC. If not sure, do not change.
|
||||
|
||||
config SYS_FSL_ERRATUM_A004468
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A004477
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A004508
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A004580
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A004699
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A004849
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A004510
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A004510_SVR_REV
|
||||
hex
|
||||
depends on SYS_FSL_ERRATUM_A004510
|
||||
default 0x20 if ARCH_P4080
|
||||
default 0x10
|
||||
|
||||
config SYS_FSL_ERRATUM_A004510_SVR_REV2
|
||||
hex
|
||||
depends on (SYS_FSL_ERRATUM_A004510 && (ARCH_P2041 || ARCH_P3041))
|
||||
default 0x11
|
||||
|
||||
config SYS_FSL_ERRATUM_A005125
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A005434
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A005812
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A005871
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A006261
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A006379
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A006384
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A006475
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A006593
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A007075
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A007186
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A007212
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A007798
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_A008044
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_CPC_A002
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_CPC_A003
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_CPU_A003999
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_ELBC_A001
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_I2C_A004447
|
||||
bool
|
||||
|
||||
config SYS_FSL_A004447_SVR_REV
|
||||
hex
|
||||
depends on SYS_FSL_ERRATUM_I2C_A004447
|
||||
default 0x00 if ARCH_MPC8548
|
||||
default 0x10 if ARCH_P1010
|
||||
default 0x11 if ARCH_P1023 || ARCH_P2041 || ARCH_BSC9132
|
||||
default 0x20 if ARCH_P3041 || ARCH_P4080 || ARCH_P5020
|
||||
|
||||
config SYS_FSL_ERRATUM_IFC_A002769
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_IFC_A003399
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_NMG_CPU_A011
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_NMG_ETSEC129
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_NMG_LBC103
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_P1010_A003549
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_SATA_A001
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_SEC_A003571
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_SRIO_A004034
|
||||
bool
|
||||
|
||||
config SYS_FSL_ERRATUM_USB14
|
||||
bool
|
||||
|
||||
config SYS_P4080_ERRATUM_CPU22
|
||||
bool
|
||||
|
||||
config SYS_P4080_ERRATUM_PCIE_A003
|
||||
bool
|
||||
|
||||
config SYS_P4080_ERRATUM_SERDES8
|
||||
bool
|
||||
|
||||
config SYS_P4080_ERRATUM_SERDES9
|
||||
bool
|
||||
|
||||
config SYS_P4080_ERRATUM_SERDES_A001
|
||||
bool
|
||||
|
||||
config SYS_P4080_ERRATUM_SERDES_A005
|
||||
bool
|
||||
|
||||
config SYS_FSL_QORIQ_CHASSIS1
|
||||
bool
|
||||
|
||||
config SYS_FSL_QORIQ_CHASSIS2
|
||||
bool
|
||||
|
||||
config SYS_FSL_NUM_LAWS
|
||||
int "Number of local access windows"
|
||||
depends on FSL_LAW
|
||||
@@ -583,11 +1175,7 @@ config SYS_FSL_NUM_LAWS
|
||||
ARCH_T2081 || \
|
||||
ARCH_T4160 || \
|
||||
ARCH_T4240
|
||||
default 16 if ARCH_T1013 || \
|
||||
ARCH_T1014 || \
|
||||
ARCH_T1020 || \
|
||||
ARCH_T1022 || \
|
||||
ARCH_T1023 || \
|
||||
default 16 if ARCH_T1023 || \
|
||||
ARCH_T1024 || \
|
||||
ARCH_T1040 || \
|
||||
ARCH_T1042
|
||||
@@ -617,6 +1205,49 @@ config SYS_FSL_NUM_LAWS
|
||||
Number of local access windows. This is fixed per SoC.
|
||||
If not sure, do not change.
|
||||
|
||||
config SYS_FSL_THREADS_PER_CORE
|
||||
int
|
||||
default 2 if E6500
|
||||
default 1
|
||||
|
||||
config SYS_NUM_TLBCAMS
|
||||
int "Number of TLB CAM entries"
|
||||
default 64 if E500MC
|
||||
default 16
|
||||
help
|
||||
Number of TLB CAM entries for Book-E chips. 64 for E500MC,
|
||||
16 for other E500 SoCs.
|
||||
|
||||
config SYS_PPC64
|
||||
bool
|
||||
|
||||
config SYS_PPC_E500_USE_DEBUG_TLB
|
||||
bool
|
||||
|
||||
config SYS_PPC_E500_DEBUG_TLB
|
||||
int "Temporary TLB entry for external debugger"
|
||||
depends on SYS_PPC_E500_USE_DEBUG_TLB
|
||||
default 0 if ARCH_MPC8544 || ARCH_MPC8548
|
||||
default 1 if ARCH_MPC8536
|
||||
default 2 if ARCH_MPC8572 || \
|
||||
ARCH_P1011 || \
|
||||
ARCH_P1020 || \
|
||||
ARCH_P1021 || \
|
||||
ARCH_P1022 || \
|
||||
ARCH_P1024 || \
|
||||
ARCH_P1025 || \
|
||||
ARCH_P2020
|
||||
default 3 if ARCH_P1010 || \
|
||||
ARCH_BSC9132 || \
|
||||
ARCH_C29X
|
||||
help
|
||||
Select a temporary TLB entry to be used during boot to work
|
||||
around limitations in e500v1 and e500v2 external debugger
|
||||
support. This reduces the portions of the boot code where
|
||||
breakpoints and single stepping do not work. The value of this
|
||||
symbol should be set to the TLB1 entry to be used for this
|
||||
purpose. If unsure, do not change.
|
||||
|
||||
source "board/freescale/b4860qds/Kconfig"
|
||||
source "board/freescale/bsc9131rdb/Kconfig"
|
||||
source "board/freescale/bsc9132qds/Kconfig"
|
||||
|
||||
@@ -50,8 +50,6 @@ obj-$(CONFIG_ARCH_B4420) += b4860_ids.o
|
||||
obj-$(CONFIG_ARCH_B4860) += b4860_ids.o
|
||||
obj-$(CONFIG_ARCH_T1040) += t1040_ids.o
|
||||
obj-$(CONFIG_ARCH_T1042) += t1040_ids.o
|
||||
obj-$(CONFIG_PPC_T1020) += t1040_ids.o
|
||||
obj-$(CONFIG_PPC_T1022) += t1040_ids.o
|
||||
obj-$(CONFIG_ARCH_T1023) += t1024_ids.o
|
||||
obj-$(CONFIG_ARCH_T1024) += t1024_ids.o
|
||||
obj-$(CONFIG_ARCH_T2080) += t2080_ids.o
|
||||
@@ -92,8 +90,6 @@ obj-$(CONFIG_ARCH_B4860) += b4860_serdes.o
|
||||
obj-$(CONFIG_ARCH_BSC9132) += bsc9132_serdes.o
|
||||
obj-$(CONFIG_ARCH_T1040) += t1040_serdes.o
|
||||
obj-$(CONFIG_ARCH_T1042) += t1040_serdes.o
|
||||
obj-$(CONFIG_PPC_T1020) += t1040_serdes.o
|
||||
obj-$(CONFIG_PPC_T1022) += t1040_serdes.o
|
||||
obj-$(CONFIG_ARCH_T1023) += t1024_serdes.o
|
||||
obj-$(CONFIG_ARCH_T1024) += t1024_serdes.o
|
||||
obj-$(CONFIG_ARCH_T2080) += t2080_serdes.o
|
||||
|
||||
@@ -136,7 +136,7 @@ static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
#endif
|
||||
__maybe_unused u32 svr = get_svr();
|
||||
|
||||
#if defined(CONFIG_FSL_SATA_V2) && defined(CONFIG_FSL_SATA_ERRATUM_A001)
|
||||
#if defined(CONFIG_FSL_SATA_V2) && defined(CONFIG_SYS_FSL_ERRATUM_SATA_A001)
|
||||
if (IS_SVR_REV(svr, 1, 0)) {
|
||||
switch (SVR_SOC_VER(svr)) {
|
||||
case SVR_P1013:
|
||||
|
||||
@@ -482,17 +482,17 @@ static void dump_spd_ddr_reg(void)
|
||||
int i, j, k, m;
|
||||
u8 *p_8;
|
||||
u32 *p_32;
|
||||
struct ccsr_ddr __iomem *ddr[CONFIG_NUM_DDR_CONTROLLERS];
|
||||
struct ccsr_ddr __iomem *ddr[CONFIG_SYS_NUM_DDR_CTLRS];
|
||||
generic_spd_eeprom_t
|
||||
spd[CONFIG_NUM_DDR_CONTROLLERS][CONFIG_DIMM_SLOTS_PER_CTLR];
|
||||
spd[CONFIG_SYS_NUM_DDR_CTLRS][CONFIG_DIMM_SLOTS_PER_CTLR];
|
||||
|
||||
for (i = 0; i < CONFIG_NUM_DDR_CONTROLLERS; i++)
|
||||
for (i = 0; i < CONFIG_SYS_NUM_DDR_CTLRS; i++)
|
||||
fsl_ddr_get_spd(spd[i], i, CONFIG_DIMM_SLOTS_PER_CTLR);
|
||||
|
||||
puts("SPD data of all dimms (zero value is omitted)...\n");
|
||||
puts("Byte (hex) ");
|
||||
k = 1;
|
||||
for (i = 0; i < CONFIG_NUM_DDR_CONTROLLERS; i++) {
|
||||
for (i = 0; i < CONFIG_SYS_NUM_DDR_CTLRS; i++) {
|
||||
for (j = 0; j < CONFIG_DIMM_SLOTS_PER_CTLR; j++)
|
||||
printf("Dimm%d ", k++);
|
||||
}
|
||||
@@ -500,7 +500,7 @@ static void dump_spd_ddr_reg(void)
|
||||
for (k = 0; k < sizeof(generic_spd_eeprom_t); k++) {
|
||||
m = 0;
|
||||
printf("%3d (0x%02x) ", k, k);
|
||||
for (i = 0; i < CONFIG_NUM_DDR_CONTROLLERS; i++) {
|
||||
for (i = 0; i < CONFIG_SYS_NUM_DDR_CTLRS; i++) {
|
||||
for (j = 0; j < CONFIG_DIMM_SLOTS_PER_CTLR; j++) {
|
||||
p_8 = (u8 *) &spd[i][j];
|
||||
if (p_8[k]) {
|
||||
@@ -516,22 +516,22 @@ static void dump_spd_ddr_reg(void)
|
||||
puts("\r");
|
||||
}
|
||||
|
||||
for (i = 0; i < CONFIG_NUM_DDR_CONTROLLERS; i++) {
|
||||
for (i = 0; i < CONFIG_SYS_NUM_DDR_CTLRS; i++) {
|
||||
switch (i) {
|
||||
case 0:
|
||||
ddr[i] = (void *)CONFIG_SYS_FSL_DDR_ADDR;
|
||||
break;
|
||||
#if defined(CONFIG_SYS_FSL_DDR2_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 1)
|
||||
#if defined(CONFIG_SYS_FSL_DDR2_ADDR) && (CONFIG_SYS_NUM_DDR_CTLRS > 1)
|
||||
case 1:
|
||||
ddr[i] = (void *)CONFIG_SYS_FSL_DDR2_ADDR;
|
||||
break;
|
||||
#endif
|
||||
#if defined(CONFIG_SYS_FSL_DDR3_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 2)
|
||||
#if defined(CONFIG_SYS_FSL_DDR3_ADDR) && (CONFIG_SYS_NUM_DDR_CTLRS > 2)
|
||||
case 2:
|
||||
ddr[i] = (void *)CONFIG_SYS_FSL_DDR3_ADDR;
|
||||
break;
|
||||
#endif
|
||||
#if defined(CONFIG_SYS_FSL_DDR4_ADDR) && (CONFIG_NUM_DDR_CONTROLLERS > 3)
|
||||
#if defined(CONFIG_SYS_FSL_DDR4_ADDR) && (CONFIG_SYS_NUM_DDR_CTLRS > 3)
|
||||
case 3:
|
||||
ddr[i] = (void *)CONFIG_SYS_FSL_DDR4_ADDR;
|
||||
break;
|
||||
@@ -545,13 +545,13 @@ static void dump_spd_ddr_reg(void)
|
||||
printf("DDR registers dump for all controllers "
|
||||
"(zero value is omitted)...\n");
|
||||
puts("Offset (hex) ");
|
||||
for (i = 0; i < CONFIG_NUM_DDR_CONTROLLERS; i++)
|
||||
for (i = 0; i < CONFIG_SYS_NUM_DDR_CTLRS; i++)
|
||||
printf(" Base + 0x%04x", (u32)ddr[i] & 0xFFFF);
|
||||
puts("\n");
|
||||
for (k = 0; k < sizeof(struct ccsr_ddr)/4; k++) {
|
||||
m = 0;
|
||||
printf("%6d (0x%04x)", k * 4, k * 4);
|
||||
for (i = 0; i < CONFIG_NUM_DDR_CONTROLLERS; i++) {
|
||||
for (i = 0; i < CONFIG_SYS_NUM_DDR_CTLRS; i++) {
|
||||
p_32 = (u32 *) ddr[i];
|
||||
if (p_32[k]) {
|
||||
printf(" 0x%08x", p_32[k]);
|
||||
|
||||
@@ -378,10 +378,10 @@ void fsl_erratum_a007212_workaround(void)
|
||||
u32 __iomem *plldgdcr1 = (void *)(CONFIG_SYS_DCSRBAR + 0x21c20);
|
||||
u32 __iomem *plldadcr1 = (void *)(CONFIG_SYS_DCSRBAR + 0x21c28);
|
||||
u32 __iomem *dpdovrcr4 = (void *)(CONFIG_SYS_DCSRBAR + 0x21e80);
|
||||
#if (CONFIG_NUM_DDR_CONTROLLERS >= 2)
|
||||
#if (CONFIG_SYS_NUM_DDR_CTLRS >= 2)
|
||||
u32 __iomem *plldgdcr2 = (void *)(CONFIG_SYS_DCSRBAR + 0x21c40);
|
||||
u32 __iomem *plldadcr2 = (void *)(CONFIG_SYS_DCSRBAR + 0x21c48);
|
||||
#if (CONFIG_NUM_DDR_CONTROLLERS >= 3)
|
||||
#if (CONFIG_SYS_NUM_DDR_CTLRS >= 3)
|
||||
u32 __iomem *plldgdcr3 = (void *)(CONFIG_SYS_DCSRBAR + 0x21c60);
|
||||
u32 __iomem *plldadcr3 = (void *)(CONFIG_SYS_DCSRBAR + 0x21c68);
|
||||
#endif
|
||||
@@ -409,25 +409,25 @@ void fsl_erratum_a007212_workaround(void)
|
||||
ddr_pll_ratio >>= 1;
|
||||
|
||||
setbits_be32(plldadcr1, 0x02000001);
|
||||
#if (CONFIG_NUM_DDR_CONTROLLERS >= 2)
|
||||
#if (CONFIG_SYS_NUM_DDR_CTLRS >= 2)
|
||||
setbits_be32(plldadcr2, 0x02000001);
|
||||
#if (CONFIG_NUM_DDR_CONTROLLERS >= 3)
|
||||
#if (CONFIG_SYS_NUM_DDR_CTLRS >= 3)
|
||||
setbits_be32(plldadcr3, 0x02000001);
|
||||
#endif
|
||||
#endif
|
||||
setbits_be32(dpdovrcr4, 0xe0000000);
|
||||
out_be32(plldgdcr1, 0x08000001 | (ddr_pll_ratio << 1));
|
||||
#if (CONFIG_NUM_DDR_CONTROLLERS >= 2)
|
||||
#if (CONFIG_SYS_NUM_DDR_CTLRS >= 2)
|
||||
out_be32(plldgdcr2, 0x08000001 | (ddr_pll_ratio << 1));
|
||||
#if (CONFIG_NUM_DDR_CONTROLLERS >= 3)
|
||||
#if (CONFIG_SYS_NUM_DDR_CTLRS >= 3)
|
||||
out_be32(plldgdcr3, 0x08000001 | (ddr_pll_ratio << 1));
|
||||
#endif
|
||||
#endif
|
||||
udelay(100);
|
||||
clrbits_be32(plldadcr1, 0x02000001);
|
||||
#if (CONFIG_NUM_DDR_CONTROLLERS >= 2)
|
||||
#if (CONFIG_SYS_NUM_DDR_CTLRS >= 2)
|
||||
clrbits_be32(plldadcr2, 0x02000001);
|
||||
#if (CONFIG_NUM_DDR_CONTROLLERS >= 3)
|
||||
#if (CONFIG_SYS_NUM_DDR_CTLRS >= 3)
|
||||
clrbits_be32(plldadcr3, 0x02000001);
|
||||
#endif
|
||||
#endif
|
||||
@@ -975,7 +975,7 @@ int cpu_init_r(void)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FSL_SATA_V2) && defined(CONFIG_FSL_SATA_ERRATUM_A001)
|
||||
#if defined(CONFIG_FSL_SATA_V2) && defined(CONFIG_SYS_FSL_ERRATUM_SATA_A001)
|
||||
/*
|
||||
* For P1022/1013 Rev1.0 silicon, after power on SATA host
|
||||
* controller is configured in legacy mode instead of the
|
||||
|
||||
@@ -180,6 +180,39 @@ static inline void ft_fixup_l3cache(void *blob, int off)
|
||||
#define ft_fixup_l3cache(x, y)
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_L2_CACHE) || \
|
||||
defined(CONFIG_BACKSIDE_L2_CACHE) || \
|
||||
defined(CONFIG_SYS_FSL_QORIQ_CHASSIS2)
|
||||
static inline void ft_fixup_l2cache_compatible(void *blob, int off)
|
||||
{
|
||||
int len;
|
||||
struct cpu_type *cpu = identify_cpu(SVR_SOC_VER(get_svr()));
|
||||
|
||||
if (cpu) {
|
||||
char buf[40];
|
||||
|
||||
if (isdigit(cpu->name[0])) {
|
||||
/* MPCxxxx, where xxxx == 4-digit number */
|
||||
len = sprintf(buf, "fsl,mpc%s-l2-cache-controller",
|
||||
cpu->name) + 1;
|
||||
} else {
|
||||
/* Pxxxx or Txxxx, where xxxx == 4-digit number */
|
||||
len = sprintf(buf, "fsl,%c%s-l2-cache-controller",
|
||||
tolower(cpu->name[0]), cpu->name + 1) + 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* append "cache" after the NULL character that the previous
|
||||
* sprintf wrote. This is how a device tree stores multiple
|
||||
* strings in a property.
|
||||
*/
|
||||
len += sprintf(buf + len, "cache") + 1;
|
||||
|
||||
fdt_setprop(blob, off, "compatible", buf, len);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_L2_CACHE)
|
||||
/* return size in kilobytes */
|
||||
static inline u32 l2cache_size(void)
|
||||
@@ -215,9 +248,8 @@ static inline u32 l2cache_size(void)
|
||||
|
||||
static inline void ft_fixup_l2cache(void *blob)
|
||||
{
|
||||
int len, off;
|
||||
int off;
|
||||
u32 *ph;
|
||||
struct cpu_type *cpu = identify_cpu(SVR_SOC_VER(get_svr()));
|
||||
|
||||
const u32 line_size = 32;
|
||||
const u32 num_ways = 8;
|
||||
@@ -243,28 +275,7 @@ static inline void ft_fixup_l2cache(void *blob)
|
||||
return ;
|
||||
}
|
||||
|
||||
if (cpu) {
|
||||
char buf[40];
|
||||
|
||||
if (isdigit(cpu->name[0])) {
|
||||
/* MPCxxxx, where xxxx == 4-digit number */
|
||||
len = sprintf(buf, "fsl,mpc%s-l2-cache-controller",
|
||||
cpu->name) + 1;
|
||||
} else {
|
||||
/* Pxxxx or Txxxx, where xxxx == 4-digit number */
|
||||
len = sprintf(buf, "fsl,%c%s-l2-cache-controller",
|
||||
tolower(cpu->name[0]), cpu->name + 1) + 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* append "cache" after the NULL character that the previous
|
||||
* sprintf wrote. This is how a device tree stores multiple
|
||||
* strings in a property.
|
||||
*/
|
||||
len += sprintf(buf + len, "cache") + 1;
|
||||
|
||||
fdt_setprop(blob, off, "compatible", buf, len);
|
||||
}
|
||||
ft_fixup_l2cache_compatible(blob, off);
|
||||
fdt_setprop(blob, off, "cache-unified", NULL, 0);
|
||||
fdt_setprop_cell(blob, off, "cache-block-size", line_size);
|
||||
fdt_setprop_cell(blob, off, "cache-size", size);
|
||||
@@ -337,7 +348,7 @@ static inline void ft_fixup_l2cache(void *blob)
|
||||
fdt_setprop_cell(blob, l2_off, "cache-size", size);
|
||||
fdt_setprop_cell(blob, l2_off, "cache-sets", num_sets);
|
||||
fdt_setprop_cell(blob, l2_off, "cache-level", 2);
|
||||
fdt_setprop(blob, l2_off, "compatible", "cache", 6);
|
||||
ft_fixup_l2cache_compatible(blob, l2_off);
|
||||
}
|
||||
|
||||
if (l3_off < 0) {
|
||||
|
||||
@@ -29,10 +29,14 @@ endchoice
|
||||
config ARCH_MPC8610
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_HAS_DDR1
|
||||
select SYS_FSL_HAS_DDR2
|
||||
|
||||
config ARCH_MPC8641
|
||||
bool
|
||||
select FSL_LAW
|
||||
select SYS_FSL_HAS_DDR1
|
||||
select SYS_FSL_HAS_DDR2
|
||||
|
||||
config FSL_LAW
|
||||
bool
|
||||
|
||||
@@ -9,16 +9,13 @@
|
||||
|
||||
#ifdef CONFIG_MPC85xx
|
||||
#include <asm/config_mpc85xx.h>
|
||||
#define CONFIG_SYS_FSL_DDR
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MPC86xx
|
||||
#include <asm/config_mpc86xx.h>
|
||||
#define CONFIG_SYS_FSL_DDR
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MPC83xx
|
||||
#define CONFIG_SYS_FSL_DDR
|
||||
#endif
|
||||
|
||||
#ifndef HWCONFIG_BUFFER_SIZE
|
||||
@@ -67,14 +64,6 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* SEC (crypto unit) major compatible version determination
|
||||
*/
|
||||
#if defined(CONFIG_MPC83xx)
|
||||
#define CONFIG_SYS_FSL_SEC_BE
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
#endif
|
||||
|
||||
/* Since so many PPC SOCs have a semi-common LBC, define this here */
|
||||
#if defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx) || \
|
||||
defined(CONFIG_MPC83xx)
|
||||
|
||||
@@ -16,66 +16,20 @@
|
||||
#define CONFIG_PPC_SPINTABLE_COMPATIBLE
|
||||
|
||||
#include <fsl_ddrc_version.h>
|
||||
#define CONFIG_SYS_FSL_DDR_BE
|
||||
|
||||
/* IP endianness */
|
||||
#define CONFIG_SYS_FSL_IFC_BE
|
||||
#define CONFIG_SYS_FSL_SEC_BE
|
||||
#define CONFIG_SYS_FSL_SFP_BE
|
||||
#define CONFIG_SYS_FSL_SEC_MON_BE
|
||||
|
||||
/* Number of TLB CAM entries we have on FSL Book-E chips */
|
||||
#if defined(CONFIG_E500MC)
|
||||
#define CONFIG_SYS_NUM_TLBCAMS 64
|
||||
#elif defined(CONFIG_E500)
|
||||
#define CONFIG_SYS_NUM_TLBCAMS 16
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_ARCH_MPC8536)
|
||||
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 1
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004508
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
|
||||
#elif defined(CONFIG_ARCH_MPC8540)
|
||||
#define CONFIG_SYS_FSL_DDRC_GEN1
|
||||
|
||||
#elif defined(CONFIG_ARCH_MPC8541)
|
||||
#define CONFIG_SYS_FSL_DDRC_GEN1
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
|
||||
#elif defined(CONFIG_ARCH_MPC8544)
|
||||
#define CONFIG_SYS_FSL_DDRC_GEN2
|
||||
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 0
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
|
||||
#elif defined(CONFIG_ARCH_MPC8548)
|
||||
#define CONFIG_SYS_FSL_DDRC_GEN2
|
||||
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 0
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_NMG_DDR120
|
||||
#define CONFIG_SYS_FSL_ERRATUM_NMG_LBC103
|
||||
#define CONFIG_SYS_FSL_ERRATUM_NMG_ETSEC129
|
||||
#if defined(CONFIG_ARCH_MPC8548)
|
||||
#define CONFIG_SYS_FSL_SRIO_MAX_PORTS 1
|
||||
#define CONFIG_SYS_FSL_SRIO_OB_WIN_NUM 9
|
||||
#define CONFIG_SYS_FSL_SRIO_IB_WIN_NUM 5
|
||||
#define CONFIG_SYS_FSL_RMU
|
||||
#define CONFIG_SYS_FSL_SRIO_MSG_UNIT_NUM 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447
|
||||
#define CONFIG_SYS_FSL_A004447_SVR_REV 0x00
|
||||
|
||||
#elif defined(CONFIG_ARCH_MPC8555)
|
||||
#define CONFIG_SYS_FSL_DDRC_GEN1
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
|
||||
#elif defined(CONFIG_ARCH_MPC8560)
|
||||
#define CONFIG_SYS_FSL_DDRC_GEN1
|
||||
|
||||
#elif defined(CONFIG_ARCH_MPC8568)
|
||||
#define CONFIG_SYS_FSL_DDRC_GEN2
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
#define QE_MURAM_SIZE 0x10000UL
|
||||
#define MAX_QE_RISC 2
|
||||
#define QE_NUM_OF_SNUM 28
|
||||
@@ -86,7 +40,6 @@
|
||||
#define CONFIG_SYS_FSL_SRIO_MSG_UNIT_NUM 2
|
||||
|
||||
#elif defined(CONFIG_ARCH_MPC8569)
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
#define QE_MURAM_SIZE 0x20000UL
|
||||
#define MAX_QE_RISC 4
|
||||
#define QE_NUM_OF_SNUM 46
|
||||
@@ -95,159 +48,80 @@
|
||||
#define CONFIG_SYS_FSL_SRIO_IB_WIN_NUM 5
|
||||
#define CONFIG_SYS_FSL_RMU
|
||||
#define CONFIG_SYS_FSL_SRIO_MSG_UNIT_NUM 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004508
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
|
||||
#elif defined(CONFIG_ARCH_MPC8572)
|
||||
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 2
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_DDR_115
|
||||
#define CONFIG_SYS_FSL_ERRATUM_DDR111_DDR134
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004508
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
|
||||
#elif defined(CONFIG_ARCH_P1010)
|
||||
#define CONFIG_FSL_SDHC_V2_3
|
||||
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 3
|
||||
#define CONFIG_TSECV2
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 4
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 1
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
||||
#define CONFIG_SYS_FSL_IFC_BANK_COUNT 4
|
||||
#define CONFIG_SYS_FSL_PCIE_COMPAT "fsl,qoriq-pcie-v2.2"
|
||||
#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
|
||||
#define CONFIG_SYS_FSL_ERRATUM_IFC_A002769
|
||||
#define CONFIG_SYS_FSL_ERRATUM_P1010_A003549
|
||||
#define CONFIG_SYS_FSL_ERRATUM_SEC_A003571
|
||||
#define CONFIG_SYS_FSL_ERRATUM_IFC_A003399
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004508
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A007075
|
||||
#define CONFIG_SYS_FSL_USB1_PHY_ENABLE
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A006261
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004477
|
||||
#define CONFIG_SYS_FSL_A004447_SVR_REV 0x10
|
||||
#define CONFIG_ESDHC_HC_BLK_ADDR
|
||||
|
||||
/* P1011 is single core version of P1020 */
|
||||
#elif defined(CONFIG_ARCH_P1011)
|
||||
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 2
|
||||
#define CONFIG_TSECV2
|
||||
#define CONFIG_FSL_PCIE_DISABLE_ASPM
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ELBC_A001
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004508
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
|
||||
#elif defined(CONFIG_ARCH_P1020)
|
||||
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 2
|
||||
#define CONFIG_TSECV2
|
||||
#define CONFIG_FSL_PCIE_DISABLE_ASPM
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ELBC_A001
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004508
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
#ifndef CONFIG_USB_MAX_CONTROLLER_COUNT
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||
#endif
|
||||
|
||||
#elif defined(CONFIG_ARCH_P1021)
|
||||
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 2
|
||||
#define CONFIG_TSECV2
|
||||
#define CONFIG_FSL_PCIE_DISABLE_ASPM
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ELBC_A001
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define QE_MURAM_SIZE 0x6000UL
|
||||
#define MAX_QE_RISC 1
|
||||
#define QE_NUM_OF_SNUM 28
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004508
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
||||
|
||||
#elif defined(CONFIG_ARCH_P1022)
|
||||
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 2
|
||||
#define CONFIG_TSECV2
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ELBC_A001
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_FSL_SATA_ERRATUM_A001
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004508
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004477
|
||||
|
||||
#elif defined(CONFIG_ARCH_P1023)
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 4
|
||||
#define CONFIG_SYS_NUM_FMAN 1
|
||||
#define CONFIG_SYS_NUM_FM1_DTSEC 2
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 1
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
||||
#define CONFIG_SYS_QMAN_NUM_PORTALS 3
|
||||
#define CONFIG_SYS_BMAN_NUM_PORTALS 3
|
||||
#define CONFIG_SYS_FM_MURAM_SIZE 0x10000
|
||||
#define CONFIG_SYS_FSL_PCIE_COMPAT "fsl,qoriq-pcie-v2.2"
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004508
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447
|
||||
#define CONFIG_SYS_FSL_A004447_SVR_REV 0x11
|
||||
|
||||
/* P1024 is lower end variant of P1020 */
|
||||
#elif defined(CONFIG_ARCH_P1024)
|
||||
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 2
|
||||
#define CONFIG_TSECV2
|
||||
#define CONFIG_FSL_PCIE_DISABLE_ASPM
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ELBC_A001
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004508
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
|
||||
/* P1025 is lower end variant of P1021 */
|
||||
#elif defined(CONFIG_ARCH_P1025)
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
||||
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 2
|
||||
#define CONFIG_TSECV2
|
||||
#define CONFIG_FSL_PCIE_DISABLE_ASPM
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ELBC_A001
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define QE_MURAM_SIZE 0x6000UL
|
||||
#define MAX_QE_RISC 1
|
||||
#define QE_NUM_OF_SNUM 28
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004508
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
|
||||
#elif defined(CONFIG_ARCH_P2020)
|
||||
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 2
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC_A001
|
||||
#define CONFIG_SYS_FSL_SRIO_MAX_PORTS 2
|
||||
#define CONFIG_SYS_FSL_SRIO_OB_WIN_NUM 9
|
||||
#define CONFIG_SYS_FSL_SRIO_IB_WIN_NUM 5
|
||||
#define CONFIG_SYS_FSL_RMU
|
||||
#define CONFIG_SYS_FSL_SRIO_MSG_UNIT_NUM 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004508
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004477
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
||||
|
||||
#elif defined(CONFIG_ARCH_P2041) /* also supports P2040 */
|
||||
#define CONFIG_SYS_FSL_QORIQ_CHASSIS1
|
||||
#define CONFIG_FSL_CORENET /* Freescale CoreNet platform */
|
||||
#define CONFIG_SYS_FSL_NUM_CC_PLLS 2
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 4
|
||||
#define CONFIG_SYS_NUM_FMAN 1
|
||||
#define CONFIG_SYS_NUM_FM1_DTSEC 5
|
||||
#define CONFIG_SYS_NUM_FM1_10GEC 1
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 1
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||
#define CONFIG_SYS_FM_MURAM_SIZE 0x28000
|
||||
#define CONFIG_SYS_FSL_TBCLK_DIV 32
|
||||
@@ -255,35 +129,17 @@
|
||||
#define CONFIG_SYS_FSL_USB1_PHY_ENABLE
|
||||
#define CONFIG_SYS_FSL_USB2_PHY_ENABLE
|
||||
#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_SYS_FSL_ERRATUM_NMG_CPU_A011
|
||||
#define CONFIG_SYS_FSL_ERRATUM_USB14
|
||||
#define CONFIG_SYS_FSL_ERRATUM_CPU_A003999
|
||||
#define CONFIG_SYS_FSL_ERRATUM_DDR_A003
|
||||
#define CONFIG_SYS_FSL_ERRATUM_DDR_A003474
|
||||
#define CONFIG_SYS_FSL_SRIO_MAX_PORTS 2
|
||||
#define CONFIG_SYS_FSL_SRIO_OB_WIN_NUM 9
|
||||
#define CONFIG_SYS_FSL_SRIO_IB_WIN_NUM 5
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004510
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV 0x10
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV2 0x11
|
||||
#define CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY 0xf0000000
|
||||
#define CONFIG_SYS_FSL_ERRATUM_SRIO_A004034
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004849
|
||||
#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A006261
|
||||
#define CONFIG_SYS_FSL_A004447_SVR_REV 0x11
|
||||
|
||||
#elif defined(CONFIG_ARCH_P3041)
|
||||
#define CONFIG_SYS_FSL_QORIQ_CHASSIS1
|
||||
#define CONFIG_FSL_CORENET /* Freescale CoreNet platform */
|
||||
#define CONFIG_SYS_FSL_NUM_CC_PLLS 2
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 4
|
||||
#define CONFIG_SYS_NUM_FMAN 1
|
||||
#define CONFIG_SYS_NUM_FM1_DTSEC 5
|
||||
#define CONFIG_SYS_NUM_FM1_10GEC 1
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 1
|
||||
#define CONFIG_SYS_FSL_DDR_VER FSL_DDR_VER_4_5
|
||||
#define CONFIG_SYS_FM_MURAM_SIZE 0x28000
|
||||
#define CONFIG_SYS_FSL_TBCLK_DIV 32
|
||||
#define CONFIG_SYS_FSL_PCIE_COMPAT "fsl,qoriq-pcie-v2.2"
|
||||
@@ -291,85 +147,36 @@
|
||||
#define CONFIG_SYS_FSL_USB2_PHY_ENABLE
|
||||
#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_SYS_FSL_ERRATUM_NMG_CPU_A011
|
||||
#define CONFIG_SYS_FSL_ERRATUM_USB14
|
||||
#define CONFIG_SYS_FSL_ERRATUM_CPU_A003999
|
||||
#define CONFIG_SYS_FSL_ERRATUM_DDR_A003
|
||||
#define CONFIG_SYS_FSL_ERRATUM_DDR_A003474
|
||||
#define CONFIG_SYS_FSL_SRIO_MAX_PORTS 2
|
||||
#define CONFIG_SYS_FSL_SRIO_OB_WIN_NUM 9
|
||||
#define CONFIG_SYS_FSL_SRIO_IB_WIN_NUM 5
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004510
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV 0x10
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV2 0x11
|
||||
#define CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY 0xf0000000
|
||||
#define CONFIG_SYS_FSL_ERRATUM_SRIO_A004034
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004849
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005812
|
||||
#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A006261
|
||||
#define CONFIG_SYS_FSL_A004447_SVR_REV 0x20
|
||||
|
||||
#elif defined(CONFIG_ARCH_P4080) /* also supports P4040 */
|
||||
#define CONFIG_SYS_FSL_QORIQ_CHASSIS1
|
||||
#define CONFIG_FSL_CORENET /* Freescale CoreNet platform */
|
||||
#define CONFIG_SYS_FSL_NUM_CC_PLLS 4
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 4
|
||||
#define CONFIG_SYS_NUM_FMAN 2
|
||||
#define CONFIG_SYS_NUM_FM1_DTSEC 4
|
||||
#define CONFIG_SYS_NUM_FM2_DTSEC 4
|
||||
#define CONFIG_SYS_NUM_FM1_10GEC 1
|
||||
#define CONFIG_SYS_NUM_FM2_10GEC 1
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 2
|
||||
#define CONFIG_SYS_FSL_DDR_VER FSL_DDR_VER_4_4
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||
#define CONFIG_SYS_FM_MURAM_SIZE 0x28000
|
||||
#define CONFIG_SYS_FSL_TBCLK_DIV 16
|
||||
#define CONFIG_SYS_FSL_PCIE_COMPAT "fsl,p4080-pcie"
|
||||
#define CONFIG_SYS_FSL_ERRATUM_CPC_A002
|
||||
#define CONFIG_SYS_FSL_ERRATUM_CPC_A003
|
||||
#define CONFIG_SYS_FSL_ERRATUM_DDR_A003
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ELBC_A001
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC135
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC13
|
||||
#define CONFIG_SYS_P4080_ERRATUM_CPU22
|
||||
#define CONFIG_SYS_FSL_ERRATUM_NMG_CPU_A011
|
||||
#define CONFIG_SYS_P4080_ERRATUM_SERDES8
|
||||
#define CONFIG_SYS_P4080_ERRATUM_SERDES9
|
||||
#define CONFIG_SYS_P4080_ERRATUM_SERDES_A001
|
||||
#define CONFIG_SYS_P4080_ERRATUM_SERDES_A005
|
||||
#define CONFIG_SYS_FSL_ERRATUM_CPU_A003999
|
||||
#define CONFIG_SYS_FSL_ERRATUM_DDR_A003474
|
||||
#define CONFIG_SYS_FSL_SRIO_MAX_PORTS 2
|
||||
#define CONFIG_SYS_FSL_SRIO_OB_WIN_NUM 9
|
||||
#define CONFIG_SYS_FSL_SRIO_IB_WIN_NUM 5
|
||||
#define CONFIG_SYS_FSL_RMU
|
||||
#define CONFIG_SYS_FSL_SRIO_MSG_UNIT_NUM 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004510
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV 0x20
|
||||
#define CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY 0xff000000
|
||||
#define CONFIG_SYS_FSL_ERRATUM_SRIO_A004034
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004849
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004580
|
||||
#define CONFIG_SYS_P4080_ERRATUM_PCIE_A003
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005812
|
||||
#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A007075
|
||||
#define CONFIG_SYS_FSL_A004447_SVR_REV 0x20
|
||||
|
||||
#elif defined(CONFIG_ARCH_P5020) /* also supports P5010 */
|
||||
#define CONFIG_SYS_PPC64 /* 64-bit core */
|
||||
#define CONFIG_SYS_FSL_QORIQ_CHASSIS1
|
||||
#define CONFIG_FSL_CORENET /* Freescale CoreNet platform */
|
||||
#define CONFIG_SYS_FSL_NUM_CC_PLLS 2
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 4
|
||||
#define CONFIG_SYS_NUM_FMAN 1
|
||||
#define CONFIG_SYS_NUM_FM1_DTSEC 5
|
||||
#define CONFIG_SYS_NUM_FM1_10GEC 1
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 2
|
||||
#define CONFIG_SYS_FSL_DDR_VER FSL_DDR_VER_4_4
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||
#define CONFIG_SYS_FM_MURAM_SIZE 0x28000
|
||||
#define CONFIG_SYS_FSL_TBCLK_DIV 32
|
||||
@@ -377,34 +184,19 @@
|
||||
#define CONFIG_SYS_FSL_USB1_PHY_ENABLE
|
||||
#define CONFIG_SYS_FSL_USB2_PHY_ENABLE
|
||||
#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_SYS_FSL_ERRATUM_USB14
|
||||
#define CONFIG_SYS_FSL_ERRATUM_DDR_A003
|
||||
#define CONFIG_SYS_FSL_ERRATUM_DDR_A003474
|
||||
#define CONFIG_SYS_FSL_SRIO_MAX_PORTS 2
|
||||
#define CONFIG_SYS_FSL_SRIO_OB_WIN_NUM 9
|
||||
#define CONFIG_SYS_FSL_SRIO_IB_WIN_NUM 5
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004510
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV 0x10
|
||||
#define CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY 0xc0000000
|
||||
#define CONFIG_SYS_FSL_ERRATUM_SRIO_A004034
|
||||
#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A006261
|
||||
#define CONFIG_SYS_FSL_A004447_SVR_REV 0x20
|
||||
|
||||
#elif defined(CONFIG_ARCH_P5040)
|
||||
#define CONFIG_SYS_PPC64
|
||||
#define CONFIG_SYS_FSL_QORIQ_CHASSIS1
|
||||
#define CONFIG_FSL_CORENET /* Freescale CoreNet platform */
|
||||
#define CONFIG_SYS_FSL_NUM_CC_PLLS 3
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 4
|
||||
#define CONFIG_SYS_NUM_FMAN 2
|
||||
#define CONFIG_SYS_NUM_FM1_DTSEC 5
|
||||
#define CONFIG_SYS_NUM_FM1_10GEC 1
|
||||
#define CONFIG_SYS_NUM_FM2_DTSEC 5
|
||||
#define CONFIG_SYS_NUM_FM2_10GEC 1
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 2
|
||||
#define CONFIG_SYS_FSL_DDR_VER FSL_DDR_VER_4_4
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||
#define CONFIG_SYS_FM_MURAM_SIZE 0x28000
|
||||
#define CONFIG_SYS_FSL_TBCLK_DIV 16
|
||||
@@ -412,40 +204,21 @@
|
||||
#define CONFIG_SYS_FSL_USB1_PHY_ENABLE
|
||||
#define CONFIG_SYS_FSL_USB2_PHY_ENABLE
|
||||
#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_SYS_FSL_ERRATUM_USB14
|
||||
#define CONFIG_SYS_FSL_ERRATUM_DDR_A003
|
||||
#define CONFIG_SYS_FSL_ERRATUM_DDR_A003474
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004699
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004510
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV 0x10
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A006261
|
||||
#define CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY 0xf0000000
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005812
|
||||
|
||||
#elif defined(CONFIG_ARCH_BSC9131)
|
||||
#define CONFIG_FSL_SDHC_V2_3
|
||||
#define CONFIG_TSECV2
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 4
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 1
|
||||
#define CONFIG_SYS_FSL_DDR_VER FSL_DDR_VER_4_4
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
||||
#define CONFIG_SYS_FSL_DSP_M2_RAM_ADDR 0xb0000000
|
||||
#define CONFIG_SYS_FSL_DSP_CCSRBAR_DEFAULT 0xff600000
|
||||
#define CONFIG_SYS_FSL_IFC_BANK_COUNT 3
|
||||
#define CONFIG_NAND_FSL_IFC
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004477
|
||||
#define CONFIG_ESDHC_HC_BLK_ADDR
|
||||
|
||||
#elif defined(CONFIG_ARCH_BSC9132)
|
||||
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 3
|
||||
#define CONFIG_FSL_SDHC_V2_3
|
||||
#define CONFIG_TSECV2
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 4
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 2
|
||||
#define CONFIG_SYS_FSL_DDR_VER FSL_DDR_VER_4_6
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
||||
#define CONFIG_SYS_FSL_DSP_DDR_ADDR 0x40000000
|
||||
#define CONFIG_SYS_FSL_DSP_M2_RAM_ADDR 0xb0000000
|
||||
@@ -453,21 +226,12 @@
|
||||
#define CONFIG_SYS_FSL_DSP_CCSRBAR_DEFAULT 0xff600000
|
||||
#define CONFIG_SYS_FSL_IFC_BANK_COUNT 3
|
||||
#define CONFIG_NAND_FSL_IFC
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_SYS_FSL_ESDHC_P1010_BROKEN_SDCLK
|
||||
#define CONFIG_SYS_FSL_PCIE_COMPAT "fsl,qoriq-pcie-v2.2"
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005434
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004477
|
||||
#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447
|
||||
#define CONFIG_SYS_FSL_A004447_SVR_REV 0x11
|
||||
#define CONFIG_ESDHC_HC_BLK_ADDR
|
||||
|
||||
#elif defined(CONFIG_ARCH_T4240) || defined(CONFIG_ARCH_T4160)
|
||||
#define CONFIG_E6500
|
||||
#define CONFIG_SYS_PPC64 /* 64-bit core */
|
||||
#define CONFIG_FSL_CORENET /* Freescale CoreNet platform */
|
||||
#define CONFIG_SYS_FSL_QORIQ_CHASSIS2 /* Freescale Chassis generation 2 */
|
||||
#define CONFIG_SYS_FSL_CORES_PER_CLUSTER 4
|
||||
#define CONFIG_SYS_FSL_QMAN_V3 /* QMAN version 3 */
|
||||
#ifdef CONFIG_ARCH_T4240
|
||||
@@ -476,14 +240,11 @@
|
||||
#define CONFIG_SYS_NUM_FM1_10GEC 2
|
||||
#define CONFIG_SYS_NUM_FM2_DTSEC 8
|
||||
#define CONFIG_SYS_NUM_FM2_10GEC 2
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 3
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A006261
|
||||
#else
|
||||
#define CONFIG_SYS_NUM_FM1_DTSEC 6
|
||||
#define CONFIG_SYS_NUM_FM1_10GEC 1
|
||||
#define CONFIG_SYS_NUM_FM2_DTSEC 8
|
||||
#define CONFIG_SYS_NUM_FM2_10GEC 1
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 2
|
||||
#if defined(CONFIG_ARCH_T4160)
|
||||
#define CONFIG_SYS_FSL_CLUSTER_CLOCKS { 1, 1 }
|
||||
#endif
|
||||
@@ -493,11 +254,9 @@
|
||||
#define CONFIG_SYS_FSL_SRDS_2
|
||||
#define CONFIG_SYS_FSL_SRDS_3
|
||||
#define CONFIG_SYS_FSL_SRDS_4
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 4
|
||||
#define CONFIG_SYS_NUM_FMAN 2
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||
#define CONFIG_SYS_PME_CLK 0
|
||||
#define CONFIG_SYS_FSL_DDR_VER FSL_DDR_VER_4_7
|
||||
#define CONFIG_SYS_FSL_IFC_BANK_COUNT 8
|
||||
#define CONFIG_SYS_FMAN_V3
|
||||
#define CONFIG_SYS_FM1_CLK 3
|
||||
@@ -511,21 +270,11 @@
|
||||
#define CONFIG_SYS_FSL_SRIO_LIODN
|
||||
#define CONFIG_SYS_FSL_USB_DUAL_PHY_ENABLE
|
||||
#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004468
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005871
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A006379
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A007186
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A006593
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A007798
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009942
|
||||
#define CONFIG_SYS_FSL_SFP_VER_3_0
|
||||
#define CONFIG_SYS_FSL_PCI_VER_3_X
|
||||
|
||||
#elif defined(CONFIG_ARCH_B4860) || defined(CONFIG_ARCH_B4420)
|
||||
#define CONFIG_E6500
|
||||
#define CONFIG_SYS_PPC64 /* 64-bit core */
|
||||
#define CONFIG_FSL_CORENET /* Freescale CoreNet platform */
|
||||
#define CONFIG_SYS_FSL_QORIQ_CHASSIS2 /* Freescale Chassis generation 2 */
|
||||
#define CONFIG_SYS_FSL_QMAN_V3 /* QMAN version 3 */
|
||||
#define CONFIG_HETROGENOUS_CLUSTERS /* DSP/SC3900 core clusters */
|
||||
#define CONFIG_PPC_CLUSTER_START 0 /*Start index of ppc clusters*/
|
||||
@@ -535,30 +284,18 @@
|
||||
#define CONFIG_SYS_MAPLE
|
||||
#define CONFIG_SYS_CPRI
|
||||
#define CONFIG_SYS_FSL_NUM_CC_PLLS 5
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 4
|
||||
#define CONFIG_SYS_NUM_FMAN 1
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
||||
#define CONFIG_SYS_FM1_CLK 0
|
||||
#define CONFIG_SYS_CPRI_CLK 3
|
||||
#define CONFIG_SYS_ULB_CLK 4
|
||||
#define CONFIG_SYS_ETVPE_CLK 1
|
||||
#define CONFIG_SYS_FSL_DDR_VER FSL_DDR_VER_4_7
|
||||
#define CONFIG_SYS_FSL_IFC_BANK_COUNT 4
|
||||
#define CONFIG_SYS_FMAN_V3
|
||||
#define CONFIG_SYS_FM_MURAM_SIZE 0x60000
|
||||
#define CONFIG_SYS_FSL_TBCLK_DIV 16
|
||||
#define CONFIG_SYS_FSL_PCIE_COMPAT "fsl,qoriq-pcie-v2.4"
|
||||
#define CONFIG_SYS_FSL_USB1_PHY_ENABLE
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005871
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A006379
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A007186
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A006593
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A007075
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A006475
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A006384
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A007212
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A004477
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009942
|
||||
#define CONFIG_SYS_FSL_SFP_VER_3_0
|
||||
|
||||
#ifdef CONFIG_ARCH_B4860
|
||||
@@ -569,7 +306,6 @@
|
||||
#define CONFIG_SYS_FSL_CLUSTER_CLOCKS { 1, 4, 4, 4 }
|
||||
#define CONFIG_SYS_NUM_FM1_DTSEC 6
|
||||
#define CONFIG_SYS_NUM_FM1_10GEC 2
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 2
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
||||
#define CONFIG_SYS_FSL_SRIO_MAX_PORTS 2
|
||||
#define CONFIG_SYS_FSL_SRIO_OB_WIN_NUM 9
|
||||
@@ -582,32 +318,22 @@
|
||||
#define CONFIG_SYS_FSL_CLUSTER_CLOCKS { 1, 4 }
|
||||
#define CONFIG_SYS_NUM_FM1_DTSEC 4
|
||||
#define CONFIG_SYS_NUM_FM1_10GEC 0
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 1
|
||||
#endif
|
||||
|
||||
#elif defined(CONFIG_ARCH_T1040) || defined(CONFIG_ARCH_T1042) ||\
|
||||
defined(CONFIG_PPC_T1020) || defined(CONFIG_PPC_T1022)
|
||||
#elif defined(CONFIG_ARCH_T1040) || defined(CONFIG_ARCH_T1042)
|
||||
#define CONFIG_E5500
|
||||
#define CONFIG_FSL_CORENET /* Freescale CoreNet platform */
|
||||
#define CONFIG_SYS_FSL_QORIQ_CHASSIS2 /* Freescale Chassis generation 2 */
|
||||
#define CONFIG_SYS_FSL_CORES_PER_CLUSTER 1
|
||||
#define CONFIG_SYS_FSL_QMAN_V3 /* QMAN version 3 */
|
||||
#ifdef CONFIG_SYS_FSL_DDR4
|
||||
#define CONFIG_SYS_FSL_DDRC_GEN4
|
||||
#endif
|
||||
#define CONFIG_SYS_FSL_NUM_CC_PLLS 2
|
||||
#define CONFIG_SYS_FSL_CLUSTER_CLOCKS { 1, 1, 1, 1 }
|
||||
#define CONFIG_SYS_FSL_SRDS_1
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 5
|
||||
#define CONFIG_SYS_NUM_FMAN 1
|
||||
#define CONFIG_SYS_NUM_FM1_DTSEC 5
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 1
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||
#define CONFIG_PME_PLAT_CLK_DIV 2
|
||||
#define CONFIG_SYS_PME_CLK CONFIG_PME_PLAT_CLK_DIV
|
||||
#define CONFIG_SYS_FSL_DDR_VER FSL_DDR_VER_5_0
|
||||
#define CONFIG_SYS_FSL_IFC_BANK_COUNT 8
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A008044
|
||||
#define CONFIG_SYS_FMAN_V3
|
||||
#define CONFIG_FM_PLAT_CLK_DIV 1
|
||||
#define CONFIG_SYS_FM1_CLK CONFIG_FM_PLAT_CLK_DIV
|
||||
@@ -620,38 +346,26 @@ defined(CONFIG_PPC_T1020) || defined(CONFIG_PPC_T1022)
|
||||
#define CONFIG_SYS_FSL_PCIE_COMPAT "fsl,qoriq-pcie-v2.4"
|
||||
#define CONFIG_SYS_FSL_USB_DUAL_PHY_ENABLE
|
||||
#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE
|
||||
#define QE_MURAM_SIZE 0x6000UL
|
||||
#define MAX_QE_RISC 1
|
||||
#define QE_NUM_OF_SNUM 28
|
||||
#define CONFIG_SYS_FSL_SFP_VER_3_0
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A008378
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009663
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009942
|
||||
|
||||
#elif defined(CONFIG_ARCH_T1024) || defined(CONFIG_ARCH_T1023) ||\
|
||||
defined(CONFIG_PPC_T1014) || defined(CONFIG_PPC_T1013)
|
||||
#elif defined(CONFIG_ARCH_T1024) || defined(CONFIG_ARCH_T1023)
|
||||
#define CONFIG_E5500
|
||||
#define CONFIG_FSL_CORENET /* Freescale CoreNet platform */
|
||||
#define CONFIG_SYS_FSL_QORIQ_CHASSIS2 /* Freescale Chassis generation 2 */
|
||||
#define CONFIG_SYS_FSL_CORES_PER_CLUSTER 1
|
||||
#define CONFIG_SYS_FSL_QMAN_V3 /* QMAN version 3 */
|
||||
#define CONFIG_SYS_FMAN_V3
|
||||
#ifdef CONFIG_SYS_FSL_DDR4
|
||||
#define CONFIG_SYS_FSL_DDRC_GEN4
|
||||
#endif
|
||||
#define CONFIG_SYS_FSL_NUM_CC_PLL 2
|
||||
#define CONFIG_SYS_FSL_CLUSTER_CLOCKS { 1, 1, 1, 1 }
|
||||
#define CONFIG_SYS_FSL_SRDS_1
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 5
|
||||
#define CONFIG_SYS_NUM_FMAN 1
|
||||
#define CONFIG_SYS_NUM_FM1_DTSEC 4
|
||||
#define CONFIG_SYS_NUM_FM1_10GEC 1
|
||||
#define CONFIG_FSL_FM_10GEC_REGULAR_NOTATION
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 1
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||
#define CONFIG_SYS_FSL_DDR_VER FSL_DDR_VER_5_0
|
||||
#define CONFIG_SYS_FSL_IFC_BANK_COUNT 8
|
||||
#define CONFIG_SYS_FM1_CLK 0
|
||||
#define CONFIG_SYS_SDHC_CLK 0/* Select SDHC CLK begining from PLL1
|
||||
@@ -663,25 +377,17 @@ defined(CONFIG_PPC_T1014) || defined(CONFIG_PPC_T1013)
|
||||
#define CONFIG_SYS_FSL_PCIE_COMPAT "fsl,qoriq-pcie-v2.4"
|
||||
#define CONFIG_SYS_FSL_USB_DUAL_PHY_ENABLE
|
||||
#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE
|
||||
#define QE_MURAM_SIZE 0x6000UL
|
||||
#define MAX_QE_RISC 1
|
||||
#define QE_NUM_OF_SNUM 28
|
||||
#define CONFIG_SYS_FSL_SFP_VER_3_0
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A008378
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009663
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009942
|
||||
|
||||
#elif defined(CONFIG_ARCH_T2080) || defined(CONFIG_ARCH_T2081)
|
||||
#define CONFIG_E6500
|
||||
#define CONFIG_SYS_PPC64 /* 64-bit core */
|
||||
#define CONFIG_FSL_CORENET /* Freescale CoreNet platform */
|
||||
#define CONFIG_SYS_FSL_QORIQ_CHASSIS2 /* Freescale Chassis generation 2 */
|
||||
#define CONFIG_SYS_FSL_CORES_PER_CLUSTER 4
|
||||
#define CONFIG_SYS_FSL_NUM_CC_PLLS 2
|
||||
#define CONFIG_SYS_FSL_QMAN_V3
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 4
|
||||
#define CONFIG_SYS_NUM_FMAN 1
|
||||
#define CONFIG_SYS_FSL_CLUSTER_CLOCKS { 1, 4, 4, 4 }
|
||||
#define CONFIG_SYS_FSL_SRDS_1
|
||||
@@ -699,14 +405,12 @@ defined(CONFIG_PPC_T1014) || defined(CONFIG_PPC_T1013)
|
||||
#define CONFIG_SYS_NUM_FM1_10GEC 2
|
||||
#endif
|
||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 1
|
||||
#define CONFIG_PME_PLAT_CLK_DIV 1
|
||||
#define CONFIG_SYS_PME_CLK CONFIG_PME_PLAT_CLK_DIV
|
||||
#define CONFIG_SYS_FM1_CLK 0
|
||||
#define CONFIG_SYS_SDHC_CLK 1/* Select SDHC CLK begining from PLL2
|
||||
per rcw field value */
|
||||
#define CONFIG_SYS_SDHC_CLK_2_PLL /* Select SDHC CLK from 2 PLLs */
|
||||
#define CONFIG_SYS_FSL_DDR_VER FSL_DDR_VER_4_7
|
||||
#define CONFIG_SYS_FSL_IFC_BANK_COUNT 8
|
||||
#define CONFIG_SYS_FMAN_V3
|
||||
#define CONFIG_SYS_FM_MURAM_SIZE 0x28000
|
||||
@@ -714,48 +418,19 @@ defined(CONFIG_PPC_T1014) || defined(CONFIG_PPC_T1013)
|
||||
#define CONFIG_SYS_FSL_PCIE_COMPAT "fsl,qoriq-pcie-v3.0"
|
||||
#define CONFIG_SYS_FSL_USB_DUAL_PHY_ENABLE
|
||||
#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A007212
|
||||
#define CONFIG_SYS_FSL_SFP_VER_3_0
|
||||
#define CONFIG_SYS_FSL_ISBC_VER 2
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A006593
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A007186
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A006379
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A009942
|
||||
#define ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE
|
||||
#define CONFIG_SYS_FSL_SFP_VER_3_0
|
||||
|
||||
|
||||
#elif defined(CONFIG_ARCH_C29X)
|
||||
#define CONFIG_FSL_SDHC_V2_3
|
||||
#define CONFIG_SYS_PPC_E500_DEBUG_TLB 3
|
||||
#define CONFIG_TSECV2_1
|
||||
#define CONFIG_SYS_FSL_SEC_COMPAT 6
|
||||
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 1
|
||||
#define CONFIG_SYS_FSL_DDR_VER FSL_DDR_VER_4_6
|
||||
#define CONFIG_SYS_FSL_IFC_BANK_COUNT 8
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A005125
|
||||
#define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 3
|
||||
#define CONFIG_SYS_FSL_SEC_IDX_OFFSET 0x20000
|
||||
|
||||
#elif defined(CONFIG_ARCH_QEMU_E500)
|
||||
|
||||
#else
|
||||
#error Processor type not defined for this platform
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_E6500
|
||||
#define CONFIG_SYS_FSL_THREADS_PER_CORE 2
|
||||
#else
|
||||
#define CONFIG_SYS_FSL_THREADS_PER_CORE 1
|
||||
#endif
|
||||
|
||||
#if !defined(CONFIG_SYS_FSL_DDRC_GEN1) && \
|
||||
!defined(CONFIG_SYS_FSL_DDRC_GEN2) && \
|
||||
!defined(CONFIG_SYS_FSL_DDRC_GEN3) && \
|
||||
!defined(CONFIG_SYS_FSL_DDRC_GEN4)
|
||||
#define CONFIG_SYS_FSL_DDRC_GEN3
|
||||
#endif
|
||||
|
||||
#if !defined(CONFIG_ARCH_C29X)
|
||||
|
||||
@@ -7,6 +7,4 @@
|
||||
#ifndef _ASM_MPC86xx_CONFIG_H_
|
||||
#define _ASM_MPC86xx_CONFIG_H_
|
||||
|
||||
#define CONFIG_SYS_FSL_DDR_86XX
|
||||
|
||||
#endif /* _ASM_MPC85xx_CONFIG_H_ */
|
||||
|
||||
@@ -29,10 +29,9 @@
|
||||
defined(CONFIG_TARGET_B4420QDS) || \
|
||||
defined(CONFIG_TARGET_T4160QDS) || \
|
||||
defined(CONFIG_TARGET_T4240QDS) || \
|
||||
defined(CONFIG_T2080QDS) || \
|
||||
defined(CONFIG_T2080RDB) || \
|
||||
defined(CONFIG_T1040QDS) || \
|
||||
defined(CONFIG_T104xD4QDS) || \
|
||||
defined(CONFIG_TARGET_T2080QDS) || \
|
||||
defined(CONFIG_TARGET_T2080RDB) || \
|
||||
defined(CONFIG_TARGET_T1040QDS) || \
|
||||
defined(CONFIG_TARGET_T1040RDB) || \
|
||||
defined(CONFIG_TARGET_T1040D4RDB) || \
|
||||
defined(CONFIG_TARGET_T1042RDB) || \
|
||||
|
||||
@@ -1775,8 +1775,7 @@ typedef struct ccsr_gur {
|
||||
#define FSL_CORENET2_RCWSR4_SRDS2_PRTCL 0x00ff0000
|
||||
#define FSL_CORENET2_RCWSR4_SRDS2_PRTCL_SHIFT 16
|
||||
#define FSL_CORENET_RCWSR6_BOOT_LOC 0x0f800000
|
||||
#elif defined(CONFIG_ARCH_T1040) || defined(CONFIG_ARCH_T1042) ||\
|
||||
defined(CONFIG_PPC_T1020) || defined(CONFIG_PPC_T1022)
|
||||
#elif defined(CONFIG_ARCH_T1040) || defined(CONFIG_ARCH_T1042)
|
||||
#define FSL_CORENET2_RCWSR4_SRDS1_PRTCL 0xff000000
|
||||
#define FSL_CORENET2_RCWSR4_SRDS1_PRTCL_SHIFT 24
|
||||
#define FSL_CORENET2_RCWSR4_SRDS2_PRTCL 0x00fe0000
|
||||
@@ -1796,8 +1795,7 @@ defined(CONFIG_PPC_T1020) || defined(CONFIG_PPC_T1022)
|
||||
#define PXCKEN_MASK 0x80000000
|
||||
#define PXCK_MASK 0x00FF0000
|
||||
#define PXCK_BITS_START 16
|
||||
#elif defined(CONFIG_ARCH_T1024) || defined(CONFIG_ARCH_T1023) || \
|
||||
defined(CONFIG_PPC_T1014) || defined(CONFIG_PPC_T1013)
|
||||
#elif defined(CONFIG_ARCH_T1024) || defined(CONFIG_ARCH_T1023)
|
||||
#define FSL_CORENET2_RCWSR4_SRDS1_PRTCL 0xff800000
|
||||
#define FSL_CORENET2_RCWSR4_SRDS1_PRTCL_SHIFT 23
|
||||
#define FSL_CORENET_RCWSR6_BOOT_LOC 0x0f800000
|
||||
|
||||
18
arch/x86/dts/emulation-u-boot.dtsi
Normal file
18
arch/x86/dts/emulation-u-boot.dtsi
Normal file
@@ -0,0 +1,18 @@
|
||||
/*
|
||||
* Copyright (C) 2016 Google, Inc
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <u-boot.dtsi>
|
||||
|
||||
#ifdef CONFIG_ROM_SIZE
|
||||
/ {
|
||||
binman {
|
||||
u-boot-with-ucode-ptr {
|
||||
optional-ucode;
|
||||
};
|
||||
};
|
||||
};
|
||||
#endif
|
||||
17
arch/x86/dts/quark-u-boot.dtsi
Normal file
17
arch/x86/dts/quark-u-boot.dtsi
Normal file
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
* Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <u-boot.dtsi>
|
||||
|
||||
#ifdef CONFIG_ROM_SIZE
|
||||
/ {
|
||||
binman {
|
||||
u-boot-with-ucode-ptr {
|
||||
optional-ucode;
|
||||
};
|
||||
};
|
||||
};
|
||||
#endif
|
||||
65
arch/x86/dts/u-boot.dtsi
Normal file
65
arch/x86/dts/u-boot.dtsi
Normal file
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* Copyright (C) 2016 Google, Inc
|
||||
* Written by Simon Glass <sjg@chromium.org>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#ifdef CONFIG_ROM_SIZE
|
||||
/ {
|
||||
binman {
|
||||
filename = "u-boot.rom";
|
||||
end-at-4gb;
|
||||
sort-by-pos;
|
||||
pad-byte = <0xff>;
|
||||
size = <CONFIG_ROM_SIZE>;
|
||||
#ifdef CONFIG_HAVE_INTEL_ME
|
||||
intel-descriptor {
|
||||
};
|
||||
intel-me {
|
||||
};
|
||||
#endif
|
||||
u-boot-with-ucode-ptr {
|
||||
pos = <CONFIG_SYS_TEXT_BASE>;
|
||||
};
|
||||
u-boot-dtb-with-ucode {
|
||||
};
|
||||
u-boot-ucode {
|
||||
align = <16>;
|
||||
};
|
||||
#ifdef CONFIG_HAVE_MRC
|
||||
intel-mrc {
|
||||
pos = <CONFIG_X86_MRC_ADDR>;
|
||||
};
|
||||
#endif
|
||||
#ifdef CONFIG_HAVE_FSP
|
||||
intel-fsp {
|
||||
filename = CONFIG_FSP_FILE;
|
||||
pos = <CONFIG_FSP_ADDR>;
|
||||
};
|
||||
#endif
|
||||
#ifdef CONFIG_HAVE_CMC
|
||||
intel-cmc {
|
||||
filename = CONFIG_CMC_FILE;
|
||||
pos = <CONFIG_CMC_ADDR>;
|
||||
};
|
||||
#endif
|
||||
#ifdef CONFIG_HAVE_VGA_BIOS
|
||||
intel-vga {
|
||||
filename = CONFIG_VGA_BIOS_FILE;
|
||||
pos = <CONFIG_VGA_BIOS_ADDR>;
|
||||
};
|
||||
#endif
|
||||
#ifdef CONFIG_HAVE_REFCODE
|
||||
intel-refcode {
|
||||
pos = <CONFIG_X86_REFCODE_ADDR>;
|
||||
};
|
||||
#endif
|
||||
x86-start16 {
|
||||
pos = <CONFIG_SYS_X86_START16>;
|
||||
};
|
||||
};
|
||||
};
|
||||
#endif
|
||||
@@ -1,5 +1,5 @@
|
||||
GPLUGD BOARD
|
||||
M: Ajay Bhargav <ajay.bhargav@einfochips.com>
|
||||
M: Ajay Bhargav <contact@8051projects.net>
|
||||
S: Maintained
|
||||
F: board/Marvell/gplugd/
|
||||
F: include/configs/gplugd.h
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# (C) Copyright 2011
|
||||
# eInfochips Ltd. <www.einfochips.com>
|
||||
# Written-by: Ajay Bhargav <ajay.bhargav@einfochips.com>
|
||||
# Written-by: Ajay Bhargav <contact@8051projects.net>
|
||||
#
|
||||
# Based on Aspenite:
|
||||
# (C) Copyright 2010
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* (C) Copyright 2011
|
||||
* eInfochips Ltd. <www.einfochips.com>
|
||||
* Written-by: Ajay Bhargav <ajay.bhargav@einfochips.com>
|
||||
* Written-by: Ajay Bhargav <contact@8051projects.net>
|
||||
*
|
||||
* Based on Aspenite:
|
||||
* (C) Copyright 2010
|
||||
|
||||
@@ -68,7 +68,7 @@ void dram_init_banksize(void)
|
||||
gd->bd->bi_dram[0].size = gd->ram_size;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_KONA_SDHCI
|
||||
#ifdef CONFIG_MMC_SDHCI_KONA
|
||||
/*
|
||||
* mmc_init - Initializes mmc
|
||||
*/
|
||||
|
||||
@@ -75,7 +75,7 @@ void dram_init_banksize(void)
|
||||
gd->bd->bi_dram[0].size = gd->ram_size;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_KONA_SDHCI
|
||||
#ifdef CONFIG_MMC_SDHCI_KONA
|
||||
/*
|
||||
* mmc_init - Initializes mmc
|
||||
*/
|
||||
|
||||
12
board/compulab/cl-som-am57x/Kconfig
Normal file
12
board/compulab/cl-som-am57x/Kconfig
Normal file
@@ -0,0 +1,12 @@
|
||||
if TARGET_CL_SOM_AM57X
|
||||
|
||||
config SYS_BOARD
|
||||
default "cl-som-am57x"
|
||||
|
||||
config SYS_VENDOR
|
||||
default "compulab"
|
||||
|
||||
config SYS_CONFIG_NAME
|
||||
default "cl-som-am57x"
|
||||
|
||||
endif
|
||||
6
board/compulab/cl-som-am57x/MAINTAINERS
Normal file
6
board/compulab/cl-som-am57x/MAINTAINERS
Normal file
@@ -0,0 +1,6 @@
|
||||
CL-SOM-AM57x BOARD
|
||||
M: Uri Mashiach <uri.mashiach@compulab.co.il>
|
||||
S: Maintained
|
||||
F: board/compulab/cl-som-am57x/
|
||||
F: include/configs/cl-som-am57x.h
|
||||
F: configs/cl-som-am57x_defconfig
|
||||
17
board/compulab/cl-som-am57x/Makefile
Normal file
17
board/compulab/cl-som-am57x/Makefile
Normal file
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Makefile
|
||||
#
|
||||
# (C) Copyright 2016 CompuLab, Ltd. <www.compulab.co.il>
|
||||
#
|
||||
# Author: Dmitry Lifshitz <lifshitz@compulab.co.il>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
ifdef CONFIG_SPL_BUILD
|
||||
obj-y += spl.o mux.o
|
||||
else
|
||||
obj-y += cl-som-am57x.o mux.o
|
||||
endif
|
||||
|
||||
obj-$(CONFIG_DRIVER_TI_CPSW) += eth.o
|
||||
76
board/compulab/cl-som-am57x/cl-som-am57x.c
Normal file
76
board/compulab/cl-som-am57x/cl-som-am57x.c
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
* Board functions for CompuLab cl_som_am57x board
|
||||
*
|
||||
* (C) Copyright 2016 CompuLab, Ltd. http://compulab.co.il/
|
||||
*
|
||||
* Author: Dmitry Lifshitz <lifshitz@compulab.co.il>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <palmas.h>
|
||||
#include <usb.h>
|
||||
#include <asm/gpio.h>
|
||||
#include <asm/arch/mmc_host_def.h>
|
||||
#include <asm/arch/sys_proto.h>
|
||||
#include "../common/common.h"
|
||||
#include "../common/eeprom.h"
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
const struct omap_sysinfo sysinfo = {
|
||||
"Board: CL-SOM-AM57x\n"
|
||||
};
|
||||
|
||||
int board_init(void)
|
||||
{
|
||||
/* Disable PMIC Powerhold feature, DEV_CTRL.DEV_ON = 1 */
|
||||
palmas_i2c_write_u8(TPS65903X_CHIP_P1, 0xA0, 0x1);
|
||||
|
||||
gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_GENERIC_MMC
|
||||
#define SB_SOM_CD_GPIO 187
|
||||
#define SB_SOM_WP_GPIO 188
|
||||
|
||||
int board_mmc_init(bd_t *bis)
|
||||
{
|
||||
int ret0, ret1;
|
||||
|
||||
ret0 = omap_mmc_init(0, 0, 0, SB_SOM_CD_GPIO, SB_SOM_WP_GPIO);
|
||||
if (ret0)
|
||||
printf("cl-som-am57x: failed to initialize mmc0\n");
|
||||
|
||||
ret1 = omap_mmc_init(1, 0, 0, -1, -1);
|
||||
if (ret1)
|
||||
printf("cl-som-am57x: failed to initialize mmc1\n");
|
||||
|
||||
return ret0 && ret1;
|
||||
}
|
||||
#endif /* CONFIG_GENERIC_MMC */
|
||||
|
||||
#ifdef CONFIG_USB_XHCI_OMAP
|
||||
int board_usb_init(int index, enum usb_init_type init)
|
||||
{
|
||||
setbits_le32((*prcm)->cm_l3init_usb_otg_ss1_clkctrl,
|
||||
OTG_SS_CLKCTRL_MODULEMODE_HW | OPTFCLKEN_REFCLK960M);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_USB_XHCI_OMAP */
|
||||
|
||||
int misc_init_r(void)
|
||||
{
|
||||
cl_print_pcb_info();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
u32 get_board_rev(void)
|
||||
{
|
||||
return cl_eeprom_get_board_rev(CONFIG_SYS_I2C_EEPROM_BUS);
|
||||
}
|
||||
198
board/compulab/cl-som-am57x/eth.c
Normal file
198
board/compulab/cl-som-am57x/eth.c
Normal file
@@ -0,0 +1,198 @@
|
||||
/*
|
||||
* Ethernet specific code for CompuLab CL-SOM-AM57x module
|
||||
*
|
||||
* (C) Copyright 2016 CompuLab, Ltd. http://compulab.co.il/
|
||||
*
|
||||
* Author: Uri Mashiach <uri.mashiach@compulab.co.il>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <cpsw.h>
|
||||
#include <miiphy.h>
|
||||
#include <asm/gpio.h>
|
||||
#include <asm/arch/sys_proto.h>
|
||||
#include "../common/eeprom.h"
|
||||
|
||||
static void cpsw_control(int enabled)
|
||||
{
|
||||
/* VTP can be added here */
|
||||
}
|
||||
|
||||
static struct cpsw_slave_data cl_som_am57x_cpsw_slaves[] = {
|
||||
{
|
||||
.slave_reg_ofs = 0x208,
|
||||
.sliver_reg_ofs = 0xd80,
|
||||
.phy_addr = 0,
|
||||
.phy_if = PHY_INTERFACE_MODE_RMII,
|
||||
},
|
||||
{
|
||||
.slave_reg_ofs = 0x308,
|
||||
.sliver_reg_ofs = 0xdc0,
|
||||
.phy_addr = 1,
|
||||
.phy_if = PHY_INTERFACE_MODE_RMII,
|
||||
|
||||
},
|
||||
};
|
||||
|
||||
static struct cpsw_platform_data cl_som_am57_cpsw_data = {
|
||||
.mdio_base = CPSW_MDIO_BASE,
|
||||
.cpsw_base = CPSW_BASE,
|
||||
.mdio_div = 0xff,
|
||||
.channels = 8,
|
||||
.cpdma_reg_ofs = 0x800,
|
||||
.slaves = 2,
|
||||
.slave_data = cl_som_am57x_cpsw_slaves,
|
||||
.ale_reg_ofs = 0xd00,
|
||||
.ale_entries = 1024,
|
||||
.host_port_reg_ofs = 0x108,
|
||||
.hw_stats_reg_ofs = 0x900,
|
||||
.bd_ram_ofs = 0x2000,
|
||||
.mac_control = (1 << 5),
|
||||
.control = cpsw_control,
|
||||
.host_port_num = 0,
|
||||
.version = CPSW_CTRL_VERSION_2,
|
||||
};
|
||||
|
||||
/*
|
||||
* cl_som_am57x_efuse_read_mac_addr() - read Ethernet port MAC address.
|
||||
* The information is retrieved from the SOC's registers.
|
||||
* @buff: read buffer.
|
||||
* @port_num: port number.
|
||||
*/
|
||||
static void cl_som_am57x_efuse_read_mac_addr(uchar *buff, uint port_num)
|
||||
{
|
||||
uint32_t mac_hi, mac_lo;
|
||||
|
||||
if (port_num) {
|
||||
mac_lo = readl((*ctrl)->control_core_mac_id_1_lo);
|
||||
mac_hi = readl((*ctrl)->control_core_mac_id_1_hi);
|
||||
} else {
|
||||
mac_lo = readl((*ctrl)->control_core_mac_id_0_lo);
|
||||
mac_hi = readl((*ctrl)->control_core_mac_id_0_hi);
|
||||
}
|
||||
|
||||
buff[0] = (mac_hi & 0xFF0000) >> 16;
|
||||
buff[1] = (mac_hi & 0xFF00) >> 8;
|
||||
buff[2] = mac_hi & 0xFF;
|
||||
buff[3] = (mac_lo & 0xFF0000) >> 16;
|
||||
buff[4] = (mac_lo & 0xFF00) >> 8;
|
||||
buff[5] = mac_lo & 0xFF;
|
||||
}
|
||||
|
||||
/*
|
||||
* cl_som_am57x_handle_mac_address() - set MAC address in the U-Boot
|
||||
* environment.
|
||||
* The address is retrieved retrieved from an EEPROM field or from the
|
||||
* SOC's registers.
|
||||
* @env_name: U-Boot environment name.
|
||||
* @field_name: EEPROM field name.
|
||||
* @port_num: SOC's port number.
|
||||
*/
|
||||
static int cl_som_am57x_handle_mac_address(char *env_name, uint port_num)
|
||||
{
|
||||
int ret;
|
||||
uint8_t enetaddr[6];
|
||||
|
||||
ret = eth_getenv_enetaddr(env_name, enetaddr);
|
||||
if (ret)
|
||||
return 0;
|
||||
|
||||
ret = cl_eeprom_read_mac_addr(enetaddr, CONFIG_SYS_I2C_EEPROM_BUS);
|
||||
|
||||
if (ret || !is_valid_ethaddr(enetaddr))
|
||||
cl_som_am57x_efuse_read_mac_addr(enetaddr, port_num);
|
||||
|
||||
if (!is_valid_ethaddr(enetaddr))
|
||||
return -1;
|
||||
|
||||
ret = eth_setenv_enetaddr(env_name, enetaddr);
|
||||
if (ret)
|
||||
printf("cl-som-am57x: Failed to set Eth port %d MAC address\n",
|
||||
port_num);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#define CL_SOM_AM57X_PHY_ADDR2 0x01
|
||||
#define AR8033_PHY_DEBUG_ADDR_REG 0x1d
|
||||
#define AR8033_PHY_DEBUG_DATA_REG 0x1e
|
||||
#define AR8033_DEBUG_RGMII_RX_CLK_DLY_REG 0x00
|
||||
#define AR8033_DEBUG_RGMII_TX_CLK_DLY_REG 0x05
|
||||
#define AR8033_DEBUG_RGMII_RX_CLK_DLY_MASK (1 << 15)
|
||||
#define AR8033_DEBUG_RGMII_TX_CLK_DLY_MASK (1 << 8)
|
||||
|
||||
/*
|
||||
* cl_som_am57x_rgmii_clk_delay() - Set RGMII clock delay.
|
||||
* Enable RX delay, disable TX delay.
|
||||
*/
|
||||
static void cl_som_am57x_rgmii_clk_delay(void)
|
||||
{
|
||||
uint16_t mii_reg_val;
|
||||
const char *devname;
|
||||
|
||||
devname = miiphy_get_current_dev();
|
||||
/* PHY 2 */
|
||||
miiphy_write(devname, CL_SOM_AM57X_PHY_ADDR2, AR8033_PHY_DEBUG_ADDR_REG,
|
||||
AR8033_DEBUG_RGMII_RX_CLK_DLY_REG);
|
||||
miiphy_read(devname, CL_SOM_AM57X_PHY_ADDR2, AR8033_PHY_DEBUG_DATA_REG,
|
||||
&mii_reg_val);
|
||||
mii_reg_val |= AR8033_DEBUG_RGMII_RX_CLK_DLY_MASK;
|
||||
miiphy_write(devname, CL_SOM_AM57X_PHY_ADDR2, AR8033_PHY_DEBUG_DATA_REG,
|
||||
mii_reg_val);
|
||||
|
||||
miiphy_write(devname, CL_SOM_AM57X_PHY_ADDR2, AR8033_PHY_DEBUG_ADDR_REG,
|
||||
AR8033_DEBUG_RGMII_TX_CLK_DLY_REG);
|
||||
miiphy_read(devname, CL_SOM_AM57X_PHY_ADDR2, AR8033_PHY_DEBUG_DATA_REG,
|
||||
&mii_reg_val);
|
||||
mii_reg_val &= ~AR8033_DEBUG_RGMII_TX_CLK_DLY_MASK;
|
||||
miiphy_write(devname, CL_SOM_AM57X_PHY_ADDR2, AR8033_PHY_DEBUG_DATA_REG,
|
||||
mii_reg_val);
|
||||
}
|
||||
|
||||
#define CL_SOM_AM57X_GPIO_PHY1_RST 92 /* GPIO3_28 */
|
||||
#define CL_SOM_AM57X_RGMII_PORT1 1
|
||||
|
||||
int board_eth_init(bd_t *bis)
|
||||
{
|
||||
int ret;
|
||||
uint32_t ctrl_val;
|
||||
char *cpsw_phy_envval;
|
||||
int cpsw_act_phy = 1;
|
||||
|
||||
/* SB-SOM-AM57x primary Eth (P21) is routed to RGMII1 */
|
||||
ret = cl_som_am57x_handle_mac_address("ethaddr",
|
||||
CL_SOM_AM57X_RGMII_PORT1);
|
||||
|
||||
if (ret)
|
||||
return -1;
|
||||
|
||||
/* Select RGMII for GMII1_SEL */
|
||||
ctrl_val = readl((*ctrl)->control_core_control_io1) & (~0x33);
|
||||
ctrl_val |= 0x22;
|
||||
writel(ctrl_val, (*ctrl)->control_core_control_io1);
|
||||
mdelay(10);
|
||||
|
||||
gpio_request(CL_SOM_AM57X_GPIO_PHY1_RST, "phy1_rst");
|
||||
gpio_direction_output(CL_SOM_AM57X_GPIO_PHY1_RST, 0);
|
||||
mdelay(20);
|
||||
|
||||
gpio_set_value(CL_SOM_AM57X_GPIO_PHY1_RST, 1);
|
||||
mdelay(20);
|
||||
|
||||
cpsw_phy_envval = getenv("cpsw_phy");
|
||||
if (cpsw_phy_envval != NULL)
|
||||
cpsw_act_phy = simple_strtoul(cpsw_phy_envval, NULL, 0);
|
||||
|
||||
cl_som_am57_cpsw_data.active_slave = cpsw_act_phy;
|
||||
|
||||
ret = cpsw_register(&cl_som_am57_cpsw_data);
|
||||
if (ret < 0)
|
||||
printf("Error %d registering CPSW switch\n", ret);
|
||||
|
||||
/* Set RGMII clock delay */
|
||||
cl_som_am57x_rgmii_clk_delay();
|
||||
|
||||
return ret;
|
||||
}
|
||||
123
board/compulab/cl-som-am57x/mux.c
Normal file
123
board/compulab/cl-som-am57x/mux.c
Normal file
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
* Pinmux configuration for CompuLab CL-SOM-AM57x board
|
||||
*
|
||||
* (C) Copyright 2016 CompuLab, Ltd. http://compulab.co.il/
|
||||
*
|
||||
* Author: Dmitry Lifshitz <lifshitz@compulab.co.il>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
#include <asm/arch/sys_proto.h>
|
||||
#include <asm/arch/mux_dra7xx.h>
|
||||
|
||||
/* Serial console */
|
||||
static const struct pad_conf_entry cl_som_am57x_padconf_console[] = {
|
||||
{UART3_RXD, (FSC | IEN | PDIS | PTU | M0)}, /* UART3_RXD */
|
||||
{UART3_TXD, (FSC | IEN | PDIS | PTU | M0)}, /* UART3_TXD */
|
||||
};
|
||||
|
||||
/* PMIC I2C */
|
||||
static const struct pad_conf_entry cl_som_am57x_padconf_pmic[] = {
|
||||
{MCASP1_ACLKR, (IEN | PEN | M10)}, /* MCASP1_ACLKR.I2C4_SDA */
|
||||
{MCASP1_FSR, (IEN | PEN | M10)}, /* MCASP1_FSR.I2C4_SCL */
|
||||
};
|
||||
|
||||
/* Green GPIO led */
|
||||
static const struct pad_conf_entry cl_som_am57x_padconf_green_led[] = {
|
||||
{GPMC_A15, (IDIS | PDIS | PTD | M14)}, /* GPMC_A15.GPIO2_5 */
|
||||
};
|
||||
|
||||
/* MMC/SD Card */
|
||||
static const struct pad_conf_entry cl_som_am57x_padconf_sd_card[] = {
|
||||
{MMC1_CLK, (IEN | PDIS | PTU | M0) }, /* MMC1_CLK */
|
||||
{MMC1_CMD, (IEN | PDIS | PTU | M0) }, /* MMC1_CMD */
|
||||
{MMC1_DAT0, (IEN | PDIS | PTU | M0) }, /* MMC1_DAT0 */
|
||||
{MMC1_DAT1, (IEN | PDIS | PTU | M0) }, /* MMC1_DAT1 */
|
||||
{MMC1_DAT2, (IEN | PDIS | PTU | M0) }, /* MMC1_DAT2 */
|
||||
{MMC1_DAT3, (IEN | PDIS | PTU | M0) }, /* MMC1_DAT3 */
|
||||
{MMC1_SDCD, (IEN | PEN | M14)}, /* MMC1_SDCD */
|
||||
{MMC1_SDWP, (IEN | PEN | M14)}, /* MMC1_SDWP */
|
||||
};
|
||||
|
||||
/* WiFi - must be in the safe mode on boot */
|
||||
static const struct pad_conf_entry cl_som_am57x_padconf_wifi[] = {
|
||||
{UART1_CTSN, (IEN | M15)}, /* UART1_CTSN */
|
||||
{UART1_RTSN, (IEN | M15)}, /* UART1_RTSN */
|
||||
{UART2_RXD, (IEN | M15)}, /* UART2_RXD */
|
||||
{UART2_TXD, (IEN | M15)}, /* UART2_TXD */
|
||||
{UART2_CTSN, (IEN | M15)}, /* UART2_CTSN */
|
||||
{UART2_RTSN, (IEN | M15)}, /* UART2_RTSN */
|
||||
};
|
||||
|
||||
/* QSPI */
|
||||
static const struct pad_conf_entry cl_som_am57x_padconf_qspi[] = {
|
||||
{GPMC_A13, (IEN | PEN | M1)}, /* GPMC_A13.QSPI1_RTCLK */
|
||||
{GPMC_A18, (IEN | PEN | M1)}, /* GPMC_A18.QSPI1_SCLK */
|
||||
{GPMC_A16, (IEN | PEN | M1)}, /* GPMC_A16.QSPI1_D0 */
|
||||
{GPMC_A17, (IEN | PEN | M1)}, /* GPMC_A17.QSPI1_D1 */
|
||||
{GPMC_CS2, (IEN | PDIS | PTU | M1)}, /* GPMC_CS2.QSPI1_CS0 */
|
||||
};
|
||||
|
||||
/* GPIO Expander I2C */
|
||||
static const struct pad_conf_entry cl_som_am57x_padconf_i2c_gpio[] = {
|
||||
{MCASP1_AXR0, (IEN | PEN | M10)}, /* MCASP1_AXR0.I2C5_SDA */
|
||||
{MCASP1_AXR1, (IEN | PEN | M10)}, /* MCASP1_AXR1.I2C5_SCL */
|
||||
};
|
||||
|
||||
/* eMMC internal storage */
|
||||
static const struct pad_conf_entry cl_som_am57x_padconf_emmc[] = {
|
||||
{GPMC_A19, (IEN | PDIS | PTU | M1)}, /* GPMC_A19.MMC2_DAT4 */
|
||||
{GPMC_A20, (IEN | PDIS | PTU | M1)}, /* GPMC_A20.MMC2_DAT5 */
|
||||
{GPMC_A21, (IEN | PDIS | PTU | M1)}, /* GPMC_A21.MMC2_DAT6 */
|
||||
{GPMC_A22, (IEN | PDIS | PTU | M1)}, /* GPMC_A22.MMC2_DAT7 */
|
||||
{GPMC_A23, (IEN | PDIS | PTU | M1)}, /* GPMC_A23.MMC2_CLK */
|
||||
{GPMC_A24, (IEN | PDIS | PTU | M1)}, /* GPMC_A24.MMC2_DAT0 */
|
||||
{GPMC_A25, (IEN | PDIS | PTU | M1)}, /* GPMC_A25.MMC2_DAT1 */
|
||||
{GPMC_A26, (IEN | PDIS | PTU | M1)}, /* GPMC_A26.MMC2_DAT2 */
|
||||
{GPMC_A27, (IEN | PDIS | PTU | M1)}, /* GPMC_A27.MMC2_DAT3 */
|
||||
{GPMC_CS1, (IEN | PDIS | PTU | M1)}, /* GPMC_CS1.MMC2_CMD */
|
||||
};
|
||||
|
||||
/* usb1_drvvbus */
|
||||
static const struct pad_conf_entry cl_som_am57x_padconf_usb[] = {
|
||||
{USB1_DRVVBUS, (M0 | FSC) }, /* USB1_DRVVBUS.USB1_DRVVBUS */
|
||||
};
|
||||
|
||||
/* Ethernet */
|
||||
static const struct pad_conf_entry cl_som_am57x_padconf_ethernet[] = {
|
||||
/* MDIO bus */
|
||||
{VIN2A_D10, (PDIS | PTU | M3) }, /* VIN2A_D10.MDIO_MCLK */
|
||||
{VIN2A_D11, (IEN | PDIS | PTU | M3) }, /* VIN2A_D11.MDIO_D */
|
||||
/* EMAC Slave 1 at addr 0x1 - Default interface */
|
||||
{VIN2A_D12, (IDIS | PEN | M3) }, /* VIN2A_D12.RGMII1_TXC */
|
||||
{VIN2A_D13, (IDIS | PEN | M3) }, /* VIN2A_D13.RGMII1_TXCTL */
|
||||
{VIN2A_D14, (IDIS | PEN | M3) }, /* VIN2A_D14.RGMII1_TXD3 */
|
||||
{VIN2A_D15, (IDIS | PEN | M3) }, /* VIN2A_D15.RGMII1_TXD2 */
|
||||
{VIN2A_D16, (IDIS | PEN | M3) }, /* VIN2A_D16.RGMII1_TXD1 */
|
||||
{VIN2A_D17, (IDIS | PEN | M3) }, /* VIN2A_D17.RGMII1_TXD0 */
|
||||
{VIN2A_D18, (IEN | PDIS | PTD | M3) }, /* VIN2A_D18.RGMII1_RXC */
|
||||
{VIN2A_D19, (IEN | PDIS | PTD | M3) }, /* VIN2A_D19.RGMII1_RXCTL */
|
||||
{VIN2A_D20, (IEN | PDIS | PTD | M3) }, /* VIN2A_D20.RGMII1_RXD3 */
|
||||
{VIN2A_D21, (IEN | PDIS | PTD | M3) }, /* VIN2A_D21.RGMII1_RXD2 */
|
||||
{VIN2A_D22, (IEN | PDIS | PTD | M3) }, /* VIN2A_D22.RGMII1_RXD1 */
|
||||
{VIN2A_D23, (IEN | PDIS | PTD | M3) }, /* VIN2A_D23.RGMII1_RXD0 */
|
||||
/* Eth PHY1 reset GPIOs*/
|
||||
{VIN1B_CLK1, (IDIS | PDIS | PTD | M14)}, /* VIN1B_CLK1.GPIO2_31 */
|
||||
};
|
||||
|
||||
#define SET_MUX(mux_array) do_set_mux32((*ctrl)->control_padconf_core_base, \
|
||||
mux_array, ARRAY_SIZE(mux_array))
|
||||
|
||||
void set_muxconf_regs(void)
|
||||
{
|
||||
SET_MUX(cl_som_am57x_padconf_console);
|
||||
SET_MUX(cl_som_am57x_padconf_pmic);
|
||||
SET_MUX(cl_som_am57x_padconf_green_led);
|
||||
SET_MUX(cl_som_am57x_padconf_sd_card);
|
||||
SET_MUX(cl_som_am57x_padconf_wifi);
|
||||
SET_MUX(cl_som_am57x_padconf_qspi);
|
||||
SET_MUX(cl_som_am57x_padconf_i2c_gpio);
|
||||
SET_MUX(cl_som_am57x_padconf_emmc);
|
||||
SET_MUX(cl_som_am57x_padconf_usb);
|
||||
SET_MUX(cl_som_am57x_padconf_ethernet);
|
||||
}
|
||||
234
board/compulab/cl-som-am57x/spl.c
Normal file
234
board/compulab/cl-som-am57x/spl.c
Normal file
@@ -0,0 +1,234 @@
|
||||
/*
|
||||
* SPL data and initialization for CompuLab CL-SOM-AM57x board
|
||||
*
|
||||
* (C) Copyright 2016 CompuLab, Ltd. http://compulab.co.il/
|
||||
*
|
||||
* Author: Uri Mashiach <uri.mashiach@compulab.co.il>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <asm/emif.h>
|
||||
#include <asm/omap_common.h>
|
||||
#include <asm/arch/sys_proto.h>
|
||||
|
||||
static const struct dmm_lisa_map_regs cl_som_am57x_lisa_regs = {
|
||||
.dmm_lisa_map_3 = 0x80740300,
|
||||
.is_ma_present = 0x1
|
||||
};
|
||||
|
||||
void emif_get_dmm_regs(const struct dmm_lisa_map_regs **dmm_lisa_regs)
|
||||
{
|
||||
*dmm_lisa_regs = &cl_som_am57x_lisa_regs;
|
||||
}
|
||||
|
||||
static const struct emif_regs cl_som_am57x_emif1_ddr3_532mhz_emif_regs = {
|
||||
.sdram_config_init = 0x61852332,
|
||||
.sdram_config = 0x61852332,
|
||||
.sdram_config2 = 0x00000000,
|
||||
.ref_ctrl = 0x000040f1,
|
||||
.ref_ctrl_final = 0x00001040,
|
||||
.sdram_tim1 = 0xeeef36f3,
|
||||
.sdram_tim2 = 0x348f7fda,
|
||||
.sdram_tim3 = 0x027f88a8,
|
||||
.read_idle_ctrl = 0x00050000,
|
||||
.zq_config = 0x1007190b,
|
||||
.temp_alert_config = 0x00000000,
|
||||
.emif_ddr_phy_ctlr_1_init = 0x0034400b,
|
||||
.emif_ddr_phy_ctlr_1 = 0x0e34400b,
|
||||
.emif_ddr_ext_phy_ctrl_1 = 0x04040100,
|
||||
.emif_ddr_ext_phy_ctrl_2 = 0x00740074,
|
||||
.emif_ddr_ext_phy_ctrl_3 = 0x00780078,
|
||||
.emif_ddr_ext_phy_ctrl_4 = 0x007c007c,
|
||||
.emif_ddr_ext_phy_ctrl_5 = 0x007b007b,
|
||||
.emif_rd_wr_lvl_rmp_win = 0x00000000,
|
||||
.emif_rd_wr_lvl_rmp_ctl = 0x80000000,
|
||||
.emif_rd_wr_lvl_ctl = 0x00000000,
|
||||
.emif_rd_wr_exec_thresh = 0x00000305
|
||||
};
|
||||
|
||||
/* Ext phy ctrl regs 1-35 */
|
||||
static const u32 cl_som_am57x_emif1_ddr3_ext_phy_ctrl_regs[] = {
|
||||
0x10040100,
|
||||
0x00740074,
|
||||
0x00780078,
|
||||
0x007c007c,
|
||||
0x007b007b,
|
||||
0x00800080,
|
||||
0x00360036,
|
||||
0x00340034,
|
||||
0x00360036,
|
||||
0x00350035,
|
||||
0x00350035,
|
||||
|
||||
0x01ff01ff,
|
||||
0x01ff01ff,
|
||||
0x01ff01ff,
|
||||
0x01ff01ff,
|
||||
0x01ff01ff,
|
||||
|
||||
0x00430043,
|
||||
0x003e003e,
|
||||
0x004a004a,
|
||||
0x00470047,
|
||||
0x00400040,
|
||||
|
||||
0x00000000,
|
||||
0x00600020,
|
||||
0x40011080,
|
||||
0x08102040,
|
||||
|
||||
0x00400040,
|
||||
0x00400040,
|
||||
0x00400040,
|
||||
0x00400040,
|
||||
0x00400040,
|
||||
0x0,
|
||||
0x0,
|
||||
0x0,
|
||||
0x0,
|
||||
0x0
|
||||
};
|
||||
|
||||
static const struct emif_regs cl_som_am57x_emif2_ddr3_532mhz_emif_regs = {
|
||||
.sdram_config_init = 0x61852332,
|
||||
.sdram_config = 0x61852332,
|
||||
.sdram_config2 = 0x00000000,
|
||||
.ref_ctrl = 0x000040f1,
|
||||
.ref_ctrl_final = 0x00001040,
|
||||
.sdram_tim1 = 0xeeef36f3,
|
||||
.sdram_tim2 = 0x348f7fda,
|
||||
.sdram_tim3 = 0x027f88a8,
|
||||
.read_idle_ctrl = 0x00050000,
|
||||
.zq_config = 0x1007190b,
|
||||
.temp_alert_config = 0x00000000,
|
||||
.emif_ddr_phy_ctlr_1_init = 0x0034400b,
|
||||
.emif_ddr_phy_ctlr_1 = 0x0e34400b,
|
||||
.emif_ddr_ext_phy_ctrl_1 = 0x04040100,
|
||||
.emif_ddr_ext_phy_ctrl_2 = 0x00740074,
|
||||
.emif_ddr_ext_phy_ctrl_3 = 0x00780078,
|
||||
.emif_ddr_ext_phy_ctrl_4 = 0x007c007c,
|
||||
.emif_ddr_ext_phy_ctrl_5 = 0x007b007b,
|
||||
.emif_rd_wr_lvl_rmp_win = 0x00000000,
|
||||
.emif_rd_wr_lvl_rmp_ctl = 0x80000000,
|
||||
.emif_rd_wr_lvl_ctl = 0x00000000,
|
||||
.emif_rd_wr_exec_thresh = 0x00000305
|
||||
};
|
||||
|
||||
static const u32 cl_som_am57x_emif2_ddr3_ext_phy_ctrl_regs[] = {
|
||||
0x10040100,
|
||||
0x00820082,
|
||||
0x008b008b,
|
||||
0x00800080,
|
||||
0x007e007e,
|
||||
0x00800080,
|
||||
0x00370037,
|
||||
0x00390039,
|
||||
0x00360036,
|
||||
0x00370037,
|
||||
0x00350035,
|
||||
0x01ff01ff,
|
||||
0x01ff01ff,
|
||||
0x01ff01ff,
|
||||
0x01ff01ff,
|
||||
0x01ff01ff,
|
||||
0x00540054,
|
||||
0x00540054,
|
||||
0x004e004e,
|
||||
0x004c004c,
|
||||
0x00400040,
|
||||
|
||||
0x00000000,
|
||||
0x00600020,
|
||||
0x40011080,
|
||||
0x08102040,
|
||||
|
||||
0x00400040,
|
||||
0x00400040,
|
||||
0x00400040,
|
||||
0x00400040,
|
||||
0x00400040,
|
||||
0x0,
|
||||
0x0,
|
||||
0x0,
|
||||
0x0,
|
||||
0x0
|
||||
};
|
||||
|
||||
static struct vcores_data cl_som_am57x_volts = {
|
||||
.mpu.value[OPP_NOM] = VDD_MPU_DRA7_NOM,
|
||||
.mpu.efuse.reg[OPP_NOM] = STD_FUSE_OPP_VMIN_MPU_NOM,
|
||||
.mpu.efuse.reg_bits = DRA752_EFUSE_REGBITS,
|
||||
.mpu.addr = TPS659038_REG_ADDR_SMPS12,
|
||||
.mpu.pmic = &tps659038,
|
||||
|
||||
.eve.value[OPP_NOM] = VDD_EVE_DRA7_NOM,
|
||||
.eve.value[OPP_OD] = VDD_EVE_DRA7_OD,
|
||||
.eve.value[OPP_HIGH] = VDD_EVE_DRA7_HIGH,
|
||||
.eve.efuse.reg[OPP_NOM] = STD_FUSE_OPP_VMIN_DSPEVE_NOM,
|
||||
.eve.efuse.reg[OPP_OD] = STD_FUSE_OPP_VMIN_DSPEVE_OD,
|
||||
.eve.efuse.reg[OPP_HIGH] = STD_FUSE_OPP_VMIN_DSPEVE_HIGH,
|
||||
.eve.efuse.reg_bits = DRA752_EFUSE_REGBITS,
|
||||
.eve.addr = TPS659038_REG_ADDR_SMPS45,
|
||||
.eve.pmic = &tps659038,
|
||||
|
||||
.gpu.value[OPP_NOM] = VDD_GPU_DRA7_NOM,
|
||||
.gpu.value[OPP_OD] = VDD_GPU_DRA7_OD,
|
||||
.gpu.value[OPP_HIGH] = VDD_GPU_DRA7_HIGH,
|
||||
.gpu.efuse.reg[OPP_NOM] = STD_FUSE_OPP_VMIN_GPU_NOM,
|
||||
.gpu.efuse.reg[OPP_OD] = STD_FUSE_OPP_VMIN_GPU_OD,
|
||||
.gpu.efuse.reg[OPP_HIGH] = STD_FUSE_OPP_VMIN_GPU_HIGH,
|
||||
.gpu.efuse.reg_bits = DRA752_EFUSE_REGBITS,
|
||||
.gpu.addr = TPS659038_REG_ADDR_SMPS6,
|
||||
.gpu.pmic = &tps659038,
|
||||
|
||||
.core.value[OPP_NOM] = VDD_CORE_DRA7_NOM,
|
||||
.core.efuse.reg[OPP_NOM] = STD_FUSE_OPP_VMIN_CORE_NOM,
|
||||
.core.efuse.reg_bits = DRA752_EFUSE_REGBITS,
|
||||
.core.addr = TPS659038_REG_ADDR_SMPS7,
|
||||
.core.pmic = &tps659038,
|
||||
|
||||
.iva.value[OPP_NOM] = VDD_IVA_DRA7_NOM,
|
||||
.iva.value[OPP_OD] = VDD_IVA_DRA7_OD,
|
||||
.iva.value[OPP_HIGH] = VDD_IVA_DRA7_HIGH,
|
||||
.iva.efuse.reg[OPP_NOM] = STD_FUSE_OPP_VMIN_IVA_NOM,
|
||||
.iva.efuse.reg[OPP_OD] = STD_FUSE_OPP_VMIN_IVA_OD,
|
||||
.iva.efuse.reg[OPP_HIGH] = STD_FUSE_OPP_VMIN_IVA_HIGH,
|
||||
.iva.efuse.reg_bits = DRA752_EFUSE_REGBITS,
|
||||
.iva.addr = TPS659038_REG_ADDR_SMPS8,
|
||||
.iva.pmic = &tps659038,
|
||||
};
|
||||
|
||||
void hw_data_init(void)
|
||||
{
|
||||
*prcm = &dra7xx_prcm;
|
||||
*dplls_data = &dra7xx_dplls;
|
||||
*omap_vcores = &cl_som_am57x_volts;
|
||||
*ctrl = &dra7xx_ctrl;
|
||||
}
|
||||
|
||||
void emif_get_reg_dump(u32 emif_nr, const struct emif_regs **regs)
|
||||
{
|
||||
switch (emif_nr) {
|
||||
case 1:
|
||||
*regs = &cl_som_am57x_emif1_ddr3_532mhz_emif_regs;
|
||||
break;
|
||||
case 2:
|
||||
*regs = &cl_som_am57x_emif2_ddr3_532mhz_emif_regs;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void emif_get_ext_phy_ctrl_const_regs(u32 emif_nr, const u32 **regs, u32 *size)
|
||||
{
|
||||
switch (emif_nr) {
|
||||
case 1:
|
||||
*regs = cl_som_am57x_emif1_ddr3_ext_phy_ctrl_regs;
|
||||
*size = ARRAY_SIZE(cl_som_am57x_emif1_ddr3_ext_phy_ctrl_regs);
|
||||
break;
|
||||
case 2:
|
||||
*regs = cl_som_am57x_emif2_ddr3_ext_phy_ctrl_regs;
|
||||
*size = ARRAY_SIZE(cl_som_am57x_emif2_ddr3_ext_phy_ctrl_regs);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -4,3 +4,4 @@ S: Maintained
|
||||
F: board/engicam/geam6ul
|
||||
F: include/configs/imx6ul_geam.h
|
||||
F: configs/imx6ul_geam_mmc_defconfig
|
||||
F: configs/imx6ul_geam_nand_defconfig
|
||||
|
||||
@@ -213,7 +213,7 @@ unsigned long long step_assign_addresses(fsl_ddr_info_t *pinfo,
|
||||
|
||||
debug("rank density is 0x%llx, ctlr density is 0x%llx\n",
|
||||
rank_density, ctlr_density);
|
||||
for (i = CONFIG_NUM_DDR_CONTROLLERS - 1; i >= 0; i--) {
|
||||
for (i = CONFIG_SYS_NUM_DDR_CTLRS - 1; i >= 0; i--) {
|
||||
switch (pinfo->memctl_opts[i].memctl_interleaving_mode) {
|
||||
case FSL_DDR_CACHE_LINE_INTERLEAVING:
|
||||
case FSL_DDR_PAGE_INTERLEAVING:
|
||||
@@ -237,7 +237,7 @@ unsigned long long step_assign_addresses(fsl_ddr_info_t *pinfo,
|
||||
* Simple linear assignment if memory
|
||||
* controllers are not interleaved.
|
||||
*/
|
||||
for (i = CONFIG_NUM_DDR_CONTROLLERS - 1; i >= 0; i--) {
|
||||
for (i = CONFIG_SYS_NUM_DDR_CTLRS - 1; i >= 0; i--) {
|
||||
total_ctlr_mem = 0;
|
||||
pinfo->common_timing_params[i].base_address =
|
||||
current_mem_base;
|
||||
|
||||
@@ -19,7 +19,7 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
* Fixed sdram init -- doesn't use serial presence detect.
|
||||
*/
|
||||
extern fixed_ddr_parm_t fixed_ddr_parm_0[];
|
||||
#if (CONFIG_NUM_DDR_CONTROLLERS == 2)
|
||||
#if (CONFIG_SYS_NUM_DDR_CTLRS == 2)
|
||||
extern fixed_ddr_parm_t fixed_ddr_parm_1[];
|
||||
#endif
|
||||
|
||||
@@ -56,7 +56,7 @@ phys_size_t fixed_sdram(void)
|
||||
ddr_cfg_regs.ddr_cdr1 = DDR_CDR1_DHC_EN;
|
||||
fsl_ddr_set_memctl_regs(&ddr_cfg_regs, 0, 0);
|
||||
|
||||
#if (CONFIG_NUM_DDR_CONTROLLERS == 2)
|
||||
#if (CONFIG_SYS_NUM_DDR_CTLRS == 2)
|
||||
memcpy(&ddr_cfg_regs,
|
||||
fixed_ddr_parm_1[i].ddr_settings,
|
||||
sizeof(ddr_cfg_regs));
|
||||
@@ -76,7 +76,7 @@ phys_size_t fixed_sdram(void)
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
#if (CONFIG_NUM_DDR_CONTROLLERS == 2)
|
||||
#if (CONFIG_SYS_NUM_DDR_CTLRS == 2)
|
||||
/* We require both controllers have identical DIMMs */
|
||||
lawbar1_target_id = LAW_TRGT_IF_DDR_1;
|
||||
if (set_ddr_laws(CONFIG_SYS_DDR_SDRAM_BASE,
|
||||
|
||||
@@ -231,6 +231,33 @@ static void eimnor_cs_setup(void)
|
||||
set_chipselect_size(CS0_128);
|
||||
}
|
||||
|
||||
static void eim_clk_setup(void)
|
||||
{
|
||||
struct mxc_ccm_reg *imx_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
|
||||
int cscmr1, ccgr6;
|
||||
|
||||
|
||||
/* Turn off EIM clock */
|
||||
ccgr6 = readl(&imx_ccm->CCGR6);
|
||||
ccgr6 &= ~(0x3 << 10);
|
||||
writel(ccgr6, &imx_ccm->CCGR6);
|
||||
|
||||
/*
|
||||
* Configure clk_eim_slow_sel = 00 --> derive clock from AXI clk root
|
||||
* and aclk_eim_slow_podf = 01 --> divide by 2
|
||||
* so that we can have EIM at the maximum clock of 132MHz
|
||||
*/
|
||||
cscmr1 = readl(&imx_ccm->cscmr1);
|
||||
cscmr1 &= ~(MXC_CCM_CSCMR1_ACLK_EMI_SLOW_MASK |
|
||||
MXC_CCM_CSCMR1_ACLK_EMI_SLOW_PODF_MASK);
|
||||
cscmr1 |= (1 << MXC_CCM_CSCMR1_ACLK_EMI_SLOW_PODF_OFFSET);
|
||||
writel(cscmr1, &imx_ccm->cscmr1);
|
||||
|
||||
/* Turn on EIM clock */
|
||||
ccgr6 |= (0x3 << 10);
|
||||
writel(ccgr6, &imx_ccm->CCGR6);
|
||||
}
|
||||
|
||||
static void setup_iomux_eimnor(void)
|
||||
{
|
||||
imx_iomux_v3_setup_multiple_pads(eimnor_pads, ARRAY_SIZE(eimnor_pads));
|
||||
@@ -519,6 +546,7 @@ int board_early_init_f(void)
|
||||
#ifdef CONFIG_NAND_MXS
|
||||
setup_gpmi_nand();
|
||||
#endif
|
||||
eim_clk_setup();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
7
board/freescale/mx6sllevk/MAINTAINERS
Normal file
7
board/freescale/mx6sllevk/MAINTAINERS
Normal file
@@ -0,0 +1,7 @@
|
||||
MX6SLLEVK BOARD
|
||||
M: Peng Fan <peng.fan@nxp.com>
|
||||
S: Maintained
|
||||
F: board/freescale/mx6sllevk/
|
||||
F: include/configs/mx6sllevk.h
|
||||
F: configs/mx6sllevk_defconfig
|
||||
F: configs/mx6sllevk_plugin_defconfig
|
||||
@@ -4,3 +4,4 @@ S: Maintained
|
||||
F: board/freescale/mx6ullevk/
|
||||
F: include/configs/mx6ullevk.h
|
||||
F: configs/mx6ull_14x14_evk_defconfig
|
||||
F: configs/mx6ull_14x14_evk_plugin_defconfig
|
||||
|
||||
@@ -8,7 +8,7 @@ ifdef CONFIG_SPL_BUILD
|
||||
obj-y += spl.o
|
||||
else
|
||||
obj-y += t102xrdb.o
|
||||
obj-$(CONFIG_T1024RDB) += cpld.o
|
||||
obj-$(CONFIG_TARGET_T1024RDB) += cpld.o
|
||||
obj-y += eth_t102xrdb.o
|
||||
obj-$(CONFIG_PCI) += pci.o
|
||||
endif
|
||||
|
||||
@@ -136,11 +136,11 @@ found:
|
||||
popts->data_bus_width = DDR_DATA_BUS_WIDTH_32;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_T1023RDB
|
||||
#ifdef CONFIG_TARGET_T1023RDB
|
||||
popts->wrlvl_ctl_2 = 0x07070606;
|
||||
popts->half_strength_driver_enable = 1;
|
||||
popts->cpo_sample = 0x43;
|
||||
#elif defined(CONFIG_T1024RDB)
|
||||
#elif defined(CONFIG_TARGET_T1024RDB)
|
||||
/* optimize cpo for erratum A-009942 */
|
||||
popts->cpo_sample = 0x52;
|
||||
#endif
|
||||
|
||||
@@ -58,7 +58,7 @@ int board_eth_init(bd_t *bis)
|
||||
fm_info_set_phy_address(FM1_DTSEC4, RGMII_PHY1_ADDR);
|
||||
|
||||
switch (srds_s1) {
|
||||
#ifdef CONFIG_T1024RDB
|
||||
#ifdef CONFIG_TARGET_T1024RDB
|
||||
case 0x95:
|
||||
/* set the on-board RGMII2 PHY */
|
||||
fm_info_set_phy_address(FM1_DTSEC3, RGMII_PHY2_ADDR);
|
||||
@@ -73,7 +73,7 @@ int board_eth_init(bd_t *bis)
|
||||
case 0x135:
|
||||
/* set the on-board 2.5G SGMII AQR105 PHY */
|
||||
fm_info_set_phy_address(FM1_DTSEC3, SGMII_AQR_PHY_ADDR);
|
||||
#ifdef CONFIG_T1023RDB
|
||||
#ifdef CONFIG_TARGET_T1023RDB
|
||||
/* set the on-board 1G SGMII RTL8211F PHY */
|
||||
fm_info_set_phy_address(FM1_DTSEC1, SGMII_RTK_PHY_ADDR);
|
||||
#endif
|
||||
@@ -92,9 +92,9 @@ int board_eth_init(bd_t *bis)
|
||||
fm_info_set_mdio(i, dev);
|
||||
break;
|
||||
case PHY_INTERFACE_MODE_SGMII:
|
||||
#if defined(CONFIG_T1023RDB)
|
||||
#if defined(CONFIG_TARGET_T1023RDB)
|
||||
dev = miiphy_get_dev_by_name(DEFAULT_FM_MDIO_NAME);
|
||||
#elif defined(CONFIG_T1024RDB)
|
||||
#elif defined(CONFIG_TARGET_T1024RDB)
|
||||
dev = miiphy_get_dev_by_name(DEFAULT_FM_TGEC_MDIO_NAME);
|
||||
#endif
|
||||
fm_info_set_mdio(i, dev);
|
||||
@@ -128,7 +128,7 @@ int board_eth_init(bd_t *bis)
|
||||
void board_ft_fman_fixup_port(void *fdt, char *compat, phys_addr_t addr,
|
||||
enum fm_port port, int offset)
|
||||
{
|
||||
#if defined(CONFIG_T1024RDB)
|
||||
#if defined(CONFIG_TARGET_T1024RDB)
|
||||
if (((fm_info_get_enet_if(port) == PHY_INTERFACE_MODE_SGMII_2500) ||
|
||||
(fm_info_get_enet_if(port) == PHY_INTERFACE_MODE_SGMII)) &&
|
||||
(port == FM1_DTSEC3)) {
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
#include <asm/fsl_liodn.h>
|
||||
#include <fm_eth.h>
|
||||
#include "t102xrdb.h"
|
||||
#ifdef CONFIG_T1024RDB
|
||||
#ifdef CONFIG_TARGET_T1024RDB
|
||||
#include "cpld.h"
|
||||
#elif defined(CONFIG_T1023RDB)
|
||||
#elif defined(CONFIG_TARGET_T1023RDB)
|
||||
#include <i2c.h>
|
||||
#include <mmc.h>
|
||||
#endif
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
#ifdef CONFIG_T1023RDB
|
||||
#ifdef CONFIG_TARGET_T1023RDB
|
||||
enum {
|
||||
GPIO1_SD_SEL = 0x00020000, /* GPIO1_14, 0: eMMC, 1:SD/MMC */
|
||||
GPIO1_EMMC_SEL,
|
||||
@@ -51,10 +51,10 @@ int checkboard(void)
|
||||
srds_s1 >>= FSL_CORENET2_RCWSR4_SRDS1_PRTCL_SHIFT;
|
||||
|
||||
printf("Board: %sRDB, ", cpu->name);
|
||||
#if defined(CONFIG_T1024RDB)
|
||||
#if defined(CONFIG_TARGET_T1024RDB)
|
||||
printf("Board rev: 0x%02x CPLD ver: 0x%02x, ",
|
||||
CPLD_READ(hw_ver), CPLD_READ(sw_ver));
|
||||
#elif defined(CONFIG_T1023RDB)
|
||||
#elif defined(CONFIG_TARGET_T1023RDB)
|
||||
printf("Rev%c, ", t1023rdb_ctrl(GPIO3_GET_VERSION) + 'B');
|
||||
#endif
|
||||
printf("boot from ");
|
||||
@@ -63,7 +63,7 @@ int checkboard(void)
|
||||
puts("SD/MMC\n");
|
||||
#elif CONFIG_SPIFLASH
|
||||
puts("SPI\n");
|
||||
#elif defined(CONFIG_T1024RDB)
|
||||
#elif defined(CONFIG_TARGET_T1024RDB)
|
||||
u8 reg;
|
||||
|
||||
reg = CPLD_READ(flash_csr);
|
||||
@@ -74,7 +74,7 @@ int checkboard(void)
|
||||
reg = ((reg & CPLD_LBMAP_MASK) >> CPLD_LBMAP_SHIFT);
|
||||
printf("NOR vBank%d\n", reg);
|
||||
}
|
||||
#elif defined(CONFIG_T1023RDB)
|
||||
#elif defined(CONFIG_TARGET_T1023RDB)
|
||||
#ifdef CONFIG_NAND
|
||||
puts("NAND\n");
|
||||
#else
|
||||
@@ -91,7 +91,7 @@ int checkboard(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_T1024RDB
|
||||
#ifdef CONFIG_TARGET_T1024RDB
|
||||
static void board_mux_lane(void)
|
||||
{
|
||||
ccsr_gur_t __iomem *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
|
||||
@@ -150,7 +150,7 @@ int board_early_init_r(void)
|
||||
0, flash_esel, BOOKE_PAGESZ_256M, 1);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_T1024RDB
|
||||
#ifdef CONFIG_TARGET_T1024RDB
|
||||
board_mux_lane();
|
||||
#endif
|
||||
|
||||
@@ -196,7 +196,7 @@ int ft_board_setup(void *blob, bd_t *bd)
|
||||
fdt_fixup_board_enet(blob);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_T1023RDB
|
||||
#ifdef CONFIG_TARGET_T1023RDB
|
||||
if (t1023rdb_ctrl(GPIO3_GET_VERSION) > 0)
|
||||
fdt_enable_nor(blob);
|
||||
#endif
|
||||
@@ -204,7 +204,7 @@ int ft_board_setup(void *blob, bd_t *bd)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_T1023RDB
|
||||
#ifdef CONFIG_TARGET_T1023RDB
|
||||
/* Enable NOR flash for RevC */
|
||||
static void fdt_enable_nor(void *blob)
|
||||
{
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
void fdt_fixup_board_enet(void *blob);
|
||||
void pci_of_setup(void *blob, bd_t *bd);
|
||||
#ifdef CONFIG_T1023RDB
|
||||
#ifdef CONFIG_TARGET_T1023RDB
|
||||
static u32 t1023rdb_ctrl(u32 ctrl_type);
|
||||
static void fdt_enable_nor(void *blob);
|
||||
#endif
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
ifdef CONFIG_SPL_BUILD
|
||||
obj-y += spl.o
|
||||
else
|
||||
obj-$(CONFIG_T2080QDS) += t208xqds.o eth_t208xqds.o
|
||||
obj-$(CONFIG_T2081QDS) += t208xqds.o eth_t208xqds.o
|
||||
obj-$(CONFIG_TARGET_T2080QDS) += t208xqds.o eth_t208xqds.o
|
||||
obj-$(CONFIG_TARGET_T2081QDS) += t208xqds.o eth_t208xqds.o
|
||||
obj-$(CONFIG_PCI) += pci.o
|
||||
endif
|
||||
|
||||
|
||||
@@ -32,13 +32,13 @@
|
||||
#define EMI1_RGMII1 0
|
||||
#define EMI1_RGMII2 1
|
||||
#define EMI1_SLOT1 2
|
||||
#if defined(CONFIG_T2080QDS)
|
||||
#if defined(CONFIG_TARGET_T2080QDS)
|
||||
#define EMI1_SLOT2 6
|
||||
#define EMI1_SLOT3 3
|
||||
#define EMI1_SLOT4 4
|
||||
#define EMI1_SLOT5 5
|
||||
#define EMI2 7
|
||||
#elif defined(CONFIG_T2081QDS)
|
||||
#elif defined(CONFIG_TARGET_T2081QDS)
|
||||
#define EMI1_SLOT2 3
|
||||
#define EMI1_SLOT3 4
|
||||
#define EMI1_SLOT5 5
|
||||
@@ -59,7 +59,7 @@
|
||||
static int mdio_mux[NUM_FM_PORTS];
|
||||
|
||||
static const char * const mdio_names[] = {
|
||||
#if defined(CONFIG_T2080QDS)
|
||||
#if defined(CONFIG_TARGET_T2080QDS)
|
||||
"T2080QDS_MDIO_RGMII1",
|
||||
"T2080QDS_MDIO_RGMII2",
|
||||
"T2080QDS_MDIO_SLOT1",
|
||||
@@ -68,7 +68,7 @@ static const char * const mdio_names[] = {
|
||||
"T2080QDS_MDIO_SLOT5",
|
||||
"T2080QDS_MDIO_SLOT2",
|
||||
"T2080QDS_MDIO_10GC",
|
||||
#elif defined(CONFIG_T2081QDS)
|
||||
#elif defined(CONFIG_TARGET_T2081QDS)
|
||||
"T2081QDS_MDIO_RGMII1",
|
||||
"T2081QDS_MDIO_RGMII2",
|
||||
"T2081QDS_MDIO_SLOT1",
|
||||
@@ -82,9 +82,9 @@ static const char * const mdio_names[] = {
|
||||
};
|
||||
|
||||
/* Map SerDes1 8 lanes to default slot, will be initialized dynamically */
|
||||
#if defined(CONFIG_T2080QDS)
|
||||
#if defined(CONFIG_TARGET_T2080QDS)
|
||||
static u8 lane_to_slot[] = {3, 3, 3, 3, 1, 1, 1, 1};
|
||||
#elif defined(CONFIG_T2081QDS)
|
||||
#elif defined(CONFIG_TARGET_T2081QDS)
|
||||
static u8 lane_to_slot[] = {2, 2, 2, 2, 1, 1, 1, 1};
|
||||
#endif
|
||||
|
||||
@@ -204,7 +204,7 @@ void board_ft_fman_fixup_port(void *fdt, char *compat, phys_addr_t addr,
|
||||
int off;
|
||||
|
||||
ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
|
||||
#ifdef CONFIG_T2080QDS
|
||||
#ifdef CONFIG_TARGET_T2080QDS
|
||||
serdes_corenet_t *srds_regs =
|
||||
(void *)CONFIG_SYS_FSL_CORENET_SERDES_ADDR;
|
||||
u32 srds1_pccr1 = in_be32(&srds_regs->srdspccr1);
|
||||
@@ -217,7 +217,7 @@ void board_ft_fman_fixup_port(void *fdt, char *compat, phys_addr_t addr,
|
||||
if (fm_info_get_enet_if(port) == PHY_INTERFACE_MODE_SGMII) {
|
||||
phy = fm_info_get_phy_address(port);
|
||||
switch (port) {
|
||||
#if defined(CONFIG_T2080QDS)
|
||||
#if defined(CONFIG_TARGET_T2080QDS)
|
||||
case FM1_DTSEC1:
|
||||
if (hwconfig_sub("fsl_1gkx", "fm1_1g1")) {
|
||||
media_type = 1;
|
||||
@@ -311,7 +311,7 @@ void board_ft_fman_fixup_port(void *fdt, char *compat, phys_addr_t addr,
|
||||
fdt_status_okay_by_alias(fdt, "emi1_slot2");
|
||||
}
|
||||
break;
|
||||
#elif defined(CONFIG_T2081QDS)
|
||||
#elif defined(CONFIG_TARGET_T2081QDS)
|
||||
case FM1_DTSEC1:
|
||||
case FM1_DTSEC2:
|
||||
case FM1_DTSEC5:
|
||||
@@ -454,7 +454,7 @@ static void initialize_lane_to_slot(void)
|
||||
srds_s1 >>= FSL_CORENET2_RCWSR4_SRDS1_PRTCL_SHIFT;
|
||||
|
||||
switch (srds_s1) {
|
||||
#if defined(CONFIG_T2080QDS)
|
||||
#if defined(CONFIG_TARGET_T2080QDS)
|
||||
case 0x51:
|
||||
case 0x5f:
|
||||
case 0x65:
|
||||
@@ -481,7 +481,7 @@ static void initialize_lane_to_slot(void)
|
||||
lane_to_slot[6] = 3;
|
||||
lane_to_slot[7] = 3;
|
||||
break;
|
||||
#elif defined(CONFIG_T2081QDS)
|
||||
#elif defined(CONFIG_TARGET_T2081QDS)
|
||||
case 0x6b:
|
||||
lane_to_slot[4] = 1;
|
||||
lane_to_slot[5] = 3;
|
||||
@@ -552,11 +552,11 @@ int board_eth_init(bd_t *bis)
|
||||
t208xqds_mdio_init(DEFAULT_FM_MDIO_NAME, EMI1_SLOT1);
|
||||
t208xqds_mdio_init(DEFAULT_FM_MDIO_NAME, EMI1_SLOT2);
|
||||
t208xqds_mdio_init(DEFAULT_FM_MDIO_NAME, EMI1_SLOT3);
|
||||
#if defined(CONFIG_T2080QDS)
|
||||
#if defined(CONFIG_TARGET_T2080QDS)
|
||||
t208xqds_mdio_init(DEFAULT_FM_MDIO_NAME, EMI1_SLOT4);
|
||||
#endif
|
||||
t208xqds_mdio_init(DEFAULT_FM_MDIO_NAME, EMI1_SLOT5);
|
||||
#if defined(CONFIG_T2081QDS)
|
||||
#if defined(CONFIG_TARGET_T2081QDS)
|
||||
t208xqds_mdio_init(DEFAULT_FM_MDIO_NAME, EMI1_SLOT6);
|
||||
t208xqds_mdio_init(DEFAULT_FM_MDIO_NAME, EMI1_SLOT7);
|
||||
#endif
|
||||
@@ -663,7 +663,7 @@ int board_eth_init(bd_t *bis)
|
||||
fm_info_set_phy_address(FM1_DTSEC1, SGMII_CARD_PORT3_PHY_ADDR);
|
||||
fm_info_set_phy_address(FM1_DTSEC2, SGMII_CARD_PORT4_PHY_ADDR);
|
||||
break;
|
||||
#if defined(CONFIG_T2080QDS)
|
||||
#if defined(CONFIG_TARGET_T2080QDS)
|
||||
case 0xd9:
|
||||
case 0xd3:
|
||||
case 0xcb:
|
||||
@@ -675,7 +675,7 @@ int board_eth_init(bd_t *bis)
|
||||
fm_info_set_phy_address(FM1_DTSEC5, SGMII_CARD_PORT3_PHY_ADDR);
|
||||
fm_info_set_phy_address(FM1_DTSEC6, SGMII_CARD_PORT2_PHY_ADDR);
|
||||
break;
|
||||
#elif defined(CONFIG_T2081QDS)
|
||||
#elif defined(CONFIG_TARGET_T2081QDS)
|
||||
case 0xca:
|
||||
case 0xcb:
|
||||
/* SGMII in Slot3 */
|
||||
@@ -731,7 +731,7 @@ int board_eth_init(bd_t *bis)
|
||||
fm_info_set_mdio(i, mii_dev_for_muxval(
|
||||
mdio_mux[i]));
|
||||
break;
|
||||
#if defined(CONFIG_T2081QDS)
|
||||
#if defined(CONFIG_TARGET_T2081QDS)
|
||||
case 5:
|
||||
mdio_mux[i] = EMI1_SLOT5;
|
||||
fm_info_set_mdio(i, mii_dev_for_muxval(
|
||||
|
||||
@@ -99,7 +99,7 @@ int brd_mux_lane_to_slot(void)
|
||||
srds_prtcl_s1 = in_be32(&gur->rcwsr[4]) &
|
||||
FSL_CORENET2_RCWSR4_SRDS1_PRTCL;
|
||||
srds_prtcl_s1 >>= FSL_CORENET2_RCWSR4_SRDS1_PRTCL_SHIFT;
|
||||
#if defined(CONFIG_T2080QDS)
|
||||
#if defined(CONFIG_TARGET_T2080QDS)
|
||||
u32 srds_prtcl_s2 = in_be32(&gur->rcwsr[4]) &
|
||||
FSL_CORENET2_RCWSR4_SRDS2_PRTCL;
|
||||
srds_prtcl_s2 >>= FSL_CORENET2_RCWSR4_SRDS2_PRTCL_SHIFT;
|
||||
@@ -109,7 +109,7 @@ int brd_mux_lane_to_slot(void)
|
||||
case 0:
|
||||
/* SerDes1 is not enabled */
|
||||
break;
|
||||
#if defined(CONFIG_T2080QDS)
|
||||
#if defined(CONFIG_TARGET_T2080QDS)
|
||||
case 0x1b:
|
||||
case 0x1c:
|
||||
case 0xa2:
|
||||
@@ -191,7 +191,7 @@ int brd_mux_lane_to_slot(void)
|
||||
*/
|
||||
QIXIS_WRITE(brdcfg[12], 0x1a);
|
||||
break;
|
||||
#elif defined(CONFIG_T2081QDS)
|
||||
#elif defined(CONFIG_TARGET_T2081QDS)
|
||||
case 0x50:
|
||||
case 0x51:
|
||||
/* SD1(A:D) => SLOT2 XAUI
|
||||
@@ -268,7 +268,7 @@ int brd_mux_lane_to_slot(void)
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_T2080QDS
|
||||
#ifdef CONFIG_TARGET_T2080QDS
|
||||
switch (srds_prtcl_s2) {
|
||||
case 0:
|
||||
/* SerDes2 is not enabled */
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
ifdef CONFIG_SPL_BUILD
|
||||
obj-y += spl.o
|
||||
else
|
||||
obj-$(CONFIG_T2080RDB) += t208xrdb.o eth_t208xrdb.o cpld.o
|
||||
obj-$(CONFIG_TARGET_T2080RDB) += t208xrdb.o eth_t208xrdb.o cpld.o
|
||||
obj-$(CONFIG_PCI) += pci.o
|
||||
endif
|
||||
|
||||
|
||||
@@ -4,5 +4,5 @@
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
obj-y := digsy_mtc.o cmd_mtc.o
|
||||
obj-y := digsy_mtc.o
|
||||
obj-$(CONFIG_VIDEO) += cmd_disp.o
|
||||
|
||||
@@ -1,369 +0,0 @@
|
||||
/*
|
||||
* (C) Copyright 2009
|
||||
* Werner Pfister <Pfister_Werner@intercontrol.de>
|
||||
*
|
||||
* (C) Copyright 2009 Semihalf, Grzegorz Bernacki
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <mpc5xxx.h>
|
||||
#include "spi.h"
|
||||
#include "cmd_mtc.h"
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
static uchar user_out;
|
||||
|
||||
static const char *led_names[] = {
|
||||
"diag",
|
||||
"can1",
|
||||
"can2",
|
||||
"can3",
|
||||
"can4",
|
||||
"usbpwr",
|
||||
"usbbusy",
|
||||
"user1",
|
||||
"user2",
|
||||
""
|
||||
};
|
||||
|
||||
static int msp430_xfer(const void *dout, void *din)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = spi_xfer(NULL, MTC_TRANSFER_SIZE, dout, din,
|
||||
SPI_XFER_BEGIN | SPI_XFER_END);
|
||||
|
||||
/* The MSP chip needs time to ready itself for the next command */
|
||||
udelay(1000);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static void mtc_calculate_checksum(tx_msp_cmd *packet)
|
||||
{
|
||||
int i;
|
||||
uchar *buff;
|
||||
|
||||
buff = (uchar *) packet;
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
packet->cks += buff[i];
|
||||
}
|
||||
|
||||
static int do_mtc_led(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
tx_msp_cmd pcmd;
|
||||
rx_msp_cmd prx;
|
||||
int err;
|
||||
int i;
|
||||
|
||||
if (argc < 2)
|
||||
return cmd_usage(cmdtp);
|
||||
|
||||
memset(&pcmd, 0, sizeof(pcmd));
|
||||
memset(&prx, 0, sizeof(prx));
|
||||
|
||||
pcmd.cmd = CMD_SET_LED;
|
||||
|
||||
pcmd.cmd_val0 = 0xff;
|
||||
for (i = 0; strlen(led_names[i]) != 0; i++) {
|
||||
if (strncmp(argv[1], led_names[i], strlen(led_names[i])) == 0) {
|
||||
pcmd.cmd_val0 = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (pcmd.cmd_val0 == 0xff) {
|
||||
printf("Usage:\n%s\n", cmdtp->help);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (argc >= 3) {
|
||||
if (strncmp(argv[2], "red", 3) == 0)
|
||||
pcmd.cmd_val1 = 1;
|
||||
else if (strncmp(argv[2], "green", 5) == 0)
|
||||
pcmd.cmd_val1 = 2;
|
||||
else if (strncmp(argv[2], "orange", 6) == 0)
|
||||
pcmd.cmd_val1 = 3;
|
||||
else
|
||||
pcmd.cmd_val1 = 0;
|
||||
}
|
||||
|
||||
if (argc >= 4)
|
||||
pcmd.cmd_val2 = simple_strtol(argv[3], NULL, 10);
|
||||
else
|
||||
pcmd.cmd_val2 = 0;
|
||||
|
||||
pcmd.user_out = user_out;
|
||||
|
||||
mtc_calculate_checksum(&pcmd);
|
||||
err = msp430_xfer(&pcmd, &prx);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static int do_mtc_key(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
tx_msp_cmd pcmd;
|
||||
rx_msp_cmd prx;
|
||||
int err;
|
||||
|
||||
memset(&pcmd, 0, sizeof(pcmd));
|
||||
memset(&prx, 0, sizeof(prx));
|
||||
|
||||
pcmd.cmd = CMD_GET_VIM;
|
||||
pcmd.user_out = user_out;
|
||||
|
||||
mtc_calculate_checksum(&pcmd);
|
||||
err = msp430_xfer(&pcmd, &prx);
|
||||
|
||||
if (!err) {
|
||||
/* function returns '0' if key is pressed */
|
||||
err = (prx.input & 0x80) ? 0 : 1;
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static int do_mtc_digout(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
tx_msp_cmd pcmd;
|
||||
rx_msp_cmd prx;
|
||||
int err;
|
||||
uchar channel_mask = 0;
|
||||
|
||||
if (argc < 3)
|
||||
return cmd_usage(cmdtp);
|
||||
|
||||
if (strncmp(argv[1], "on", 2) == 0)
|
||||
channel_mask |= 1;
|
||||
if (strncmp(argv[2], "on", 2) == 0)
|
||||
channel_mask |= 2;
|
||||
|
||||
memset(&pcmd, 0, sizeof(pcmd));
|
||||
memset(&prx, 0, sizeof(prx));
|
||||
|
||||
pcmd.cmd = CMD_GET_VIM;
|
||||
pcmd.user_out = channel_mask;
|
||||
user_out = channel_mask;
|
||||
|
||||
mtc_calculate_checksum(&pcmd);
|
||||
err = msp430_xfer(&pcmd, &prx);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static int do_mtc_digin(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
tx_msp_cmd pcmd;
|
||||
rx_msp_cmd prx;
|
||||
int err;
|
||||
uchar channel_num = 0;
|
||||
|
||||
if (argc < 2)
|
||||
return cmd_usage(cmdtp);
|
||||
|
||||
channel_num = simple_strtol(argv[1], NULL, 10);
|
||||
if ((channel_num != 1) && (channel_num != 2)) {
|
||||
printf("mtc digin: invalid parameter - must be '1' or '2'\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
memset(&pcmd, 0, sizeof(pcmd));
|
||||
memset(&prx, 0, sizeof(prx));
|
||||
|
||||
pcmd.cmd = CMD_GET_VIM;
|
||||
pcmd.user_out = user_out;
|
||||
|
||||
mtc_calculate_checksum(&pcmd);
|
||||
err = msp430_xfer(&pcmd, &prx);
|
||||
|
||||
if (!err) {
|
||||
/* function returns '0' when digin is on */
|
||||
err = (prx.input & channel_num) ? 0 : 1;
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static int do_mtc_appreg(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
tx_msp_cmd pcmd;
|
||||
rx_msp_cmd prx;
|
||||
int err;
|
||||
char buf[5];
|
||||
uchar appreg;
|
||||
|
||||
/* read appreg */
|
||||
memset(&pcmd, 0, sizeof(pcmd));
|
||||
memset(&prx, 0, sizeof(prx));
|
||||
|
||||
pcmd.cmd = CMD_WD_PARA;
|
||||
pcmd.cmd_val0 = 5; /* max. Count */
|
||||
pcmd.cmd_val1 = 5; /* max. Time */
|
||||
pcmd.cmd_val2 = 0; /* =0 means read appreg */
|
||||
pcmd.user_out = user_out;
|
||||
|
||||
mtc_calculate_checksum(&pcmd);
|
||||
err = msp430_xfer(&pcmd, &prx);
|
||||
|
||||
/* on success decide between read or write */
|
||||
if (!err) {
|
||||
if (argc == 2) {
|
||||
appreg = simple_strtol(argv[1], NULL, 10);
|
||||
if (appreg == 0) {
|
||||
printf("mtc appreg: invalid parameter - "
|
||||
"must be between 1 and 255\n");
|
||||
return -1;
|
||||
}
|
||||
memset(&pcmd, 0, sizeof(pcmd));
|
||||
pcmd.cmd = CMD_WD_PARA;
|
||||
pcmd.cmd_val0 = prx.ack3; /* max. Count */
|
||||
pcmd.cmd_val1 = prx.ack0; /* max. Time */
|
||||
pcmd.cmd_val2 = appreg; /* !=0 means write appreg */
|
||||
pcmd.user_out = user_out;
|
||||
memset(&prx, 0, sizeof(prx));
|
||||
|
||||
mtc_calculate_checksum(&pcmd);
|
||||
err = msp430_xfer(&pcmd, &prx);
|
||||
} else {
|
||||
sprintf(buf, "%d", prx.ack2);
|
||||
setenv("appreg", buf);
|
||||
}
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static int do_mtc_version(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
tx_msp_cmd pcmd;
|
||||
rx_msp_cmd prx;
|
||||
int err;
|
||||
|
||||
memset(&pcmd, 0, sizeof(pcmd));
|
||||
memset(&prx, 0, sizeof(prx));
|
||||
|
||||
pcmd.cmd = CMD_FW_VERSION;
|
||||
pcmd.user_out = user_out;
|
||||
|
||||
mtc_calculate_checksum(&pcmd);
|
||||
err = msp430_xfer(&pcmd, &prx);
|
||||
|
||||
if (!err) {
|
||||
printf("FW V%d.%d.%d / HW %d\n",
|
||||
prx.ack0, prx.ack1, prx.ack3, prx.ack2);
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static int do_mtc_state(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
tx_msp_cmd pcmd;
|
||||
rx_msp_cmd prx;
|
||||
int err;
|
||||
|
||||
memset(&pcmd, 0, sizeof(pcmd));
|
||||
memset(&prx, 0, sizeof(prx));
|
||||
|
||||
pcmd.cmd = CMD_WD_WDSTATE;
|
||||
pcmd.cmd_val2 = 1;
|
||||
pcmd.user_out = user_out;
|
||||
|
||||
mtc_calculate_checksum(&pcmd);
|
||||
err = msp430_xfer(&pcmd, &prx);
|
||||
|
||||
if (!err) {
|
||||
printf("State %02Xh\n", prx.state);
|
||||
printf("Input %02Xh\n", prx.input);
|
||||
printf("UserWD %02Xh\n", prx.ack2);
|
||||
printf("Sys WD %02Xh\n", prx.ack3);
|
||||
printf("WD Timout %02Xh\n", prx.ack0);
|
||||
printf("eSysState %02Xh\n", prx.ack1);
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static int do_mtc_help(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
|
||||
|
||||
cmd_tbl_t cmd_mtc_sub[] = {
|
||||
U_BOOT_CMD_MKENT(led, 3, 1, do_mtc_led,
|
||||
"set state of leds",
|
||||
"[ledname] [state] [blink]\n"
|
||||
" - lednames: diag can1 can2 can3 can4 usbpwr usbbusy user1 user2\n"
|
||||
" - state: off red green orange\n"
|
||||
" - blink: blink interval in 100ms steps (1 - 10; 0 = static)\n"),
|
||||
U_BOOT_CMD_MKENT(key, 0, 1, do_mtc_key,
|
||||
"returns state of user key", ""),
|
||||
U_BOOT_CMD_MKENT(version, 0, 1, do_mtc_version,
|
||||
"returns firmware version of supervisor uC", ""),
|
||||
U_BOOT_CMD_MKENT(appreg, 1, 1, do_mtc_appreg,
|
||||
"reads or writes appreg value and stores in environment "
|
||||
"variable 'appreg'",
|
||||
"[value] - value (1 - 255) to write to appreg"),
|
||||
U_BOOT_CMD_MKENT(digin, 1, 1, do_mtc_digin,
|
||||
"returns state of digital input",
|
||||
"<channel_num> - get state of digital input (1 or 2)\n"),
|
||||
U_BOOT_CMD_MKENT(digout, 2, 1, do_mtc_digout,
|
||||
"sets digital outputs",
|
||||
"<on|off> <on|off>- set state of digital output 1 and 2\n"),
|
||||
U_BOOT_CMD_MKENT(state, 0, 1, do_mtc_state,
|
||||
"displays state", ""),
|
||||
U_BOOT_CMD_MKENT(help, 4, 1, do_mtc_help, "get help",
|
||||
"[command] - get help for command\n"),
|
||||
};
|
||||
|
||||
static int do_mtc_help(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
extern int _do_help(cmd_tbl_t *cmd_start, int cmd_items,
|
||||
cmd_tbl_t *cmdtp, int flag,
|
||||
int argc, char * const argv[]);
|
||||
#ifdef CONFIG_SYS_LONGHELP
|
||||
puts("mtc ");
|
||||
#endif
|
||||
return _do_help(&cmd_mtc_sub[0],
|
||||
ARRAY_SIZE(cmd_mtc_sub), cmdtp, flag, argc, argv);
|
||||
}
|
||||
|
||||
int cmd_mtc(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
cmd_tbl_t *c;
|
||||
int err = 0;
|
||||
|
||||
c = find_cmd_tbl(argv[1], &cmd_mtc_sub[0], ARRAY_SIZE(cmd_mtc_sub));
|
||||
if (c) {
|
||||
argc--;
|
||||
argv++;
|
||||
return c->cmd(c, flag, argc, argv);
|
||||
} else {
|
||||
/* Unrecognized command */
|
||||
return cmd_usage(cmdtp);
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
U_BOOT_CMD(mtc, 5, 1, cmd_mtc,
|
||||
"special commands for digsyMTC",
|
||||
"[subcommand] [args...]\n"
|
||||
"Subcommands list:\n"
|
||||
"led [ledname] [state] [blink] - set state of leds\n"
|
||||
" [ledname]: diag can1 can2 can3 can4 usbpwr usbbusy user1 user2\n"
|
||||
" [state]: off red green orange\n"
|
||||
" [blink]: blink interval in 100ms steps (1 - 10; 0 = static)\n"
|
||||
"key - returns state of user key\n"
|
||||
"version - returns firmware version of supervisor uC\n"
|
||||
"appreg [value] - reads (in environment variable 'appreg') or writes"
|
||||
" appreg value\n"
|
||||
" [value]: value (1 - 255) to write to appreg\n"
|
||||
"digin [channel] - returns state of digital input (1 or 2)\n"
|
||||
"digout <on|off> <on|off> - sets state of two digital outputs\n"
|
||||
"state - displays state\n"
|
||||
"help [subcommand] - get help for subcommand\n"
|
||||
);
|
||||
@@ -1,45 +0,0 @@
|
||||
/*
|
||||
* (C) Copyright 2009
|
||||
* Werner Pfister <Pfister_Werner@intercontrol.de>
|
||||
*
|
||||
* (C) Copyright 2009 Semihalf, Grzegorz Bernacki
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef CMD_MTC_H
|
||||
#define CMD_MTC_H
|
||||
|
||||
#define CMD_WD_PARA 0x02
|
||||
#define CMD_WD_WDSTATE 0x04
|
||||
#define CMD_FW_VERSION 0x10
|
||||
#define CMD_GET_VIM 0x30
|
||||
#define CMD_SET_LED 0x40
|
||||
|
||||
typedef struct {
|
||||
u8 cmd;
|
||||
u8 sys_in;
|
||||
u8 cmd_val0;
|
||||
u8 cmd_val1;
|
||||
u8 cmd_val2;
|
||||
u8 user_out;
|
||||
u8 cks;
|
||||
u8 dummy1;
|
||||
u8 dummy2;
|
||||
} tx_msp_cmd;
|
||||
|
||||
typedef struct {
|
||||
u8 input;
|
||||
u8 state;
|
||||
u8 ack2;
|
||||
u8 ack3;
|
||||
u8 ack0;
|
||||
u8 ack1;
|
||||
u8 ack;
|
||||
u8 dummy;
|
||||
u8 cks;
|
||||
} rx_msp_cmd;
|
||||
|
||||
#define MTC_TRANSFER_SIZE (sizeof(tx_msp_cmd) * 8)
|
||||
|
||||
#endif
|
||||
@@ -41,7 +41,7 @@ extern int usb_cpu_init(void);
|
||||
|
||||
#if defined(CONFIG_DIGSY_REV5)
|
||||
/*
|
||||
* The M29W128GH needs a specail reset command function,
|
||||
* The M29W128GH needs a special reset command function,
|
||||
* details see the doc/README.cfi file
|
||||
*/
|
||||
void flash_cmd_reset(flash_info_t *info)
|
||||
@@ -76,7 +76,7 @@ static void sdram_start(int hi_addr)
|
||||
/*
|
||||
* ATTENTION: Although partially referenced initdram does NOT make real use
|
||||
* use of CONFIG_SYS_SDRAM_BASE. The code does not work if
|
||||
* CONFIG_SYS_SDRAM_BASE is something else than 0x00000000.
|
||||
* CONFIG_SYS_SDRAM_BASE is something other than 0x00000000.
|
||||
*/
|
||||
|
||||
phys_size_t initdram(int board_type)
|
||||
@@ -250,9 +250,6 @@ static inline void exbo_hw_init(void) {}
|
||||
|
||||
int board_early_init_r(void)
|
||||
{
|
||||
#ifdef CONFIG_MPC52XX_SPI
|
||||
struct mpc5xxx_gpt *gpt = (struct mpc5xxx_gpt*)MPC5XXX_GPT;
|
||||
#endif
|
||||
/*
|
||||
* Now, when we are in RAM, enable flash write access for detection
|
||||
* process. Note that CS_BOOT cannot be cleared when executing in
|
||||
@@ -269,12 +266,6 @@ int board_early_init_r(void)
|
||||
/* Low level USB init, required for proper kernel operation */
|
||||
usb_cpu_init();
|
||||
#endif
|
||||
#ifdef CONFIG_MPC52XX_SPI
|
||||
/* GPT 6 Output Enable */
|
||||
out_be32(&gpt[6].emsr, 0x00000034);
|
||||
/* GPT 7 Output Enable */
|
||||
out_be32(&gpt[7].emsr, 0x00000034);
|
||||
#endif
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
@@ -251,7 +251,7 @@ int board_eth_init(bd_t *bis)
|
||||
#ifdef CONFIG_GENERIC_MMC
|
||||
static int init_mmc(void)
|
||||
{
|
||||
#ifdef CONFIG_SDHCI
|
||||
#ifdef CONFIG_MMC_SDHCI
|
||||
return exynos_mmc_init(gd->fdt_blob);
|
||||
#else
|
||||
return 0;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
ODROID BOARD
|
||||
M: Przemyslaw Marczak <p.marczak@samsung.com>
|
||||
M: Jaehoon Chung <jh80.chung@samsung.com>
|
||||
S: Maintained
|
||||
F: board/samsung/odroid/
|
||||
F: include/configs/odroid.h
|
||||
|
||||
@@ -10,7 +10,7 @@ F: include/configs/peach-pi.h
|
||||
F: configs/peach-pi_defconfig
|
||||
|
||||
ODROID-XU3 BOARD
|
||||
M: Przemyslaw Marczak <p.marczak@samsung.com>
|
||||
M: Jaehoon Chung <jh80.chung@samsung.com>
|
||||
S: Maintained
|
||||
F: board/samsung/smdk5420/
|
||||
F: include/configs/odroid_xu3.h
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
TRATS BOARD
|
||||
M: Lukasz Majewski <l.majewski@samsung.com>
|
||||
M: Jaehoon Chung <jh80.chung@samsung.com>
|
||||
S: Maintained
|
||||
F: board/samsung/trats/
|
||||
F: include/configs/trats.h
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
TRATS2 BOARD
|
||||
M: Lukasz Majewski <l.majewski@samsung.com>
|
||||
M: Jaehoon Chung <jh80.chung@samsung.com>
|
||||
S: Maintained
|
||||
F: board/samsung/trats2/
|
||||
F: include/configs/trats2.h
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
UNIVERSAL_C210 BOARD
|
||||
M: Przemyslaw Marczak <p.marczak@samsung.com>
|
||||
M: Jaehoon Chung <jh80.chung@samsung.com>
|
||||
S: Maintained
|
||||
F: board/samsung/universal_c210/
|
||||
F: include/configs/s5pc210_universal.h
|
||||
|
||||
@@ -349,9 +349,9 @@ int board_init(void)
|
||||
/* Active high for ncp692 */
|
||||
gpio_direction_output(IMX_GPIO_NR(4, 16) , 1);
|
||||
|
||||
#ifdef CONFIG_SYS_I2C_MXC
|
||||
#ifdef CONFIG_SYS_I2C_MXC
|
||||
setup_i2c(0, CONFIG_SYS_I2C_SPEED, 0x7f, &i2c_pad_info1);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -389,9 +389,8 @@ int board_early_init_f(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct fsl_esdhc_cfg usdhc_cfg[2] = {
|
||||
static struct fsl_esdhc_cfg usdhc_cfg[1] = {
|
||||
{USDHC2_BASE_ADDR, 0, 4},
|
||||
{USDHC3_BASE_ADDR, 0, 4},
|
||||
};
|
||||
|
||||
#define USDHC2_PWR_GPIO IMX_GPIO_NR(6, 1)
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <mmc.h>
|
||||
#include <asm/arch/crm_regs.h>
|
||||
#include <usb.h>
|
||||
#include <netdev.h>
|
||||
#include <power/pmic.h>
|
||||
#include <power/pfuze3000_pmic.h>
|
||||
#include "../freescale/common/pfuze.h"
|
||||
@@ -138,6 +139,19 @@ int power_init_board(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
int board_eth_init(bd_t *bis)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
#ifdef CONFIG_USB_ETHER
|
||||
ret = usb_eth_initialize(bis);
|
||||
if (ret < 0)
|
||||
printf("Error %d registering USB ether.\n", ret);
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int board_init(void)
|
||||
{
|
||||
/* address of boot parameters */
|
||||
|
||||
@@ -124,121 +124,15 @@ int zynq_board_read_rom_ethaddr(unsigned char *ethaddr)
|
||||
}
|
||||
|
||||
#if !defined(CONFIG_SYS_SDRAM_BASE) && !defined(CONFIG_SYS_SDRAM_SIZE)
|
||||
/*
|
||||
* fdt_get_reg - Fill buffer by information from DT
|
||||
*/
|
||||
static phys_size_t fdt_get_reg(const void *fdt, int nodeoffset, void *buf,
|
||||
const u32 *cell, int n)
|
||||
{
|
||||
int i = 0, b, banks;
|
||||
int parent_offset = fdt_parent_offset(fdt, nodeoffset);
|
||||
int address_cells = fdt_address_cells(fdt, parent_offset);
|
||||
int size_cells = fdt_size_cells(fdt, parent_offset);
|
||||
char *p = buf;
|
||||
u64 val;
|
||||
u64 vals;
|
||||
|
||||
debug("%s: addr_cells=%x, size_cell=%x, buf=%p, cell=%p\n",
|
||||
__func__, address_cells, size_cells, buf, cell);
|
||||
|
||||
/* Check memory bank setup */
|
||||
banks = n % (address_cells + size_cells);
|
||||
if (banks)
|
||||
panic("Incorrect memory setup cells=%d, ac=%d, sc=%d\n",
|
||||
n, address_cells, size_cells);
|
||||
|
||||
banks = n / (address_cells + size_cells);
|
||||
|
||||
for (b = 0; b < banks; b++) {
|
||||
debug("%s: Bank #%d:\n", __func__, b);
|
||||
if (address_cells == 2) {
|
||||
val = cell[i + 1];
|
||||
val <<= 32;
|
||||
val |= cell[i];
|
||||
val = fdt64_to_cpu(val);
|
||||
debug("%s: addr64=%llx, ptr=%p, cell=%p\n",
|
||||
__func__, val, p, &cell[i]);
|
||||
*(phys_addr_t *)p = val;
|
||||
} else {
|
||||
debug("%s: addr32=%x, ptr=%p\n",
|
||||
__func__, fdt32_to_cpu(cell[i]), p);
|
||||
*(phys_addr_t *)p = fdt32_to_cpu(cell[i]);
|
||||
}
|
||||
p += sizeof(phys_addr_t);
|
||||
i += address_cells;
|
||||
|
||||
debug("%s: pa=%p, i=%x, size=%zu\n", __func__, p, i,
|
||||
sizeof(phys_addr_t));
|
||||
|
||||
if (size_cells == 2) {
|
||||
vals = cell[i + 1];
|
||||
vals <<= 32;
|
||||
vals |= cell[i];
|
||||
vals = fdt64_to_cpu(vals);
|
||||
|
||||
debug("%s: size64=%llx, ptr=%p, cell=%p\n",
|
||||
__func__, vals, p, &cell[i]);
|
||||
*(phys_size_t *)p = vals;
|
||||
} else {
|
||||
debug("%s: size32=%x, ptr=%p\n",
|
||||
__func__, fdt32_to_cpu(cell[i]), p);
|
||||
*(phys_size_t *)p = fdt32_to_cpu(cell[i]);
|
||||
}
|
||||
p += sizeof(phys_size_t);
|
||||
i += size_cells;
|
||||
|
||||
debug("%s: ps=%p, i=%x, size=%zu\n",
|
||||
__func__, p, i, sizeof(phys_size_t));
|
||||
}
|
||||
|
||||
/* Return the first address size */
|
||||
return *(phys_size_t *)((char *)buf + sizeof(phys_addr_t));
|
||||
}
|
||||
|
||||
#define FDT_REG_SIZE sizeof(u32)
|
||||
/* Temp location for sharing data for storing */
|
||||
/* Up to 64-bit address + 64-bit size */
|
||||
static u8 tmp[CONFIG_NR_DRAM_BANKS * 16];
|
||||
|
||||
void dram_init_banksize(void)
|
||||
{
|
||||
int bank;
|
||||
|
||||
memcpy(&gd->bd->bi_dram[0], &tmp, sizeof(tmp));
|
||||
|
||||
for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) {
|
||||
debug("Bank #%d: start %llx\n", bank,
|
||||
(unsigned long long)gd->bd->bi_dram[bank].start);
|
||||
debug("Bank #%d: size %llx\n", bank,
|
||||
(unsigned long long)gd->bd->bi_dram[bank].size);
|
||||
}
|
||||
fdtdec_setup_memory_banksize();
|
||||
}
|
||||
|
||||
int dram_init(void)
|
||||
{
|
||||
int node, len;
|
||||
const void *blob = gd->fdt_blob;
|
||||
const u32 *cell;
|
||||
|
||||
memset(&tmp, 0, sizeof(tmp));
|
||||
|
||||
/* find or create "/memory" node. */
|
||||
node = fdt_subnode_offset(blob, 0, "memory");
|
||||
if (node < 0) {
|
||||
printf("%s: Can't get memory node\n", __func__);
|
||||
return node;
|
||||
}
|
||||
|
||||
/* Get pointer to cells and lenght of it */
|
||||
cell = fdt_getprop(blob, node, "reg", &len);
|
||||
if (!cell) {
|
||||
printf("%s: Can't get reg property\n", __func__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
gd->ram_size = fdt_get_reg(blob, node, &tmp, cell, len / FDT_REG_SIZE);
|
||||
|
||||
debug("%s: Initial DRAM size %llx\n", __func__, (u64)gd->ram_size);
|
||||
if (fdtdec_setup_memory_size() != 0)
|
||||
return -EINVAL;
|
||||
|
||||
zynq_ddrc_init();
|
||||
|
||||
|
||||
@@ -180,121 +180,15 @@ int zynq_board_read_rom_ethaddr(unsigned char *ethaddr)
|
||||
}
|
||||
|
||||
#if !defined(CONFIG_SYS_SDRAM_BASE) && !defined(CONFIG_SYS_SDRAM_SIZE)
|
||||
/*
|
||||
* fdt_get_reg - Fill buffer by information from DT
|
||||
*/
|
||||
static phys_size_t fdt_get_reg(const void *fdt, int nodeoffset, void *buf,
|
||||
const u32 *cell, int n)
|
||||
{
|
||||
int i = 0, b, banks;
|
||||
int parent_offset = fdt_parent_offset(fdt, nodeoffset);
|
||||
int address_cells = fdt_address_cells(fdt, parent_offset);
|
||||
int size_cells = fdt_size_cells(fdt, parent_offset);
|
||||
char *p = buf;
|
||||
u64 val;
|
||||
u64 vals;
|
||||
|
||||
debug("%s: addr_cells=%x, size_cell=%x, buf=%p, cell=%p\n",
|
||||
__func__, address_cells, size_cells, buf, cell);
|
||||
|
||||
/* Check memory bank setup */
|
||||
banks = n % (address_cells + size_cells);
|
||||
if (banks)
|
||||
panic("Incorrect memory setup cells=%d, ac=%d, sc=%d\n",
|
||||
n, address_cells, size_cells);
|
||||
|
||||
banks = n / (address_cells + size_cells);
|
||||
|
||||
for (b = 0; b < banks; b++) {
|
||||
debug("%s: Bank #%d:\n", __func__, b);
|
||||
if (address_cells == 2) {
|
||||
val = cell[i + 1];
|
||||
val <<= 32;
|
||||
val |= cell[i];
|
||||
val = fdt64_to_cpu(val);
|
||||
debug("%s: addr64=%llx, ptr=%p, cell=%p\n",
|
||||
__func__, val, p, &cell[i]);
|
||||
*(phys_addr_t *)p = val;
|
||||
} else {
|
||||
debug("%s: addr32=%x, ptr=%p\n",
|
||||
__func__, fdt32_to_cpu(cell[i]), p);
|
||||
*(phys_addr_t *)p = fdt32_to_cpu(cell[i]);
|
||||
}
|
||||
p += sizeof(phys_addr_t);
|
||||
i += address_cells;
|
||||
|
||||
debug("%s: pa=%p, i=%x, size=%zu\n", __func__, p, i,
|
||||
sizeof(phys_addr_t));
|
||||
|
||||
if (size_cells == 2) {
|
||||
vals = cell[i + 1];
|
||||
vals <<= 32;
|
||||
vals |= cell[i];
|
||||
vals = fdt64_to_cpu(vals);
|
||||
|
||||
debug("%s: size64=%llx, ptr=%p, cell=%p\n",
|
||||
__func__, vals, p, &cell[i]);
|
||||
*(phys_size_t *)p = vals;
|
||||
} else {
|
||||
debug("%s: size32=%x, ptr=%p\n",
|
||||
__func__, fdt32_to_cpu(cell[i]), p);
|
||||
*(phys_size_t *)p = fdt32_to_cpu(cell[i]);
|
||||
}
|
||||
p += sizeof(phys_size_t);
|
||||
i += size_cells;
|
||||
|
||||
debug("%s: ps=%p, i=%x, size=%zu\n",
|
||||
__func__, p, i, sizeof(phys_size_t));
|
||||
}
|
||||
|
||||
/* Return the first address size */
|
||||
return *(phys_size_t *)((char *)buf + sizeof(phys_addr_t));
|
||||
}
|
||||
|
||||
#define FDT_REG_SIZE sizeof(u32)
|
||||
/* Temp location for sharing data for storing */
|
||||
/* Up to 64-bit address + 64-bit size */
|
||||
static u8 tmp[CONFIG_NR_DRAM_BANKS * 16];
|
||||
|
||||
void dram_init_banksize(void)
|
||||
{
|
||||
int bank;
|
||||
|
||||
memcpy(&gd->bd->bi_dram[0], &tmp, sizeof(tmp));
|
||||
|
||||
for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) {
|
||||
debug("Bank #%d: start %llx\n", bank,
|
||||
(unsigned long long)gd->bd->bi_dram[bank].start);
|
||||
debug("Bank #%d: size %llx\n", bank,
|
||||
(unsigned long long)gd->bd->bi_dram[bank].size);
|
||||
}
|
||||
fdtdec_setup_memory_banksize();
|
||||
}
|
||||
|
||||
int dram_init(void)
|
||||
{
|
||||
int node, len;
|
||||
const void *blob = gd->fdt_blob;
|
||||
const u32 *cell;
|
||||
|
||||
memset(&tmp, 0, sizeof(tmp));
|
||||
|
||||
/* find or create "/memory" node. */
|
||||
node = fdt_subnode_offset(blob, 0, "memory");
|
||||
if (node < 0) {
|
||||
printf("%s: Can't get memory node\n", __func__);
|
||||
return node;
|
||||
}
|
||||
|
||||
/* Get pointer to cells and lenght of it */
|
||||
cell = fdt_getprop(blob, node, "reg", &len);
|
||||
if (!cell) {
|
||||
printf("%s: Can't get reg property\n", __func__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
gd->ram_size = fdt_get_reg(blob, node, &tmp, cell, len / FDT_REG_SIZE);
|
||||
|
||||
debug("%s: Initial DRAM size %llx\n", __func__, (u64)gd->ram_size);
|
||||
if (fdtdec_setup_memory_size() != 0)
|
||||
return -EINVAL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -311,17 +205,6 @@ void reset_cpu(ulong addr)
|
||||
{
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SCSI_AHCI_PLAT
|
||||
void scsi_init(void)
|
||||
{
|
||||
#if defined(CONFIG_SATA_CEVA)
|
||||
init_sata(0);
|
||||
#endif
|
||||
ahci_init((void __iomem *)ZYNQMP_SATA_BASEADDR);
|
||||
scsi_scan(1);
|
||||
}
|
||||
#endif
|
||||
|
||||
int board_late_init(void)
|
||||
{
|
||||
u32 reg = 0;
|
||||
|
||||
@@ -309,7 +309,7 @@ config CMD_MEMORY
|
||||
bool "md, mm, nm, mw, cp, cmp, base, loop"
|
||||
default y
|
||||
help
|
||||
Memeory commands.
|
||||
Memory commands.
|
||||
md - memory display
|
||||
mm - memory modify (auto-incrementing address)
|
||||
nm - memory modify (constant address)
|
||||
@@ -317,7 +317,7 @@ config CMD_MEMORY
|
||||
cp - memory copy
|
||||
cmp - memory compare
|
||||
base - print or set address offset
|
||||
loop - initinite loop on address range
|
||||
loop - initialize loop on address range
|
||||
|
||||
config CMD_CRC32
|
||||
bool "crc32"
|
||||
|
||||
@@ -136,7 +136,7 @@ static void netboot_update_env(void)
|
||||
}
|
||||
#if !defined(CONFIG_BOOTP_SERVERIP)
|
||||
/*
|
||||
* Only attempt to change serverip if net/bootp.c:BootpCopyNetParams()
|
||||
* Only attempt to change serverip if net/bootp.c:store_net_params()
|
||||
* could have set it
|
||||
*/
|
||||
if (net_server_ip.s_addr) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user