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