blob: 2579e2fb37ee4b4f99225fa0ed19712a9ead7cc8 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Prabhakar Kushwaha55432502016-06-03 18:41:34 +05302/*
3 * Copyright 2016 Freescale Semiconductor
Prabhakar Kushwaha55432502016-06-03 18:41:34 +05304 */
5
6#ifndef __LS1012A_COMMON_H
7#define __LS1012A_COMMON_H
8
Prabhakar Kushwaha55432502016-06-03 18:41:34 +05309#define CONFIG_GICV2
10
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053011#include <asm/arch/config.h>
Bharat Bhushanc8651312017-03-22 12:06:29 +053012#include <asm/arch/stream_id_lsch2.h>
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053013
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +080014#define CONFIG_SYS_CLK_FREQ 125000000
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053015
16#define CONFIG_SKIP_LOWLEVEL_INIT
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053017
Rajesh Bhagatfcafef62018-11-05 18:02:53 +000018#ifdef CONFIG_TFABOOT
19#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_TEXT_BASE
20#else
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053021#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_FSL_OCRAM_BASE + 0xfff0)
Rajesh Bhagatfcafef62018-11-05 18:02:53 +000022#endif
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053023#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000)
24
25#define CONFIG_SYS_DDR_SDRAM_BASE 0x80000000
26#define CONFIG_SYS_FSL_DDR_SDRAM_BASE_PHY 0
27#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE
Prabhakar Kushwaha1fb2f112017-01-30 17:05:22 +053028#define CONFIG_SYS_DDR_BLOCK2_BASE 0x880000000ULL
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053029
30/* Generic Timer Definitions */
Yuantian Tang8d7d8202017-10-12 14:29:26 +080031#define COUNTER_FREQUENCY 25000000 /* 25MHz */
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053032
33/* CSU */
34#define CONFIG_LAYERSCAPE_NS_ACCESS
35
36/* Size of malloc() pool */
37#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 128 * 1024)
38
39/*SPI device */
Rajesh Bhagatfcafef62018-11-05 18:02:53 +000040#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_TFABOOT)
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053041#define CONFIG_SYS_FMAN_FW_ADDR 0x400d0000
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053042#define CONFIG_SPI_FLASH_SPANSION
43#define CONFIG_FSL_SPI_INTERFACE
44#define CONFIG_SF_DATAFLASH
45
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053046#define QSPI0_AMBA_BASE 0x40000000
47#define CONFIG_SPI_FLASH_SPANSION
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053048
Suresh Gupta2c31d722017-04-25 14:51:38 +053049#define FSL_QSPI_FLASH_SIZE SZ_64M
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053050#define FSL_QSPI_FLASH_NUM 2
51
52/*
53 * Environment
54 */
55#define CONFIG_ENV_OVERWRITE
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053056#endif
57
Yuantian Tang932c5b12018-01-03 15:53:10 +080058/* SATA */
59#define CONFIG_SCSI_AHCI_PLAT
60
61#define CONFIG_SYS_SATA AHCI_BASE_ADDR
62
63#define CONFIG_SYS_SCSI_MAX_SCSI_ID 1
64#define CONFIG_SYS_SCSI_MAX_LUN 1
65#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
66 CONFIG_SYS_SCSI_MAX_LUN)
67
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053068/* I2C */
69#define CONFIG_SYS_I2C
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053070
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053071#define CONFIG_SYS_NS16550_SERIAL
72#define CONFIG_SYS_NS16550_REG_SIZE 1
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +080073#define CONFIG_SYS_NS16550_CLK (get_serial_clock())
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053074
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053075#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
76
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053077#define CONFIG_SYS_HZ 1000
78
79#define CONFIG_HWCONFIG
80#define HWCONFIG_BUFFER_SIZE 128
81
Rajesh Bhagatd59447a2017-11-30 16:44:38 +053082#ifndef CONFIG_SPL_BUILD
83#define BOOT_TARGET_DEVICES(func) \
84 func(MMC, mmc, 0) \
Yunfeng Ding0c1d95e2019-02-19 14:44:04 +080085 func(USB, usb, 0) \
86 func(SCSI, scsi, 0) \
87 func(DHCP, dhcp, na)
Rajesh Bhagatd59447a2017-11-30 16:44:38 +053088#include <config_distro_bootcmd.h>
89#endif
90
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053091/* Initial environment variables */
92#define CONFIG_EXTRA_ENV_SETTINGS \
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053093 "verify=no\0" \
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053094 "loadaddr=0x80100000\0" \
95 "kernel_addr=0x100000\0" \
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053096 "fdt_high=0xffffffffffffffff\0" \
97 "initrd_high=0xffffffffffffffff\0" \
Bhaskar Upadhaya11385d82017-11-14 05:05:10 +053098 "kernel_start=0x1000000\0" \
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053099 "kernel_load=0xa0000000\0" \
100 "kernel_size=0x2800000\0" \
Prabhakar Kushwaha55432502016-06-03 18:41:34 +0530101
Rajesh Bhagatd59447a2017-11-30 16:44:38 +0530102#undef CONFIG_BOOTCOMMAND
Rajesh Bhagatfcafef62018-11-05 18:02:53 +0000103#ifdef CONFIG_TFABOOT
104#define QSPI_NOR_BOOTCOMMAND "pfe stop; sf probe 0:0; sf read $kernel_load "\
105 "$kernel_start $kernel_size && "\
106 "bootm $kernel_load"
107#else
Calvin Johnson0e6101a2018-03-08 15:30:35 +0530108#define CONFIG_BOOTCOMMAND "pfe stop; sf probe 0:0; sf read $kernel_load "\
109 "$kernel_start $kernel_size && "\
110 "bootm $kernel_load"
Rajesh Bhagatfcafef62018-11-05 18:02:53 +0000111#endif
Prabhakar Kushwaha55432502016-06-03 18:41:34 +0530112
113/* Monitor Command Prompt */
114#define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */
Prabhakar Kushwaha55432502016-06-03 18:41:34 +0530115#define CONFIG_SYS_MAXARGS 64 /* max command args */
116
Prabhakar Kushwaha55432502016-06-03 18:41:34 +0530117#define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */
118
Simon Glass89e0a3a2017-05-17 08:23:10 -0600119#include <asm/arch/soc.h>
120
Prabhakar Kushwaha55432502016-06-03 18:41:34 +0530121#endif /* __LS1012A_COMMON_H */