1126fe70dSShaohui Xie /* 2126fe70dSShaohui Xie * Copyright 2016 Freescale Semiconductor, Inc. 3126fe70dSShaohui Xie * 4126fe70dSShaohui Xie * SPDX-License-Identifier: GPL-2.0+ 5126fe70dSShaohui Xie */ 6126fe70dSShaohui Xie 7126fe70dSShaohui Xie #ifndef __LS1046AQDS_H__ 8126fe70dSShaohui Xie #define __LS1046AQDS_H__ 9126fe70dSShaohui Xie 10126fe70dSShaohui Xie #include "ls1046a_common.h" 11126fe70dSShaohui Xie 12126fe70dSShaohui Xie #if defined(CONFIG_NAND_BOOT) || defined(CONFIG_SD_BOOT) 13126fe70dSShaohui Xie #define CONFIG_SYS_TEXT_BASE 0x82000000 14126fe70dSShaohui Xie #elif defined(CONFIG_QSPI_BOOT) 15126fe70dSShaohui Xie #define CONFIG_SYS_TEXT_BASE 0x40010000 16126fe70dSShaohui Xie #else 17126fe70dSShaohui Xie #define CONFIG_SYS_TEXT_BASE 0x60100000 18126fe70dSShaohui Xie #endif 19126fe70dSShaohui Xie 20126fe70dSShaohui Xie #ifndef __ASSEMBLY__ 21126fe70dSShaohui Xie unsigned long get_board_sys_clk(void); 22126fe70dSShaohui Xie unsigned long get_board_ddr_clk(void); 23126fe70dSShaohui Xie #endif 24126fe70dSShaohui Xie 25126fe70dSShaohui Xie #define CONFIG_SYS_CLK_FREQ get_board_sys_clk() 26126fe70dSShaohui Xie #define CONFIG_DDR_CLK_FREQ get_board_ddr_clk() 27126fe70dSShaohui Xie 28126fe70dSShaohui Xie #define CONFIG_SKIP_LOWLEVEL_INIT 29126fe70dSShaohui Xie 30126fe70dSShaohui Xie #define CONFIG_LAYERSCAPE_NS_ACCESS 31126fe70dSShaohui Xie 32126fe70dSShaohui Xie #define CONFIG_DIMM_SLOTS_PER_CTLR 1 33126fe70dSShaohui Xie /* Physical Memory Map */ 34126fe70dSShaohui Xie #define CONFIG_CHIP_SELECTS_PER_CTRL 4 35126fe70dSShaohui Xie #define CONFIG_NR_DRAM_BANKS 2 36126fe70dSShaohui Xie 37126fe70dSShaohui Xie #define CONFIG_DDR_SPD 38126fe70dSShaohui Xie #define SPD_EEPROM_ADDRESS 0x51 39126fe70dSShaohui Xie #define CONFIG_SYS_SPD_BUS_NUM 0 40126fe70dSShaohui Xie 41126fe70dSShaohui Xie #define CONFIG_FSL_DDR_INTERACTIVE /* Interactive debugging */ 42126fe70dSShaohui Xie 43126fe70dSShaohui Xie #define CONFIG_DDR_ECC 44126fe70dSShaohui Xie #ifdef CONFIG_DDR_ECC 45126fe70dSShaohui Xie #define CONFIG_ECC_INIT_VIA_DDRCONTROLLER 46126fe70dSShaohui Xie #define CONFIG_MEM_INIT_VALUE 0xdeadbeef 47126fe70dSShaohui Xie #endif 48126fe70dSShaohui Xie 49126fe70dSShaohui Xie /* DSPI */ 50126fe70dSShaohui Xie #ifdef CONFIG_FSL_DSPI 51126fe70dSShaohui Xie #define CONFIG_SPI_FLASH_STMICRO /* cs0 */ 52126fe70dSShaohui Xie #define CONFIG_SPI_FLASH_SST /* cs1 */ 53126fe70dSShaohui Xie #define CONFIG_SPI_FLASH_EON /* cs2 */ 54126fe70dSShaohui Xie #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI) 55126fe70dSShaohui Xie #define CONFIG_SF_DEFAULT_BUS 1 56126fe70dSShaohui Xie #define CONFIG_SF_DEFAULT_CS 0 57126fe70dSShaohui Xie #endif 58126fe70dSShaohui Xie #endif 59126fe70dSShaohui Xie 60126fe70dSShaohui Xie /* QSPI */ 61126fe70dSShaohui Xie #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) 62126fe70dSShaohui Xie #ifdef CONFIG_FSL_QSPI 63126fe70dSShaohui Xie #define CONFIG_SPI_FLASH_SPANSION 64126fe70dSShaohui Xie #define FSL_QSPI_FLASH_SIZE (1 << 24) 65126fe70dSShaohui Xie #define FSL_QSPI_FLASH_NUM 2 66126fe70dSShaohui Xie #endif 67126fe70dSShaohui Xie #endif 68126fe70dSShaohui Xie 69126fe70dSShaohui Xie #ifdef CONFIG_SYS_DPAA_FMAN 70126fe70dSShaohui Xie #define CONFIG_FMAN_ENET 71126fe70dSShaohui Xie #define CONFIG_PHYLIB 72126fe70dSShaohui Xie #define CONFIG_PHY_VITESSE 73126fe70dSShaohui Xie #define CONFIG_PHY_REALTEK 74126fe70dSShaohui Xie #define CONFIG_PHYLIB_10G 75126fe70dSShaohui Xie #define RGMII_PHY1_ADDR 0x1 76126fe70dSShaohui Xie #define RGMII_PHY2_ADDR 0x2 77126fe70dSShaohui Xie #define SGMII_CARD_PORT1_PHY_ADDR 0x1C 78126fe70dSShaohui Xie #define SGMII_CARD_PORT2_PHY_ADDR 0x1D 79126fe70dSShaohui Xie #define SGMII_CARD_PORT3_PHY_ADDR 0x1E 80126fe70dSShaohui Xie #define SGMII_CARD_PORT4_PHY_ADDR 0x1F 81126fe70dSShaohui Xie /* PHY address on QSGMII riser card on slot 2 */ 82126fe70dSShaohui Xie #define QSGMII_CARD_PORT1_PHY_ADDR_S2 0x8 83126fe70dSShaohui Xie #define QSGMII_CARD_PORT2_PHY_ADDR_S2 0x9 84126fe70dSShaohui Xie #define QSGMII_CARD_PORT3_PHY_ADDR_S2 0xA 85126fe70dSShaohui Xie #define QSGMII_CARD_PORT4_PHY_ADDR_S2 0xB 86126fe70dSShaohui Xie #endif 87126fe70dSShaohui Xie 88126fe70dSShaohui Xie #ifdef CONFIG_RAMBOOT_PBL 89126fe70dSShaohui Xie #define CONFIG_SYS_FSL_PBL_PBI \ 90126fe70dSShaohui Xie board/freescale/ls1046aqds/ls1046aqds_pbi.cfg 91126fe70dSShaohui Xie #endif 92126fe70dSShaohui Xie 93126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT 94126fe70dSShaohui Xie #define CONFIG_SYS_FSL_PBL_RCW \ 95126fe70dSShaohui Xie board/freescale/ls1046aqds/ls1046aqds_rcw_nand.cfg 96126fe70dSShaohui Xie #endif 97126fe70dSShaohui Xie 98126fe70dSShaohui Xie #ifdef CONFIG_SD_BOOT 99126fe70dSShaohui Xie #ifdef CONFIG_SD_BOOT_QSPI 100126fe70dSShaohui Xie #define CONFIG_SYS_FSL_PBL_RCW \ 101126fe70dSShaohui Xie board/freescale/ls1046aqds/ls1046aqds_rcw_sd_qspi.cfg 102126fe70dSShaohui Xie #else 103126fe70dSShaohui Xie #define CONFIG_SYS_FSL_PBL_RCW \ 104126fe70dSShaohui Xie board/freescale/ls1046aqds/ls1046aqds_rcw_sd_ifc.cfg 105126fe70dSShaohui Xie #endif 106126fe70dSShaohui Xie #endif 107126fe70dSShaohui Xie 108126fe70dSShaohui Xie /* IFC */ 109126fe70dSShaohui Xie #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI) 110126fe70dSShaohui Xie #define CONFIG_FSL_IFC 111126fe70dSShaohui Xie /* 112126fe70dSShaohui Xie * CONFIG_SYS_FLASH_BASE has the final address (core view) 113126fe70dSShaohui Xie * CONFIG_SYS_FLASH_BASE_PHYS has the final address (IFC view) 114126fe70dSShaohui Xie * CONFIG_SYS_FLASH_BASE_PHYS_EARLY has the temporary IFC address 115126fe70dSShaohui Xie * CONFIG_SYS_TEXT_BASE is linked to 0x60000000 for booting 116126fe70dSShaohui Xie */ 117126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_BASE 0x60000000 118126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_BASE_PHYS CONFIG_SYS_FLASH_BASE 119126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_BASE_PHYS_EARLY 0x00000000 120126fe70dSShaohui Xie 121126fe70dSShaohui Xie #ifndef CONFIG_SYS_NO_FLASH 122126fe70dSShaohui Xie #define CONFIG_FLASH_CFI_DRIVER 123126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_CFI 124126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 125126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_QUIET_TEST 126126fe70dSShaohui Xie #define CONFIG_FLASH_SHOW_PROGRESS 45 /* count down from 45/5: 9..1 */ 127126fe70dSShaohui Xie #endif 128126fe70dSShaohui Xie #endif 129126fe70dSShaohui Xie 130fdc2b54cSShaohui Xie /* LPUART */ 131fdc2b54cSShaohui Xie #ifdef CONFIG_LPUART 132fdc2b54cSShaohui Xie #define CONFIG_LPUART_32B_REG 133fdc2b54cSShaohui Xie #define CFG_UART_MUX_MASK 0x6 134fdc2b54cSShaohui Xie #define CFG_UART_MUX_SHIFT 1 135fdc2b54cSShaohui Xie #define CFG_LPUART_EN 0x2 136fdc2b54cSShaohui Xie #endif 137fdc2b54cSShaohui Xie 138126fe70dSShaohui Xie /* SATA */ 139126fe70dSShaohui Xie #define CONFIG_LIBATA 140126fe70dSShaohui Xie #define CONFIG_SCSI_AHCI 141126fe70dSShaohui Xie #define CONFIG_SCSI_AHCI_PLAT 142126fe70dSShaohui Xie #define CONFIG_SCSI 143126fe70dSShaohui Xie #define CONFIG_DOS_PARTITION 144126fe70dSShaohui Xie #define CONFIG_BOARD_LATE_INIT 145126fe70dSShaohui Xie 146*9e0bb4c1SPrabhakar Kushwaha #define CONFIG_PARTITION_UUIDS 147*9e0bb4c1SPrabhakar Kushwaha #define CONFIG_EFI_PARTITION 148*9e0bb4c1SPrabhakar Kushwaha #define CONFIG_CMD_GPT 149*9e0bb4c1SPrabhakar Kushwaha 150126fe70dSShaohui Xie /* EEPROM */ 151126fe70dSShaohui Xie #define CONFIG_ID_EEPROM 152126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EEPROM_NXID 153126fe70dSShaohui Xie #define CONFIG_SYS_EEPROM_BUS_NUM 0 154126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EEPROM_ADDR 0x57 155126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 156126fe70dSShaohui Xie #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 157126fe70dSShaohui Xie #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 5 158126fe70dSShaohui Xie 159126fe70dSShaohui Xie #define CONFIG_SYS_SATA AHCI_BASE_ADDR 160126fe70dSShaohui Xie 161126fe70dSShaohui Xie #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 162126fe70dSShaohui Xie #define CONFIG_SYS_SCSI_MAX_LUN 1 163126fe70dSShaohui Xie #define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ 164126fe70dSShaohui Xie CONFIG_SYS_SCSI_MAX_LUN) 165126fe70dSShaohui Xie 166126fe70dSShaohui Xie /* 167126fe70dSShaohui Xie * IFC Definitions 168126fe70dSShaohui Xie */ 169126fe70dSShaohui Xie #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI) 170126fe70dSShaohui Xie #define CONFIG_SYS_NOR0_CSPR_EXT (0x0) 171126fe70dSShaohui Xie #define CONFIG_SYS_NOR0_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \ 172126fe70dSShaohui Xie CSPR_PORT_SIZE_16 | \ 173126fe70dSShaohui Xie CSPR_MSEL_NOR | \ 174126fe70dSShaohui Xie CSPR_V) 175126fe70dSShaohui Xie #define CONFIG_SYS_NOR1_CSPR_EXT (0x0) 176126fe70dSShaohui Xie #define CONFIG_SYS_NOR1_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS \ 177126fe70dSShaohui Xie + 0x8000000) | \ 178126fe70dSShaohui Xie CSPR_PORT_SIZE_16 | \ 179126fe70dSShaohui Xie CSPR_MSEL_NOR | \ 180126fe70dSShaohui Xie CSPR_V) 181126fe70dSShaohui Xie #define CONFIG_SYS_NOR_AMASK IFC_AMASK(128 * 1024 * 1024) 182126fe70dSShaohui Xie 183126fe70dSShaohui Xie #define CONFIG_SYS_NOR_CSOR (CSOR_NOR_ADM_SHIFT(4) | \ 184126fe70dSShaohui Xie CSOR_NOR_TRHZ_80) 185126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x4) | \ 186126fe70dSShaohui Xie FTIM0_NOR_TEADC(0x5) | \ 187126fe70dSShaohui Xie FTIM0_NOR_TEAHC(0x5)) 188126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM1 (FTIM1_NOR_TACO(0x35) | \ 189126fe70dSShaohui Xie FTIM1_NOR_TRAD_NOR(0x1a) | \ 190126fe70dSShaohui Xie FTIM1_NOR_TSEQRAD_NOR(0x13)) 191126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM2 (FTIM2_NOR_TCS(0x4) | \ 192126fe70dSShaohui Xie FTIM2_NOR_TCH(0x4) | \ 193126fe70dSShaohui Xie FTIM2_NOR_TWPH(0xe) | \ 194126fe70dSShaohui Xie FTIM2_NOR_TWP(0x1c)) 195126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM3 0 196126fe70dSShaohui Xie 197126fe70dSShaohui Xie #define CONFIG_SYS_MAX_FLASH_BANKS 2 /* number of banks */ 198126fe70dSShaohui Xie #define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */ 199126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 200126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 201126fe70dSShaohui Xie 202126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_EMPTY_INFO 203126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE_PHYS, \ 204126fe70dSShaohui Xie CONFIG_SYS_FLASH_BASE_PHYS + 0x8000000} 205126fe70dSShaohui Xie 206126fe70dSShaohui Xie #define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS 207126fe70dSShaohui Xie #define CONFIG_SYS_WRITE_SWAPPED_DATA 208126fe70dSShaohui Xie 209126fe70dSShaohui Xie /* 210126fe70dSShaohui Xie * NAND Flash Definitions 211126fe70dSShaohui Xie */ 212126fe70dSShaohui Xie #define CONFIG_NAND_FSL_IFC 213126fe70dSShaohui Xie 214126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BASE 0x7e800000 215126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE 216126fe70dSShaohui Xie 217126fe70dSShaohui Xie #define CONFIG_SYS_NAND_CSPR_EXT (0x0) 218126fe70dSShaohui Xie 219126fe70dSShaohui Xie #define CONFIG_SYS_NAND_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \ 220126fe70dSShaohui Xie | CSPR_PORT_SIZE_8 \ 221126fe70dSShaohui Xie | CSPR_MSEL_NAND \ 222126fe70dSShaohui Xie | CSPR_V) 223126fe70dSShaohui Xie #define CONFIG_SYS_NAND_AMASK IFC_AMASK(64*1024) 224126fe70dSShaohui Xie #define CONFIG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \ 225126fe70dSShaohui Xie | CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \ 226126fe70dSShaohui Xie | CSOR_NAND_ECC_MODE_8 /* 8-bit ECC */ \ 227126fe70dSShaohui Xie | CSOR_NAND_RAL_3 /* RAL = 3 Bytes */ \ 228126fe70dSShaohui Xie | CSOR_NAND_PGS_4K /* Page Size = 4K */ \ 229126fe70dSShaohui Xie | CSOR_NAND_SPRZ_224 /* Spare size = 224 */ \ 230126fe70dSShaohui Xie | CSOR_NAND_PB(64)) /* 64 Pages Per Block */ 231126fe70dSShaohui Xie 232126fe70dSShaohui Xie #define CONFIG_SYS_NAND_ONFI_DETECTION 233126fe70dSShaohui Xie 234126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x7) | \ 235126fe70dSShaohui Xie FTIM0_NAND_TWP(0x18) | \ 236126fe70dSShaohui Xie FTIM0_NAND_TWCHT(0x7) | \ 237126fe70dSShaohui Xie FTIM0_NAND_TWH(0xa)) 238126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM1 (FTIM1_NAND_TADLE(0x32) | \ 239126fe70dSShaohui Xie FTIM1_NAND_TWBE(0x39) | \ 240126fe70dSShaohui Xie FTIM1_NAND_TRR(0xe) | \ 241126fe70dSShaohui Xie FTIM1_NAND_TRP(0x18)) 242126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM2 (FTIM2_NAND_TRAD(0xf) | \ 243126fe70dSShaohui Xie FTIM2_NAND_TREH(0xa) | \ 244126fe70dSShaohui Xie FTIM2_NAND_TWHRE(0x1e)) 245126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM3 0x0 246126fe70dSShaohui Xie 247126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE } 248126fe70dSShaohui Xie #define CONFIG_SYS_MAX_NAND_DEVICE 1 249126fe70dSShaohui Xie #define CONFIG_MTD_NAND_VERIFY_WRITE 250126fe70dSShaohui Xie #define CONFIG_CMD_NAND 251126fe70dSShaohui Xie 252126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BLOCK_SIZE (256 * 1024) 253126fe70dSShaohui Xie #endif 254126fe70dSShaohui Xie 255126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT 256126fe70dSShaohui Xie #define CONFIG_SPL_PAD_TO 0x40000 /* block aligned */ 257126fe70dSShaohui Xie #define CONFIG_SYS_NAND_U_BOOT_OFFS CONFIG_SPL_PAD_TO 258126fe70dSShaohui Xie #define CONFIG_SYS_NAND_U_BOOT_SIZE (768 << 10) 259126fe70dSShaohui Xie #endif 260126fe70dSShaohui Xie 261126fe70dSShaohui Xie #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) 262126fe70dSShaohui Xie #define CONFIG_QIXIS_I2C_ACCESS 263126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EARLY_INIT 264126fe70dSShaohui Xie #define CONFIG_SYS_NO_FLASH 265126fe70dSShaohui Xie #endif 266126fe70dSShaohui Xie 267126fe70dSShaohui Xie /* 268126fe70dSShaohui Xie * QIXIS Definitions 269126fe70dSShaohui Xie */ 270126fe70dSShaohui Xie #define CONFIG_FSL_QIXIS 271126fe70dSShaohui Xie 272126fe70dSShaohui Xie #ifdef CONFIG_FSL_QIXIS 273126fe70dSShaohui Xie #define QIXIS_BASE 0x7fb00000 274126fe70dSShaohui Xie #define QIXIS_BASE_PHYS QIXIS_BASE 275126fe70dSShaohui Xie #define CONFIG_SYS_I2C_FPGA_ADDR 0x66 276126fe70dSShaohui Xie #define QIXIS_LBMAP_SWITCH 6 277126fe70dSShaohui Xie #define QIXIS_LBMAP_MASK 0x0f 278126fe70dSShaohui Xie #define QIXIS_LBMAP_SHIFT 0 279126fe70dSShaohui Xie #define QIXIS_LBMAP_DFLTBANK 0x00 280126fe70dSShaohui Xie #define QIXIS_LBMAP_ALTBANK 0x04 281126fe70dSShaohui Xie #define QIXIS_LBMAP_NAND 0x09 282126fe70dSShaohui Xie #define QIXIS_LBMAP_SD 0x00 283126fe70dSShaohui Xie #define QIXIS_LBMAP_SD_QSPI 0xff 284126fe70dSShaohui Xie #define QIXIS_LBMAP_QSPI 0xff 285126fe70dSShaohui Xie #define QIXIS_RCW_SRC_NAND 0x110 286126fe70dSShaohui Xie #define QIXIS_RCW_SRC_SD 0x040 287126fe70dSShaohui Xie #define QIXIS_RCW_SRC_QSPI 0x045 288126fe70dSShaohui Xie #define QIXIS_RST_CTL_RESET 0x41 289126fe70dSShaohui Xie #define QIXIS_RCFG_CTL_RECONFIG_IDLE 0x20 290126fe70dSShaohui Xie #define QIXIS_RCFG_CTL_RECONFIG_START 0x21 291126fe70dSShaohui Xie #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 292126fe70dSShaohui Xie 293126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_CSPR_EXT (0x0) 294126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_CSPR (CSPR_PHYS_ADDR(QIXIS_BASE_PHYS) | \ 295126fe70dSShaohui Xie CSPR_PORT_SIZE_8 | \ 296126fe70dSShaohui Xie CSPR_MSEL_GPCM | \ 297126fe70dSShaohui Xie CSPR_V) 298126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_AMASK IFC_AMASK(64 * 1024) 299126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_CSOR (CSOR_NOR_ADM_SHIFT(4) | \ 300126fe70dSShaohui Xie CSOR_NOR_NOR_MODE_AVD_NOR | \ 301126fe70dSShaohui Xie CSOR_NOR_TRHZ_80) 302126fe70dSShaohui Xie 303126fe70dSShaohui Xie /* 304126fe70dSShaohui Xie * QIXIS Timing parameters for IFC GPCM 305126fe70dSShaohui Xie */ 306126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM0 (FTIM0_GPCM_TACSE(0xc) | \ 307126fe70dSShaohui Xie FTIM0_GPCM_TEADC(0x20) | \ 308126fe70dSShaohui Xie FTIM0_GPCM_TEAHC(0x10)) 309126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM1 (FTIM1_GPCM_TACO(0x50) | \ 310126fe70dSShaohui Xie FTIM1_GPCM_TRAD(0x1f)) 311126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM2 (FTIM2_GPCM_TCS(0x8) | \ 312126fe70dSShaohui Xie FTIM2_GPCM_TCH(0x8) | \ 313126fe70dSShaohui Xie FTIM2_GPCM_TWP(0xf0)) 314126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM3 0x0 315126fe70dSShaohui Xie #endif 316126fe70dSShaohui Xie 317126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT 318126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NAND_CSPR_EXT 319126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR 320126fe70dSShaohui Xie #define CONFIG_SYS_AMASK0 CONFIG_SYS_NAND_AMASK 321126fe70dSShaohui Xie #define CONFIG_SYS_CSOR0 CONFIG_SYS_NAND_CSOR 322126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NAND_FTIM0 323126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NAND_FTIM1 324126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NAND_FTIM2 325126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NAND_FTIM3 326126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR0_CSPR_EXT 327126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR0_CSPR 328126fe70dSShaohui Xie #define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK 329126fe70dSShaohui Xie #define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR 330126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0 331126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1 332126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2 333126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3 334126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NOR1_CSPR_EXT 335126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2 CONFIG_SYS_NOR1_CSPR 336126fe70dSShaohui Xie #define CONFIG_SYS_AMASK2 CONFIG_SYS_NOR_AMASK 337126fe70dSShaohui Xie #define CONFIG_SYS_CSOR2 CONFIG_SYS_NOR_CSOR 338126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NOR_FTIM0 339126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NOR_FTIM1 340126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NOR_FTIM2 341126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NOR_FTIM3 342126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3_EXT CONFIG_SYS_FPGA_CSPR_EXT 343126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3 CONFIG_SYS_FPGA_CSPR 344126fe70dSShaohui Xie #define CONFIG_SYS_AMASK3 CONFIG_SYS_FPGA_AMASK 345126fe70dSShaohui Xie #define CONFIG_SYS_CSOR3 CONFIG_SYS_FPGA_CSOR 346126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM0 CONFIG_SYS_FPGA_FTIM0 347126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM1 CONFIG_SYS_FPGA_FTIM1 348126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM2 CONFIG_SYS_FPGA_FTIM2 349126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM3 CONFIG_SYS_FPGA_FTIM3 350126fe70dSShaohui Xie #else 351126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT 352126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR 353126fe70dSShaohui Xie #define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK 354126fe70dSShaohui Xie #define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR 355126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0 356126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1 357126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2 358126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3 359126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR1_CSPR_EXT 360126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR1_CSPR 361126fe70dSShaohui Xie #define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK 362126fe70dSShaohui Xie #define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR 363126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0 364126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1 365126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2 366126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3 367126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NAND_CSPR_EXT 368126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2 CONFIG_SYS_NAND_CSPR 369126fe70dSShaohui Xie #define CONFIG_SYS_AMASK2 CONFIG_SYS_NAND_AMASK 370126fe70dSShaohui Xie #define CONFIG_SYS_CSOR2 CONFIG_SYS_NAND_CSOR 371126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NAND_FTIM0 372126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NAND_FTIM1 373126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NAND_FTIM2 374126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3 375126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3_EXT CONFIG_SYS_FPGA_CSPR_EXT 376126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3 CONFIG_SYS_FPGA_CSPR 377126fe70dSShaohui Xie #define CONFIG_SYS_AMASK3 CONFIG_SYS_FPGA_AMASK 378126fe70dSShaohui Xie #define CONFIG_SYS_CSOR3 CONFIG_SYS_FPGA_CSOR 379126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM0 CONFIG_SYS_FPGA_FTIM0 380126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM1 CONFIG_SYS_FPGA_FTIM1 381126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM2 CONFIG_SYS_FPGA_FTIM2 382126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM3 CONFIG_SYS_FPGA_FTIM3 383126fe70dSShaohui Xie #endif 384126fe70dSShaohui Xie 385126fe70dSShaohui Xie /* 386126fe70dSShaohui Xie * I2C bus multiplexer 387126fe70dSShaohui Xie */ 388126fe70dSShaohui Xie #define I2C_MUX_PCA_ADDR_PRI 0x77 389126fe70dSShaohui Xie #define I2C_MUX_PCA_ADDR_SEC 0x76 /* Secondary multiplexer */ 390126fe70dSShaohui Xie #define I2C_RETIMER_ADDR 0x18 391126fe70dSShaohui Xie #define I2C_MUX_CH_DEFAULT 0x8 392126fe70dSShaohui Xie #define I2C_MUX_CH_CH7301 0xC 393126fe70dSShaohui Xie #define I2C_MUX_CH5 0xD 394126fe70dSShaohui Xie #define I2C_MUX_CH6 0xE 395126fe70dSShaohui Xie #define I2C_MUX_CH7 0xF 396126fe70dSShaohui Xie 397126fe70dSShaohui Xie #define I2C_MUX_CH_VOL_MONITOR 0xa 398126fe70dSShaohui Xie 399126fe70dSShaohui Xie /* Voltage monitor on channel 2*/ 400126fe70dSShaohui Xie #define I2C_VOL_MONITOR_ADDR 0x40 401126fe70dSShaohui Xie #define I2C_VOL_MONITOR_BUS_V_OFFSET 0x2 402126fe70dSShaohui Xie #define I2C_VOL_MONITOR_BUS_V_OVF 0x1 403126fe70dSShaohui Xie #define I2C_VOL_MONITOR_BUS_V_SHIFT 3 404126fe70dSShaohui Xie 405126fe70dSShaohui Xie #define CONFIG_VID_FLS_ENV "ls1046aqds_vdd_mv" 406126fe70dSShaohui Xie #ifndef CONFIG_SPL_BUILD 407126fe70dSShaohui Xie #define CONFIG_VID 408126fe70dSShaohui Xie #endif 409126fe70dSShaohui Xie #define CONFIG_VOL_MONITOR_IR36021_SET 410126fe70dSShaohui Xie #define CONFIG_VOL_MONITOR_INA220 411126fe70dSShaohui Xie /* The lowest and highest voltage allowed for LS1046AQDS */ 412126fe70dSShaohui Xie #define VDD_MV_MIN 819 413126fe70dSShaohui Xie #define VDD_MV_MAX 1212 414126fe70dSShaohui Xie 415126fe70dSShaohui Xie /* 416126fe70dSShaohui Xie * Miscellaneous configurable options 417126fe70dSShaohui Xie */ 418126fe70dSShaohui Xie #define CONFIG_MISC_INIT_R 419126fe70dSShaohui Xie #define CONFIG_SYS_LONGHELP /* undef to save memory */ 420126fe70dSShaohui Xie #define CONFIG_AUTO_COMPLETE 421126fe70dSShaohui Xie #define CONFIG_SYS_PBSIZE \ 422126fe70dSShaohui Xie (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) 423126fe70dSShaohui Xie #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 424126fe70dSShaohui Xie 425126fe70dSShaohui Xie #define CONFIG_SYS_MEMTEST_START 0x80000000 426126fe70dSShaohui Xie #define CONFIG_SYS_MEMTEST_END 0x9fffffff 427126fe70dSShaohui Xie 428126fe70dSShaohui Xie #define CONFIG_SYS_HZ 1000 429126fe70dSShaohui Xie 430126fe70dSShaohui Xie /* 431126fe70dSShaohui Xie * Stack sizes 432126fe70dSShaohui Xie * The stack sizes are set up in start.S using the settings below 433126fe70dSShaohui Xie */ 434126fe70dSShaohui Xie #define CONFIG_STACKSIZE (30 * 1024) 435126fe70dSShaohui Xie 436126fe70dSShaohui Xie #define CONFIG_SYS_INIT_SP_OFFSET \ 437126fe70dSShaohui Xie (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 438126fe70dSShaohui Xie 439126fe70dSShaohui Xie #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 440126fe70dSShaohui Xie 441126fe70dSShaohui Xie /* 442126fe70dSShaohui Xie * Environment 443126fe70dSShaohui Xie */ 444126fe70dSShaohui Xie #define CONFIG_ENV_OVERWRITE 445126fe70dSShaohui Xie 446126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT 447126fe70dSShaohui Xie #define CONFIG_ENV_IS_IN_NAND 448126fe70dSShaohui Xie #define CONFIG_ENV_SIZE 0x2000 449126fe70dSShaohui Xie #define CONFIG_ENV_OFFSET (5 * CONFIG_SYS_NAND_BLOCK_SIZE) 450126fe70dSShaohui Xie #elif defined(CONFIG_SD_BOOT) 451126fe70dSShaohui Xie #define CONFIG_ENV_OFFSET (1024 * 1024) 452126fe70dSShaohui Xie #define CONFIG_ENV_IS_IN_MMC 453126fe70dSShaohui Xie #define CONFIG_SYS_MMC_ENV_DEV 0 454126fe70dSShaohui Xie #define CONFIG_ENV_SIZE 0x2000 455126fe70dSShaohui Xie #elif defined(CONFIG_QSPI_BOOT) 456126fe70dSShaohui Xie #define CONFIG_ENV_IS_IN_SPI_FLASH 457126fe70dSShaohui Xie #define CONFIG_ENV_SIZE 0x2000 /* 8KB */ 458126fe70dSShaohui Xie #define CONFIG_ENV_OFFSET 0x100000 /* 1MB */ 459126fe70dSShaohui Xie #define CONFIG_ENV_SECT_SIZE 0x10000 460126fe70dSShaohui Xie #else 461126fe70dSShaohui Xie #define CONFIG_ENV_IS_IN_FLASH 462126fe70dSShaohui Xie #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x200000) 463126fe70dSShaohui Xie #define CONFIG_ENV_SECT_SIZE 0x20000 464126fe70dSShaohui Xie #define CONFIG_ENV_SIZE 0x20000 465126fe70dSShaohui Xie #endif 466126fe70dSShaohui Xie 467126fe70dSShaohui Xie #define CONFIG_CMDLINE_TAG 468126fe70dSShaohui Xie 469126fe70dSShaohui Xie #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) 470126fe70dSShaohui Xie #define CONFIG_BOOTCOMMAND "sf probe && sf read $kernel_load " \ 471126fe70dSShaohui Xie "e0000 f00000 && bootm $kernel_load" 472126fe70dSShaohui Xie #else 473126fe70dSShaohui Xie #define CONFIG_BOOTCOMMAND "cp.b $kernel_start $kernel_load " \ 474126fe70dSShaohui Xie "$kernel_size && bootm $kernel_load" 475126fe70dSShaohui Xie #endif 476126fe70dSShaohui Xie 477126fe70dSShaohui Xie #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) 478126fe70dSShaohui Xie #define MTDPARTS_DEFAULT "mtdparts=1550000.quadspi:2m(uboot)," \ 479126fe70dSShaohui Xie "14m(free)" 480126fe70dSShaohui Xie #else 481126fe70dSShaohui Xie #define MTDPARTS_DEFAULT "mtdparts=60000000.nor:1m(nor_bank0_rcw)," \ 482126fe70dSShaohui Xie "1m(nor_bank0_uboot),1m(nor_bank0_uboot_env)," \ 483126fe70dSShaohui Xie "1m(nor_bank0_fman_uconde),40m(nor_bank0_fit)," \ 484126fe70dSShaohui Xie "1m(nor_bank4_rcw),1m(nor_bank4_uboot)," \ 485126fe70dSShaohui Xie "1m(nor_bank4_uboot_env),1m(nor_bank4_fman_ucode)," \ 486126fe70dSShaohui Xie "40m(nor_bank4_fit);7e800000.flash:" \ 487126fe70dSShaohui Xie "4m(nand_uboot),36m(nand_kernel)," \ 488126fe70dSShaohui Xie "472m(nand_free);spi0.0:2m(uboot)," \ 489126fe70dSShaohui Xie "14m(free)" 490126fe70dSShaohui Xie #endif 491126fe70dSShaohui Xie 492126fe70dSShaohui Xie #include <asm/fsl_secure_boot.h> 493126fe70dSShaohui Xie 494126fe70dSShaohui Xie #endif /* __LS1046AQDS_H__ */ 495