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