blob: 6cf6a31d767f3130ab162ea0bdd167c67f2d0b72 [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>
Kuldeep Singh02261092020-06-25 12:56:22 +053013#include <linux/sizes.h>
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053014
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +080015#define CONFIG_SYS_CLK_FREQ 125000000
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053016
17#define CONFIG_SKIP_LOWLEVEL_INIT
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053018
Rajesh Bhagatfcafef62018-11-05 18:02:53 +000019#ifdef CONFIG_TFABOOT
20#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_TEXT_BASE
21#else
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053022#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_FSL_OCRAM_BASE + 0xfff0)
Rajesh Bhagatfcafef62018-11-05 18:02:53 +000023#endif
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053024#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000)
25
26#define CONFIG_SYS_DDR_SDRAM_BASE 0x80000000
27#define CONFIG_SYS_FSL_DDR_SDRAM_BASE_PHY 0
28#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE
Prabhakar Kushwaha1fb2f112017-01-30 17:05:22 +053029#define CONFIG_SYS_DDR_BLOCK2_BASE 0x880000000ULL
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053030
31/* Generic Timer Definitions */
Yuantian Tang8d7d8202017-10-12 14:29:26 +080032#define COUNTER_FREQUENCY 25000000 /* 25MHz */
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053033
34/* CSU */
35#define CONFIG_LAYERSCAPE_NS_ACCESS
36
37/* Size of malloc() pool */
Kuldeep Singh02261092020-06-25 12:56:22 +053038#define CONFIG_SYS_MALLOC_LEN (5 * SZ_1M)
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053039
Kuldeep Singh14e956f2020-05-28 11:42:53 +053040/* PFE */
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053041#define CONFIG_SYS_FMAN_FW_ADDR 0x400d0000
Kuldeep Singh14e956f2020-05-28 11:42:53 +053042#define CONFIG_SYS_QE_FMAN_FW_LENGTH 0x300000
43
44/*SPI device */
Kuldeep Singh1f73ca62020-05-12 12:54:07 +053045#define CONFIG_SYS_FSL_QSPI_BASE 0x40000000
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053046
Yuantian Tang932c5b12018-01-03 15:53:10 +080047/* SATA */
48#define CONFIG_SCSI_AHCI_PLAT
49
50#define CONFIG_SYS_SATA AHCI_BASE_ADDR
51
52#define CONFIG_SYS_SCSI_MAX_SCSI_ID 1
53#define CONFIG_SYS_SCSI_MAX_LUN 1
54#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
55 CONFIG_SYS_SCSI_MAX_LUN)
56
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053057/* I2C */
Biwen Li0a759bb2019-12-31 15:33:41 +080058#ifndef CONFIG_DM_I2C
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053059#define CONFIG_SYS_I2C
Biwen Li0a759bb2019-12-31 15:33:41 +080060#else
61#define CONFIG_I2C_SET_DEFAULT_BUS_NUM
62#define CONFIG_I2C_DEFAULT_BUS_NUMBER 0
63#endif
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053064
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053065#define CONFIG_SYS_NS16550_SERIAL
66#define CONFIG_SYS_NS16550_REG_SIZE 1
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +080067#define CONFIG_SYS_NS16550_CLK (get_serial_clock())
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053068
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053069#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
70
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053071#define CONFIG_SYS_HZ 1000
72
73#define CONFIG_HWCONFIG
74#define HWCONFIG_BUFFER_SIZE 128
75
Rajesh Bhagatd59447a2017-11-30 16:44:38 +053076#ifndef CONFIG_SPL_BUILD
77#define BOOT_TARGET_DEVICES(func) \
78 func(MMC, mmc, 0) \
Yunfeng Ding0c1d95e2019-02-19 14:44:04 +080079 func(USB, usb, 0) \
80 func(SCSI, scsi, 0) \
81 func(DHCP, dhcp, na)
Rajesh Bhagatd59447a2017-11-30 16:44:38 +053082#include <config_distro_bootcmd.h>
83#endif
84
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053085/* Initial environment variables */
86#define CONFIG_EXTRA_ENV_SETTINGS \
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053087 "verify=no\0" \
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053088 "loadaddr=0x80100000\0" \
89 "kernel_addr=0x100000\0" \
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053090 "initrd_high=0xffffffffffffffff\0" \
Bhaskar Upadhaya11385d82017-11-14 05:05:10 +053091 "kernel_start=0x1000000\0" \
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053092 "kernel_load=0xa0000000\0" \
93 "kernel_size=0x2800000\0" \
Udit Agarwal4fe5c552020-06-08 18:55:44 +053094 "bootm_size=0x10000000\0" \
Prabhakar Kushwaha55432502016-06-03 18:41:34 +053095
Rajesh Bhagatd59447a2017-11-30 16:44:38 +053096#undef CONFIG_BOOTCOMMAND
Rajesh Bhagatfcafef62018-11-05 18:02:53 +000097#ifdef CONFIG_TFABOOT
98#define QSPI_NOR_BOOTCOMMAND "pfe stop; sf probe 0:0; sf read $kernel_load "\
99 "$kernel_start $kernel_size && "\
100 "bootm $kernel_load"
101#else
Calvin Johnson0e6101a2018-03-08 15:30:35 +0530102#define CONFIG_BOOTCOMMAND "pfe stop; sf probe 0:0; sf read $kernel_load "\
103 "$kernel_start $kernel_size && "\
104 "bootm $kernel_load"
Rajesh Bhagatfcafef62018-11-05 18:02:53 +0000105#endif
Prabhakar Kushwaha55432502016-06-03 18:41:34 +0530106
107/* Monitor Command Prompt */
108#define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */
Prabhakar Kushwaha55432502016-06-03 18:41:34 +0530109#define CONFIG_SYS_MAXARGS 64 /* max command args */
110
Prabhakar Kushwaha55432502016-06-03 18:41:34 +0530111#define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */
112
Simon Glass89e0a3a2017-05-17 08:23:10 -0600113#include <asm/arch/soc.h>
114
Prabhakar Kushwaha55432502016-06-03 18:41:34 +0530115#endif /* __LS1012A_COMMON_H */