144937214SPrabhakar Kushwaha /* 289a168f7SPriyanka Jain * Copyright 2017 NXP 344937214SPrabhakar Kushwaha * Copyright 2015 Freescale Semiconductor 444937214SPrabhakar Kushwaha * 544937214SPrabhakar Kushwaha * SPDX-License-Identifier: GPL-2.0+ 644937214SPrabhakar Kushwaha */ 744937214SPrabhakar Kushwaha 844937214SPrabhakar Kushwaha #ifndef __LS2_RDB_H 944937214SPrabhakar Kushwaha #define __LS2_RDB_H 1044937214SPrabhakar Kushwaha 1144937214SPrabhakar Kushwaha #include "ls2080a_common.h" 1244937214SPrabhakar Kushwaha 1344937214SPrabhakar Kushwaha #undef CONFIG_CONS_INDEX 1444937214SPrabhakar Kushwaha #define CONFIG_CONS_INDEX 2 1544937214SPrabhakar Kushwaha 1689a168f7SPriyanka Jain #ifdef CONFIG_FSL_QSPI 173049a583SPriyanka Jain #ifdef CONFIG_TARGET_LS2081ARDB 183049a583SPriyanka Jain #define CONFIG_QIXIS_I2C_ACCESS 193049a583SPriyanka Jain #endif 2089a168f7SPriyanka Jain #define CONFIG_SYS_I2C_EARLY_INIT 2189a168f7SPriyanka Jain #define CONFIG_DISPLAY_BOARDINFO_LATE 2289a168f7SPriyanka Jain #endif 2389a168f7SPriyanka Jain 24ed2530d0SRai Harninder #define I2C_MUX_CH_VOL_MONITOR 0xa 25ed2530d0SRai Harninder #define I2C_VOL_MONITOR_ADDR 0x38 26ed2530d0SRai Harninder #define CONFIG_VOL_MONITOR_IR36021_READ 27ed2530d0SRai Harninder #define CONFIG_VOL_MONITOR_IR36021_SET 28ed2530d0SRai Harninder 29ed2530d0SRai Harninder #define CONFIG_VID_FLS_ENV "ls2080ardb_vdd_mv" 30ed2530d0SRai Harninder #ifndef CONFIG_SPL_BUILD 31ed2530d0SRai Harninder #define CONFIG_VID 32ed2530d0SRai Harninder #endif 33ed2530d0SRai Harninder /* step the IR regulator in 5mV increments */ 34ed2530d0SRai Harninder #define IR_VDD_STEP_DOWN 5 35ed2530d0SRai Harninder #define IR_VDD_STEP_UP 5 36ed2530d0SRai Harninder /* The lowest and highest voltage allowed for LS2080ARDB */ 37ed2530d0SRai Harninder #define VDD_MV_MIN 819 38ed2530d0SRai Harninder #define VDD_MV_MAX 1212 39ed2530d0SRai Harninder 4044937214SPrabhakar Kushwaha #ifndef __ASSEMBLY__ 4144937214SPrabhakar Kushwaha unsigned long get_board_sys_clk(void); 4244937214SPrabhakar Kushwaha #endif 4344937214SPrabhakar Kushwaha 4444937214SPrabhakar Kushwaha #define CONFIG_SYS_CLK_FREQ get_board_sys_clk() 4544937214SPrabhakar Kushwaha #define CONFIG_DDR_CLK_FREQ 133333333 4644937214SPrabhakar Kushwaha #define COUNTER_FREQUENCY_REAL (CONFIG_SYS_CLK_FREQ/4) 4744937214SPrabhakar Kushwaha 4844937214SPrabhakar Kushwaha #define CONFIG_DDR_SPD 4944937214SPrabhakar Kushwaha #define CONFIG_DDR_ECC 5044937214SPrabhakar Kushwaha #define CONFIG_ECC_INIT_VIA_DDRCONTROLLER 5144937214SPrabhakar Kushwaha #define CONFIG_MEM_INIT_VALUE 0xdeadbeef 5244937214SPrabhakar Kushwaha #define SPD_EEPROM_ADDRESS1 0x51 5344937214SPrabhakar Kushwaha #define SPD_EEPROM_ADDRESS2 0x52 5444937214SPrabhakar Kushwaha #define SPD_EEPROM_ADDRESS3 0x53 5544937214SPrabhakar Kushwaha #define SPD_EEPROM_ADDRESS4 0x54 5644937214SPrabhakar Kushwaha #define SPD_EEPROM_ADDRESS5 0x55 5744937214SPrabhakar Kushwaha #define SPD_EEPROM_ADDRESS6 0x56 /* dummy address */ 5844937214SPrabhakar Kushwaha #define SPD_EEPROM_ADDRESS SPD_EEPROM_ADDRESS1 5944937214SPrabhakar Kushwaha #define CONFIG_SYS_SPD_BUS_NUM 0 /* SPD on I2C bus 0 */ 6044937214SPrabhakar Kushwaha #define CONFIG_DIMM_SLOTS_PER_CTLR 2 6144937214SPrabhakar Kushwaha #define CONFIG_CHIP_SELECTS_PER_CTRL 4 6244937214SPrabhakar Kushwaha #ifdef CONFIG_SYS_FSL_HAS_DP_DDR 6344937214SPrabhakar Kushwaha #define CONFIG_DP_DDR_DIMM_SLOTS_PER_CTLR 1 6444937214SPrabhakar Kushwaha #endif 6544937214SPrabhakar Kushwaha #define CONFIG_FSL_DDR_BIST /* enable built-in memory test */ 6644937214SPrabhakar Kushwaha 67989c5f0aSTang Yuantian /* SATA */ 68989c5f0aSTang Yuantian #define CONFIG_LIBATA 69989c5f0aSTang Yuantian #define CONFIG_SCSI_AHCI 70989c5f0aSTang Yuantian #define CONFIG_SCSI_AHCI_PLAT 71989c5f0aSTang Yuantian 72989c5f0aSTang Yuantian #define CONFIG_SYS_SATA1 AHCI_BASE_ADDR1 73989c5f0aSTang Yuantian #define CONFIG_SYS_SATA2 AHCI_BASE_ADDR2 74989c5f0aSTang Yuantian 75989c5f0aSTang Yuantian #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 76989c5f0aSTang Yuantian #define CONFIG_SYS_SCSI_MAX_LUN 1 77989c5f0aSTang Yuantian #define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ 78989c5f0aSTang Yuantian CONFIG_SYS_SCSI_MAX_LUN) 79989c5f0aSTang Yuantian 8089a168f7SPriyanka Jain #ifndef CONFIG_FSL_QSPI 8144937214SPrabhakar Kushwaha /* undefined CONFIG_FSL_DDR_SYNC_REFRESH for simulator */ 8244937214SPrabhakar Kushwaha 8344937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR0_CSPR_EXT (0x0) 8444937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR_AMASK IFC_AMASK(128*1024*1024) 8544937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR_AMASK_EARLY IFC_AMASK(64*1024*1024) 8644937214SPrabhakar Kushwaha 8744937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR0_CSPR \ 8844937214SPrabhakar Kushwaha (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \ 8944937214SPrabhakar Kushwaha CSPR_PORT_SIZE_16 | \ 9044937214SPrabhakar Kushwaha CSPR_MSEL_NOR | \ 9144937214SPrabhakar Kushwaha CSPR_V) 9244937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR0_CSPR_EARLY \ 9344937214SPrabhakar Kushwaha (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS_EARLY) | \ 9444937214SPrabhakar Kushwaha CSPR_PORT_SIZE_16 | \ 9544937214SPrabhakar Kushwaha CSPR_MSEL_NOR | \ 9644937214SPrabhakar Kushwaha CSPR_V) 9744937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR_CSOR CSOR_NOR_ADM_SHIFT(12) 9844937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x4) | \ 9944937214SPrabhakar Kushwaha FTIM0_NOR_TEADC(0x5) | \ 10044937214SPrabhakar Kushwaha FTIM0_NOR_TEAHC(0x5)) 10144937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR_FTIM1 (FTIM1_NOR_TACO(0x35) | \ 10244937214SPrabhakar Kushwaha FTIM1_NOR_TRAD_NOR(0x1a) |\ 10344937214SPrabhakar Kushwaha FTIM1_NOR_TSEQRAD_NOR(0x13)) 10444937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR_FTIM2 (FTIM2_NOR_TCS(0x4) | \ 10544937214SPrabhakar Kushwaha FTIM2_NOR_TCH(0x4) | \ 10644937214SPrabhakar Kushwaha FTIM2_NOR_TWPH(0x0E) | \ 10744937214SPrabhakar Kushwaha FTIM2_NOR_TWP(0x1c)) 10844937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR_FTIM3 0x04000000 10944937214SPrabhakar Kushwaha #define CONFIG_SYS_IFC_CCR 0x01000000 11044937214SPrabhakar Kushwaha 111e856bdcfSMasahiro Yamada #ifdef CONFIG_MTD_NOR_FLASH 11244937214SPrabhakar Kushwaha #define CONFIG_FLASH_CFI_DRIVER 11344937214SPrabhakar Kushwaha #define CONFIG_SYS_FLASH_CFI 11444937214SPrabhakar Kushwaha #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 11544937214SPrabhakar Kushwaha #define CONFIG_SYS_FLASH_QUIET_TEST 11644937214SPrabhakar Kushwaha #define CONFIG_FLASH_SHOW_PROGRESS 45 /* count down from 45/5: 9..1 */ 11744937214SPrabhakar Kushwaha 11844937214SPrabhakar Kushwaha #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* number of banks */ 11944937214SPrabhakar Kushwaha #define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */ 12044937214SPrabhakar Kushwaha #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 12144937214SPrabhakar Kushwaha #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 12244937214SPrabhakar Kushwaha 12344937214SPrabhakar Kushwaha #define CONFIG_SYS_FLASH_EMPTY_INFO 12444937214SPrabhakar Kushwaha #define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE,\ 12544937214SPrabhakar Kushwaha CONFIG_SYS_FLASH_BASE + 0x40000000} 12644937214SPrabhakar Kushwaha #endif 12744937214SPrabhakar Kushwaha 12844937214SPrabhakar Kushwaha #define CONFIG_NAND_FSL_IFC 12944937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_MAX_ECCPOS 256 13044937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_MAX_OOBFREE 2 13144937214SPrabhakar Kushwaha 13244937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_CSPR_EXT (0x0) 13344937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \ 13444937214SPrabhakar Kushwaha | CSPR_PORT_SIZE_8 /* Port Size = 8 bit */ \ 13544937214SPrabhakar Kushwaha | CSPR_MSEL_NAND /* MSEL = NAND */ \ 13644937214SPrabhakar Kushwaha | CSPR_V) 13744937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_AMASK IFC_AMASK(64 * 1024) 13844937214SPrabhakar Kushwaha 13944937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \ 14044937214SPrabhakar Kushwaha | CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \ 14144937214SPrabhakar Kushwaha | CSOR_NAND_ECC_MODE_4 /* 4-bit ECC */ \ 14244937214SPrabhakar Kushwaha | CSOR_NAND_RAL_3 /* RAL = 3Byes */ \ 14344937214SPrabhakar Kushwaha | CSOR_NAND_PGS_4K /* Page Size = 4K */ \ 14444937214SPrabhakar Kushwaha | CSOR_NAND_SPRZ_224 /* Spare size = 224 */ \ 14544937214SPrabhakar Kushwaha | CSOR_NAND_PB(128)) /* Pages Per Block 128*/ 14644937214SPrabhakar Kushwaha 14744937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_ONFI_DETECTION 14844937214SPrabhakar Kushwaha 14944937214SPrabhakar Kushwaha /* ONFI NAND Flash mode0 Timing Params */ 15044937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x0e) | \ 15144937214SPrabhakar Kushwaha FTIM0_NAND_TWP(0x30) | \ 15244937214SPrabhakar Kushwaha FTIM0_NAND_TWCHT(0x0e) | \ 15344937214SPrabhakar Kushwaha FTIM0_NAND_TWH(0x14)) 15444937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_FTIM1 (FTIM1_NAND_TADLE(0x64) | \ 15544937214SPrabhakar Kushwaha FTIM1_NAND_TWBE(0xab) | \ 15644937214SPrabhakar Kushwaha FTIM1_NAND_TRR(0x1c) | \ 15744937214SPrabhakar Kushwaha FTIM1_NAND_TRP(0x30)) 15844937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_FTIM2 (FTIM2_NAND_TRAD(0x1e) | \ 15944937214SPrabhakar Kushwaha FTIM2_NAND_TREH(0x14) | \ 16044937214SPrabhakar Kushwaha FTIM2_NAND_TWHRE(0x3c)) 16144937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_FTIM3 0x0 16244937214SPrabhakar Kushwaha 16344937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE } 16444937214SPrabhakar Kushwaha #define CONFIG_SYS_MAX_NAND_DEVICE 1 16544937214SPrabhakar Kushwaha #define CONFIG_MTD_NAND_VERIFY_WRITE 16644937214SPrabhakar Kushwaha 16744937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_BLOCK_SIZE (512 * 1024) 16844937214SPrabhakar Kushwaha #define CONFIG_FSL_QIXIS /* use common QIXIS code */ 16944937214SPrabhakar Kushwaha #define QIXIS_LBMAP_SWITCH 0x06 17044937214SPrabhakar Kushwaha #define QIXIS_LBMAP_MASK 0x0f 17144937214SPrabhakar Kushwaha #define QIXIS_LBMAP_SHIFT 0 17244937214SPrabhakar Kushwaha #define QIXIS_LBMAP_DFLTBANK 0x00 17344937214SPrabhakar Kushwaha #define QIXIS_LBMAP_ALTBANK 0x04 17444937214SPrabhakar Kushwaha #define QIXIS_LBMAP_NAND 0x09 17544937214SPrabhakar Kushwaha #define QIXIS_RST_CTL_RESET 0x31 17644937214SPrabhakar Kushwaha #define QIXIS_RST_CTL_RESET_EN 0x30 17744937214SPrabhakar Kushwaha #define QIXIS_RCFG_CTL_RECONFIG_IDLE 0x20 17844937214SPrabhakar Kushwaha #define QIXIS_RCFG_CTL_RECONFIG_START 0x21 17944937214SPrabhakar Kushwaha #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 18044937214SPrabhakar Kushwaha #define QIXIS_RCW_SRC_NAND 0x119 18144937214SPrabhakar Kushwaha #define QIXIS_RST_FORCE_MEM 0x01 18244937214SPrabhakar Kushwaha 18344937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR3_EXT (0x0) 18444937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR3 (CSPR_PHYS_ADDR(QIXIS_BASE_PHYS_EARLY) \ 18544937214SPrabhakar Kushwaha | CSPR_PORT_SIZE_8 \ 18644937214SPrabhakar Kushwaha | CSPR_MSEL_GPCM \ 18744937214SPrabhakar Kushwaha | CSPR_V) 18844937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR3_FINAL (CSPR_PHYS_ADDR(QIXIS_BASE_PHYS) \ 18944937214SPrabhakar Kushwaha | CSPR_PORT_SIZE_8 \ 19044937214SPrabhakar Kushwaha | CSPR_MSEL_GPCM \ 19144937214SPrabhakar Kushwaha | CSPR_V) 19244937214SPrabhakar Kushwaha 19344937214SPrabhakar Kushwaha #define CONFIG_SYS_AMASK3 IFC_AMASK(64*1024) 19444937214SPrabhakar Kushwaha #define CONFIG_SYS_CSOR3 CSOR_GPCM_ADM_SHIFT(12) 19544937214SPrabhakar Kushwaha /* QIXIS Timing parameters for IFC CS3 */ 19644937214SPrabhakar Kushwaha #define CONFIG_SYS_CS3_FTIM0 (FTIM0_GPCM_TACSE(0x0e) | \ 19744937214SPrabhakar Kushwaha FTIM0_GPCM_TEADC(0x0e) | \ 19844937214SPrabhakar Kushwaha FTIM0_GPCM_TEAHC(0x0e)) 19944937214SPrabhakar Kushwaha #define CONFIG_SYS_CS3_FTIM1 (FTIM1_GPCM_TACO(0xff) | \ 20044937214SPrabhakar Kushwaha FTIM1_GPCM_TRAD(0x3f)) 20144937214SPrabhakar Kushwaha #define CONFIG_SYS_CS3_FTIM2 (FTIM2_GPCM_TCS(0xf) | \ 20244937214SPrabhakar Kushwaha FTIM2_GPCM_TCH(0xf) | \ 20344937214SPrabhakar Kushwaha FTIM2_GPCM_TWP(0x3E)) 20444937214SPrabhakar Kushwaha #define CONFIG_SYS_CS3_FTIM3 0x0 20544937214SPrabhakar Kushwaha 20644937214SPrabhakar Kushwaha #if defined(CONFIG_SPL) && defined(CONFIG_NAND) 20744937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NOR0_CSPR_EXT 20844937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR2 CONFIG_SYS_NOR0_CSPR_EARLY 20944937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR2_FINAL CONFIG_SYS_NOR0_CSPR 21044937214SPrabhakar Kushwaha #define CONFIG_SYS_AMASK2 CONFIG_SYS_NOR_AMASK 21144937214SPrabhakar Kushwaha #define CONFIG_SYS_CSOR2 CONFIG_SYS_NOR_CSOR 21244937214SPrabhakar Kushwaha #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NOR_FTIM0 21344937214SPrabhakar Kushwaha #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NOR_FTIM1 21444937214SPrabhakar Kushwaha #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NOR_FTIM2 21544937214SPrabhakar Kushwaha #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NOR_FTIM3 21644937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NAND_CSPR_EXT 21744937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR 21844937214SPrabhakar Kushwaha #define CONFIG_SYS_AMASK0 CONFIG_SYS_NAND_AMASK 21944937214SPrabhakar Kushwaha #define CONFIG_SYS_CSOR0 CONFIG_SYS_NAND_CSOR 22044937214SPrabhakar Kushwaha #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NAND_FTIM0 22144937214SPrabhakar Kushwaha #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NAND_FTIM1 22244937214SPrabhakar Kushwaha #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NAND_FTIM2 22344937214SPrabhakar Kushwaha #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NAND_FTIM3 22444937214SPrabhakar Kushwaha 22544937214SPrabhakar Kushwaha #define CONFIG_ENV_OFFSET (2048 * 1024) 22644937214SPrabhakar Kushwaha #define CONFIG_ENV_SECT_SIZE 0x20000 22744937214SPrabhakar Kushwaha #define CONFIG_ENV_SIZE 0x2000 22844937214SPrabhakar Kushwaha #define CONFIG_SPL_PAD_TO 0x80000 22944937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_U_BOOT_OFFS (1024 * 1024) 23044937214SPrabhakar Kushwaha #define CONFIG_SYS_NAND_U_BOOT_SIZE (512 * 1024) 23144937214SPrabhakar Kushwaha #else 23244937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT 23344937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR_EARLY 23444937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR0_FINAL CONFIG_SYS_NOR0_CSPR 23544937214SPrabhakar Kushwaha #define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK 23644937214SPrabhakar Kushwaha #define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR 23744937214SPrabhakar Kushwaha #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0 23844937214SPrabhakar Kushwaha #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1 23944937214SPrabhakar Kushwaha #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2 24044937214SPrabhakar Kushwaha #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3 24144937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NAND_CSPR_EXT 24244937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR2 CONFIG_SYS_NAND_CSPR 24344937214SPrabhakar Kushwaha #define CONFIG_SYS_AMASK2 CONFIG_SYS_NAND_AMASK 24444937214SPrabhakar Kushwaha #define CONFIG_SYS_CSOR2 CONFIG_SYS_NAND_CSOR 24544937214SPrabhakar Kushwaha #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NAND_FTIM0 24644937214SPrabhakar Kushwaha #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NAND_FTIM1 24744937214SPrabhakar Kushwaha #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NAND_FTIM2 24844937214SPrabhakar Kushwaha #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3 24944937214SPrabhakar Kushwaha 250f5bf23d8SSantan Kumar #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x300000) 25144937214SPrabhakar Kushwaha #define CONFIG_ENV_SECT_SIZE 0x20000 25244937214SPrabhakar Kushwaha #define CONFIG_ENV_SIZE 0x2000 25344937214SPrabhakar Kushwaha #endif 25444937214SPrabhakar Kushwaha 25544937214SPrabhakar Kushwaha /* Debug Server firmware */ 25644937214SPrabhakar Kushwaha #define CONFIG_SYS_DEBUG_SERVER_FW_IN_NOR 25744937214SPrabhakar Kushwaha #define CONFIG_SYS_DEBUG_SERVER_FW_ADDR 0x580D00000ULL 25889a168f7SPriyanka Jain #endif 25944937214SPrabhakar Kushwaha #define CONFIG_SYS_LS_MC_BOOT_TIMEOUT_MS 5000 26044937214SPrabhakar Kushwaha 2613049a583SPriyanka Jain #ifdef CONFIG_TARGET_LS2081ARDB 2623049a583SPriyanka Jain #define CONFIG_FSL_QIXIS /* use common QIXIS code */ 2633049a583SPriyanka Jain #define QIXIS_QMAP_MASK 0x07 2643049a583SPriyanka Jain #define QIXIS_QMAP_SHIFT 5 2653049a583SPriyanka Jain #define QIXIS_LBMAP_DFLTBANK 0x00 2663049a583SPriyanka Jain #define QIXIS_LBMAP_QSPI 0x00 2673049a583SPriyanka Jain #define QIXIS_RCW_SRC_QSPI 0x62 2683049a583SPriyanka Jain #define QIXIS_LBMAP_ALTBANK 0x20 2693049a583SPriyanka Jain #define QIXIS_RST_CTL_RESET 0x31 2703049a583SPriyanka Jain #define QIXIS_RCFG_CTL_RECONFIG_IDLE 0x20 2713049a583SPriyanka Jain #define QIXIS_RCFG_CTL_RECONFIG_START 0x21 2723049a583SPriyanka Jain #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 2733049a583SPriyanka Jain #define QIXIS_LBMAP_MASK 0x0f 2743049a583SPriyanka Jain #define QIXIS_RST_CTL_RESET_EN 0x30 2753049a583SPriyanka Jain #endif 2763049a583SPriyanka Jain 27744937214SPrabhakar Kushwaha /* 27844937214SPrabhakar Kushwaha * I2C 27944937214SPrabhakar Kushwaha */ 2803049a583SPriyanka Jain #ifdef CONFIG_TARGET_LS2081ARDB 2813049a583SPriyanka Jain #define CONFIG_SYS_I2C_FPGA_ADDR 0x66 2823049a583SPriyanka Jain #endif 28344937214SPrabhakar Kushwaha #define I2C_MUX_PCA_ADDR 0x75 28444937214SPrabhakar Kushwaha #define I2C_MUX_PCA_ADDR_PRI 0x75 /* Primary Mux*/ 28544937214SPrabhakar Kushwaha 28644937214SPrabhakar Kushwaha /* I2C bus multiplexer */ 28744937214SPrabhakar Kushwaha #define I2C_MUX_CH_DEFAULT 0x8 28844937214SPrabhakar Kushwaha 28944937214SPrabhakar Kushwaha /* SPI */ 29089a168f7SPriyanka Jain #if defined(CONFIG_FSL_QSPI) || defined(CONFIG_FSL_DSPI) 29144937214SPrabhakar Kushwaha #define CONFIG_SPI_FLASH 29289a168f7SPriyanka Jain #ifdef CONFIG_FSL_QSPI 29321640db5SYuan Yao #define CONFIG_SPI_FLASH_STMICRO 29444937214SPrabhakar Kushwaha #endif 29589a168f7SPriyanka Jain #ifdef CONFIG_FSL_QSPI 2963049a583SPriyanka Jain #ifdef CONFIG_TARGET_LS2081ARDB 2973049a583SPriyanka Jain #define CONFIG_SPI_FLASH_STMICRO 2983049a583SPriyanka Jain #else 29989a168f7SPriyanka Jain #define CONFIG_SPI_FLASH_SPANSION 3003049a583SPriyanka Jain #endif 30189a168f7SPriyanka Jain #define FSL_QSPI_FLASH_SIZE SZ_64M /* 64MB */ 30289a168f7SPriyanka Jain #define FSL_QSPI_FLASH_NUM 2 30389a168f7SPriyanka Jain #endif 30489a168f7SPriyanka Jain #endif 30544937214SPrabhakar Kushwaha 30644937214SPrabhakar Kushwaha /* 30744937214SPrabhakar Kushwaha * RTC configuration 30844937214SPrabhakar Kushwaha */ 30944937214SPrabhakar Kushwaha #define RTC 3103049a583SPriyanka Jain #ifdef CONFIG_TARGET_LS2081ARDB 3113049a583SPriyanka Jain #define CONFIG_RTC_PCF8563 1 3123049a583SPriyanka Jain #define CONFIG_SYS_I2C_RTC_ADDR 0x51 3133049a583SPriyanka Jain #else 31444937214SPrabhakar Kushwaha #define CONFIG_RTC_DS3231 1 31544937214SPrabhakar Kushwaha #define CONFIG_SYS_I2C_RTC_ADDR 0x68 3163049a583SPriyanka Jain #endif 31744937214SPrabhakar Kushwaha 31844937214SPrabhakar Kushwaha /* EEPROM */ 31944937214SPrabhakar Kushwaha #define CONFIG_ID_EEPROM 32044937214SPrabhakar Kushwaha #define CONFIG_SYS_I2C_EEPROM_NXID 32144937214SPrabhakar Kushwaha #define CONFIG_SYS_EEPROM_BUS_NUM 0 32244937214SPrabhakar Kushwaha #define CONFIG_SYS_I2C_EEPROM_ADDR 0x57 32344937214SPrabhakar Kushwaha #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 32444937214SPrabhakar Kushwaha #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 32544937214SPrabhakar Kushwaha #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 5 32644937214SPrabhakar Kushwaha 32744937214SPrabhakar Kushwaha #define CONFIG_FSL_MEMAC 32844937214SPrabhakar Kushwaha 32944937214SPrabhakar Kushwaha #ifdef CONFIG_PCI 33044937214SPrabhakar Kushwaha #define CONFIG_PCI_SCAN_SHOW 33144937214SPrabhakar Kushwaha #endif 33244937214SPrabhakar Kushwaha 33344937214SPrabhakar Kushwaha /* MMC */ 33444937214SPrabhakar Kushwaha #ifdef CONFIG_MMC 33544937214SPrabhakar Kushwaha #define CONFIG_FSL_ESDHC 33644937214SPrabhakar Kushwaha #define CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33 33744937214SPrabhakar Kushwaha #endif 33844937214SPrabhakar Kushwaha 33944937214SPrabhakar Kushwaha #define CONFIG_MISC_INIT_R 34044937214SPrabhakar Kushwaha 34144937214SPrabhakar Kushwaha /* 34244937214SPrabhakar Kushwaha * USB 34344937214SPrabhakar Kushwaha */ 34444937214SPrabhakar Kushwaha #define CONFIG_HAS_FSL_XHCI_USB 34544937214SPrabhakar Kushwaha #define CONFIG_USB_XHCI_FSL 34644937214SPrabhakar Kushwaha #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 34744937214SPrabhakar Kushwaha 348b99ebaf9SAlexander Graf #undef CONFIG_CMDLINE_EDITING 349b99ebaf9SAlexander Graf #include <config_distro_defaults.h> 350b99ebaf9SAlexander Graf 351b99ebaf9SAlexander Graf #define BOOT_TARGET_DEVICES(func) \ 352b99ebaf9SAlexander Graf func(USB, usb, 0) \ 353b99ebaf9SAlexander Graf func(MMC, mmc, 0) \ 354b99ebaf9SAlexander Graf func(SCSI, scsi, 0) \ 355b99ebaf9SAlexander Graf func(DHCP, dhcp, na) 356b99ebaf9SAlexander Graf #include <config_distro_bootcmd.h> 357b99ebaf9SAlexander Graf 35889a168f7SPriyanka Jain #ifdef CONFIG_QSPI_BOOT 359*ec85721cSVINITHA PILLAI #define MC_INIT_CMD \ 360*ec85721cSVINITHA PILLAI "mcinitcmd=env exists secureboot && " \ 361*ec85721cSVINITHA PILLAI "esbc_validate 0x20700000 && " \ 362*ec85721cSVINITHA PILLAI "esbc_validate 0x20740000;" \ 363*ec85721cSVINITHA PILLAI "fsl_mc start mc 0x20a00000 0x20e00000 \0" 3649ed44787SUdit Agarwal #else 365*ec85721cSVINITHA PILLAI #define MC_INIT_CMD \ 366*ec85721cSVINITHA PILLAI "mcinitcmd=env exists secureboot && " \ 367*ec85721cSVINITHA PILLAI "esbc_validate 0x580700000 && " \ 368*ec85721cSVINITHA PILLAI "esbc_validate 0x580740000; " \ 369*ec85721cSVINITHA PILLAI "fsl_mc start mc 0x580a00000 0x580e00000 \0" 37089a168f7SPriyanka Jain #endif 3719ed44787SUdit Agarwal 37244937214SPrabhakar Kushwaha /* Initial environment variables */ 37344937214SPrabhakar Kushwaha #undef CONFIG_EXTRA_ENV_SETTINGS 374b99ebaf9SAlexander Graf #define CONFIG_EXTRA_ENV_SETTINGS \ 37544937214SPrabhakar Kushwaha "hwconfig=fsl_ddr:bank_intlv=auto\0" \ 376b99ebaf9SAlexander Graf "ramdisk_addr=0x800000\0" \ 37744937214SPrabhakar Kushwaha "ramdisk_size=0x2000000\0" \ 37844937214SPrabhakar Kushwaha "fdt_high=0xa0000000\0" \ 37944937214SPrabhakar Kushwaha "initrd_high=0xffffffffffffffff\0" \ 3800a09d20bSZhang Ying-22455 "fdt_addr=0x64f00000\0" \ 3810a09d20bSZhang Ying-22455 "kernel_addr=0x65000000\0" \ 382*ec85721cSVINITHA PILLAI "kernel_start=0x1000000\0" \ 383*ec85721cSVINITHA PILLAI "kernelheader_start=0x800000\0" \ 3840a09d20bSZhang Ying-22455 "scriptaddr=0x80000000\0" \ 385*ec85721cSVINITHA PILLAI "scripthdraddr=0x80080000\0" \ 3860a09d20bSZhang Ying-22455 "fdtheader_addr_r=0x80100000\0" \ 3870a09d20bSZhang Ying-22455 "kernelheader_addr_r=0x80200000\0" \ 388*ec85721cSVINITHA PILLAI "kernelheader_addr=0x580800000\0" \ 3890a09d20bSZhang Ying-22455 "kernel_addr_r=0x81000000\0" \ 390*ec85721cSVINITHA PILLAI "kernelheader_size=0x40000\0" \ 3910a09d20bSZhang Ying-22455 "fdt_addr_r=0x90000000\0" \ 3920a09d20bSZhang Ying-22455 "load_addr=0xa0000000\0" \ 39344937214SPrabhakar Kushwaha "kernel_size=0x2800000\0" \ 3940a09d20bSZhang Ying-22455 "console=ttyAMA0,38400n8\0" \ 395*ec85721cSVINITHA PILLAI MC_INIT_CMD \ 3960a09d20bSZhang Ying-22455 BOOTENV \ 3970a09d20bSZhang Ying-22455 "boot_scripts=ls2088ardb_boot.scr\0" \ 398*ec85721cSVINITHA PILLAI "boot_script_hdr=hdr_ls2088ardb_bs.out\0" \ 3990a09d20bSZhang Ying-22455 "scan_dev_for_boot_part=" \ 4000a09d20bSZhang Ying-22455 "part list ${devtype} ${devnum} devplist; " \ 4010a09d20bSZhang Ying-22455 "env exists devplist || setenv devplist 1; " \ 4020a09d20bSZhang Ying-22455 "for distro_bootpart in ${devplist}; do " \ 4030a09d20bSZhang Ying-22455 "if fstype ${devtype} " \ 4040a09d20bSZhang Ying-22455 "${devnum}:${distro_bootpart} " \ 4050a09d20bSZhang Ying-22455 "bootfstype; then " \ 4060a09d20bSZhang Ying-22455 "run scan_dev_for_boot; " \ 4070a09d20bSZhang Ying-22455 "fi; " \ 4080a09d20bSZhang Ying-22455 "done\0" \ 409*ec85721cSVINITHA PILLAI "scan_dev_for_boot=" \ 410*ec85721cSVINITHA PILLAI "echo Scanning ${devtype} " \ 411*ec85721cSVINITHA PILLAI "${devnum}:${distro_bootpart}...; " \ 412*ec85721cSVINITHA PILLAI "for prefix in ${boot_prefixes}; do " \ 413*ec85721cSVINITHA PILLAI "run scan_dev_for_scripts; " \ 414*ec85721cSVINITHA PILLAI "done;\0" \ 415*ec85721cSVINITHA PILLAI "boot_a_script=" \ 416*ec85721cSVINITHA PILLAI "load ${devtype} ${devnum}:${distro_bootpart} " \ 417*ec85721cSVINITHA PILLAI "${scriptaddr} ${prefix}${script}; " \ 418*ec85721cSVINITHA PILLAI "env exists secureboot && load ${devtype} " \ 419*ec85721cSVINITHA PILLAI "${devnum}:${distro_bootpart} " \ 420*ec85721cSVINITHA PILLAI "${scripthdraddr} ${prefix}${boot_script_hdr} " \ 421*ec85721cSVINITHA PILLAI "&& esbc_validate ${scripthdraddr};" \ 422*ec85721cSVINITHA PILLAI "source ${scriptaddr}\0" \ 4230a09d20bSZhang Ying-22455 "installer=load mmc 0:2 $load_addr " \ 4240a09d20bSZhang Ying-22455 "/flex_installer_arm64.itb; " \ 4250a09d20bSZhang Ying-22455 "bootm $load_addr#ls2088ardb\0" \ 4260a09d20bSZhang Ying-22455 "qspi_bootcmd=echo Trying load from qspi..;" \ 4270a09d20bSZhang Ying-22455 "sf probe && sf read $load_addr " \ 428*ec85721cSVINITHA PILLAI "$kernel_start $kernel_size ; env exists secureboot &&" \ 429*ec85721cSVINITHA PILLAI "sf read $kernelheader_addr_r $kernelheader_start " \ 430*ec85721cSVINITHA PILLAI "$kernelheader_size && esbc_validate ${kernelheader_addr_r}; "\ 4310a09d20bSZhang Ying-22455 " bootm $load_addr#$board\0" \ 4320a09d20bSZhang Ying-22455 "nor_bootcmd=echo Trying load from nor..;" \ 4330a09d20bSZhang Ying-22455 "cp.b $kernel_addr $load_addr " \ 434*ec85721cSVINITHA PILLAI "$kernel_size ; env exists secureboot && " \ 435*ec85721cSVINITHA PILLAI "cp.b $kernelheader_addr $kernelheader_addr_r " \ 436*ec85721cSVINITHA PILLAI "$kernelheader_size && esbc_validate ${kernelheader_addr_r}; "\ 437*ec85721cSVINITHA PILLAI "bootm $load_addr#$board\0" 43844937214SPrabhakar Kushwaha 4390a09d20bSZhang Ying-22455 #undef CONFIG_BOOTCOMMAND 4400a09d20bSZhang Ying-22455 #ifdef CONFIG_QSPI_BOOT 4410a09d20bSZhang Ying-22455 /* Try to boot an on-QSPI kernel first, then do normal distro boot */ 4420a09d20bSZhang Ying-22455 #define CONFIG_BOOTCOMMAND \ 443*ec85721cSVINITHA PILLAI "env exists mcinitcmd && env exists secureboot "\ 444*ec85721cSVINITHA PILLAI "&& esbc_validate 0x20780000; " \ 445*ec85721cSVINITHA PILLAI "env exists mcinitcmd && " \ 4460a09d20bSZhang Ying-22455 "fsl_mc lazyapply dpl 0x20d00000; " \ 447*ec85721cSVINITHA PILLAI "run distro_bootcmd;run qspi_bootcmd; " \ 448*ec85721cSVINITHA PILLAI "env exists secureboot && esbc_halt; " 4490a09d20bSZhang Ying-22455 #else 4500a09d20bSZhang Ying-22455 /* Try to boot an on-NOR kernel first, then do normal distro boot */ 4510a09d20bSZhang Ying-22455 #define CONFIG_BOOTCOMMAND \ 452*ec85721cSVINITHA PILLAI "env exists mcinitcmd && env exists secureboot "\ 453*ec85721cSVINITHA PILLAI "&& esbc_validate 0x580780000; env exists mcinitcmd "\ 454*ec85721cSVINITHA PILLAI "&& fsl_mc lazyapply dpl 0x580d00000;" \ 455*ec85721cSVINITHA PILLAI "run distro_bootcmd;run nor_bootcmd; " \ 456*ec85721cSVINITHA PILLAI "env exists secureboot && esbc_halt; " 4570a09d20bSZhang Ying-22455 #endif 45844937214SPrabhakar Kushwaha 45944937214SPrabhakar Kushwaha /* MAC/PHY configuration */ 46044937214SPrabhakar Kushwaha #ifdef CONFIG_FSL_MC_ENET 46144937214SPrabhakar Kushwaha #define CONFIG_PHYLIB_10G 46244937214SPrabhakar Kushwaha #define CONFIG_PHY_AQUANTIA 46344937214SPrabhakar Kushwaha #define CONFIG_PHY_CORTINA 46444937214SPrabhakar Kushwaha #define CONFIG_SYS_CORTINA_FW_IN_NOR 46589a168f7SPriyanka Jain #ifdef CONFIG_QSPI_BOOT 46689a168f7SPriyanka Jain #define CONFIG_CORTINA_FW_ADDR 0x20980000 46789a168f7SPriyanka Jain #else 468f5bf23d8SSantan Kumar #define CONFIG_CORTINA_FW_ADDR 0x580980000 46989a168f7SPriyanka Jain #endif 47044937214SPrabhakar Kushwaha #define CONFIG_CORTINA_FW_LENGTH 0x40000 47144937214SPrabhakar Kushwaha 47244937214SPrabhakar Kushwaha #define CORTINA_PHY_ADDR1 0x10 47344937214SPrabhakar Kushwaha #define CORTINA_PHY_ADDR2 0x11 47444937214SPrabhakar Kushwaha #define CORTINA_PHY_ADDR3 0x12 47544937214SPrabhakar Kushwaha #define CORTINA_PHY_ADDR4 0x13 47644937214SPrabhakar Kushwaha #define AQ_PHY_ADDR1 0x00 47744937214SPrabhakar Kushwaha #define AQ_PHY_ADDR2 0x01 47844937214SPrabhakar Kushwaha #define AQ_PHY_ADDR3 0x02 47944937214SPrabhakar Kushwaha #define AQ_PHY_ADDR4 0x03 480abc7d0f7SShaohui Xie #define AQR405_IRQ_MASK 0x36 48144937214SPrabhakar Kushwaha 48244937214SPrabhakar Kushwaha #define CONFIG_MII 4837ad9cc96SPrabhakar Kushwaha #define CONFIG_ETHPRIME "DPMAC1@xgmii" 48444937214SPrabhakar Kushwaha #define CONFIG_PHY_AQUANTIA 48544937214SPrabhakar Kushwaha #endif 48644937214SPrabhakar Kushwaha 487fcfdb6d5SSaksham Jain #include <asm/fsl_secure_boot.h> 488fcfdb6d5SSaksham Jain 48944937214SPrabhakar Kushwaha #endif /* __LS2_RDB_H */ 490