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