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 
39 #define AM335XX_BOARD_FDTFILE "fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0"
40 
41 #include <config_distro_bootcmd.h>
42 
43 #define GUARDIAN_DEFAULT_PROD_ENV \
44 	"factory_assembly_status=0\0" \
45 	"main_pcba_part_number=0\0" \
46 	"main_pcba_supplier=0\0" \
47 	"main_pcba_timestamp=0\0" \
48 	"main_pcba_hardware_version=0\0" \
49 	"main_pcba_id=0\0" \
50 	"main_pcba_aux_1=0\0" \
51 	"main_pcba_aux_2=0\0" \
52 	"main_pcba_aux_3=0\0" \
53 	"main_pcba_aux_4=0\0" \
54 
55 #define CONFIG_EXTRA_ENV_SETTINGS \
56 	AM335XX_BOARD_FDTFILE \
57 	MEM_LAYOUT_ENV_SETTINGS \
58 	BOOTENV \
59 	GUARDIAN_DEFAULT_PROD_ENV \
60 	"bootubivol=rootfs\0" \
61 	"distro_bootcmd=" \
62 		"setenv autoload no; " \
63 		"setenv rootflags \"bulk_read,chk_data_crc\"; " \
64 		"setenv ethact usb_ether; " \
65 		"if test \"${swi_status}\" -eq 1; then " \
66 		  "setenv extrabootargs \"swi_attached\"; " \
67 		  "if dhcp; then " \
68 		    "sleep 1; " \
69 		    "if tftp \"${tftp_load_addr}\" \"bootscript.scr\"; then " \
70 		      "source \"${tftp_load_addr}\"; " \
71 		    "fi; " \
72 		  "fi; " \
73 		"fi;" \
74 		"run bootcmd_ubifs0;\0" \
75 	"altbootcmd=" \
76 		"setenv boot_syslinux_conf \"extlinux/extlinux-rollback.conf\"; " \
77 		"run distro_bootcmd; " \
78 		"setenv boot_syslinux_conf \"extlinux/extlinux.conf\"; " \
79 		"run bootcmd_ubifs0;\0"
80 
81 #endif /* ! CONFIG_SPL_BUILD */
82 
83 /* NS16550 Configuration */
84 #define CONFIG_SYS_NS16550_COM1		0x44e09000	/* UART0 */
85 #define CONFIG_SYS_NS16550_COM2		0x48022000	/* UART1 */
86 #define CONFIG_SYS_NS16550_COM3		0x48024000	/* UART2 */
87 #define CONFIG_SYS_NS16550_COM4		0x481a6000	/* UART3 */
88 #define CONFIG_SYS_NS16550_COM5		0x481a8000	/* UART4 */
89 #define CONFIG_SYS_NS16550_COM6		0x481aa000	/* UART5 */
90 
91 /* PMIC support */
92 #define CONFIG_POWER_TPS65217
93 
94 /* Bootcount using the RTC block */
95 #define CONFIG_SYS_BOOTCOUNT_LE
96 
97 #ifdef CONFIG_MTD_RAW_NAND
98 
99 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
100 #define CONFIG_SYS_NAND_PAGE_COUNT      (CONFIG_SYS_NAND_BLOCK_SIZE / \
101 					CONFIG_SYS_NAND_PAGE_SIZE)
102 #define CONFIG_SYS_NAND_PAGE_SIZE       4096
103 #define CONFIG_SYS_NAND_OOBSIZE         256
104 #define CONFIG_SYS_NAND_BLOCK_SIZE      (256 * 1024)
105 
106 #define CONFIG_SYS_NAND_ECCPOS  {   2,   3,   4,   5,   6,   7,   8,   9, \
107 			 10,  11,  12,  13,  14,  15,  16,  17,  18,  19, \
108 			 20,  21,  22,  23,  24,  25,  26,  27,  28,  29, \
109 			 30,  31,  32,  33,  34,  35,  36,  37,  38,  39, \
110 			 40,  41,  42,  43,  44,  45,  46,  47,  48,  49, \
111 			 50,  51,  52,  53,  54,  55,  56,  57,  58,  59, \
112 			 60,  61,  62,  63,  64,  65,  66,  67,  68,  69, \
113 			 70,  71,  72,  73,  74,  75,  76,  77,  78,  79, \
114 			 80,  81,  82,  83,  84,  85,  86,  87,  88,  89, \
115 			 90,  91,  92,  93,  94,  95,  96,  97,  98,  99, \
116 			100, 101, 102, 103, 104, 105, 106, 107, 108, 109, \
117 			110, 111, 112, 113, 114, 115, 116, 117, 118, 119, \
118 			120, 121, 122, 123, 124, 125, 126, 127, 128, 129, \
119 			130, 131, 132, 133, 134, 135, 136, 137, 138, 139, \
120 			140, 141, 142, 143, 144, 145, 146, 147, 148, 149, \
121 			150, 151, 152, 153, 154, 155, 156, 157, 158, 159, \
122 			160, 161, 162, 163, 164, 165, 166, 167, 168, 169, \
123 			170, 171, 172, 173, 174, 175, 176, 177, 178, 179, \
124 			180, 181, 182, 183, 184, 185, 186, 187, 188, 189, \
125 			190, 191, 192, 193, 194, 195, 196, 197, 198, 199, \
126 			200, 201, 202, 203, 204, 205, 206, 207, 208, 209, \
127 			}
128 #define CONFIG_SYS_NAND_ECCSIZE         512
129 #define CONFIG_SYS_NAND_ECCBYTES        26
130 #define CONFIG_SYS_NAND_ONFI_DETECTION
131 #define CONFIG_NAND_OMAP_ECCSCHEME      OMAP_ECC_BCH16_CODE_HW
132 #define MTDIDS_DEFAULT                  "nand0=nand.0"
133 
134 #define CONFIG_SYS_NAND_BAD_BLOCK_POS   NAND_LARGE_BADBLOCK_POS
135 
136 #endif /* CONFIG_MTD_RAW_NAND */
137 
138 #define CONFIG_AM335X_USB0
139 #define CONFIG_AM335X_USB0_MODE MUSB_PERIPHERAL
140 #define CONFIG_AM335X_USB1
141 #define CONFIG_AM335X_USB1_MODE MUSB_HOST
142 
143 #endif	/* ! __CONFIG_AM335X_GUARDIAN_H */
144