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