Merge git://git.denx.de/u-boot-fsl-qoriq
This commit is contained in:
commit
380e86f361
@ -786,6 +786,20 @@ config TARGET_LS2080ARDB
|
||||
development platform that supports the QorIQ LS2080A
|
||||
Layerscape Architecture processor.
|
||||
|
||||
config TARGET_LS2081ARDB
|
||||
bool "Support ls2081ardb"
|
||||
select ARCH_LS2080A
|
||||
select ARM64
|
||||
select ARMV8_MULTIENTRY
|
||||
select BOARD_LATE_INIT
|
||||
select SUPPORT_SPL
|
||||
select ARCH_MISC_INIT
|
||||
help
|
||||
Support for Freescale LS2081ARDB platform.
|
||||
The LS2081A Reference design board (RDB) is a high-performance
|
||||
development platform that supports the QorIQ LS2081A/LS2041A
|
||||
Layerscape Architecture processor.
|
||||
|
||||
config TARGET_HIKEY
|
||||
bool "Support HiKey 96boards Consumer Edition Platform"
|
||||
select ARM64
|
||||
|
@ -91,6 +91,7 @@ config PSCI_RESET
|
||||
!TARGET_LS1012ARDB && !TARGET_LS1012AFRDM && \
|
||||
!TARGET_LS1043ARDB && !TARGET_LS1043AQDS && \
|
||||
!TARGET_LS1046ARDB && !TARGET_LS1046AQDS && \
|
||||
!TARGET_LS2081ARDB && \
|
||||
!ARCH_UNIPHIER && !ARCH_SNAPDRAGON && !TARGET_S32V234EVB
|
||||
help
|
||||
Most armv8 systems have PSCI support enabled in EL3, either through
|
||||
|
@ -163,11 +163,12 @@ endchoice
|
||||
config SYS_LS_PPA_FW_ADDR
|
||||
hex "Address of PPA firmware loading from"
|
||||
depends on FSL_LS_PPA
|
||||
default 0x40500000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT
|
||||
default 0x580a00000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS2080A
|
||||
default 0x60500000 if SYS_LS_PPA_FW_IN_XIP
|
||||
default 0x500000 if SYS_LS_PPA_FW_IN_MMC
|
||||
default 0x500000 if SYS_LS_PPA_FW_IN_NAND
|
||||
default 0x20400000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT && ARCH_LS2080A
|
||||
default 0x40400000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT
|
||||
default 0x580400000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS2080A
|
||||
default 0x60400000 if SYS_LS_PPA_FW_IN_XIP
|
||||
default 0x400000 if SYS_LS_PPA_FW_IN_MMC
|
||||
default 0x400000 if SYS_LS_PPA_FW_IN_NAND
|
||||
|
||||
help
|
||||
If the PPA firmware locate at XIP flash, such as NOR or
|
||||
|
@ -1,4 +1,5 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
* Copyright 2014-2015 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
@ -98,7 +99,8 @@ static void fix_pcie_mmu_map(void)
|
||||
|
||||
/* Fix PCIE base and size for LS2088A */
|
||||
if ((ver == SVR_LS2088A) || (ver == SVR_LS2084A) ||
|
||||
(ver == SVR_LS2048A) || (ver == SVR_LS2044A)) {
|
||||
(ver == SVR_LS2048A) || (ver == SVR_LS2044A) ||
|
||||
(ver == SVR_LS2081A) || (ver == SVR_LS2041A)) {
|
||||
for (i = 0; i < ARRAY_SIZE(final_map); i++) {
|
||||
switch (final_map[i].phys) {
|
||||
case CONFIG_SYS_PCIE1_PHYS_ADDR:
|
||||
|
@ -5,6 +5,7 @@ SoC overview
|
||||
3. LS1012A
|
||||
4. LS1046A
|
||||
5. LS2088A
|
||||
6. LS2081A
|
||||
|
||||
LS1043A
|
||||
---------
|
||||
@ -227,3 +228,13 @@ LS2088A SoC has 3 more similar SoC personalities
|
||||
|
||||
3)LS2044A, few difference w.r.t. LS2084A:
|
||||
a) Four 64-bit ARM v8 Cortex-A72 CPUs
|
||||
|
||||
LS2081A
|
||||
--------
|
||||
LS2081A is 40-pin derivative of LS2084A.
|
||||
So feature-wise it is same as LS2084A.
|
||||
Refer to LS2084A(LS2088A) section above for details.
|
||||
|
||||
It has one more similar SoC personality
|
||||
1)LS2041A, few difference w.r.t. LS2081A:
|
||||
a) Four 64-bit ARM v8 Cortex-A72 CPUs
|
||||
|
@ -175,7 +175,9 @@ dtb-$(CONFIG_ARCH_LS1021A) += ls1021a-qds-duart.dtb \
|
||||
ls1021a-twr-duart.dtb ls1021a-twr-lpuart.dtb \
|
||||
ls1021a-iot-duart.dtb
|
||||
dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \
|
||||
fsl-ls2080a-rdb.dtb
|
||||
fsl-ls2080a-rdb.dtb \
|
||||
fsl-ls2081a-rdb.dtb \
|
||||
fsl-ls2088a-rdb-qspi.dtb
|
||||
dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \
|
||||
fsl-ls1043a-qds-lpuart.dtb \
|
||||
fsl-ls1043a-rdb.dtb \
|
||||
|
59
arch/arm/dts/fsl-ls2081a-rdb.dts
Normal file
59
arch/arm/dts/fsl-ls2081a-rdb.dts
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* NXP LS2081A RDB board device tree source for QSPI-boot
|
||||
*
|
||||
* Author: Priyanka Jain <priyanka.jain@nxp.com>
|
||||
*
|
||||
* Copyright 2017 NXP
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "fsl-ls2080a.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Freescale Layerscape 2081a RDB Board";
|
||||
compatible = "fsl,ls2081a-rdb", "fsl,ls2080a";
|
||||
|
||||
aliases {
|
||||
spi0 = &qspi;
|
||||
spi1 = &dspi;
|
||||
};
|
||||
};
|
||||
|
||||
&dspi {
|
||||
bus-num = <0>;
|
||||
status = "okay";
|
||||
|
||||
dflash0: n25q512a {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
spi-max-frequency = <3000000>;
|
||||
spi-cpol;
|
||||
spi-cpha;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&qspi {
|
||||
bus-num = <0>;
|
||||
status = "okay";
|
||||
|
||||
qflash0: n25q512a@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
spi-max-frequency = <50000000>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
qflash1: n25q512a@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
spi-max-frequency = <50000000>;
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
59
arch/arm/dts/fsl-ls2088a-rdb-qspi.dts
Normal file
59
arch/arm/dts/fsl-ls2088a-rdb-qspi.dts
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* NXP ls2080a RDB board device tree source for QSPI-boot
|
||||
*
|
||||
* Author: Priyanka Jain <priyanka.jain@nxp.com>
|
||||
*
|
||||
* Copyright 2017 NXP
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "fsl-ls2080a.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Freescale Layerscape 2080a RDB Board";
|
||||
compatible = "fsl,ls2080a-rdb", "fsl,ls2080a";
|
||||
|
||||
aliases {
|
||||
spi0 = &qspi;
|
||||
spi1 = &dspi;
|
||||
};
|
||||
};
|
||||
|
||||
&dspi {
|
||||
bus-num = <0>;
|
||||
status = "okay";
|
||||
|
||||
dflash0: n25q512a {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
spi-max-frequency = <3000000>;
|
||||
spi-cpol;
|
||||
spi-cpha;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&qspi {
|
||||
bus-num = <0>;
|
||||
status = "okay";
|
||||
|
||||
qflash0: s25fs512s@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
spi-max-frequency = <50000000>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
qflash1: s25fs512s@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
spi-max-frequency = <50000000>;
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
@ -1,4 +1,5 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
* Copyright 2014-2015, Freescale Semiconductor
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
@ -15,6 +16,8 @@ static struct cpu_type cpu_type_list[] = {
|
||||
CPU_TYPE_ENTRY(LS2084A, LS2084A, 8),
|
||||
CPU_TYPE_ENTRY(LS2048A, LS2048A, 4),
|
||||
CPU_TYPE_ENTRY(LS2044A, LS2044A, 4),
|
||||
CPU_TYPE_ENTRY(LS2081A, LS2081A, 8),
|
||||
CPU_TYPE_ENTRY(LS2041A, LS2041A, 4),
|
||||
CPU_TYPE_ENTRY(LS1043A, LS1043A, 4),
|
||||
CPU_TYPE_ENTRY(LS1023A, LS1023A, 2),
|
||||
CPU_TYPE_ENTRY(LS1046A, LS1046A, 4),
|
||||
|
@ -1,6 +1,7 @@
|
||||
/*
|
||||
* LayerScape Internal Memory Map
|
||||
*
|
||||
* Copyright (C) 2017 NXP Semiconductors
|
||||
* Copyright 2014 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
@ -45,6 +46,9 @@
|
||||
#define I2C2_BASE_ADDR (CONFIG_SYS_IMMR + 0x01010000)
|
||||
#define I2C3_BASE_ADDR (CONFIG_SYS_IMMR + 0x01020000)
|
||||
#define I2C4_BASE_ADDR (CONFIG_SYS_IMMR + 0x01030000)
|
||||
#define GPIO4_BASE_ADDR (CONFIG_SYS_IMMR + 0x01330000)
|
||||
#define GPIO4_GPDIR_ADDR (GPIO4_BASE_ADDR + 0x0)
|
||||
#define GPIO4_GPDAT_ADDR (GPIO4_BASE_ADDR + 0x8)
|
||||
|
||||
#define CONFIG_SYS_XHCI_USB1_ADDR (CONFIG_SYS_IMMR + 0x02100000)
|
||||
#define CONFIG_SYS_XHCI_USB2_ADDR (CONFIG_SYS_IMMR + 0x02110000)
|
||||
|
@ -1,4 +1,5 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
* Copyright 2015 Freescale Semiconductor
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
@ -54,6 +55,8 @@ struct cpu_type {
|
||||
#define SVR_LS2084A 0x870910
|
||||
#define SVR_LS2048A 0x870920
|
||||
#define SVR_LS2044A 0x870930
|
||||
#define SVR_LS2081A 0x870919
|
||||
#define SVR_LS2041A 0x870915
|
||||
|
||||
#define SVR_DEV_LS2080A 0x8701
|
||||
|
||||
|
@ -7,6 +7,6 @@
|
||||
obj-y += ddr.o
|
||||
obj-y += ls1043ardb.o
|
||||
ifndef CONFIG_SPL_BUILD
|
||||
obj-$(CONFIG_SYS_DPAA_FMAN) += eth.o
|
||||
obj-$(CONFIG_NET) += eth.o
|
||||
obj-y += cpld.o
|
||||
endif
|
||||
|
@ -7,6 +7,6 @@
|
||||
obj-y += ddr.o
|
||||
obj-y += ls1046ardb.o
|
||||
ifndef CONFIG_SPL_BUILD
|
||||
obj-$(CONFIG_SYS_DPAA_FMAN) += eth.o
|
||||
obj-$(CONFIG_NET) += eth.o
|
||||
obj-y += cpld.o
|
||||
endif
|
||||
|
@ -59,14 +59,14 @@ Start Address End Address Description Size
|
||||
QSPI flash map:
|
||||
Start Address End Address Description Size
|
||||
0x00_4000_0000 - 0x00_400F_FFFF RCW + PBI 1MB
|
||||
0x00_4010_0000 - 0x00_401F_FFFF U-Boot 1MB
|
||||
0x00_4020_0000 - 0x00_402F_FFFF U-Boot Env 1MB
|
||||
0x00_4030_0000 - 0x00_403F_FFFF FMan ucode 1MB
|
||||
0x00_4040_0000 - 0x00_404F_FFFF UEFI 1MB
|
||||
0x00_4050_0000 - 0x00_406F_FFFF PPA 2MB
|
||||
0x00_4070_0000 - 0x00_408F_FFFF Secure boot header
|
||||
+ bootscript 2MB
|
||||
0x00_4090_0000 - 0x00_40FF_FFFF Reserved 7MB
|
||||
0x00_4010_0000 - 0x00_402F_FFFF U-Boot 2MB
|
||||
0x00_4030_0000 - 0x00_403F_FFFF U-Boot Env 1MB
|
||||
0x00_4040_0000 - 0x00_405F_FFFF PPA 2MB
|
||||
0x00_4060_0000 - 0x00_408F_FFFF Secure boot header
|
||||
+ bootscript 3MB
|
||||
0x00_4090_0000 - 0x00_4093_FFFF FMan ucode 256KB
|
||||
0x00_4094_0000 - 0x00_4097_FFFF QE/uQE firmware 256KB
|
||||
0x00_4098_0000 - 0x00_40FF_FFFF Reserved 6MB
|
||||
0x00_4100_0000 - 0x00_43FF_FFFF FIT Image 48MB
|
||||
|
||||
Booting Options
|
||||
|
@ -89,6 +89,19 @@ c) NAND boot
|
||||
d) SD boot
|
||||
e) QSPI boot
|
||||
|
||||
Memory map for NOR boot
|
||||
-------------------------
|
||||
Image Flash Offset
|
||||
RCW+PBI 0x00000000
|
||||
Boot firmware (U-Boot) 0x00100000
|
||||
Boot firmware Environment 0x00300000
|
||||
PPA firmware 0x00400000
|
||||
Secure Headers 0x00600000
|
||||
DPAA2 MC 0x00A00000
|
||||
DPAA2 DPL 0x00D00000
|
||||
DPAA2 DPC 0x00E00000
|
||||
Kernel.itb 0x01000000
|
||||
|
||||
Environment Variables
|
||||
---------------------
|
||||
- mcboottimeout: MC boot timeout in milliseconds. If this variable is not defined
|
||||
|
@ -16,3 +16,21 @@ config SYS_CONFIG_NAME
|
||||
source "board/freescale/common/Kconfig"
|
||||
|
||||
endif
|
||||
|
||||
if TARGET_LS2081ARDB
|
||||
|
||||
config SYS_BOARD
|
||||
default "ls2080ardb"
|
||||
|
||||
config SYS_VENDOR
|
||||
default "freescale"
|
||||
|
||||
config SYS_SOC
|
||||
default "fsl-layerscape"
|
||||
|
||||
config SYS_CONFIG_NAME
|
||||
default "ls2080ardb"
|
||||
|
||||
source "board/freescale/common/Kconfig"
|
||||
|
||||
endif
|
||||
|
@ -7,6 +7,16 @@ F: include/configs/ls2080ardb.h
|
||||
F: configs/ls2080ardb_defconfig
|
||||
F: configs/ls2080ardb_nand_defconfig
|
||||
|
||||
LS2088A_QSPI-boot BOARD
|
||||
M: Priyanka Jain <priyanka.jain@nxp.com>
|
||||
S: Maintained
|
||||
F: configs/ls2088ardb_qspi_defconfig
|
||||
|
||||
LS2081ARDB BOARD
|
||||
M: Priyanka Jain <priyanka.jain@nxp.com>
|
||||
S: Maintained
|
||||
F: configs/ls2081ardb_defconfig
|
||||
|
||||
LS2080A_SECURE_BOOT BOARD
|
||||
M: Saksham Jain <saksham.jain@nxp.freescale.com>
|
||||
S: Maintained
|
||||
|
@ -4,10 +4,14 @@ The LS2080A Reference Design (RDB) is a high-performance computing,
|
||||
evaluation, and development platform that supports the QorIQ LS2080A, LS2088A
|
||||
Layerscape Architecture processor.
|
||||
|
||||
LS2080A, LS2088A SoC Overview
|
||||
--------------------
|
||||
The LS2081A Reference Design (RDB) is a high-performance computing,
|
||||
evaluation, and development platform that supports the QorIQ LS2081A
|
||||
Layerscape Architecture processor.More details in below sections
|
||||
|
||||
LS2080A, LS2088A, LS2081A SoC Overview
|
||||
--------------------------------------
|
||||
Please refer arch/arm/cpu/armv8/fsl-layerscape/doc/README.soc for LS2080A,
|
||||
LS2088A SoC overview.
|
||||
LS2081A, LS2088A SoC overview.
|
||||
|
||||
LS2080ARDB board Overview
|
||||
-----------------------
|
||||
@ -38,11 +42,22 @@ LS2088A SoC overview.
|
||||
- UART
|
||||
- ARM JTAG support
|
||||
|
||||
LS2081ARDB board Overview
|
||||
-------------------------
|
||||
LS2081ARDB board is similar to LS2080ARDB board
|
||||
with few differences like
|
||||
- Hosts LS2081A SoC
|
||||
- Default boot source is QSPI-boot
|
||||
- Does not have IFC interface
|
||||
- RTC and QSPI flash devices are different
|
||||
- Provides QIXIS access via I2C
|
||||
|
||||
Memory map from core's view
|
||||
----------------------------
|
||||
0x00_0000_0000 .. 0x00_000F_FFFF Boot Rom
|
||||
0x00_0100_0000 .. 0x00_0FFF_FFFF CCSR
|
||||
0x00_1800_0000 .. 0x00_181F_FFFF OCRAM
|
||||
0x00_2000_0000 .. 0x00_2FFF_FFFF QSPI region #1
|
||||
0x00_3000_0000 .. 0x00_3FFF_FFFF IFC region #1
|
||||
0x00_8000_0000 .. 0x00_FFFF_FFFF DDR region #1
|
||||
0x05_1000_0000 .. 0x05_FFFF_FFFF IFC region #2
|
||||
@ -68,6 +83,45 @@ Booting Options
|
||||
---------------
|
||||
a) NOR boot
|
||||
b) NAND boot
|
||||
c) QSPI boot
|
||||
|
||||
Memory map for NOR boot
|
||||
-------------------------
|
||||
Image Flash Offset
|
||||
RCW+PBI 0x00000000
|
||||
Boot firmware (U-Boot) 0x00100000
|
||||
Boot firmware Environment 0x00300000
|
||||
PPA firmware 0x00400000
|
||||
Secure Headers 0x00600000
|
||||
Cortina PHY firmware 0x00980000
|
||||
DPAA2 MC 0x00A00000
|
||||
DPAA2 DPL 0x00D00000
|
||||
DPAA2 DPC 0x00E00000
|
||||
Kernel.itb 0x01000000
|
||||
|
||||
cfg_rcw_src switches needs to be changed for booting from different option.
|
||||
Refer to board documentation for correct switch setting.
|
||||
|
||||
QSPI boot details
|
||||
===================
|
||||
Supported only for
|
||||
LS2088ARDB RevF board with LS2088A SoC.
|
||||
|
||||
Images needs to be copied to QSPI flash
|
||||
as per memory map given below.
|
||||
|
||||
Memory map for QSPI flash
|
||||
-------------------------
|
||||
Image Flash Offset
|
||||
RCW+PBI 0x00000000
|
||||
Boot firmware (U-Boot) 0x00100000
|
||||
Boot firmware Environment 0x00300000
|
||||
PPA firmware 0x00400000
|
||||
Cortina PHY firmware 0x00980000
|
||||
DPAA2 MC 0x00A00000
|
||||
DPAA2 DPL 0x00D00000
|
||||
DPAA2 DPC 0x00E00000
|
||||
Kernel.itb 0x01000000
|
||||
|
||||
Booting Linux flavors which do not support 48-bit VA (< Linux 3.18)
|
||||
-------------------------------------------------------------------
|
||||
|
@ -1,4 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2017 NXP Semiconductors
|
||||
* Copyright 2015 Freescale Semiconductor
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
@ -22,8 +23,10 @@
|
||||
#include <asm/arch/ppa.h>
|
||||
#include <fsl_sec.h>
|
||||
|
||||
#ifdef CONFIG_FSL_QIXIS
|
||||
#include "../common/qixis.h"
|
||||
#include "ls2080ardb_qixis.h"
|
||||
#endif
|
||||
#include "../common/vid.h"
|
||||
|
||||
#define PIN_MUX_SEL_SDHC 0x00
|
||||
@ -57,12 +60,53 @@ unsigned long long get_qixis_addr(void)
|
||||
|
||||
int checkboard(void)
|
||||
{
|
||||
#ifdef CONFIG_FSL_QIXIS
|
||||
u8 sw;
|
||||
#endif
|
||||
char buf[15];
|
||||
|
||||
cpu_name(buf);
|
||||
printf("Board: %s-RDB, ", buf);
|
||||
|
||||
#ifdef CONFIG_TARGET_LS2081ARDB
|
||||
#ifdef CONFIG_FSL_QIXIS
|
||||
sw = QIXIS_READ(arch);
|
||||
printf("Board Arch: V%d, ", sw >> 4);
|
||||
printf("Board version: %c, ", (sw & 0xf) + 'A');
|
||||
|
||||
sw = QIXIS_READ(brdcfg[0]);
|
||||
sw = (sw & QIXIS_QMAP_MASK) >> QIXIS_QMAP_SHIFT;
|
||||
switch (sw) {
|
||||
case 0:
|
||||
puts("boot from QSPI DEV#0\n");
|
||||
puts("QSPI_CSA_1 mapped to QSPI DEV#1\n");
|
||||
break;
|
||||
case 1:
|
||||
puts("boot from QSPI DEV#1\n");
|
||||
puts("QSPI_CSA_1 mapped to QSPI DEV#0\n");
|
||||
break;
|
||||
case 2:
|
||||
puts("boot from QSPI EMU\n");
|
||||
puts("QSPI_CSA_1 mapped to QSPI DEV#0\n");
|
||||
break;
|
||||
case 3:
|
||||
puts("boot from QSPI EMU\n");
|
||||
puts("QSPI_CSA_1 mapped to QSPI DEV#1\n");
|
||||
break;
|
||||
case 4:
|
||||
puts("boot from QSPI DEV#0\n");
|
||||
puts("QSPI_CSA_1 mapped to QSPI EMU\n");
|
||||
break;
|
||||
default:
|
||||
printf("invalid setting of SW%u\n", sw);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
puts("SERDES1 Reference : ");
|
||||
printf("Clock1 = 100MHz ");
|
||||
printf("Clock2 = 161.13MHz");
|
||||
#else
|
||||
#ifdef CONFIG_FSL_QIXIS
|
||||
sw = QIXIS_READ(arch);
|
||||
printf("Board Arch: V%d, ", sw >> 4);
|
||||
printf("Board version: %c, boot from ", (sw & 0xf) + 'A');
|
||||
@ -78,10 +122,11 @@ int checkboard(void)
|
||||
printf("invalid setting of SW%u\n", QIXIS_LBMAP_SWITCH);
|
||||
|
||||
printf("FPGA: v%d.%d\n", QIXIS_READ(scver), QIXIS_READ(tagdata));
|
||||
|
||||
#endif
|
||||
puts("SERDES1 Reference : ");
|
||||
printf("Clock1 = 156.25MHz ");
|
||||
printf("Clock2 = 156.25MHz");
|
||||
#endif
|
||||
|
||||
puts("\nSERDES2 Reference : ");
|
||||
printf("Clock1 = 100MHz ");
|
||||
@ -92,6 +137,7 @@ int checkboard(void)
|
||||
|
||||
unsigned long get_board_sys_clk(void)
|
||||
{
|
||||
#ifdef CONFIG_FSL_QIXIS
|
||||
u8 sysclk_conf = QIXIS_READ(brdcfg[1]);
|
||||
|
||||
switch (sysclk_conf & 0x0F) {
|
||||
@ -110,7 +156,8 @@ unsigned long get_board_sys_clk(void)
|
||||
case QIXIS_SYSCLK_166:
|
||||
return 166666666;
|
||||
}
|
||||
return 66666666;
|
||||
#endif
|
||||
return 100000000;
|
||||
}
|
||||
|
||||
int select_i2c_ch_pca9547(u8 ch)
|
||||
@ -133,6 +180,7 @@ int i2c_multiplexer_select_vid_channel(u8 channel)
|
||||
|
||||
int config_board_mux(int ctrl_type)
|
||||
{
|
||||
#ifdef CONFIG_FSL_QIXIS
|
||||
u8 reg5;
|
||||
|
||||
reg5 = QIXIS_READ(brdcfg[5]);
|
||||
@ -150,7 +198,7 @@ int config_board_mux(int ctrl_type)
|
||||
}
|
||||
|
||||
QIXIS_WRITE(brdcfg[5], reg5);
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -180,8 +228,9 @@ int board_init(void)
|
||||
#endif
|
||||
select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT);
|
||||
|
||||
#ifdef CONFIG_FSL_QIXIS
|
||||
QIXIS_WRITE(rst_ctl, QIXIS_RST_CTL_RESET_EN);
|
||||
|
||||
#endif
|
||||
#ifdef CONFIG_FSL_LS_PPA
|
||||
ppa_init();
|
||||
#endif
|
||||
@ -199,12 +248,40 @@ int board_init(void)
|
||||
|
||||
int board_early_init_f(void)
|
||||
{
|
||||
#ifdef CONFIG_SYS_I2C_EARLY_INIT
|
||||
i2c_early_init_f();
|
||||
#endif
|
||||
fsl_lsch3_early_init_f();
|
||||
return 0;
|
||||
}
|
||||
|
||||
int misc_init_r(void)
|
||||
{
|
||||
#ifdef CONFIG_FSL_QIXIS
|
||||
/*
|
||||
* LS2081ARDB has smart voltage translator which needs
|
||||
* to be programmed as below
|
||||
*/
|
||||
#ifndef CONFIG_TARGET_LS2081ARDB
|
||||
u8 sw;
|
||||
|
||||
sw = QIXIS_READ(arch);
|
||||
/*
|
||||
* LS2080ARDB/LS2088ARDB RevF board has smart voltage translator
|
||||
* which needs to be programmed to enable high speed SD interface
|
||||
* by setting GPIO4_10 output to zero
|
||||
*/
|
||||
if ((sw & 0xf) == 0x5) {
|
||||
#endif
|
||||
out_le32(GPIO4_GPDIR_ADDR, (1 << 21 |
|
||||
in_le32(GPIO4_GPDIR_ADDR)));
|
||||
out_le32(GPIO4_GPDAT_ADDR, (~(1 << 21) &
|
||||
in_le32(GPIO4_GPDAT_ADDR)));
|
||||
#ifndef CONFIG_TARGET_LS2081ARDB
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
if (hwconfig("sdhc"))
|
||||
config_board_mux(MUX_TYPE_SDHC);
|
||||
|
||||
@ -301,6 +378,7 @@ int ft_board_setup(void *blob, bd_t *bd)
|
||||
|
||||
void qixis_dump_switch(void)
|
||||
{
|
||||
#ifdef CONFIG_FSL_QIXIS
|
||||
int i, nr_of_cfgsw;
|
||||
|
||||
QIXIS_WRITE(cms[0], 0x00);
|
||||
@ -311,6 +389,7 @@ void qixis_dump_switch(void)
|
||||
QIXIS_WRITE(cms[0], i);
|
||||
printf("SW%d = (0x%02x)\n", i, QIXIS_READ(cms[1]));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@ -321,6 +400,8 @@ void update_spd_address(unsigned int ctrl_num,
|
||||
unsigned int slot,
|
||||
unsigned int *addr)
|
||||
{
|
||||
#ifndef CONFIG_TARGET_LS2081ARDB
|
||||
#ifdef CONFIG_FSL_QIXIS
|
||||
u8 sw;
|
||||
|
||||
sw = QIXIS_READ(arch);
|
||||
@ -330,4 +411,6 @@ void update_spd_address(unsigned int ctrl_num,
|
||||
else if (ctrl_num == 1 && slot == 1)
|
||||
*addr = SPD_EEPROM_ADDRESS3;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
46
configs/ls2081ardb_defconfig
Normal file
46
configs/ls2081ardb_defconfig
Normal file
@ -0,0 +1,46 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_TARGET_LS2081ARDB=y
|
||||
CONFIG_FSL_LS_PPA=y
|
||||
CONFIG_QSPI_AHB_INIT=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="fsl-ls2081a-rdb"
|
||||
# CONFIG_SYS_MALLOC_F is not set
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||
CONFIG_QSPI_BOOT=y
|
||||
CONFIG_BOOTDELAY=10
|
||||
CONFIG_CMD_GREPENV=y
|
||||
# CONFIG_CMD_IMLS is not set
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_SF=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_DHCP=y
|
||||
CONFIG_CMD_MII=y
|
||||
CONFIG_CMD_PING=y
|
||||
CONFIG_CMD_CACHE=y
|
||||
CONFIG_CMD_EXT2=y
|
||||
CONFIG_CMD_FAT=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_DM=y
|
||||
CONFIG_FSL_CAAM=y
|
||||
CONFIG_DM_SPI_FLASH=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_E1000=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_DM_PCI=y
|
||||
CONFIG_DM_PCI_COMPAT=y
|
||||
CONFIG_PCIE_LAYERSCAPE=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_DM_SPI=y
|
||||
CONFIG_FSL_QSPI=y
|
||||
CONFIG_FSL_DSPI=y
|
||||
CONFIG_CMD_USB=y
|
||||
# CONFIG_CMD_SETEXPR is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_DM_USB=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_XHCI_DWC3=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
|
46
configs/ls2088ardb_qspi_defconfig
Normal file
46
configs/ls2088ardb_qspi_defconfig
Normal file
@ -0,0 +1,46 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_TARGET_LS2080ARDB=y
|
||||
CONFIG_FSL_LS_PPA=y
|
||||
CONFIG_QSPI_AHB_INIT=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="fsl-ls2088a-rdb-qspi"
|
||||
# CONFIG_SYS_MALLOC_F is not set
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_OF_STDOUT_VIA_ALIAS=y
|
||||
CONFIG_QSPI_BOOT=y
|
||||
CONFIG_BOOTDELAY=10
|
||||
CONFIG_CMD_GREPENV=y
|
||||
# CONFIG_CMD_IMLS is not set
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_SF=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_DHCP=y
|
||||
CONFIG_CMD_MII=y
|
||||
CONFIG_CMD_PING=y
|
||||
CONFIG_CMD_CACHE=y
|
||||
CONFIG_CMD_EXT2=y
|
||||
CONFIG_CMD_FAT=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_DM=y
|
||||
CONFIG_FSL_CAAM=y
|
||||
CONFIG_DM_SPI_FLASH=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_E1000=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_DM_PCI=y
|
||||
CONFIG_DM_PCI_COMPAT=y
|
||||
CONFIG_PCIE_LAYERSCAPE=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_DM_SPI=y
|
||||
CONFIG_FSL_QSPI=y
|
||||
CONFIG_FSL_DSPI=y
|
||||
CONFIG_CMD_USB=y
|
||||
# CONFIG_CMD_SETEXPR is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_DM_USB=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_XHCI_DWC3=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
|
@ -1,4 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2017 NXP Semiconductors
|
||||
* Copyright (C) 2014 Freescale Semiconductor
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
@ -1201,6 +1202,7 @@ err:
|
||||
int fsl_mc_ldpaa_exit(bd_t *bd)
|
||||
{
|
||||
int err = 0;
|
||||
bool is_dpl_apply_status = false;
|
||||
|
||||
if (bd && mc_lazy_dpl_addr && !fsl_mc_ldpaa_exit(NULL)) {
|
||||
mc_apply_dpl(mc_lazy_dpl_addr);
|
||||
@ -1211,14 +1213,18 @@ int fsl_mc_ldpaa_exit(bd_t *bd)
|
||||
if (bd && get_mc_boot_status() != 0)
|
||||
return 0;
|
||||
|
||||
if (bd && !get_mc_boot_status() && get_dpl_apply_status() == -1) {
|
||||
printf("ERROR: fsl-mc: DPL is not applied\n");
|
||||
err = -ENODEV;
|
||||
return err;
|
||||
}
|
||||
/* If DPL is deployed, set is_dpl_apply_status as TRUE. */
|
||||
if (!get_dpl_apply_status())
|
||||
is_dpl_apply_status = true;
|
||||
|
||||
if (bd && !get_mc_boot_status() && !get_dpl_apply_status())
|
||||
return err;
|
||||
/*
|
||||
* For case MC is loaded but DPL is not deployed, return success and
|
||||
* print message on console. Else FDT fix-up code execution hanged.
|
||||
*/
|
||||
if (bd && !get_mc_boot_status() && !is_dpl_apply_status) {
|
||||
printf("fsl-mc: DPL not deployed, DPAA2 ethernet not work\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
err = dpbp_exit();
|
||||
if (err < 0) {
|
||||
|
@ -1,4 +1,5 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
* Copyright 2014-2015 Freescale Semiconductor, Inc.
|
||||
* Layerscape PCIe driver
|
||||
*
|
||||
@ -170,7 +171,8 @@ static void ls_pcie_setup_atu(struct ls_pcie *pcie)
|
||||
/* Fix the pcie memory map for LS2088A series SoCs */
|
||||
svr = (svr >> SVR_VAR_PER_SHIFT) & 0xFFFFFE;
|
||||
if (svr == SVR_LS2088A || svr == SVR_LS2084A ||
|
||||
svr == SVR_LS2048A || svr == SVR_LS2044A) {
|
||||
svr == SVR_LS2048A || svr == SVR_LS2044A ||
|
||||
svr == SVR_LS2081A || svr == SVR_LS2041A) {
|
||||
if (io)
|
||||
io->phys_start = (io->phys_start &
|
||||
(PCIE_PHYS_SIZE - 1)) +
|
||||
@ -531,7 +533,8 @@ static int ls_pcie_probe(struct udevice *dev)
|
||||
svr = get_svr();
|
||||
svr = (svr >> SVR_VAR_PER_SHIFT) & 0xFFFFFE;
|
||||
if (svr == SVR_LS2088A || svr == SVR_LS2084A ||
|
||||
svr == SVR_LS2048A || svr == SVR_LS2044A) {
|
||||
svr == SVR_LS2048A || svr == SVR_LS2044A ||
|
||||
svr == SVR_LS2081A || svr == SVR_LS2041A) {
|
||||
pcie->cfg_res.start = LS2088A_PCIE1_PHYS_ADDR +
|
||||
LS2088A_PCIE_PHYS_SIZE * pcie->idx;
|
||||
pcie->ctrl = pcie->lut + 0x40000;
|
||||
|
@ -1,4 +1,5 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
* Copyright 2014-2015 Freescale Semiconductor, Inc.
|
||||
* Layerscape PCIe driver
|
||||
*
|
||||
@ -117,6 +118,8 @@
|
||||
#define SVR_LS2084A 0x870910
|
||||
#define SVR_LS2048A 0x870920
|
||||
#define SVR_LS2044A 0x870930
|
||||
#define SVR_LS2081A 0x870919
|
||||
#define SVR_LS2041A 0x870915
|
||||
|
||||
/* LS1021a PCIE space */
|
||||
#define LS1021_PCIE_SPACE_OFFSET 0x4000000000ULL
|
||||
|
@ -1,4 +1,5 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
* Copyright 2014-2015 Freescale Semiconductor, Inc.
|
||||
* Layerscape PCIe driver
|
||||
*
|
||||
@ -82,7 +83,8 @@ static void fdt_pcie_set_msi_map_entry(void *blob, struct ls_pcie *pcie,
|
||||
#ifdef CONFIG_FSL_PCIE_COMPAT /* Compatible with older version of dts node */
|
||||
svr = (get_svr() >> SVR_VAR_PER_SHIFT) & 0xFFFFFE;
|
||||
if (svr == SVR_LS2088A || svr == SVR_LS2084A ||
|
||||
svr == SVR_LS2048A || svr == SVR_LS2044A)
|
||||
svr == SVR_LS2048A || svr == SVR_LS2044A ||
|
||||
svr == SVR_LS2081A || svr == SVR_LS2041A)
|
||||
compat = "fsl,ls2088a-pcie";
|
||||
else
|
||||
compat = CONFIG_FSL_PCIE_COMPAT;
|
||||
@ -217,7 +219,8 @@ static void ft_pcie_ls_setup(void *blob, struct ls_pcie *pcie)
|
||||
#ifdef CONFIG_FSL_PCIE_COMPAT /* Compatible with older version of dts node */
|
||||
svr = (get_svr() >> SVR_VAR_PER_SHIFT) & 0xFFFFFE;
|
||||
if (svr == SVR_LS2088A || svr == SVR_LS2084A ||
|
||||
svr == SVR_LS2048A || svr == SVR_LS2044A)
|
||||
svr == SVR_LS2048A || svr == SVR_LS2044A ||
|
||||
svr == SVR_LS2081A || svr == SVR_LS2041A)
|
||||
compat = "fsl,ls2088a-pcie";
|
||||
else
|
||||
compat = CONFIG_FSL_PCIE_COMPAT;
|
||||
|
@ -40,7 +40,8 @@ __weak int __board_usb_init(int index, enum usb_init_type init)
|
||||
|
||||
static int erratum_a008751(void)
|
||||
{
|
||||
#if defined(CONFIG_TARGET_LS2080AQDS) || defined(CONFIG_TARGET_LS2080ARDB)
|
||||
#if defined(CONFIG_TARGET_LS2080AQDS) || defined(CONFIG_TARGET_LS2080ARDB) ||\
|
||||
defined(CONFIG_TARGET_LS2080AQDS)
|
||||
u32 __iomem *scfg = (u32 __iomem *)SCFG_BASE;
|
||||
writel(SCFG_USB3PRM1CR_INIT, scfg + SCFG_USB3PRM1CR / 4);
|
||||
return 0;
|
||||
|
@ -55,9 +55,8 @@
|
||||
#define CONFIG_FSL_QSPI
|
||||
#define QSPI0_AMBA_BASE 0x40000000
|
||||
#define CONFIG_SPI_FLASH_SPANSION
|
||||
#define CONFIG_SPI_FLASH_BAR
|
||||
|
||||
#define FSL_QSPI_FLASH_SIZE (1 << 24)
|
||||
#define FSL_QSPI_FLASH_SIZE SZ_64M
|
||||
#define FSL_QSPI_FLASH_NUM 2
|
||||
|
||||
/*
|
||||
|
@ -69,7 +69,7 @@ unsigned long get_board_ddr_clk(void);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_QSPI_BOOT
|
||||
#define CONFIG_SYS_TEXT_BASE 0x40010000
|
||||
#define CONFIG_SYS_TEXT_BASE 0x40100000
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_NAND_BOOT
|
||||
@ -497,7 +497,7 @@ unsigned long get_board_ddr_clk(void);
|
||||
#define CONFIG_FSL_DEVICE_DISABLE
|
||||
|
||||
|
||||
#define CONFIG_SYS_QE_FW_ADDR 0x600c0000
|
||||
#define CONFIG_SYS_QE_FW_ADDR 0x60940000
|
||||
|
||||
#ifdef CONFIG_LPUART
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
@ -548,14 +548,14 @@ unsigned long get_board_ddr_clk(void);
|
||||
#define CONFIG_ENV_OVERWRITE
|
||||
|
||||
#if defined(CONFIG_SD_BOOT)
|
||||
#define CONFIG_ENV_OFFSET 0x100000
|
||||
#define CONFIG_ENV_OFFSET 0x300000
|
||||
#define CONFIG_ENV_IS_IN_MMC
|
||||
#define CONFIG_SYS_MMC_ENV_DEV 0
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#elif defined(CONFIG_QSPI_BOOT)
|
||||
#define CONFIG_ENV_IS_IN_SPI_FLASH
|
||||
#define CONFIG_ENV_SIZE 0x2000 /* 8KB */
|
||||
#define CONFIG_ENV_OFFSET 0x100000 /* 1MB */
|
||||
#define CONFIG_ENV_OFFSET 0x300000 /* 3MB */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000
|
||||
#elif defined(CONFIG_NAND_BOOT)
|
||||
#define CONFIG_ENV_IS_IN_NAND
|
||||
@ -563,7 +563,7 @@ unsigned long get_board_ddr_clk(void);
|
||||
#define CONFIG_ENV_OFFSET (10 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||
#else
|
||||
#define CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE)
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x300000)
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K (one sector) */
|
||||
#endif
|
||||
|
@ -132,7 +132,7 @@
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_QSPI_BOOT
|
||||
#define CONFIG_SYS_TEXT_BASE 0x40010000
|
||||
#define CONFIG_SYS_TEXT_BASE 0x40100000
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_SYS_TEXT_BASE
|
||||
@ -408,7 +408,7 @@
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_QE_FW_ADDR 0x600c0000
|
||||
#define CONFIG_SYS_QE_FW_ADDR 0x60940000
|
||||
|
||||
/*
|
||||
* Environment
|
||||
@ -416,18 +416,18 @@
|
||||
#define CONFIG_ENV_OVERWRITE
|
||||
|
||||
#if defined(CONFIG_SD_BOOT)
|
||||
#define CONFIG_ENV_OFFSET 0x100000
|
||||
#define CONFIG_ENV_OFFSET 0x300000
|
||||
#define CONFIG_ENV_IS_IN_MMC
|
||||
#define CONFIG_SYS_MMC_ENV_DEV 0
|
||||
#define CONFIG_ENV_SIZE 0x20000
|
||||
#elif defined(CONFIG_QSPI_BOOT)
|
||||
#define CONFIG_ENV_IS_IN_SPI_FLASH
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#define CONFIG_ENV_OFFSET 0x100000
|
||||
#define CONFIG_ENV_OFFSET 0x300000
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000
|
||||
#else
|
||||
#define CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE)
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x300000)
|
||||
#define CONFIG_ENV_SIZE 0x20000
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K (one sector) */
|
||||
#endif
|
||||
|
@ -205,20 +205,20 @@
|
||||
#define CONFIG_SYS_FM_MURAM_SIZE 0x60000
|
||||
|
||||
#ifdef CONFIG_NAND_BOOT
|
||||
/* Store Fman ucode at offeset 0x160000(11 blocks). */
|
||||
/* Store Fman ucode at offeset 0x900000(72 blocks). */
|
||||
#define CONFIG_SYS_QE_FMAN_FW_IN_NAND
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR (11 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR (72 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||
#elif defined(CONFIG_SD_BOOT)
|
||||
/*
|
||||
* PBL SD boot image should stored at 0x1000(8 blocks), the size of the image is
|
||||
* about 1MB (2040 blocks), Env is stored after the image, and the env size is
|
||||
* 0x2000 (16 blocks), 8 + 2040 + 16 = 2064, enlarge it to 2080(0x820).
|
||||
* 0x2000 (16 blocks), 8 + 2040 + 16 = 2064, enlarge it to 18432(0x4800).
|
||||
*/
|
||||
#define CONFIG_SYS_QE_FMAN_FW_IN_MMC
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR (512 * 0x820)
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR (512 * 0x4800)
|
||||
#elif defined(CONFIG_QSPI_BOOT)
|
||||
#define CONFIG_SYS_QE_FW_IN_SPIFLASH
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR 0x400d0000
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR 0x40900000
|
||||
#define CONFIG_ENV_SPI_BUS 0
|
||||
#define CONFIG_ENV_SPI_CS 0
|
||||
#define CONFIG_ENV_SPI_MAX_HZ 1000000
|
||||
@ -226,7 +226,7 @@
|
||||
#else
|
||||
#define CONFIG_SYS_QE_FMAN_FW_IN_NOR
|
||||
/* FMan fireware Pre-load address */
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR 0x60300000
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR 0x60900000
|
||||
#endif
|
||||
#define CONFIG_SYS_QE_FMAN_FW_LENGTH 0x10000
|
||||
#define CONFIG_SYS_FDT_PAD (0x3000 + CONFIG_SYS_QE_FMAN_FW_LENGTH)
|
||||
|
@ -12,7 +12,7 @@
|
||||
#if defined(CONFIG_NAND_BOOT) || defined(CONFIG_SD_BOOT)
|
||||
#define CONFIG_SYS_TEXT_BASE 0x82000000
|
||||
#elif defined(CONFIG_QSPI_BOOT)
|
||||
#define CONFIG_SYS_TEXT_BASE 0x40010000
|
||||
#define CONFIG_SYS_TEXT_BASE 0x40100000
|
||||
#else
|
||||
#define CONFIG_SYS_TEXT_BASE 0x60100000
|
||||
#endif
|
||||
@ -413,20 +413,20 @@ unsigned long get_board_ddr_clk(void);
|
||||
#ifdef CONFIG_NAND_BOOT
|
||||
#define CONFIG_ENV_IS_IN_NAND
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#define CONFIG_ENV_OFFSET (10 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||
#define CONFIG_ENV_OFFSET (24 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||
#elif defined(CONFIG_SD_BOOT)
|
||||
#define CONFIG_ENV_OFFSET (1024 * 1024)
|
||||
#define CONFIG_ENV_OFFSET (3 * 1024 * 1024)
|
||||
#define CONFIG_ENV_IS_IN_MMC
|
||||
#define CONFIG_SYS_MMC_ENV_DEV 0
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#elif defined(CONFIG_QSPI_BOOT)
|
||||
#define CONFIG_ENV_IS_IN_SPI_FLASH
|
||||
#define CONFIG_ENV_SIZE 0x2000 /* 8KB */
|
||||
#define CONFIG_ENV_OFFSET 0x100000 /* 1MB */
|
||||
#define CONFIG_ENV_OFFSET 0x300000 /* 3MB */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000
|
||||
#else
|
||||
#define CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x200000)
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x300000)
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000
|
||||
#define CONFIG_ENV_SIZE 0x20000
|
||||
#endif
|
||||
|
@ -235,31 +235,34 @@
|
||||
#if defined(CONFIG_NAND_BOOT)
|
||||
#define CONFIG_ENV_IS_IN_NAND
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#define CONFIG_ENV_OFFSET (10 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||
#define CONFIG_ENV_OFFSET (24 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||
#elif defined(CONFIG_SD_BOOT)
|
||||
#define CONFIG_ENV_OFFSET (1024 * 1024)
|
||||
#define CONFIG_ENV_OFFSET (3 * 1024 * 1024)
|
||||
#define CONFIG_ENV_IS_IN_MMC
|
||||
#define CONFIG_SYS_MMC_ENV_DEV 0
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#else
|
||||
#define CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x200000)
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x300000)
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000
|
||||
#define CONFIG_ENV_SIZE 0x20000
|
||||
#endif
|
||||
|
||||
/* FMan */
|
||||
#ifndef SPL_NO_FMAN
|
||||
#ifdef CONFIG_SYS_DPAA_FMAN
|
||||
#define CONFIG_FMAN_ENET
|
||||
#define CONFIG_PHYLIB
|
||||
#define CONFIG_PHYLIB_10G
|
||||
#define CONFIG_PHY_GIGE /* Include GbE speed/duplex detection */
|
||||
#define AQR105_IRQ_MASK 0x40000000
|
||||
|
||||
#ifdef CONFIG_NET
|
||||
#define CONFIG_PHYLIB
|
||||
#define CONFIG_PHY_GIGE /* Include GbE speed/duplex detection */
|
||||
#define CONFIG_PHY_VITESSE
|
||||
#define CONFIG_PHY_REALTEK
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SYS_DPAA_FMAN
|
||||
#define CONFIG_FMAN_ENET
|
||||
#define CONFIG_PHYLIB_10G
|
||||
#define CONFIG_PHY_AQUANTIA
|
||||
#define AQR105_IRQ_MASK 0x40000000
|
||||
|
||||
#define RGMII_PHY1_ADDR 0x1
|
||||
#define RGMII_PHY2_ADDR 0x2
|
||||
@ -281,7 +284,7 @@
|
||||
!defined(CONFIG_QSPI_BOOT)
|
||||
#define CONFIG_U_QE
|
||||
#endif
|
||||
#define CONFIG_SYS_QE_FW_ADDR 0x60600000
|
||||
#define CONFIG_SYS_QE_FW_ADDR 0x60940000
|
||||
#endif
|
||||
|
||||
/* USB */
|
||||
|
@ -138,6 +138,16 @@
|
||||
#define CONFIG_SYS_I2C_MXC_I2C3
|
||||
#define CONFIG_SYS_I2C_MXC_I2C4
|
||||
|
||||
/* PCIe */
|
||||
#define CONFIG_PCIE1 /* PCIE controller 1 */
|
||||
#define CONFIG_PCIE2 /* PCIE controller 2 */
|
||||
#define CONFIG_PCIE3 /* PCIE controller 3 */
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
#define CONFIG_PCI_SCAN_SHOW
|
||||
#define CONFIG_CMD_PCI
|
||||
#endif
|
||||
|
||||
/* Command line configuration */
|
||||
|
||||
/* MMC */
|
||||
@ -163,23 +173,23 @@
|
||||
/*
|
||||
* PBL SD boot image should stored at 0x1000(8 blocks), the size of the image is
|
||||
* about 1MB (2048 blocks), Env is stored after the image, and the env size is
|
||||
* 0x2000 (16 blocks), 8 + 2048 + 16 = 2072, enlarge it to 2080(0x820).
|
||||
* 0x2000 (16 blocks), 8 + 2048 + 16 = 2072, enlarge it to 18432(0x4800).
|
||||
*/
|
||||
#define CONFIG_SYS_QE_FMAN_FW_IN_MMC
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR (512 * 0x820)
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR (512 * 0x4800)
|
||||
#elif defined(CONFIG_QSPI_BOOT)
|
||||
#define CONFIG_SYS_QE_FW_IN_SPIFLASH
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR 0x40300000
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR 0x40900000
|
||||
#define CONFIG_ENV_SPI_BUS 0
|
||||
#define CONFIG_ENV_SPI_CS 0
|
||||
#define CONFIG_ENV_SPI_MAX_HZ 1000000
|
||||
#define CONFIG_ENV_SPI_MODE 0x03
|
||||
#elif defined(CONFIG_NAND_BOOT)
|
||||
#define CONFIG_SYS_QE_FMAN_FW_IN_NAND
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR (6 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR (72 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||
#else
|
||||
#define CONFIG_SYS_QE_FMAN_FW_IN_NOR
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR 0x60300000
|
||||
#define CONFIG_SYS_FMAN_FW_ADDR 0x60900000
|
||||
#endif
|
||||
#define CONFIG_SYS_QE_FMAN_FW_LENGTH 0x10000
|
||||
#define CONFIG_SYS_FDT_PAD (0x3000 + CONFIG_SYS_QE_FMAN_FW_LENGTH)
|
||||
|
@ -12,7 +12,7 @@
|
||||
#if defined(CONFIG_NAND_BOOT) || defined(CONFIG_SD_BOOT)
|
||||
#define CONFIG_SYS_TEXT_BASE 0x82000000
|
||||
#elif defined(CONFIG_QSPI_BOOT)
|
||||
#define CONFIG_SYS_TEXT_BASE 0x40010000
|
||||
#define CONFIG_SYS_TEXT_BASE 0x40100000
|
||||
#else
|
||||
#define CONFIG_SYS_TEXT_BASE 0x60100000
|
||||
#endif
|
||||
@ -447,20 +447,20 @@ unsigned long get_board_ddr_clk(void);
|
||||
#ifdef CONFIG_NAND_BOOT
|
||||
#define CONFIG_ENV_IS_IN_NAND
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#define CONFIG_ENV_OFFSET (5 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||
#define CONFIG_ENV_OFFSET (24 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||
#elif defined(CONFIG_SD_BOOT)
|
||||
#define CONFIG_ENV_OFFSET (1024 * 1024)
|
||||
#define CONFIG_ENV_OFFSET (3 * 1024 * 1024)
|
||||
#define CONFIG_ENV_IS_IN_MMC
|
||||
#define CONFIG_SYS_MMC_ENV_DEV 0
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#elif defined(CONFIG_QSPI_BOOT)
|
||||
#define CONFIG_ENV_IS_IN_SPI_FLASH
|
||||
#define CONFIG_ENV_SIZE 0x2000 /* 8KB */
|
||||
#define CONFIG_ENV_OFFSET 0x100000 /* 1MB */
|
||||
#define CONFIG_ENV_OFFSET 0x300000 /* 3MB */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000
|
||||
#else
|
||||
#define CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x200000)
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x300000)
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000
|
||||
#define CONFIG_ENV_SIZE 0x20000
|
||||
#endif
|
||||
|
@ -169,27 +169,29 @@
|
||||
#if defined(CONFIG_SD_BOOT)
|
||||
#define CONFIG_ENV_IS_IN_MMC
|
||||
#define CONFIG_SYS_MMC_ENV_DEV 0
|
||||
#define CONFIG_ENV_OFFSET (1024 * 1024)
|
||||
#define CONFIG_ENV_OFFSET (3 * 1024 * 1024)
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#else
|
||||
#define CONFIG_ENV_IS_IN_SPI_FLASH
|
||||
#define CONFIG_ENV_SIZE 0x2000 /* 8KB */
|
||||
#define CONFIG_ENV_OFFSET 0x200000 /* 2MB */
|
||||
#define CONFIG_ENV_OFFSET 0x300000 /* 3MB */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x40000 /* 256KB */
|
||||
#endif
|
||||
|
||||
#define AQR105_IRQ_MASK 0x80000000
|
||||
/* FMan */
|
||||
#ifndef SPL_NO_FMAN
|
||||
|
||||
#ifdef CONFIG_NET
|
||||
#define CONFIG_PHYLIB
|
||||
#define CONFIG_PHY_GIGE /* Include GbE speed/duplex detection */
|
||||
#define CONFIG_PHY_REALTEK
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SYS_DPAA_FMAN
|
||||
#define CONFIG_FMAN_ENET
|
||||
#define CONFIG_PHYLIB
|
||||
#define CONFIG_PHYLIB_10G
|
||||
#define CONFIG_PHY_GIGE /* Include GbE speed/duplex detection */
|
||||
|
||||
#define CONFIG_PHY_REALTEK
|
||||
#define CONFIG_PHY_AQUANTIA
|
||||
#define AQR105_IRQ_MASK 0x80000000
|
||||
|
||||
#define CONFIG_PHYLIB_10G
|
||||
#define RGMII_PHY1_ADDR 0x1
|
||||
#define RGMII_PHY2_ADDR 0x2
|
||||
|
||||
@ -200,6 +202,7 @@
|
||||
|
||||
#define CONFIG_ETHPRIME "FM1@DTSEC3"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/* QSPI device */
|
||||
@ -208,7 +211,6 @@
|
||||
#define CONFIG_SPI_FLASH_SPANSION
|
||||
#define FSL_QSPI_FLASH_SIZE (1 << 26)
|
||||
#define FSL_QSPI_FLASH_NUM 2
|
||||
#define CONFIG_SPI_FLASH_BAR
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
* Copyright (C) 2014 Freescale Semiconductor
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
@ -28,6 +29,12 @@
|
||||
#else
|
||||
#define CONFIG_SYS_TEXT_BASE 0x30100000
|
||||
#endif
|
||||
#else
|
||||
#define CONFIG_SYS_TEXT_BASE 0x20100000
|
||||
#define CONFIG_ENV_IS_IN_SPI_FLASH
|
||||
#define CONFIG_ENV_SIZE 0x2000 /* 8KB */
|
||||
#define CONFIG_ENV_OFFSET 0x300000 /* 3MB */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000
|
||||
#endif
|
||||
|
||||
#define CONFIG_SUPPORT_RAW_INITRD
|
||||
@ -185,18 +192,18 @@ unsigned long long get_qixis_addr(void);
|
||||
"ramdisk_size=0x2000000\0" \
|
||||
"fdt_high=0xa0000000\0" \
|
||||
"initrd_high=0xffffffffffffffff\0" \
|
||||
"kernel_start=0x581200000\0" \
|
||||
"kernel_start=0x581000000\0" \
|
||||
"kernel_load=0xa0000000\0" \
|
||||
"kernel_size=0x2800000\0" \
|
||||
"console=ttyAMA0,38400n8\0" \
|
||||
"mcinitcmd=fsl_mc start mc 0x580300000" \
|
||||
" 0x580800000 \0"
|
||||
"mcinitcmd=fsl_mc start mc 0x580a00000" \
|
||||
" 0x580e00000 \0"
|
||||
|
||||
#define CONFIG_BOOTARGS "console=ttyS0,115200 root=/dev/ram0 " \
|
||||
"earlycon=uart8250,mmio,0x21c0500 " \
|
||||
"ramdisk_size=0x2000000 default_hugepagesz=2m" \
|
||||
" hugepagesz=2m hugepages=256"
|
||||
#define CONFIG_BOOTCOMMAND "fsl_mc apply dpl 0x580700000 &&" \
|
||||
#define CONFIG_BOOTCOMMAND "fsl_mc apply dpl 0x580d00000 &&" \
|
||||
" cp.b $kernel_start $kernel_load" \
|
||||
" $kernel_size && bootm $kernel_load"
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
* Copyright 2015 Freescale Semiconductor
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
@ -262,15 +263,9 @@ unsigned long get_board_ddr_clk(void);
|
||||
#define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NAND_FTIM2
|
||||
#define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3
|
||||
|
||||
#if defined(CONFIG_QSPI_BOOT)
|
||||
#define CONFIG_SYS_TEXT_BASE 0x20010000
|
||||
#define CONFIG_ENV_IS_IN_SPI_FLASH
|
||||
#define CONFIG_ENV_SIZE 0x2000 /* 8KB */
|
||||
#define CONFIG_ENV_OFFSET 0x100000 /* 1MB */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000
|
||||
#else
|
||||
#ifndef CONFIG_QSPI_BOOT
|
||||
#define CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x200000)
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x300000)
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#endif
|
||||
@ -363,14 +358,14 @@ unsigned long get_board_ddr_clk(void);
|
||||
"ramdisk_size=0x2000000\0" \
|
||||
"fdt_high=0xa0000000\0" \
|
||||
"initrd_high=0xffffffffffffffff\0" \
|
||||
"kernel_start=0x581100000\0" \
|
||||
"kernel_start=0x581000000\0" \
|
||||
"kernel_load=0xa0000000\0" \
|
||||
"kernel_size=0x2800000\0" \
|
||||
"mcmemsize=0x40000000\0" \
|
||||
"mcinitcmd=esbc_validate 0x580c80000;" \
|
||||
"esbc_validate 0x580cc0000;" \
|
||||
"fsl_mc start mc 0x580300000" \
|
||||
" 0x580800000 \0"
|
||||
"mcinitcmd=esbc_validate 0x580700000;" \
|
||||
"esbc_validate 0x580740000;" \
|
||||
"fsl_mc start mc 0x580a00000" \
|
||||
" 0x580e00000 \0"
|
||||
#else
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"hwconfig=fsl_ddr:bank_intlv=auto\0" \
|
||||
@ -380,12 +375,12 @@ unsigned long get_board_ddr_clk(void);
|
||||
"ramdisk_size=0x2000000\0" \
|
||||
"fdt_high=0xa0000000\0" \
|
||||
"initrd_high=0xffffffffffffffff\0" \
|
||||
"kernel_start=0x581100000\0" \
|
||||
"kernel_start=0x581000000\0" \
|
||||
"kernel_load=0xa0000000\0" \
|
||||
"kernel_size=0x2800000\0" \
|
||||
"mcmemsize=0x40000000\0" \
|
||||
"mcinitcmd=fsl_mc start mc 0x580300000" \
|
||||
" 0x580800000 \0"
|
||||
"mcinitcmd=fsl_mc start mc 0x580a00000" \
|
||||
" 0x580e00000 \0"
|
||||
#endif /* CONFIG_SECURE_BOOT */
|
||||
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
* Copyright 2015 Freescale Semiconductor
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
@ -12,6 +13,14 @@
|
||||
#undef CONFIG_CONS_INDEX
|
||||
#define CONFIG_CONS_INDEX 2
|
||||
|
||||
#ifdef CONFIG_FSL_QSPI
|
||||
#ifdef CONFIG_TARGET_LS2081ARDB
|
||||
#define CONFIG_QIXIS_I2C_ACCESS
|
||||
#endif
|
||||
#define CONFIG_SYS_I2C_EARLY_INIT
|
||||
#define CONFIG_DISPLAY_BOARDINFO_LATE
|
||||
#endif
|
||||
|
||||
#define I2C_MUX_CH_VOL_MONITOR 0xa
|
||||
#define I2C_VOL_MONITOR_ADDR 0x38
|
||||
#define CONFIG_VOL_MONITOR_IR36021_READ
|
||||
@ -69,6 +78,7 @@ unsigned long get_board_sys_clk(void);
|
||||
#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
|
||||
CONFIG_SYS_SCSI_MAX_LUN)
|
||||
|
||||
#ifndef CONFIG_FSL_QSPI
|
||||
/* undefined CONFIG_FSL_DDR_SYNC_REFRESH for simulator */
|
||||
|
||||
#define CONFIG_SYS_NOR0_CSPR_EXT (0x0)
|
||||
@ -157,7 +167,6 @@ unsigned long get_board_sys_clk(void);
|
||||
#define CONFIG_CMD_NAND
|
||||
|
||||
#define CONFIG_SYS_NAND_BLOCK_SIZE (512 * 1024)
|
||||
|
||||
#define CONFIG_FSL_QIXIS /* use common QIXIS code */
|
||||
#define QIXIS_LBMAP_SWITCH 0x06
|
||||
#define QIXIS_LBMAP_MASK 0x0f
|
||||
@ -242,7 +251,7 @@ unsigned long get_board_sys_clk(void);
|
||||
#define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x200000)
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x300000)
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#endif
|
||||
@ -250,12 +259,31 @@ unsigned long get_board_sys_clk(void);
|
||||
/* Debug Server firmware */
|
||||
#define CONFIG_SYS_DEBUG_SERVER_FW_IN_NOR
|
||||
#define CONFIG_SYS_DEBUG_SERVER_FW_ADDR 0x580D00000ULL
|
||||
|
||||
#endif
|
||||
#define CONFIG_SYS_LS_MC_BOOT_TIMEOUT_MS 5000
|
||||
|
||||
#ifdef CONFIG_TARGET_LS2081ARDB
|
||||
#define CONFIG_FSL_QIXIS /* use common QIXIS code */
|
||||
#define QIXIS_QMAP_MASK 0x07
|
||||
#define QIXIS_QMAP_SHIFT 5
|
||||
#define QIXIS_LBMAP_DFLTBANK 0x00
|
||||
#define QIXIS_LBMAP_QSPI 0x00
|
||||
#define QIXIS_RCW_SRC_QSPI 0x62
|
||||
#define QIXIS_LBMAP_ALTBANK 0x20
|
||||
#define QIXIS_RST_CTL_RESET 0x31
|
||||
#define QIXIS_RCFG_CTL_RECONFIG_IDLE 0x20
|
||||
#define QIXIS_RCFG_CTL_RECONFIG_START 0x21
|
||||
#define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08
|
||||
#define QIXIS_LBMAP_MASK 0x0f
|
||||
#define QIXIS_RST_CTL_RESET_EN 0x30
|
||||
#endif
|
||||
|
||||
/*
|
||||
* I2C
|
||||
*/
|
||||
#ifdef CONFIG_TARGET_LS2081ARDB
|
||||
#define CONFIG_SYS_I2C_FPGA_ADDR 0x66
|
||||
#endif
|
||||
#define I2C_MUX_PCA_ADDR 0x75
|
||||
#define I2C_MUX_PCA_ADDR_PRI 0x75 /* Primary Mux*/
|
||||
|
||||
@ -263,18 +291,33 @@ unsigned long get_board_sys_clk(void);
|
||||
#define I2C_MUX_CH_DEFAULT 0x8
|
||||
|
||||
/* SPI */
|
||||
#ifdef CONFIG_FSL_DSPI
|
||||
#if defined(CONFIG_FSL_QSPI) || defined(CONFIG_FSL_DSPI)
|
||||
#define CONFIG_SPI_FLASH
|
||||
#define CONFIG_SPI_FLASH_BAR
|
||||
#ifdef CONFIG_FSL_QSPI
|
||||
#define CONFIG_SPI_FLASH_STMICRO
|
||||
#endif
|
||||
#ifdef CONFIG_FSL_QSPI
|
||||
#ifdef CONFIG_TARGET_LS2081ARDB
|
||||
#define CONFIG_SPI_FLASH_STMICRO
|
||||
#else
|
||||
#define CONFIG_SPI_FLASH_SPANSION
|
||||
#endif
|
||||
#define FSL_QSPI_FLASH_SIZE SZ_64M /* 64MB */
|
||||
#define FSL_QSPI_FLASH_NUM 2
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* RTC configuration
|
||||
*/
|
||||
#define RTC
|
||||
#ifdef CONFIG_TARGET_LS2081ARDB
|
||||
#define CONFIG_RTC_PCF8563 1
|
||||
#define CONFIG_SYS_I2C_RTC_ADDR 0x51
|
||||
#else
|
||||
#define CONFIG_RTC_DS3231 1
|
||||
#define CONFIG_SYS_I2C_RTC_ADDR 0x68
|
||||
#endif
|
||||
|
||||
/* EEPROM */
|
||||
#define CONFIG_ID_EEPROM
|
||||
@ -334,15 +377,34 @@ unsigned long get_board_sys_clk(void);
|
||||
"ramdisk_size=0x2000000\0" \
|
||||
"fdt_high=0xa0000000\0" \
|
||||
"initrd_high=0xffffffffffffffff\0" \
|
||||
"kernel_start=0x581100000\0" \
|
||||
"kernel_start=0x581000000\0" \
|
||||
"kernel_load=0xa0000000\0" \
|
||||
"kernel_size=0x2800000\0" \
|
||||
"mcmemsize=0x40000000\0" \
|
||||
"fdtfile=fsl-ls2080a-rdb.dtb\0" \
|
||||
"mcinitcmd=esbc_validate 0x580c80000;" \
|
||||
"esbc_validate 0x580cc0000;" \
|
||||
"fsl_mc start mc 0x580300000" \
|
||||
" 0x580800000 \0" \
|
||||
"mcinitcmd=esbc_validate 0x580700000;" \
|
||||
"esbc_validate 0x580740000;" \
|
||||
"fsl_mc start mc 0x580a00000" \
|
||||
" 0x580e00000 \0" \
|
||||
BOOTENV
|
||||
#else
|
||||
#ifdef CONFIG_QSPI_BOOT
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"hwconfig=fsl_ddr:bank_intlv=auto\0" \
|
||||
"scriptaddr=0x80800000\0" \
|
||||
"kernel_addr_r=0x81000000\0" \
|
||||
"pxefile_addr_r=0x81000000\0" \
|
||||
"fdt_addr_r=0x88000000\0" \
|
||||
"ramdisk_addr_r=0x89000000\0" \
|
||||
"loadaddr=0x80100000\0" \
|
||||
"kernel_addr=0x100000\0" \
|
||||
"ramdisk_size=0x2000000\0" \
|
||||
"fdt_high=0xa0000000\0" \
|
||||
"initrd_high=0xffffffffffffffff\0" \
|
||||
"kernel_start=0x21000000\0" \
|
||||
"mcmemsize=0x40000000\0" \
|
||||
"mcinitcmd=fsl_mc start mc 0x20a00000" \
|
||||
" 0x20e00000 \0" \
|
||||
BOOTENV
|
||||
#else
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
@ -358,15 +420,16 @@ unsigned long get_board_sys_clk(void);
|
||||
"ramdisk_size=0x2000000\0" \
|
||||
"fdt_high=0xa0000000\0" \
|
||||
"initrd_high=0xffffffffffffffff\0" \
|
||||
"kernel_start=0x581100000\0" \
|
||||
"kernel_start=0x581000000\0" \
|
||||
"kernel_load=0xa0000000\0" \
|
||||
"kernel_size=0x2800000\0" \
|
||||
"mcmemsize=0x40000000\0" \
|
||||
"fdtfile=fsl-ls2080a-rdb.dtb\0" \
|
||||
"mcinitcmd=fsl_mc start mc 0x580300000" \
|
||||
" 0x580800000 \0" \
|
||||
"mcinitcmd=fsl_mc start mc 0x580a00000" \
|
||||
" 0x580e00000 \0" \
|
||||
BOOTENV
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
@ -376,11 +439,18 @@ unsigned long get_board_sys_clk(void);
|
||||
" hugepagesz=2m hugepages=256"
|
||||
|
||||
#undef CONFIG_BOOTCOMMAND
|
||||
#ifdef CONFIG_QSPI_BOOT
|
||||
/* Try to boot an on-QSPI kernel first, then do normal distro boot */
|
||||
#define CONFIG_BOOTCOMMAND "run mcinitcmd && fsl_mc lazyapply dpl 0x20d00000" \
|
||||
" && bootm $kernel_start" \
|
||||
" || run distro_bootcmd"
|
||||
#else
|
||||
/* Try to boot an on-NOR kernel first, then do normal distro boot */
|
||||
#define CONFIG_BOOTCOMMAND "run mcinitcmd && fsl_mc lazyapply dpl 0x580700000" \
|
||||
#define CONFIG_BOOTCOMMAND "run mcinitcmd && fsl_mc lazyapply dpl 0x580d00000" \
|
||||
" && cp.b $kernel_start $kernel_load $kernel_size" \
|
||||
" && bootm $kernel_load" \
|
||||
" || run distro_bootcmd"
|
||||
#endif
|
||||
|
||||
/* MAC/PHY configuration */
|
||||
#ifdef CONFIG_FSL_MC_ENET
|
||||
@ -389,7 +459,11 @@ unsigned long get_board_sys_clk(void);
|
||||
#define CONFIG_PHY_CORTINA
|
||||
#define CONFIG_PHYLIB
|
||||
#define CONFIG_SYS_CORTINA_FW_IN_NOR
|
||||
#define CONFIG_CORTINA_FW_ADDR 0x581000000
|
||||
#ifdef CONFIG_QSPI_BOOT
|
||||
#define CONFIG_CORTINA_FW_ADDR 0x20980000
|
||||
#else
|
||||
#define CONFIG_CORTINA_FW_ADDR 0x580980000
|
||||
#endif
|
||||
#define CONFIG_CORTINA_FW_LENGTH 0x40000
|
||||
|
||||
#define CORTINA_PHY_ADDR1 0x10
|
||||
|
Loading…
Reference in New Issue
Block a user