Blame view
include/configs/ls1088a_common.h
7.48 KB
83d290c56 SPDX: Convert all... |
1 |
/* SPDX-License-Identifier: GPL-2.0+ */ |
e84a324ba armv8: ls1088ardb... |
2 |
/* |
5b595df33 armv8: ls1088ardb... |
3 |
* Copyright 2017-2018 NXP |
e84a324ba armv8: ls1088ardb... |
4 5 6 7 |
*/ #ifndef __LS1088_COMMON_H #define __LS1088_COMMON_H |
10e7eaf04 armv8: ls1088a: S... |
8 9 10 11 12 13 14 15 16 17 18 19 20 |
/* SPL build */ #ifdef CONFIG_SPL_BUILD #define SPL_NO_BOARDINFO #define SPL_NO_QIXIS #define SPL_NO_PCI #define SPL_NO_ENV #define SPL_NO_RTC #define SPL_NO_USB #define SPL_NO_SATA #define SPL_NO_QSPI #define SPL_NO_IFC #undef CONFIG_DISPLAY_CPUINFO #endif |
e84a324ba armv8: ls1088ardb... |
21 22 |
#define CONFIG_REMAKE_ELF |
e84a324ba armv8: ls1088ardb... |
23 24 25 26 |
#include <asm/arch/stream_id_lsch3.h> #include <asm/arch/config.h> #include <asm/arch/soc.h> |
5b595df33 armv8: ls1088ardb... |
27 |
#define LS1088ARDB_PB_BOARD 0x4A |
e84a324ba armv8: ls1088ardb... |
28 |
/* Link Definitions */ |
143af3c6d armv8: ls1088ardb... |
29 30 31 |
#ifdef CONFIG_TFABOOT #define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_TEXT_BASE #else |
e84a324ba armv8: ls1088ardb... |
32 |
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_FSL_OCRAM_BASE + 0xfff0) |
143af3c6d armv8: ls1088ardb... |
33 |
#endif |
e84a324ba armv8: ls1088ardb... |
34 35 |
/* Link Definitions */ |
2eb2dbd45 armv8: ls1088ardb... |
36 |
#define CONFIG_SYS_FSL_QSPI_BASE 0x20000000 |
e84a324ba armv8: ls1088ardb... |
37 38 |
#define CONFIG_SKIP_LOWLEVEL_INIT |
e84a324ba armv8: ls1088ardb... |
39 40 41 42 43 44 45 46 47 48 |
#define CONFIG_VERY_BIG_RAM #define CONFIG_SYS_DDR_SDRAM_BASE 0x80000000UL #define CONFIG_SYS_FSL_DDR_SDRAM_BASE_PHY 0 #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE #define CONFIG_SYS_DDR_BLOCK2_BASE 0x8080000000ULL #define CONFIG_SYS_FSL_DDR_MAIN_NUM_CTRLS 1 /* * SMP Definitinos */ #define CPU_RELEASE_ADDR secondary_boot_func |
4950eb4a4 armv8: ls1088a: E... |
49 50 51 |
#ifdef CONFIG_PCI #define CONFIG_CMD_PCI #endif |
e84a324ba armv8: ls1088ardb... |
52 53 |
/* Size of malloc() pool */ #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 2048 * 1024) |
96fcf3517 configs: ls1088a:... |
54 55 56 57 58 59 60 61 62 |
/* GPIO */ #ifdef CONFIG_DM_GPIO #ifndef CONFIG_MPC8XXX_GPIO #define CONFIG_MPC8XXX_GPIO #endif #ifndef CONFIG_CMD_GPIO #define CONFIG_CMD_GPIO #endif #endif |
e84a324ba armv8: ls1088ardb... |
63 |
/* I2C */ |
5dd043a08 boards: ls1088a: ... |
64 |
#ifndef CONFIG_DM_I2C |
e84a324ba armv8: ls1088ardb... |
65 |
#define CONFIG_SYS_I2C |
5dd043a08 boards: ls1088a: ... |
66 |
#endif |
e84a324ba armv8: ls1088ardb... |
67 68 |
/* Serial Port */ |
e84a324ba armv8: ls1088ardb... |
69 70 71 72 73 74 |
#define CONFIG_SYS_NS16550_SERIAL #define CONFIG_SYS_NS16550_REG_SIZE 1 #define CONFIG_SYS_NS16550_CLK (get_bus_freq(0) / 2) #define CONFIG_BAUDRATE 115200 #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } |
10e7eaf04 armv8: ls1088a: S... |
75 |
#if !defined(SPL_NO_IFC) || defined(CONFIG_TARGET_LS1088AQDS) |
e84a324ba armv8: ls1088ardb... |
76 77 |
/* IFC */ #define CONFIG_FSL_IFC |
10e7eaf04 armv8: ls1088a: S... |
78 |
#endif |
e84a324ba armv8: ls1088ardb... |
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
/* * During booting, IFC is mapped at the region of 0x30000000. * But this region is limited to 256MB. To accommodate NOR, promjet * and FPGA. This region is divided as below: * 0x30000000 - 0x37ffffff : 128MB : NOR flash * 0x38000000 - 0x3BFFFFFF : 64MB : Promjet * 0x3C000000 - 0x40000000 : 64MB : FPGA etc * * To accommodate bigger NOR flash and other devices, we will map IFC * chip selects to as below: * 0x5_1000_0000..0x5_1fff_ffff Memory Hole * 0x5_2000_0000..0x5_3fff_ffff IFC CSx (FPGA, NAND and others 512MB) * 0x5_4000_0000..0x5_7fff_ffff ASIC or others 1GB * 0x5_8000_0000..0x5_bfff_ffff IFC CS0 1GB (NOR/Promjet) * 0x5_C000_0000..0x5_ffff_ffff IFC CS1 1GB (NOR/Promjet) * * For e.g. NOR flash at CS0 will be mapped to 0x580000000 after relocation. * CONFIG_SYS_FLASH_BASE has the final address (core view) * CONFIG_SYS_FLASH_BASE_PHYS has the final address (IFC view) * CONFIG_SYS_FLASH_BASE_PHYS_EARLY has the temporary IFC address * CONFIG_SYS_TEXT_BASE is linked to 0x30000000 for booting */ #define CONFIG_SYS_FLASH_BASE 0x580000000ULL #define CONFIG_SYS_FLASH_BASE_PHYS 0x80000000 #define CONFIG_SYS_FLASH_BASE_PHYS_EARLY 0x00000000 #define CONFIG_SYS_FLASH1_BASE_PHYS 0xC0000000 #define CONFIG_SYS_FLASH1_BASE_PHYS_EARLY 0x8000000 #ifndef __ASSEMBLY__ unsigned long long get_qixis_addr(void); #endif #define QIXIS_BASE get_qixis_addr() #define QIXIS_BASE_PHYS 0x20000000 #define QIXIS_BASE_PHYS_EARLY 0xC000000 #define CONFIG_SYS_NAND_BASE 0x530000000ULL #define CONFIG_SYS_NAND_BASE_PHYS 0x30000000 /* MC firmware */ /* TODO Actual DPL max length needs to be confirmed with the MC FW team */ #define CONFIG_SYS_LS_MC_DPC_MAX_LENGTH 0x20000 #define CONFIG_SYS_LS_MC_DRAM_DPC_OFFSET 0x00F00000 #define CONFIG_SYS_LS_MC_DPL_MAX_LENGTH 0x20000 #define CONFIG_SYS_LS_MC_DRAM_DPL_OFFSET 0x00F20000 #define CONFIG_SYS_LS_MC_AIOP_IMG_MAX_LENGTH 0x200000 #define CONFIG_SYS_LS_MC_DRAM_AIOP_IMG_OFFSET 0x07000000 |
c48deb907 armv8: ls1088a: U... |
131 132 133 134 135 |
/* Define phy_reset function to boot the MC based on mcinitcmd. * This happens late enough to properly fixup u-boot env MAC addresses. */ #define CONFIG_RESET_PHY_R |
e84a324ba armv8: ls1088ardb... |
136 137 138 139 140 141 142 143 |
/* * Carve out a DDR region which will not be used by u-boot/Linux * * It will be used by MC and Debug Server. The MC region must be * 512MB aligned, so the min size to hide is 512MB. */ #if defined(CONFIG_FSL_MC_ENET) |
43ad41e6a mc : Reduce MC me... |
144 |
#define CONFIG_SYS_LS_MC_DRAM_BLOCK_MIN_SIZE (128UL * 1024 * 1024) |
e84a324ba armv8: ls1088ardb... |
145 |
#endif |
e84a324ba armv8: ls1088ardb... |
146 |
/* Command line configuration */ |
e84a324ba armv8: ls1088ardb... |
147 148 149 150 |
#define CONFIG_CMD_CACHE /* Miscellaneous configurable options */ #define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000) |
f65425fb4 armv8: ls1088: En... |
151 152 |
/* SATA */ #ifdef CONFIG_SCSI |
f65425fb4 armv8: ls1088: En... |
153 154 155 156 157 158 159 160 |
#define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SATA1 AHCI_BASE_ADDR1 #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 #define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ CONFIG_SYS_SCSI_MAX_LUN) #endif |
e84a324ba armv8: ls1088ardb... |
161 162 |
/* Physical Memory Map */ #define CONFIG_CHIP_SELECTS_PER_CTRL 4 |
e84a324ba armv8: ls1088ardb... |
163 164 165 166 |
#define CONFIG_HWCONFIG #define HWCONFIG_BUFFER_SIZE 128 /* #define CONFIG_DISPLAY_CPUINFO */ |
10e7eaf04 armv8: ls1088a: S... |
167 |
#ifndef SPL_NO_ENV |
e84a324ba armv8: ls1088ardb... |
168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
/* Allow to overwrite serial and ethaddr */ #define CONFIG_ENV_OVERWRITE /* Initial environment variables */ #define CONFIG_EXTRA_ENV_SETTINGS \ "hwconfig=fsl_ddr:bank_intlv=auto\0" \ "loadaddr=0x80100000\0" \ "kernel_addr=0x100000\0" \ "ramdisk_addr=0x800000\0" \ "ramdisk_size=0x2000000\0" \ "fdt_high=0xa0000000\0" \ "initrd_high=0xffffffffffffffff\0" \ "kernel_start=0x581000000\0" \ "kernel_load=0xa0000000\0" \ "kernel_size=0x2800000\0" \ "console=ttyAMA0,38400n8\0" \ "mcinitcmd=fsl_mc start mc 0x580a00000" \ " 0x580e00000 \0" |
143af3c6d armv8: ls1088ardb... |
186 |
#ifndef CONFIG_TFABOOT |
e84a324ba armv8: ls1088ardb... |
187 188 |
#if defined(CONFIG_QSPI_BOOT) #define CONFIG_BOOTCOMMAND "sf probe 0:0;" \ |
f4ef476d2 armv8: ls1088a: c... |
189 190 |
"sf read 0x80001000 0xd00000 0x100000;"\ " fsl_mc lazyapply dpl 0x80001000 &&" \ |
e84a324ba armv8: ls1088ardb... |
191 192 |
" sf read $kernel_load $kernel_start" \ " $kernel_size && bootm $kernel_load" |
099f4093a armv8: ls1088ardb... |
193 |
#elif defined(CONFIG_SD_BOOT) |
f4ef476d2 armv8: ls1088a: c... |
194 195 |
#define CONFIG_BOOTCOMMAND "mmcinfo;mmc read 0x80001000 0x6800 0x800;"\ " fsl_mc lazyapply dpl 0x80001000 &&" \ |
099f4093a armv8: ls1088ardb... |
196 197 |
" mmc read $kernel_load $kernel_start" \ " $kernel_size && bootm $kernel_load" |
e84a324ba armv8: ls1088ardb... |
198 |
#else /* NOR BOOT*/ |
f4ef476d2 armv8: ls1088a: c... |
199 |
#define CONFIG_BOOTCOMMAND "fsl_mc lazyapply dpl 0x580d00000 &&" \ |
e84a324ba armv8: ls1088ardb... |
200 201 202 |
" cp.b $kernel_start $kernel_load" \ " $kernel_size && bootm $kernel_load" #endif |
143af3c6d armv8: ls1088ardb... |
203 |
#endif /* CONFIG_TFABOOT */ |
10e7eaf04 armv8: ls1088a: S... |
204 |
#endif |
e84a324ba armv8: ls1088ardb... |
205 206 207 208 209 |
/* Monitor Command Prompt */ #define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */ #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ sizeof(CONFIG_SYS_PROMPT) + 16) |
e84a324ba armv8: ls1088ardb... |
210 |
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot args buffer */ |
e84a324ba armv8: ls1088ardb... |
211 |
#define CONFIG_SYS_MAXARGS 64 /* max command args */ |
099f4093a armv8: ls1088ardb... |
212 213 214 |
#ifdef CONFIG_SPL #define CONFIG_SPL_BSS_START_ADDR 0x80100000 #define CONFIG_SPL_BSS_MAX_SIZE 0x00100000 |
099f4093a armv8: ls1088ardb... |
215 216 217 |
#define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/armv8/u-boot-spl.lds" #define CONFIG_SPL_MAX_SIZE 0x16000 #define CONFIG_SPL_STACK (CONFIG_SYS_FSL_OCRAM_BASE + 0x9ff0) |
4b5892c48 armv8: layerscape... |
218 |
#define CONFIG_SPL_TARGET "u-boot-with-spl.bin" |
099f4093a armv8: ls1088ardb... |
219 220 221 |
#define CONFIG_SYS_SPL_MALLOC_SIZE 0x00100000 #define CONFIG_SYS_SPL_MALLOC_START 0x80200000 |
1cabeb88e ls1088ardb: Add S... |
222 |
|
5536c3c9d freescale/layersc... |
223 |
#ifdef CONFIG_NXP_ESBC |
1cabeb88e ls1088ardb: Add S... |
224 225 226 227 228 229 230 231 232 233 |
#define CONFIG_U_BOOT_HDR_SIZE (16 << 10) /* * HDR would be appended at end of image and copied to DDR along * with U-Boot image. Here u-boot max. size is 512K. So if binary * size increases then increase this size in case of secure boot as * it uses raw u-boot image instead of fit image. */ #define CONFIG_SYS_MONITOR_LEN (0x100000 + CONFIG_U_BOOT_HDR_SIZE) #else #define CONFIG_SYS_MONITOR_LEN 0x100000 |
5536c3c9d freescale/layersc... |
234 |
#endif /* ifdef CONFIG_NXP_ESBC */ |
1cabeb88e ls1088ardb: Add S... |
235 |
|
099f4093a armv8: ls1088ardb... |
236 |
#endif |
e84a324ba armv8: ls1088ardb... |
237 238 239 |
#define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */ #endif /* __LS1088_COMMON_H */ |