Tom Rini | 83d290c | 2018-05-06 17:58:06 -0400 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 2 | /* |
| 3 | * Copyright 2016 Freescale Semiconductor, Inc. |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 4 | */ |
| 5 | |
| 6 | #ifndef __LS1012ARDB_H__ |
| 7 | #define __LS1012ARDB_H__ |
| 8 | |
| 9 | #include "ls1012a_common.h" |
| 10 | |
Shengzhou Liu | b9e745b | 2016-08-26 18:30:39 +0800 | [diff] [blame] | 11 | /* DDR */ |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 12 | #define CONFIG_DIMM_SLOTS_PER_CTLR 1 |
| 13 | #define CONFIG_CHIP_SELECTS_PER_CTRL 1 |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 14 | #define CONFIG_SYS_SDRAM_SIZE 0x40000000 |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 15 | #define CONFIG_CMD_MEMINFO |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 16 | #define CONFIG_SYS_MEMTEST_START 0x80000000 |
| 17 | #define CONFIG_SYS_MEMTEST_END 0x9fffffff |
| 18 | |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 19 | |
Kuldeep Singh | 60b0055 | 2019-09-18 14:58:11 +0530 | [diff] [blame] | 20 | /* ENV */ |
| 21 | #define CONFIG_SYS_FSL_QSPI_BASE 0x40000000 |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 22 | /* |
| 23 | * I2C IO expander |
| 24 | */ |
| 25 | |
Yangbo Lu | 481fb01 | 2017-12-08 15:35:35 +0800 | [diff] [blame] | 26 | #define I2C_MUX_IO_ADDR 0x24 |
Calvin Johnson | 7ab1647 | 2018-03-08 15:30:30 +0530 | [diff] [blame] | 27 | #define I2C_MUX_IO2_ADDR 0x25 |
Yangbo Lu | 481fb01 | 2017-12-08 15:35:35 +0800 | [diff] [blame] | 28 | #define I2C_MUX_IO_0 0 |
| 29 | #define I2C_MUX_IO_1 1 |
| 30 | #define SW_BOOT_MASK 0x03 |
| 31 | #define SW_BOOT_EMU 0x02 |
| 32 | #define SW_BOOT_BANK1 0x00 |
| 33 | #define SW_BOOT_BANK2 0x01 |
| 34 | #define SW_REV_MASK 0xF8 |
| 35 | #define SW_REV_A 0xF8 |
| 36 | #define SW_REV_B 0xF0 |
Yangbo Lu | 4a47bf8 | 2017-12-08 15:35:36 +0800 | [diff] [blame] | 37 | #define SW_REV_C 0xE8 |
| 38 | #define SW_REV_C1 0xE0 |
| 39 | #define SW_REV_C2 0xD8 |
| 40 | #define SW_REV_D 0xD0 |
| 41 | #define SW_REV_E 0xC8 |
Calvin Johnson | 7ab1647 | 2018-03-08 15:30:30 +0530 | [diff] [blame] | 42 | #define __PHY_MASK 0xF9 |
| 43 | #define __PHY_ETH2_MASK 0xFB |
| 44 | #define __PHY_ETH1_MASK 0xFD |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 45 | |
| 46 | /* MMC */ |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 47 | #ifdef CONFIG_MMC |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 48 | #define CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33 |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 49 | #endif |
| 50 | |
Prabhakar Kushwaha | 9e0bb4c | 2016-12-26 12:15:08 +0530 | [diff] [blame] | 51 | |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 52 | #define CONFIG_PCIE1 /* PCIE controller 1 */ |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 53 | |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 54 | #define CONFIG_PCI_SCAN_SHOW |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 55 | |
| 56 | #define CONFIG_CMD_MEMINFO |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 57 | #define CONFIG_SYS_MEMTEST_START 0x80000000 |
| 58 | #define CONFIG_SYS_MEMTEST_END 0x9fffffff |
| 59 | |
Rajesh Bhagat | a81357a | 2017-11-30 16:44:38 +0530 | [diff] [blame] | 60 | #undef CONFIG_EXTRA_ENV_SETTINGS |
| 61 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
| 62 | "verify=no\0" \ |
| 63 | "fdt_high=0xffffffffffffffff\0" \ |
| 64 | "initrd_high=0xffffffffffffffff\0" \ |
| 65 | "fdt_addr=0x00f00000\0" \ |
| 66 | "kernel_addr=0x01000000\0" \ |
Vinitha Pillai-B57223 | c883f35 | 2018-01-09 23:03:42 +0530 | [diff] [blame] | 67 | "kernelheader_addr=0x800000\0" \ |
Rajesh Bhagat | a81357a | 2017-11-30 16:44:38 +0530 | [diff] [blame] | 68 | "scriptaddr=0x80000000\0" \ |
Vinitha Pillai-B57223 | c883f35 | 2018-01-09 23:03:42 +0530 | [diff] [blame] | 69 | "scripthdraddr=0x80080000\0" \ |
Rajesh Bhagat | a81357a | 2017-11-30 16:44:38 +0530 | [diff] [blame] | 70 | "fdtheader_addr_r=0x80100000\0" \ |
| 71 | "kernelheader_addr_r=0x80200000\0" \ |
| 72 | "kernel_addr_r=0x81000000\0" \ |
| 73 | "fdt_addr_r=0x90000000\0" \ |
| 74 | "load_addr=0xa0000000\0" \ |
| 75 | "kernel_size=0x2800000\0" \ |
Vinitha Pillai-B57223 | c883f35 | 2018-01-09 23:03:42 +0530 | [diff] [blame] | 76 | "kernelheader_size=0x40000\0" \ |
Rajesh Bhagat | a81357a | 2017-11-30 16:44:38 +0530 | [diff] [blame] | 77 | "console=ttyS0,115200\0" \ |
| 78 | BOOTENV \ |
| 79 | "boot_scripts=ls1012ardb_boot.scr\0" \ |
Vinitha Pillai-B57223 | c883f35 | 2018-01-09 23:03:42 +0530 | [diff] [blame] | 80 | "boot_script_hdr=hdr_ls1012ardb_bs.out\0" \ |
Rajesh Bhagat | a81357a | 2017-11-30 16:44:38 +0530 | [diff] [blame] | 81 | "scan_dev_for_boot_part=" \ |
| 82 | "part list ${devtype} ${devnum} devplist; " \ |
| 83 | "env exists devplist || setenv devplist 1; " \ |
| 84 | "for distro_bootpart in ${devplist}; do " \ |
| 85 | "if fstype ${devtype} " \ |
| 86 | "${devnum}:${distro_bootpart} " \ |
| 87 | "bootfstype; then " \ |
| 88 | "run scan_dev_for_boot; " \ |
| 89 | "fi; " \ |
| 90 | "done\0" \ |
| 91 | "scan_dev_for_boot=" \ |
| 92 | "echo Scanning ${devtype} " \ |
| 93 | "${devnum}:${distro_bootpart}...; " \ |
| 94 | "for prefix in ${boot_prefixes}; do " \ |
| 95 | "run scan_dev_for_scripts; " \ |
| 96 | "done;" \ |
| 97 | "\0" \ |
Vinitha Pillai-B57223 | c883f35 | 2018-01-09 23:03:42 +0530 | [diff] [blame] | 98 | "boot_a_script=" \ |
| 99 | "load ${devtype} ${devnum}:${distro_bootpart} " \ |
| 100 | "${scriptaddr} ${prefix}${script}; " \ |
| 101 | "env exists secureboot && load ${devtype} " \ |
| 102 | "${devnum}:${distro_bootpart} " \ |
Vinitha V Pillai | 78c5808 | 2019-04-23 05:52:17 +0000 | [diff] [blame] | 103 | "${scripthdraddr} ${prefix}${boot_script_hdr}; " \ |
| 104 | "env exists secureboot " \ |
Vinitha Pillai-B57223 | c883f35 | 2018-01-09 23:03:42 +0530 | [diff] [blame] | 105 | "&& esbc_validate ${scripthdraddr};" \ |
| 106 | "source ${scriptaddr}\0" \ |
Rajesh Bhagat | a81357a | 2017-11-30 16:44:38 +0530 | [diff] [blame] | 107 | "installer=load mmc 0:2 $load_addr " \ |
| 108 | "/flex_installer_arm64.itb; " \ |
| 109 | "bootm $load_addr#$board\0" \ |
Biwen Li | a3c9805 | 2019-11-15 15:10:14 +0800 | [diff] [blame^] | 110 | "qspi_bootcmd=pfe stop; echo Trying load from qspi..;" \ |
Rajesh Bhagat | a81357a | 2017-11-30 16:44:38 +0530 | [diff] [blame] | 111 | "sf probe && sf read $load_addr " \ |
Vinitha Pillai-B57223 | c883f35 | 2018-01-09 23:03:42 +0530 | [diff] [blame] | 112 | "$kernel_addr $kernel_size; env exists secureboot " \ |
| 113 | "&& sf read $kernelheader_addr_r $kernelheader_addr " \ |
| 114 | "$kernelheader_size && esbc_validate ${kernelheader_addr_r}; " \ |
| 115 | "bootm $load_addr#$board\0" |
Rajesh Bhagat | a81357a | 2017-11-30 16:44:38 +0530 | [diff] [blame] | 116 | |
| 117 | #undef CONFIG_BOOTCOMMAND |
Rajesh Bhagat | 1f6180d | 2018-11-05 18:02:53 +0000 | [diff] [blame] | 118 | #ifdef CONFIG_TFABOOT |
| 119 | #undef QSPI_NOR_BOOTCOMMAND |
| 120 | #define QSPI_NOR_BOOTCOMMAND "pfe stop; run distro_bootcmd; run qspi_bootcmd; "\ |
| 121 | "env exists secureboot && esbc_halt;" |
| 122 | #else |
Calvin Johnson | a802d1e | 2018-03-08 15:30:35 +0530 | [diff] [blame] | 123 | #define CONFIG_BOOTCOMMAND "pfe stop; run distro_bootcmd; run qspi_bootcmd; "\ |
Vinitha Pillai-B57223 | c883f35 | 2018-01-09 23:03:42 +0530 | [diff] [blame] | 124 | "env exists secureboot && esbc_halt;" |
Rajesh Bhagat | 1f6180d | 2018-11-05 18:02:53 +0000 | [diff] [blame] | 125 | #endif |
Vinitha Pillai-B57223 | 11d14bf | 2017-03-23 13:48:20 +0530 | [diff] [blame] | 126 | |
| 127 | #include <asm/fsl_secure_boot.h> |
| 128 | |
Prabhakar Kushwaha | 3b6e389 | 2016-06-03 18:41:35 +0530 | [diff] [blame] | 129 | #endif /* __LS1012ARDB_H__ */ |