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 121*e856bdcfSMasahiro Yamada #ifdef CONFIG_MTD_NOR_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 13870d3287eSTang Yuantian /* USB */ 13970d3287eSTang Yuantian #define CONFIG_HAS_FSL_XHCI_USB 14070d3287eSTang Yuantian #ifdef CONFIG_HAS_FSL_XHCI_USB 14170d3287eSTang Yuantian #define CONFIG_USB_XHCI_HCD 14270d3287eSTang Yuantian #define CONFIG_USB_XHCI_FSL 14370d3287eSTang Yuantian #define CONFIG_USB_XHCI_DWC3 14470d3287eSTang Yuantian #define CONFIG_USB_MAX_CONTROLLER_COUNT 3 14570d3287eSTang Yuantian #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2 14670d3287eSTang Yuantian #define CONFIG_CMD_USB 14770d3287eSTang Yuantian #define CONFIG_USB_STORAGE 14870d3287eSTang Yuantian #endif 14970d3287eSTang Yuantian 150126fe70dSShaohui Xie /* SATA */ 151126fe70dSShaohui Xie #define CONFIG_LIBATA 152126fe70dSShaohui Xie #define CONFIG_SCSI_AHCI 153126fe70dSShaohui Xie #define CONFIG_SCSI_AHCI_PLAT 154126fe70dSShaohui Xie #define CONFIG_SCSI 155126fe70dSShaohui Xie 156126fe70dSShaohui Xie /* EEPROM */ 157126fe70dSShaohui Xie #define CONFIG_ID_EEPROM 158126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EEPROM_NXID 159126fe70dSShaohui Xie #define CONFIG_SYS_EEPROM_BUS_NUM 0 160126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EEPROM_ADDR 0x57 161126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 162126fe70dSShaohui Xie #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 163126fe70dSShaohui Xie #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 5 164126fe70dSShaohui Xie 165126fe70dSShaohui Xie #define CONFIG_SYS_SATA AHCI_BASE_ADDR 166126fe70dSShaohui Xie 167126fe70dSShaohui Xie #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 168126fe70dSShaohui Xie #define CONFIG_SYS_SCSI_MAX_LUN 1 169126fe70dSShaohui Xie #define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ 170126fe70dSShaohui Xie CONFIG_SYS_SCSI_MAX_LUN) 171126fe70dSShaohui Xie 172126fe70dSShaohui Xie /* 173126fe70dSShaohui Xie * IFC Definitions 174126fe70dSShaohui Xie */ 175126fe70dSShaohui Xie #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI) 176126fe70dSShaohui Xie #define CONFIG_SYS_NOR0_CSPR_EXT (0x0) 177126fe70dSShaohui Xie #define CONFIG_SYS_NOR0_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \ 178126fe70dSShaohui Xie CSPR_PORT_SIZE_16 | \ 179126fe70dSShaohui Xie CSPR_MSEL_NOR | \ 180126fe70dSShaohui Xie CSPR_V) 181126fe70dSShaohui Xie #define CONFIG_SYS_NOR1_CSPR_EXT (0x0) 182126fe70dSShaohui Xie #define CONFIG_SYS_NOR1_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS \ 183126fe70dSShaohui Xie + 0x8000000) | \ 184126fe70dSShaohui Xie CSPR_PORT_SIZE_16 | \ 185126fe70dSShaohui Xie CSPR_MSEL_NOR | \ 186126fe70dSShaohui Xie CSPR_V) 187126fe70dSShaohui Xie #define CONFIG_SYS_NOR_AMASK IFC_AMASK(128 * 1024 * 1024) 188126fe70dSShaohui Xie 189126fe70dSShaohui Xie #define CONFIG_SYS_NOR_CSOR (CSOR_NOR_ADM_SHIFT(4) | \ 190126fe70dSShaohui Xie CSOR_NOR_TRHZ_80) 191126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x4) | \ 192126fe70dSShaohui Xie FTIM0_NOR_TEADC(0x5) | \ 193126fe70dSShaohui Xie FTIM0_NOR_TEAHC(0x5)) 194126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM1 (FTIM1_NOR_TACO(0x35) | \ 195126fe70dSShaohui Xie FTIM1_NOR_TRAD_NOR(0x1a) | \ 196126fe70dSShaohui Xie FTIM1_NOR_TSEQRAD_NOR(0x13)) 197126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM2 (FTIM2_NOR_TCS(0x4) | \ 198126fe70dSShaohui Xie FTIM2_NOR_TCH(0x4) | \ 199126fe70dSShaohui Xie FTIM2_NOR_TWPH(0xe) | \ 200126fe70dSShaohui Xie FTIM2_NOR_TWP(0x1c)) 201126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM3 0 202126fe70dSShaohui Xie 203126fe70dSShaohui Xie #define CONFIG_SYS_MAX_FLASH_BANKS 2 /* number of banks */ 204126fe70dSShaohui Xie #define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */ 205126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 206126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 207126fe70dSShaohui Xie 208126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_EMPTY_INFO 209126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE_PHYS, \ 210126fe70dSShaohui Xie CONFIG_SYS_FLASH_BASE_PHYS + 0x8000000} 211126fe70dSShaohui Xie 212126fe70dSShaohui Xie #define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS 213126fe70dSShaohui Xie #define CONFIG_SYS_WRITE_SWAPPED_DATA 214126fe70dSShaohui Xie 215126fe70dSShaohui Xie /* 216126fe70dSShaohui Xie * NAND Flash Definitions 217126fe70dSShaohui Xie */ 218126fe70dSShaohui Xie #define CONFIG_NAND_FSL_IFC 219126fe70dSShaohui Xie 220126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BASE 0x7e800000 221126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE 222126fe70dSShaohui Xie 223126fe70dSShaohui Xie #define CONFIG_SYS_NAND_CSPR_EXT (0x0) 224126fe70dSShaohui Xie 225126fe70dSShaohui Xie #define CONFIG_SYS_NAND_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \ 226126fe70dSShaohui Xie | CSPR_PORT_SIZE_8 \ 227126fe70dSShaohui Xie | CSPR_MSEL_NAND \ 228126fe70dSShaohui Xie | CSPR_V) 229126fe70dSShaohui Xie #define CONFIG_SYS_NAND_AMASK IFC_AMASK(64*1024) 230126fe70dSShaohui Xie #define CONFIG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \ 231126fe70dSShaohui Xie | CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \ 232126fe70dSShaohui Xie | CSOR_NAND_ECC_MODE_8 /* 8-bit ECC */ \ 233126fe70dSShaohui Xie | CSOR_NAND_RAL_3 /* RAL = 3 Bytes */ \ 234126fe70dSShaohui Xie | CSOR_NAND_PGS_4K /* Page Size = 4K */ \ 235126fe70dSShaohui Xie | CSOR_NAND_SPRZ_224 /* Spare size = 224 */ \ 236126fe70dSShaohui Xie | CSOR_NAND_PB(64)) /* 64 Pages Per Block */ 237126fe70dSShaohui Xie 238126fe70dSShaohui Xie #define CONFIG_SYS_NAND_ONFI_DETECTION 239126fe70dSShaohui Xie 240126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x7) | \ 241126fe70dSShaohui Xie FTIM0_NAND_TWP(0x18) | \ 242126fe70dSShaohui Xie FTIM0_NAND_TWCHT(0x7) | \ 243126fe70dSShaohui Xie FTIM0_NAND_TWH(0xa)) 244126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM1 (FTIM1_NAND_TADLE(0x32) | \ 245126fe70dSShaohui Xie FTIM1_NAND_TWBE(0x39) | \ 246126fe70dSShaohui Xie FTIM1_NAND_TRR(0xe) | \ 247126fe70dSShaohui Xie FTIM1_NAND_TRP(0x18)) 248126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM2 (FTIM2_NAND_TRAD(0xf) | \ 249126fe70dSShaohui Xie FTIM2_NAND_TREH(0xa) | \ 250126fe70dSShaohui Xie FTIM2_NAND_TWHRE(0x1e)) 251126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM3 0x0 252126fe70dSShaohui Xie 253126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE } 254126fe70dSShaohui Xie #define CONFIG_SYS_MAX_NAND_DEVICE 1 255126fe70dSShaohui Xie #define CONFIG_MTD_NAND_VERIFY_WRITE 256126fe70dSShaohui Xie #define CONFIG_CMD_NAND 257126fe70dSShaohui Xie 258126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BLOCK_SIZE (256 * 1024) 259126fe70dSShaohui Xie #endif 260126fe70dSShaohui Xie 261126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT 262126fe70dSShaohui Xie #define CONFIG_SPL_PAD_TO 0x40000 /* block aligned */ 263126fe70dSShaohui Xie #define CONFIG_SYS_NAND_U_BOOT_OFFS CONFIG_SPL_PAD_TO 264126fe70dSShaohui Xie #define CONFIG_SYS_NAND_U_BOOT_SIZE (768 << 10) 265126fe70dSShaohui Xie #endif 266126fe70dSShaohui Xie 267126fe70dSShaohui Xie #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) 268126fe70dSShaohui Xie #define CONFIG_QIXIS_I2C_ACCESS 269126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EARLY_INIT 270126fe70dSShaohui Xie #endif 271126fe70dSShaohui Xie 272126fe70dSShaohui Xie /* 273126fe70dSShaohui Xie * QIXIS Definitions 274126fe70dSShaohui Xie */ 275126fe70dSShaohui Xie #define CONFIG_FSL_QIXIS 276126fe70dSShaohui Xie 277126fe70dSShaohui Xie #ifdef CONFIG_FSL_QIXIS 278126fe70dSShaohui Xie #define QIXIS_BASE 0x7fb00000 279126fe70dSShaohui Xie #define QIXIS_BASE_PHYS QIXIS_BASE 280126fe70dSShaohui Xie #define CONFIG_SYS_I2C_FPGA_ADDR 0x66 281126fe70dSShaohui Xie #define QIXIS_LBMAP_SWITCH 6 282126fe70dSShaohui Xie #define QIXIS_LBMAP_MASK 0x0f 283126fe70dSShaohui Xie #define QIXIS_LBMAP_SHIFT 0 284126fe70dSShaohui Xie #define QIXIS_LBMAP_DFLTBANK 0x00 285126fe70dSShaohui Xie #define QIXIS_LBMAP_ALTBANK 0x04 286126fe70dSShaohui Xie #define QIXIS_LBMAP_NAND 0x09 287126fe70dSShaohui Xie #define QIXIS_LBMAP_SD 0x00 288126fe70dSShaohui Xie #define QIXIS_LBMAP_SD_QSPI 0xff 289126fe70dSShaohui Xie #define QIXIS_LBMAP_QSPI 0xff 290126fe70dSShaohui Xie #define QIXIS_RCW_SRC_NAND 0x110 291126fe70dSShaohui Xie #define QIXIS_RCW_SRC_SD 0x040 292126fe70dSShaohui Xie #define QIXIS_RCW_SRC_QSPI 0x045 293126fe70dSShaohui Xie #define QIXIS_RST_CTL_RESET 0x41 294126fe70dSShaohui Xie #define QIXIS_RCFG_CTL_RECONFIG_IDLE 0x20 295126fe70dSShaohui Xie #define QIXIS_RCFG_CTL_RECONFIG_START 0x21 296126fe70dSShaohui Xie #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 297126fe70dSShaohui Xie 298126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_CSPR_EXT (0x0) 299126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_CSPR (CSPR_PHYS_ADDR(QIXIS_BASE_PHYS) | \ 300126fe70dSShaohui Xie CSPR_PORT_SIZE_8 | \ 301126fe70dSShaohui Xie CSPR_MSEL_GPCM | \ 302126fe70dSShaohui Xie CSPR_V) 303126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_AMASK IFC_AMASK(64 * 1024) 304126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_CSOR (CSOR_NOR_ADM_SHIFT(4) | \ 305126fe70dSShaohui Xie CSOR_NOR_NOR_MODE_AVD_NOR | \ 306126fe70dSShaohui Xie CSOR_NOR_TRHZ_80) 307126fe70dSShaohui Xie 308126fe70dSShaohui Xie /* 309126fe70dSShaohui Xie * QIXIS Timing parameters for IFC GPCM 310126fe70dSShaohui Xie */ 311126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM0 (FTIM0_GPCM_TACSE(0xc) | \ 312126fe70dSShaohui Xie FTIM0_GPCM_TEADC(0x20) | \ 313126fe70dSShaohui Xie FTIM0_GPCM_TEAHC(0x10)) 314126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM1 (FTIM1_GPCM_TACO(0x50) | \ 315126fe70dSShaohui Xie FTIM1_GPCM_TRAD(0x1f)) 316126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM2 (FTIM2_GPCM_TCS(0x8) | \ 317126fe70dSShaohui Xie FTIM2_GPCM_TCH(0x8) | \ 318126fe70dSShaohui Xie FTIM2_GPCM_TWP(0xf0)) 319126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM3 0x0 320126fe70dSShaohui Xie #endif 321126fe70dSShaohui Xie 322126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT 323126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NAND_CSPR_EXT 324126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR 325126fe70dSShaohui Xie #define CONFIG_SYS_AMASK0 CONFIG_SYS_NAND_AMASK 326126fe70dSShaohui Xie #define CONFIG_SYS_CSOR0 CONFIG_SYS_NAND_CSOR 327126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NAND_FTIM0 328126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NAND_FTIM1 329126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NAND_FTIM2 330126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NAND_FTIM3 331126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR0_CSPR_EXT 332126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR0_CSPR 333126fe70dSShaohui Xie #define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK 334126fe70dSShaohui Xie #define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR 335126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0 336126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1 337126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2 338126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3 339126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NOR1_CSPR_EXT 340126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2 CONFIG_SYS_NOR1_CSPR 341126fe70dSShaohui Xie #define CONFIG_SYS_AMASK2 CONFIG_SYS_NOR_AMASK 342126fe70dSShaohui Xie #define CONFIG_SYS_CSOR2 CONFIG_SYS_NOR_CSOR 343126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NOR_FTIM0 344126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NOR_FTIM1 345126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NOR_FTIM2 346126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NOR_FTIM3 347126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3_EXT CONFIG_SYS_FPGA_CSPR_EXT 348126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3 CONFIG_SYS_FPGA_CSPR 349126fe70dSShaohui Xie #define CONFIG_SYS_AMASK3 CONFIG_SYS_FPGA_AMASK 350126fe70dSShaohui Xie #define CONFIG_SYS_CSOR3 CONFIG_SYS_FPGA_CSOR 351126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM0 CONFIG_SYS_FPGA_FTIM0 352126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM1 CONFIG_SYS_FPGA_FTIM1 353126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM2 CONFIG_SYS_FPGA_FTIM2 354126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM3 CONFIG_SYS_FPGA_FTIM3 355126fe70dSShaohui Xie #else 356126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT 357126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR 358126fe70dSShaohui Xie #define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK 359126fe70dSShaohui Xie #define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR 360126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0 361126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1 362126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2 363126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3 364126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR1_CSPR_EXT 365126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR1_CSPR 366126fe70dSShaohui Xie #define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK 367126fe70dSShaohui Xie #define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR 368126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0 369126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1 370126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2 371126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3 372126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NAND_CSPR_EXT 373126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2 CONFIG_SYS_NAND_CSPR 374126fe70dSShaohui Xie #define CONFIG_SYS_AMASK2 CONFIG_SYS_NAND_AMASK 375126fe70dSShaohui Xie #define CONFIG_SYS_CSOR2 CONFIG_SYS_NAND_CSOR 376126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NAND_FTIM0 377126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NAND_FTIM1 378126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NAND_FTIM2 379126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3 380126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3_EXT CONFIG_SYS_FPGA_CSPR_EXT 381126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3 CONFIG_SYS_FPGA_CSPR 382126fe70dSShaohui Xie #define CONFIG_SYS_AMASK3 CONFIG_SYS_FPGA_AMASK 383126fe70dSShaohui Xie #define CONFIG_SYS_CSOR3 CONFIG_SYS_FPGA_CSOR 384126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM0 CONFIG_SYS_FPGA_FTIM0 385126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM1 CONFIG_SYS_FPGA_FTIM1 386126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM2 CONFIG_SYS_FPGA_FTIM2 387126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM3 CONFIG_SYS_FPGA_FTIM3 388126fe70dSShaohui Xie #endif 389126fe70dSShaohui Xie 390126fe70dSShaohui Xie /* 391126fe70dSShaohui Xie * I2C bus multiplexer 392126fe70dSShaohui Xie */ 393126fe70dSShaohui Xie #define I2C_MUX_PCA_ADDR_PRI 0x77 394126fe70dSShaohui Xie #define I2C_MUX_PCA_ADDR_SEC 0x76 /* Secondary multiplexer */ 395126fe70dSShaohui Xie #define I2C_RETIMER_ADDR 0x18 396126fe70dSShaohui Xie #define I2C_MUX_CH_DEFAULT 0x8 397126fe70dSShaohui Xie #define I2C_MUX_CH_CH7301 0xC 398126fe70dSShaohui Xie #define I2C_MUX_CH5 0xD 399126fe70dSShaohui Xie #define I2C_MUX_CH6 0xE 400126fe70dSShaohui Xie #define I2C_MUX_CH7 0xF 401126fe70dSShaohui Xie 402126fe70dSShaohui Xie #define I2C_MUX_CH_VOL_MONITOR 0xa 403126fe70dSShaohui Xie 404126fe70dSShaohui Xie /* Voltage monitor on channel 2*/ 405126fe70dSShaohui Xie #define I2C_VOL_MONITOR_ADDR 0x40 406126fe70dSShaohui Xie #define I2C_VOL_MONITOR_BUS_V_OFFSET 0x2 407126fe70dSShaohui Xie #define I2C_VOL_MONITOR_BUS_V_OVF 0x1 408126fe70dSShaohui Xie #define I2C_VOL_MONITOR_BUS_V_SHIFT 3 409126fe70dSShaohui Xie 410126fe70dSShaohui Xie #define CONFIG_VID_FLS_ENV "ls1046aqds_vdd_mv" 411126fe70dSShaohui Xie #ifndef CONFIG_SPL_BUILD 412126fe70dSShaohui Xie #define CONFIG_VID 413126fe70dSShaohui Xie #endif 414126fe70dSShaohui Xie #define CONFIG_VOL_MONITOR_IR36021_SET 415126fe70dSShaohui Xie #define CONFIG_VOL_MONITOR_INA220 416126fe70dSShaohui Xie /* The lowest and highest voltage allowed for LS1046AQDS */ 417126fe70dSShaohui Xie #define VDD_MV_MIN 819 418126fe70dSShaohui Xie #define VDD_MV_MAX 1212 419126fe70dSShaohui Xie 420126fe70dSShaohui Xie /* 421126fe70dSShaohui Xie * Miscellaneous configurable options 422126fe70dSShaohui Xie */ 423126fe70dSShaohui Xie #define CONFIG_MISC_INIT_R 424126fe70dSShaohui Xie #define CONFIG_SYS_LONGHELP /* undef to save memory */ 425126fe70dSShaohui Xie #define CONFIG_AUTO_COMPLETE 426126fe70dSShaohui Xie #define CONFIG_SYS_PBSIZE \ 427126fe70dSShaohui Xie (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) 428126fe70dSShaohui Xie #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 429126fe70dSShaohui Xie 430126fe70dSShaohui Xie #define CONFIG_SYS_MEMTEST_START 0x80000000 431126fe70dSShaohui Xie #define CONFIG_SYS_MEMTEST_END 0x9fffffff 432126fe70dSShaohui Xie 433126fe70dSShaohui Xie #define CONFIG_SYS_HZ 1000 434126fe70dSShaohui Xie 435126fe70dSShaohui Xie /* 436126fe70dSShaohui Xie * Stack sizes 437126fe70dSShaohui Xie * The stack sizes are set up in start.S using the settings below 438126fe70dSShaohui Xie */ 439126fe70dSShaohui Xie #define CONFIG_STACKSIZE (30 * 1024) 440126fe70dSShaohui Xie 441126fe70dSShaohui Xie #define CONFIG_SYS_INIT_SP_OFFSET \ 442126fe70dSShaohui Xie (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 443126fe70dSShaohui Xie 444126fe70dSShaohui Xie #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 445126fe70dSShaohui Xie 446126fe70dSShaohui Xie /* 447126fe70dSShaohui Xie * Environment 448126fe70dSShaohui Xie */ 449126fe70dSShaohui Xie #define CONFIG_ENV_OVERWRITE 450126fe70dSShaohui Xie 451126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT 452126fe70dSShaohui Xie #define CONFIG_ENV_IS_IN_NAND 453126fe70dSShaohui Xie #define CONFIG_ENV_SIZE 0x2000 454126fe70dSShaohui Xie #define CONFIG_ENV_OFFSET (5 * CONFIG_SYS_NAND_BLOCK_SIZE) 455126fe70dSShaohui Xie #elif defined(CONFIG_SD_BOOT) 456126fe70dSShaohui Xie #define CONFIG_ENV_OFFSET (1024 * 1024) 457126fe70dSShaohui Xie #define CONFIG_ENV_IS_IN_MMC 458126fe70dSShaohui Xie #define CONFIG_SYS_MMC_ENV_DEV 0 459126fe70dSShaohui Xie #define CONFIG_ENV_SIZE 0x2000 460126fe70dSShaohui Xie #elif defined(CONFIG_QSPI_BOOT) 461126fe70dSShaohui Xie #define CONFIG_ENV_IS_IN_SPI_FLASH 462126fe70dSShaohui Xie #define CONFIG_ENV_SIZE 0x2000 /* 8KB */ 463126fe70dSShaohui Xie #define CONFIG_ENV_OFFSET 0x100000 /* 1MB */ 464126fe70dSShaohui Xie #define CONFIG_ENV_SECT_SIZE 0x10000 465126fe70dSShaohui Xie #else 466126fe70dSShaohui Xie #define CONFIG_ENV_IS_IN_FLASH 467126fe70dSShaohui Xie #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x200000) 468126fe70dSShaohui Xie #define CONFIG_ENV_SECT_SIZE 0x20000 469126fe70dSShaohui Xie #define CONFIG_ENV_SIZE 0x20000 470126fe70dSShaohui Xie #endif 471126fe70dSShaohui Xie 472126fe70dSShaohui Xie #define CONFIG_CMDLINE_TAG 473126fe70dSShaohui Xie 474126fe70dSShaohui Xie #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) 475126fe70dSShaohui Xie #define CONFIG_BOOTCOMMAND "sf probe && sf read $kernel_load " \ 476126fe70dSShaohui Xie "e0000 f00000 && bootm $kernel_load" 477126fe70dSShaohui Xie #else 478126fe70dSShaohui Xie #define CONFIG_BOOTCOMMAND "cp.b $kernel_start $kernel_load " \ 479126fe70dSShaohui Xie "$kernel_size && bootm $kernel_load" 480126fe70dSShaohui Xie #endif 481126fe70dSShaohui Xie 482126fe70dSShaohui Xie #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) 483126fe70dSShaohui Xie #define MTDPARTS_DEFAULT "mtdparts=1550000.quadspi:2m(uboot)," \ 484126fe70dSShaohui Xie "14m(free)" 485126fe70dSShaohui Xie #else 486126fe70dSShaohui Xie #define MTDPARTS_DEFAULT "mtdparts=60000000.nor:1m(nor_bank0_rcw)," \ 487126fe70dSShaohui Xie "1m(nor_bank0_uboot),1m(nor_bank0_uboot_env)," \ 488126fe70dSShaohui Xie "1m(nor_bank0_fman_uconde),40m(nor_bank0_fit)," \ 489126fe70dSShaohui Xie "1m(nor_bank4_rcw),1m(nor_bank4_uboot)," \ 490126fe70dSShaohui Xie "1m(nor_bank4_uboot_env),1m(nor_bank4_fman_ucode)," \ 491126fe70dSShaohui Xie "40m(nor_bank4_fit);7e800000.flash:" \ 492126fe70dSShaohui Xie "4m(nand_uboot),36m(nand_kernel)," \ 493126fe70dSShaohui Xie "472m(nand_free);spi0.0:2m(uboot)," \ 494126fe70dSShaohui Xie "14m(free)" 495126fe70dSShaohui Xie #endif 496126fe70dSShaohui Xie 497126fe70dSShaohui Xie #include <asm/fsl_secure_boot.h> 498126fe70dSShaohui Xie 499126fe70dSShaohui Xie #endif /* __LS1046AQDS_H__ */ 500