am335x, guardian: load env from NAND
[platform/kernel/u-boot.git] / include / configs / am335x_guardian.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * am335x_guardian_.h
4  *
5  * Copyright (C) 2018 Robert Bosch Power Tools GmbH
6  * Copyright (C) 2018 sjoerd Simons <sjoerd.simons@collabora.co.uk>
7  *
8  */
9
10 #ifndef __CONFIG_AM335X_GUARDIAN_H
11 #define __CONFIG_AM335X_GUARDIAN_H
12
13 #include <configs/ti_am335x_common.h>
14
15 #ifndef CONFIG_SPL_BUILD
16 #define CONFIG_TIMESTAMP
17 #endif
18
19 #define CONFIG_SYS_BOOTM_LEN            (16 << 20)
20
21 /* Clock Defines */
22 #define V_OSCK                          24000000  /* Clock output from T2 */
23 #define V_SCLK                          (V_OSCK)
24
25 #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
26
27 #ifndef CONFIG_SPL_BUILD
28
29 #define MEM_LAYOUT_ENV_SETTINGS \
30         "scriptaddr=0x80000000\0" \
31         "pxefile_addr_r=0x80100000\0" \
32         "kernel_addr_r=0x82000000\0" \
33         "fdt_addr_r=0x88000000\0" \
34         "ramdisk_addr_r=0x88080000\0" \
35
36 #define BOOT_TARGET_DEVICES(func) \
37         func(UBIFS, ubifs, 0) \
38         func(PXE, pxe, na) \
39         func(DHCP, dhcp, na)
40
41 #define AM335XX_BOARD_FDTFILE "fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0"
42
43 #include <config_distro_bootcmd.h>
44
45 #define GUARDIAN_DEFAULT_PROD_ENV \
46         "factory_assembly_status=0\0" \
47         "main_pcba_part_number=0\0" \
48         "main_pcba_supplier=0\0" \
49         "main_pcba_timestamp=0\0" \
50         "main_pcba_hardware_version=0\0" \
51         "main_pcba_id=0\0" \
52         "main_pcba_aux_1=0\0" \
53         "main_pcba_aux_2=0\0" \
54         "main_pcba_aux_3=0\0" \
55         "main_pcba_aux_4=0\0" \
56
57 #define CONFIG_EXTRA_ENV_SETTINGS \
58         AM335XX_BOARD_FDTFILE \
59         MEM_LAYOUT_ENV_SETTINGS \
60         BOOTENV \
61         GUARDIAN_DEFAULT_PROD_ENV \
62         "bootubivol=rootfs\0" \
63         "altbootcmd=" \
64                 "setenv boot_config \"extlinux-rollback.conf\"; " \
65                 "run distro_bootcmd\0"
66
67 #endif /* ! CONFIG_SPL_BUILD */
68
69 /* NS16550 Configuration */
70 #define CONFIG_SYS_NS16550_COM1         0x44e09000      /* UART0 */
71 #define CONFIG_SYS_NS16550_COM2         0x48022000      /* UART1 */
72 #define CONFIG_SYS_NS16550_COM3         0x48024000      /* UART2 */
73 #define CONFIG_SYS_NS16550_COM4         0x481a6000      /* UART3 */
74 #define CONFIG_SYS_NS16550_COM5         0x481a8000      /* UART4 */
75 #define CONFIG_SYS_NS16550_COM6         0x481aa000      /* UART5 */
76
77 /* PMIC support */
78 #define CONFIG_POWER_TPS65217
79
80 /* Bootcount using the RTC block */
81 #define CONFIG_SYS_BOOTCOUNT_LE
82
83 #ifdef CONFIG_MTD_RAW_NAND
84
85 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
86 #define CONFIG_SYS_NAND_PAGE_COUNT      (CONFIG_SYS_NAND_BLOCK_SIZE / \
87                                         CONFIG_SYS_NAND_PAGE_SIZE)
88 #define CONFIG_SYS_NAND_PAGE_SIZE       4096
89 #define CONFIG_SYS_NAND_OOBSIZE         256
90 #define CONFIG_SYS_NAND_BLOCK_SIZE      (256 * 1024)
91
92 #define CONFIG_SYS_NAND_ECCPOS  {   2,   3,   4,   5,   6,   7,   8,   9, \
93                          10,  11,  12,  13,  14,  15,  16,  17,  18,  19, \
94                          20,  21,  22,  23,  24,  25,  26,  27,  28,  29, \
95                          30,  31,  32,  33,  34,  35,  36,  37,  38,  39, \
96                          40,  41,  42,  43,  44,  45,  46,  47,  48,  49, \
97                          50,  51,  52,  53,  54,  55,  56,  57,  58,  59, \
98                          60,  61,  62,  63,  64,  65,  66,  67,  68,  69, \
99                          70,  71,  72,  73,  74,  75,  76,  77,  78,  79, \
100                          80,  81,  82,  83,  84,  85,  86,  87,  88,  89, \
101                          90,  91,  92,  93,  94,  95,  96,  97,  98,  99, \
102                         100, 101, 102, 103, 104, 105, 106, 107, 108, 109, \
103                         110, 111, 112, 113, 114, 115, 116, 117, 118, 119, \
104                         120, 121, 122, 123, 124, 125, 126, 127, 128, 129, \
105                         130, 131, 132, 133, 134, 135, 136, 137, 138, 139, \
106                         140, 141, 142, 143, 144, 145, 146, 147, 148, 149, \
107                         150, 151, 152, 153, 154, 155, 156, 157, 158, 159, \
108                         160, 161, 162, 163, 164, 165, 166, 167, 168, 169, \
109                         170, 171, 172, 173, 174, 175, 176, 177, 178, 179, \
110                         180, 181, 182, 183, 184, 185, 186, 187, 188, 189, \
111                         190, 191, 192, 193, 194, 195, 196, 197, 198, 199, \
112                         200, 201, 202, 203, 204, 205, 206, 207, 208, 209, \
113                         }
114 #define CONFIG_SYS_NAND_ECCSIZE         512
115 #define CONFIG_SYS_NAND_ECCBYTES        26
116 #define CONFIG_SYS_NAND_ONFI_DETECTION
117 #define CONFIG_NAND_OMAP_ECCSCHEME      OMAP_ECC_BCH16_CODE_HW
118 #define MTDIDS_DEFAULT                  "nand0=nand.0"
119
120 #define CONFIG_SYS_NAND_BAD_BLOCK_POS   NAND_LARGE_BADBLOCK_POS
121
122 #endif /* CONFIG_MTD_RAW_NAND */
123
124 #define CONFIG_AM335X_USB0
125 #define CONFIG_AM335X_USB0_MODE MUSB_PERIPHERAL
126 #define CONFIG_AM335X_USB1
127 #define CONFIG_AM335X_USB1_MODE MUSB_HOST
128
129 #endif  /* ! __CONFIG_AM335X_GUARDIAN_H */