1dd02936fSMingkai Hu /* 2dd02936fSMingkai Hu * Copyright 2016 Freescale Semiconductor 3dd02936fSMingkai Hu * 4dd02936fSMingkai Hu * SPDX-License-Identifier: GPL-2.0+ 5dd02936fSMingkai Hu */ 6dd02936fSMingkai Hu 7dd02936fSMingkai Hu #ifndef __LS1046ARDB_H__ 8dd02936fSMingkai Hu #define __LS1046ARDB_H__ 9dd02936fSMingkai Hu 10dd02936fSMingkai Hu #include "ls1046a_common.h" 11dd02936fSMingkai Hu 12dd02936fSMingkai Hu #if defined(CONFIG_FSL_LS_PPA) 13dd02936fSMingkai Hu #define CONFIG_ARMV8_PSCI 14dd02936fSMingkai Hu #define CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT 15dd02936fSMingkai Hu #define CONFIG_SYS_LS_PPA_DRAM_BLOCK_MIN_SIZE (1UL * 1024 * 1024) 16dd02936fSMingkai Hu 17dd02936fSMingkai Hu #define CONFIG_SYS_LS_PPA_FW_IN_XIP 18dd02936fSMingkai Hu #ifdef CONFIG_SYS_LS_PPA_FW_IN_XIP 19dd02936fSMingkai Hu #define CONFIG_SYS_LS_PPA_FW_ADDR 0x40500000 20dd02936fSMingkai Hu #endif 21dd02936fSMingkai Hu #endif 22dd02936fSMingkai Hu 23dd02936fSMingkai Hu #ifdef CONFIG_SD_BOOT 24dd02936fSMingkai Hu #define CONFIG_SYS_TEXT_BASE 0x82000000 25dd02936fSMingkai Hu #else 26dd02936fSMingkai Hu #define CONFIG_SYS_TEXT_BASE 0x40100000 27dd02936fSMingkai Hu #endif 28dd02936fSMingkai Hu 29dd02936fSMingkai Hu #define CONFIG_SYS_CLK_FREQ 100000000 30dd02936fSMingkai Hu #define CONFIG_DDR_CLK_FREQ 100000000 31dd02936fSMingkai Hu 32dd02936fSMingkai Hu #define CONFIG_LAYERSCAPE_NS_ACCESS 33dd02936fSMingkai Hu #define CONFIG_MISC_INIT_R 34dd02936fSMingkai Hu 35dd02936fSMingkai Hu #define CONFIG_DIMM_SLOTS_PER_CTLR 1 36dd02936fSMingkai Hu /* Physical Memory Map */ 37dd02936fSMingkai Hu #define CONFIG_CHIP_SELECTS_PER_CTRL 4 38dd02936fSMingkai Hu #define CONFIG_NR_DRAM_BANKS 2 39dd02936fSMingkai Hu 40dd02936fSMingkai Hu #define CONFIG_DDR_SPD 41dd02936fSMingkai Hu #define SPD_EEPROM_ADDRESS 0x51 42dd02936fSMingkai Hu #define CONFIG_SYS_SPD_BUS_NUM 0 43dd02936fSMingkai Hu 44dd02936fSMingkai Hu #define CONFIG_DDR_ECC 45dd02936fSMingkai Hu #define CONFIG_ECC_INIT_VIA_DDRCONTROLLER 46dd02936fSMingkai Hu #define CONFIG_MEM_INIT_VALUE 0xdeadbeef 47dd02936fSMingkai Hu #define CONFIG_FSL_DDR_BIST /* enable built-in memory test */ 48dd02936fSMingkai Hu #define CONFIG_FSL_DDR_INTERACTIVE /* Interactive debugging */ 49dd02936fSMingkai Hu 50dd02936fSMingkai Hu #ifdef CONFIG_RAMBOOT_PBL 51dd02936fSMingkai Hu #define CONFIG_SYS_FSL_PBL_PBI board/freescale/ls1046ardb/ls1046ardb_pbi.cfg 52dd02936fSMingkai Hu #endif 53dd02936fSMingkai Hu 54dd02936fSMingkai Hu #ifdef CONFIG_SD_BOOT 55dd02936fSMingkai Hu #ifdef CONFIG_EMMC_BOOT 56dd02936fSMingkai Hu #define CONFIG_SYS_FSL_PBL_RCW \ 57dd02936fSMingkai Hu board/freescale/ls1046ardb/ls1046ardb_rcw_emmc.cfg 58dd02936fSMingkai Hu #else 59dd02936fSMingkai Hu #define CONFIG_SYS_FSL_PBL_RCW board/freescale/ls1046ardb/ls1046ardb_rcw_sd.cfg 60dd02936fSMingkai Hu #endif 61dd02936fSMingkai Hu #endif 62dd02936fSMingkai Hu 63dd02936fSMingkai Hu /* No NOR flash */ 64dd02936fSMingkai Hu #define CONFIG_SYS_NO_FLASH 65dd02936fSMingkai Hu 66dd02936fSMingkai Hu /* IFC */ 67dd02936fSMingkai Hu #define CONFIG_FSL_IFC 68dd02936fSMingkai Hu 69dd02936fSMingkai Hu /* 70dd02936fSMingkai Hu * NAND Flash Definitions 71dd02936fSMingkai Hu */ 72dd02936fSMingkai Hu #define CONFIG_NAND_FSL_IFC 73dd02936fSMingkai Hu 74dd02936fSMingkai Hu #define CONFIG_SYS_NAND_BASE 0x7e800000 75dd02936fSMingkai Hu #define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE 76dd02936fSMingkai Hu 77dd02936fSMingkai Hu #define CONFIG_SYS_NAND_CSPR_EXT (0x0) 78dd02936fSMingkai Hu #define CONFIG_SYS_NAND_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \ 79dd02936fSMingkai Hu | CSPR_PORT_SIZE_8 \ 80dd02936fSMingkai Hu | CSPR_MSEL_NAND \ 81dd02936fSMingkai Hu | CSPR_V) 82dd02936fSMingkai Hu #define CONFIG_SYS_NAND_AMASK IFC_AMASK(64 * 1024) 83dd02936fSMingkai Hu #define CONFIG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \ 84dd02936fSMingkai Hu | CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \ 85dd02936fSMingkai Hu | CSOR_NAND_ECC_MODE_8 /* 8-bit ECC */ \ 86dd02936fSMingkai Hu | CSOR_NAND_RAL_3 /* RAL = 3 Bytes */ \ 87dd02936fSMingkai Hu | CSOR_NAND_PGS_4K /* Page Size = 4K */ \ 88dd02936fSMingkai Hu | CSOR_NAND_SPRZ_224 /* Spare size = 224 */ \ 89dd02936fSMingkai Hu | CSOR_NAND_PB(64)) /* 64 Pages Per Block */ 90dd02936fSMingkai Hu 91dd02936fSMingkai Hu #define CONFIG_SYS_NAND_ONFI_DETECTION 92dd02936fSMingkai Hu 93dd02936fSMingkai Hu #define CONFIG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x7) | \ 94dd02936fSMingkai Hu FTIM0_NAND_TWP(0x18) | \ 95dd02936fSMingkai Hu FTIM0_NAND_TWCHT(0x7) | \ 96dd02936fSMingkai Hu FTIM0_NAND_TWH(0xa)) 97dd02936fSMingkai Hu #define CONFIG_SYS_NAND_FTIM1 (FTIM1_NAND_TADLE(0x32) | \ 98dd02936fSMingkai Hu FTIM1_NAND_TWBE(0x39) | \ 99dd02936fSMingkai Hu FTIM1_NAND_TRR(0xe) | \ 100dd02936fSMingkai Hu FTIM1_NAND_TRP(0x18)) 101dd02936fSMingkai Hu #define CONFIG_SYS_NAND_FTIM2 (FTIM2_NAND_TRAD(0xf) | \ 102dd02936fSMingkai Hu FTIM2_NAND_TREH(0xa) | \ 103dd02936fSMingkai Hu FTIM2_NAND_TWHRE(0x1e)) 104dd02936fSMingkai Hu #define CONFIG_SYS_NAND_FTIM3 0x0 105dd02936fSMingkai Hu 106dd02936fSMingkai Hu #define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE } 107dd02936fSMingkai Hu #define CONFIG_SYS_MAX_NAND_DEVICE 1 108dd02936fSMingkai Hu #define CONFIG_MTD_NAND_VERIFY_WRITE 109dd02936fSMingkai Hu #define CONFIG_CMD_NAND 110dd02936fSMingkai Hu 111dd02936fSMingkai Hu #define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024) 112dd02936fSMingkai Hu 113dd02936fSMingkai Hu /* 114dd02936fSMingkai Hu * CPLD 115dd02936fSMingkai Hu */ 116dd02936fSMingkai Hu #define CONFIG_SYS_CPLD_BASE 0x7fb00000 117dd02936fSMingkai Hu #define CPLD_BASE_PHYS CONFIG_SYS_CPLD_BASE 118dd02936fSMingkai Hu 119dd02936fSMingkai Hu #define CONFIG_SYS_CPLD_CSPR_EXT (0x0) 120dd02936fSMingkai Hu #define CONFIG_SYS_CPLD_CSPR (CSPR_PHYS_ADDR(CPLD_BASE_PHYS) | \ 121dd02936fSMingkai Hu CSPR_PORT_SIZE_8 | \ 122dd02936fSMingkai Hu CSPR_MSEL_GPCM | \ 123dd02936fSMingkai Hu CSPR_V) 124dd02936fSMingkai Hu #define CONFIG_SYS_CPLD_AMASK IFC_AMASK(64 * 1024) 125dd02936fSMingkai Hu #define CONFIG_SYS_CPLD_CSOR CSOR_NOR_ADM_SHIFT(16) 126dd02936fSMingkai Hu 127dd02936fSMingkai Hu /* CPLD Timing parameters for IFC GPCM */ 128dd02936fSMingkai Hu #define CONFIG_SYS_CPLD_FTIM0 (FTIM0_GPCM_TACSE(0x0e) | \ 129dd02936fSMingkai Hu FTIM0_GPCM_TEADC(0x0e) | \ 130dd02936fSMingkai Hu FTIM0_GPCM_TEAHC(0x0e)) 131dd02936fSMingkai Hu #define CONFIG_SYS_CPLD_FTIM1 (FTIM1_GPCM_TACO(0xff) | \ 132dd02936fSMingkai Hu FTIM1_GPCM_TRAD(0x3f)) 133dd02936fSMingkai Hu #define CONFIG_SYS_CPLD_FTIM2 (FTIM2_GPCM_TCS(0xf) | \ 134dd02936fSMingkai Hu FTIM2_GPCM_TCH(0xf) | \ 135dd02936fSMingkai Hu FTIM2_GPCM_TWP(0x3E)) 136dd02936fSMingkai Hu #define CONFIG_SYS_CPLD_FTIM3 0x0 137dd02936fSMingkai Hu 138dd02936fSMingkai Hu /* IFC Timing Params */ 139dd02936fSMingkai Hu #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NAND_CSPR_EXT 140dd02936fSMingkai Hu #define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR 141dd02936fSMingkai Hu #define CONFIG_SYS_AMASK0 CONFIG_SYS_NAND_AMASK 142dd02936fSMingkai Hu #define CONFIG_SYS_CSOR0 CONFIG_SYS_NAND_CSOR 143dd02936fSMingkai Hu #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NAND_FTIM0 144dd02936fSMingkai Hu #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NAND_FTIM1 145dd02936fSMingkai Hu #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NAND_FTIM2 146dd02936fSMingkai Hu #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NAND_FTIM3 147dd02936fSMingkai Hu 148dd02936fSMingkai Hu #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_CPLD_CSPR_EXT 149dd02936fSMingkai Hu #define CONFIG_SYS_CSPR2 CONFIG_SYS_CPLD_CSPR 150dd02936fSMingkai Hu #define CONFIG_SYS_AMASK2 CONFIG_SYS_CPLD_AMASK 151dd02936fSMingkai Hu #define CONFIG_SYS_CSOR2 CONFIG_SYS_CPLD_CSOR 152dd02936fSMingkai Hu #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_CPLD_FTIM0 153dd02936fSMingkai Hu #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_CPLD_FTIM1 154dd02936fSMingkai Hu #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_CPLD_FTIM2 155dd02936fSMingkai Hu #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_CPLD_FTIM3 156dd02936fSMingkai Hu 157dd02936fSMingkai Hu /* EEPROM */ 158dd02936fSMingkai Hu #define CONFIG_ID_EEPROM 159dd02936fSMingkai Hu #define CONFIG_SYS_I2C_EEPROM_NXID 160dd02936fSMingkai Hu #define CONFIG_SYS_EEPROM_BUS_NUM 0 161dd02936fSMingkai Hu #define CONFIG_SYS_I2C_EEPROM_ADDR 0x53 162dd02936fSMingkai Hu #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 163dd02936fSMingkai Hu #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 164dd02936fSMingkai Hu #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 5 165dd02936fSMingkai Hu #define I2C_RETIMER_ADDR 0x18 166dd02936fSMingkai Hu 167*dccef2ecSHou Zhiqiang /* PMIC */ 168*dccef2ecSHou Zhiqiang #define CONFIG_POWER 169*dccef2ecSHou Zhiqiang #ifdef CONFIG_POWER 170*dccef2ecSHou Zhiqiang #define CONFIG_POWER_I2C 171*dccef2ecSHou Zhiqiang #endif 172*dccef2ecSHou Zhiqiang 173dd02936fSMingkai Hu /* 174dd02936fSMingkai Hu * Environment 175dd02936fSMingkai Hu */ 176dd02936fSMingkai Hu #define CONFIG_ENV_OVERWRITE 177dd02936fSMingkai Hu 178dd02936fSMingkai Hu #if defined(CONFIG_SD_BOOT) 179dd02936fSMingkai Hu #define CONFIG_ENV_IS_IN_MMC 180dd02936fSMingkai Hu #define CONFIG_SYS_MMC_ENV_DEV 0 181dd02936fSMingkai Hu #define CONFIG_ENV_OFFSET (1024 * 1024) 182dd02936fSMingkai Hu #define CONFIG_ENV_SIZE 0x2000 183dd02936fSMingkai Hu #else 184dd02936fSMingkai Hu #define CONFIG_ENV_IS_IN_SPI_FLASH 185dd02936fSMingkai Hu #define CONFIG_ENV_SIZE 0x2000 /* 8KB */ 186dd02936fSMingkai Hu #define CONFIG_ENV_OFFSET 0x200000 /* 2MB */ 187dd02936fSMingkai Hu #define CONFIG_ENV_SECT_SIZE 0x40000 /* 256KB */ 188dd02936fSMingkai Hu #endif 189dd02936fSMingkai Hu 190dd02936fSMingkai Hu /* FMan */ 191dd02936fSMingkai Hu #ifdef CONFIG_SYS_DPAA_FMAN 192dd02936fSMingkai Hu #define CONFIG_FMAN_ENET 193dd02936fSMingkai Hu #define CONFIG_PHYLIB 194dd02936fSMingkai Hu #define CONFIG_PHYLIB_10G 195dd02936fSMingkai Hu #define CONFIG_PHY_GIGE /* Include GbE speed/duplex detection */ 196dd02936fSMingkai Hu 197dd02936fSMingkai Hu #define CONFIG_PHY_REALTEK 198dd02936fSMingkai Hu #define CONFIG_PHY_AQUANTIA 199dd02936fSMingkai Hu #define AQR105_IRQ_MASK 0x80000000 200dd02936fSMingkai Hu 201dd02936fSMingkai Hu #define RGMII_PHY1_ADDR 0x1 202dd02936fSMingkai Hu #define RGMII_PHY2_ADDR 0x2 203dd02936fSMingkai Hu 204dd02936fSMingkai Hu #define SGMII_PHY1_ADDR 0x3 205dd02936fSMingkai Hu #define SGMII_PHY2_ADDR 0x4 206dd02936fSMingkai Hu 207dd02936fSMingkai Hu #define FM1_10GEC1_PHY_ADDR 0x0 208dd02936fSMingkai Hu 209dd02936fSMingkai Hu #define CONFIG_ETHPRIME "FM1@DTSEC3" 210dd02936fSMingkai Hu #endif 211dd02936fSMingkai Hu 212dd02936fSMingkai Hu /* QSPI device */ 213dd02936fSMingkai Hu #ifdef CONFIG_FSL_QSPI 214dd02936fSMingkai Hu #define CONFIG_SPI_FLASH_SPANSION 215dd02936fSMingkai Hu #define FSL_QSPI_FLASH_SIZE (1 << 26) 216dd02936fSMingkai Hu #define FSL_QSPI_FLASH_NUM 2 217dd02936fSMingkai Hu #define CONFIG_SPI_FLASH_BAR 218dd02936fSMingkai Hu #endif 219dd02936fSMingkai Hu 22097205eeaSjerry.huang@nxp.com /* USB */ 22197205eeaSjerry.huang@nxp.com #define CONFIG_HAS_FSL_XHCI_USB 22297205eeaSjerry.huang@nxp.com #ifdef CONFIG_HAS_FSL_XHCI_USB 22397205eeaSjerry.huang@nxp.com #define CONFIG_USB_XHCI_HCD 22497205eeaSjerry.huang@nxp.com #define CONFIG_USB_XHCI_FSL 22597205eeaSjerry.huang@nxp.com #define CONFIG_USB_XHCI_DWC3 22697205eeaSjerry.huang@nxp.com #define CONFIG_USB_MAX_CONTROLLER_COUNT 3 22797205eeaSjerry.huang@nxp.com #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2 22897205eeaSjerry.huang@nxp.com #define CONFIG_CMD_USB 22997205eeaSjerry.huang@nxp.com #define CONFIG_USB_STORAGE 23097205eeaSjerry.huang@nxp.com #endif 23197205eeaSjerry.huang@nxp.com 232dd02936fSMingkai Hu /* SATA */ 233dd02936fSMingkai Hu #define CONFIG_LIBATA 234dd02936fSMingkai Hu #define CONFIG_SCSI_AHCI 235dd02936fSMingkai Hu #define CONFIG_SCSI_AHCI_PLAT 236dd02936fSMingkai Hu #define CONFIG_SCSI 237dd02936fSMingkai Hu #define CONFIG_DOS_PARTITION 238dd02936fSMingkai Hu #define CONFIG_BOARD_LATE_INIT 239dd02936fSMingkai Hu 240dd02936fSMingkai Hu #define CONFIG_SYS_SATA AHCI_BASE_ADDR 241dd02936fSMingkai Hu 242dd02936fSMingkai Hu #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 243dd02936fSMingkai Hu #define CONFIG_SYS_SCSI_MAX_LUN 1 244dd02936fSMingkai Hu #define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ 245dd02936fSMingkai Hu CONFIG_SYS_SCSI_MAX_LUN) 2469e0bb4c1SPrabhakar Kushwaha #define CONFIG_PARTITION_UUIDS 2479e0bb4c1SPrabhakar Kushwaha #define CONFIG_EFI_PARTITION 2489e0bb4c1SPrabhakar Kushwaha #define CONFIG_CMD_GPT 2499e0bb4c1SPrabhakar Kushwaha 250dd02936fSMingkai Hu #define CONFIG_BOOTCOMMAND "sf probe 0:0;sf read $kernel_load" \ 251dd02936fSMingkai Hu "$kernel_start $kernel_size;" \ 252dd02936fSMingkai Hu "bootm $kernel_load" 253dd02936fSMingkai Hu 254dd02936fSMingkai Hu #define MTDPARTS_DEFAULT "mtdparts=1550000.quadspi:1m(rcw)," \ 255dd02936fSMingkai Hu "15m(u-boot),48m(kernel.itb);" \ 256dd02936fSMingkai Hu "7e800000.flash:16m(nand_uboot)," \ 257dd02936fSMingkai Hu "48m(nand_kernel),448m(nand_free)" 258dd02936fSMingkai Hu 259dd02936fSMingkai Hu #endif /* __LS1046ARDB_H__ */ 260