Chandan Nath | 7d74410 | 2011-10-14 02:58:26 +0000 | [diff] [blame] | 1 | /* |
| 2 | * am335x_evm.h |
| 3 | * |
| 4 | * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ |
| 5 | * |
| 6 | * This program is free software; you can redistribute it and/or |
| 7 | * modify it under the terms of the GNU General Public License as |
| 8 | * published by the Free Software Foundation version 2. |
| 9 | * |
| 10 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any |
| 11 | * kind, whether express or implied; without even the implied warranty |
| 12 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 13 | * GNU General Public License for more details. |
| 14 | */ |
| 15 | |
| 16 | #ifndef __CONFIG_AM335X_EVM_H |
| 17 | #define __CONFIG_AM335X_EVM_H |
| 18 | |
Tom Rini | a2f4c91 | 2013-08-09 11:22:17 -0400 | [diff] [blame] | 19 | #include <configs/ti_am335x_common.h> |
Sam Protsenko | 88d79eb | 2018-02-07 20:41:32 +0200 | [diff] [blame] | 20 | #include <linux/sizes.h> |
Chandan Nath | 7d74410 | 2011-10-14 02:58:26 +0000 | [diff] [blame] | 21 | |
Tom Rini | a2f4c91 | 2013-08-09 11:22:17 -0400 | [diff] [blame] | 22 | /* Clock Defines */ |
| 23 | #define V_OSCK 24000000 /* Clock output from T2 */ |
| 24 | #define V_SCLK (V_OSCK) |
Tom Rini | 142184e | 2012-06-12 14:54:32 -0700 | [diff] [blame] | 25 | |
Miquel Raynal | d093536 | 2019-10-03 19:50:03 +0200 | [diff] [blame] | 26 | #ifdef CONFIG_MTD_RAW_NAND |
Justin Waters | 735a627 | 2013-07-11 09:54:58 -0400 | [diff] [blame] | 27 | #define NANDARGS \ |
Justin Waters | 735a627 | 2013-07-11 09:54:58 -0400 | [diff] [blame] | 28 | "nandargs=setenv bootargs console=${console} " \ |
| 29 | "${optargs} " \ |
| 30 | "root=${nandroot} " \ |
| 31 | "rootfstype=${nandrootfstype}\0" \ |
Roger Quadros | 1a080d6 | 2015-06-05 12:42:21 +0300 | [diff] [blame] | 32 | "nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system,2048\0" \ |
Michael Trimarchi | 034d8ff | 2022-05-22 15:22:08 +0200 | [diff] [blame] | 33 | "nandrootfstype=ubifs rootwait\0" \ |
Tom Rini | 5c37db2 | 2013-11-18 10:36:23 -0500 | [diff] [blame] | 34 | "nandboot=echo Booting from nand ...; " \ |
Justin Waters | 735a627 | 2013-07-11 09:54:58 -0400 | [diff] [blame] | 35 | "run nandargs; " \ |
Roger Quadros | 1a080d6 | 2015-06-05 12:42:21 +0300 | [diff] [blame] | 36 | "nand read ${fdtaddr} NAND.u-boot-spl-os; " \ |
| 37 | "nand read ${loadaddr} NAND.kernel; " \ |
Tom Rini | 5c37db2 | 2013-11-18 10:36:23 -0500 | [diff] [blame] | 38 | "bootz ${loadaddr} - ${fdtaddr}\0" |
Justin Waters | 735a627 | 2013-07-11 09:54:58 -0400 | [diff] [blame] | 39 | #else |
| 40 | #define NANDARGS "" |
| 41 | #endif |
| 42 | |
Sjoerd Simons | 97f8892 | 2015-08-28 15:01:56 +0200 | [diff] [blame] | 43 | #define BOOTENV_DEV_NAND(devtypeu, devtypel, instance) \ |
| 44 | "bootcmd_" #devtypel "=" \ |
| 45 | "run nandboot\0" |
| 46 | |
| 47 | #define BOOTENV_DEV_NAME_NAND(devtypeu, devtypel, instance) \ |
| 48 | #devtypel #instance " " |
| 49 | |
Matwey V. Kornilov | 5a8141a | 2020-08-24 21:00:33 +0300 | [diff] [blame] | 50 | #if CONFIG_IS_ENABLED(CMD_USB) |
| 51 | # define BOOT_TARGET_USB(func) func(USB, usb, 0) |
| 52 | #else |
| 53 | # define BOOT_TARGET_USB(func) |
| 54 | #endif |
| 55 | |
Alex Kiernan | cc46484 | 2018-04-01 09:22:35 +0000 | [diff] [blame] | 56 | #if CONFIG_IS_ENABLED(CMD_PXE) |
| 57 | # define BOOT_TARGET_PXE(func) func(PXE, pxe, na) |
| 58 | #else |
| 59 | # define BOOT_TARGET_PXE(func) |
| 60 | #endif |
| 61 | |
| 62 | #if CONFIG_IS_ENABLED(CMD_DHCP) |
| 63 | # define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na) |
| 64 | #else |
| 65 | # define BOOT_TARGET_DHCP(func) |
| 66 | #endif |
| 67 | |
Sjoerd Simons | 97f8892 | 2015-08-28 15:01:56 +0200 | [diff] [blame] | 68 | #define BOOT_TARGET_DEVICES(func) \ |
| 69 | func(MMC, mmc, 0) \ |
Sjoerd Simons | 97f8892 | 2015-08-28 15:01:56 +0200 | [diff] [blame] | 70 | func(MMC, mmc, 1) \ |
Sjoerd Simons | 97f8892 | 2015-08-28 15:01:56 +0200 | [diff] [blame] | 71 | func(NAND, nand, 0) \ |
Matwey V. Kornilov | 5a8141a | 2020-08-24 21:00:33 +0300 | [diff] [blame] | 72 | BOOT_TARGET_USB(func) \ |
Alex Kiernan | cc46484 | 2018-04-01 09:22:35 +0000 | [diff] [blame] | 73 | BOOT_TARGET_PXE(func) \ |
| 74 | BOOT_TARGET_DHCP(func) |
Sjoerd Simons | 97f8892 | 2015-08-28 15:01:56 +0200 | [diff] [blame] | 75 | |
Sjoerd Simons | 97f8892 | 2015-08-28 15:01:56 +0200 | [diff] [blame] | 76 | #include <config_distro_bootcmd.h> |
| 77 | |
Tom Rini | 73e0dac | 2013-02-26 13:08:53 -0500 | [diff] [blame] | 78 | #ifndef CONFIG_SPL_BUILD |
Sekhar Nori | 0ea56fe | 2017-04-06 14:52:56 +0530 | [diff] [blame] | 79 | #include <environment/ti/dfu.h> |
Sekhar Nori | 0ea56fe | 2017-04-06 14:52:56 +0530 | [diff] [blame] | 80 | |
Tom Rini | c9edebe | 2022-12-04 10:03:50 -0500 | [diff] [blame] | 81 | #define CFG_EXTRA_ENV_SETTINGS \ |
Tom Rini | 96886f2 | 2014-03-28 15:03:29 -0400 | [diff] [blame] | 82 | DEFAULT_LINUX_BOOT_ENV \ |
Dan Murphy | ff30272 | 2013-06-06 13:27:06 -0500 | [diff] [blame] | 83 | "fdtfile=undefined\0" \ |
Tom Rini | f12a0f2 | 2021-06-10 19:01:47 -0400 | [diff] [blame] | 84 | "finduuid=part uuid mmc 0:2 uuid\0" \ |
Tom Rini | 142184e | 2012-06-12 14:54:32 -0700 | [diff] [blame] | 85 | "console=ttyO0,115200n8\0" \ |
Tom Rini | 4733b52 | 2014-01-21 17:15:06 -0500 | [diff] [blame] | 86 | "partitions=" \ |
| 87 | "uuid_disk=${uuid_gpt_disk};" \ |
Sam Protsenko | 88d79eb | 2018-02-07 20:41:32 +0200 | [diff] [blame] | 88 | "name=bootloader,start=384K,size=1792K," \ |
| 89 | "uuid=${uuid_gpt_bootloader};" \ |
| 90 | "name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_rootfs}\0" \ |
Tom Rini | 142184e | 2012-06-12 14:54:32 -0700 | [diff] [blame] | 91 | "optargs=\0" \ |
Tom Rini | f811350 | 2014-03-28 15:03:30 -0400 | [diff] [blame] | 92 | "ramroot=/dev/ram0 rw\0" \ |
Tom Rini | 142184e | 2012-06-12 14:54:32 -0700 | [diff] [blame] | 93 | "ramrootfstype=ext2\0" \ |
Chase Maupin | 5292c56 | 2013-02-08 11:20:12 +0000 | [diff] [blame] | 94 | "spiroot=/dev/mtdblock4 rw\0" \ |
| 95 | "spirootfstype=jffs2\0" \ |
| 96 | "spisrcaddr=0xe0000\0" \ |
| 97 | "spiimgsize=0x362000\0" \ |
| 98 | "spibusno=0\0" \ |
| 99 | "spiargs=setenv bootargs console=${console} " \ |
| 100 | "${optargs} " \ |
| 101 | "root=${spiroot} " \ |
| 102 | "rootfstype=${spirootfstype}\0" \ |
Tom Rini | 142184e | 2012-06-12 14:54:32 -0700 | [diff] [blame] | 103 | "ramargs=setenv bootargs console=${console} " \ |
| 104 | "${optargs} " \ |
| 105 | "root=${ramroot} " \ |
| 106 | "rootfstype=${ramrootfstype}\0" \ |
Koen Kooi | d5d12bf | 2013-03-14 05:55:20 +0000 | [diff] [blame] | 107 | "loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \ |
Chase Maupin | 5292c56 | 2013-02-08 11:20:12 +0000 | [diff] [blame] | 108 | "spiboot=echo Booting from spi ...; " \ |
| 109 | "run spiargs; " \ |
| 110 | "sf probe ${spibusno}:0; " \ |
| 111 | "sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; " \ |
Tom Rini | 9b9a77f | 2013-09-24 09:40:52 -0400 | [diff] [blame] | 112 | "bootz ${loadaddr}\0" \ |
Tom Rini | 142184e | 2012-06-12 14:54:32 -0700 | [diff] [blame] | 113 | "ramboot=echo Booting from ramdisk ...; " \ |
| 114 | "run ramargs; " \ |
Tom Rini | 9b9a77f | 2013-09-24 09:40:52 -0400 | [diff] [blame] | 115 | "bootz ${loadaddr} ${rdaddr} ${fdtaddr}\0" \ |
Tom Rini | 4027185 | 2012-10-24 07:28:17 +0000 | [diff] [blame] | 116 | "findfdt="\ |
| 117 | "if test $board_name = A335BONE; then " \ |
| 118 | "setenv fdtfile am335x-bone.dtb; fi; " \ |
Koen Kooi | b4aa527 | 2013-03-14 05:55:19 +0000 | [diff] [blame] | 119 | "if test $board_name = A335BNLT; then " \ |
matwey.kornilov@gmail.com | ca8db72 | 2016-05-01 19:58:31 +0300 | [diff] [blame] | 120 | "setenv fdtfile am335x-boneblack.dtb; fi; " \ |
Jason Kridner | b56b5b3 | 2018-03-07 05:40:41 -0500 | [diff] [blame] | 121 | "if test $board_name = A335PBGL; then " \ |
| 122 | "setenv fdtfile am335x-pocketbeagle.dtb; fi; " \ |
robertcnelson@gmail.com | c5d7d22 | 2017-03-30 14:29:52 -0500 | [diff] [blame] | 123 | "if test $board_name = BBBW; then " \ |
| 124 | "setenv fdtfile am335x-boneblack-wireless.dtb; fi; " \ |
matwey.kornilov@gmail.com | ca8db72 | 2016-05-01 19:58:31 +0300 | [diff] [blame] | 125 | "if test $board_name = BBG1; then " \ |
| 126 | "setenv fdtfile am335x-bonegreen.dtb; fi; " \ |
robertcnelson@gmail.com | b55cd7a | 2017-03-30 14:29:53 -0500 | [diff] [blame] | 127 | "if test $board_name = BBGW; then " \ |
| 128 | "setenv fdtfile am335x-bonegreen-wireless.dtb; fi; " \ |
robertcnelson@gmail.com | 89ef1d6 | 2017-03-30 14:29:54 -0500 | [diff] [blame] | 129 | "if test $board_name = BBBL; then " \ |
| 130 | "setenv fdtfile am335x-boneblue.dtb; fi; " \ |
Koen Kooi | 8a15786 | 2018-07-18 10:13:59 +0200 | [diff] [blame] | 131 | "if test $board_name = BBEN; then " \ |
| 132 | "setenv fdtfile am335x-sancloud-bbe.dtb; fi; " \ |
Paul Barker | 10a5944 | 2022-04-11 15:42:00 +0000 | [diff] [blame] | 133 | "if test $board_name = BBELITE; then " \ |
| 134 | "setenv fdtfile am335x-sancloud-bbe-lite.dtb; fi; " \ |
Paul Barker | 726ae6e | 2022-04-11 15:42:01 +0000 | [diff] [blame] | 135 | "if test $board_name = BBE_EX_WIFI; then " \ |
| 136 | "setenv fdtfile am335x-sancloud-bbe-extended-wifi.dtb; fi; " \ |
Tom Rini | 4027185 | 2012-10-24 07:28:17 +0000 | [diff] [blame] | 137 | "if test $board_name = A33515BB; then " \ |
| 138 | "setenv fdtfile am335x-evm.dtb; fi; " \ |
| 139 | "if test $board_name = A335X_SK; then " \ |
Tom Rini | 7b19975 | 2013-06-27 09:55:39 -0400 | [diff] [blame] | 140 | "setenv fdtfile am335x-evmsk.dtb; fi; " \ |
Lokesh Vutla | 86e2987 | 2016-05-16 11:47:27 +0530 | [diff] [blame] | 141 | "if test $board_name = A335_ICE; then " \ |
Amjad Ouled-Ameur | 4d79772 | 2021-10-29 16:08:17 +0200 | [diff] [blame] | 142 | "setenv fdtfile am335x-icev2.dtb; " \ |
| 143 | "if test $ice_mii = mii; then " \ |
| 144 | "setenv pxe_label_override Pruss; fi;" \ |
| 145 | "fi; " \ |
Dan Murphy | ff30272 | 2013-06-06 13:27:06 -0500 | [diff] [blame] | 146 | "if test $fdtfile = undefined; then " \ |
Justin Waters | 735a627 | 2013-07-11 09:54:58 -0400 | [diff] [blame] | 147 | "echo WARNING: Could not determine device tree to use; fi; \0" \ |
Lokesh Vutla | 86e2987 | 2016-05-16 11:47:27 +0530 | [diff] [blame] | 148 | "init_console=" \ |
| 149 | "if test $board_name = A335_ICE; then "\ |
| 150 | "setenv console ttyO3,115200n8;" \ |
| 151 | "else " \ |
| 152 | "setenv console ttyO0,115200n8;" \ |
| 153 | "fi;\0" \ |
Tom Rini | 7d34ed4 | 2013-12-04 09:14:20 -0500 | [diff] [blame] | 154 | NANDARGS \ |
Cooper Jr., Franklin | 07610ab | 2015-04-21 07:51:04 -0500 | [diff] [blame] | 155 | NETARGS \ |
Sjoerd Simons | 97f8892 | 2015-08-28 15:01:56 +0200 | [diff] [blame] | 156 | DFUARGS \ |
| 157 | BOOTENV |
Tom Rini | 73e0dac | 2013-02-26 13:08:53 -0500 | [diff] [blame] | 158 | #endif |
| 159 | |
Chandan Nath | 7d74410 | 2011-10-14 02:58:26 +0000 | [diff] [blame] | 160 | /* NS16550 Configuration */ |
Tom Rini | df6a215 | 2022-11-16 13:10:28 -0500 | [diff] [blame] | 161 | #define CFG_SYS_NS16550_COM1 0x44e09000 /* Base EVM has UART0 */ |
| 162 | #define CFG_SYS_NS16550_COM2 0x48022000 /* UART1 */ |
| 163 | #define CFG_SYS_NS16550_COM3 0x48024000 /* UART2 */ |
| 164 | #define CFG_SYS_NS16550_COM4 0x481a6000 /* UART3 */ |
| 165 | #define CFG_SYS_NS16550_COM5 0x481a8000 /* UART4 */ |
| 166 | #define CFG_SYS_NS16550_COM6 0x481aa000 /* UART5 */ |
Chandan Nath | 7d74410 | 2011-10-14 02:58:26 +0000 | [diff] [blame] | 167 | |
Miquel Raynal | d093536 | 2019-10-03 19:50:03 +0200 | [diff] [blame] | 168 | #ifdef CONFIG_MTD_RAW_NAND |
pekon gupta | 60ae085 | 2014-07-22 16:03:19 +0530 | [diff] [blame] | 169 | /* NAND: device related configs */ |
pekon gupta | 60ae085 | 2014-07-22 16:03:19 +0530 | [diff] [blame] | 170 | /* NAND: driver related configs */ |
Tom Rini | b421349 | 2022-11-12 17:36:51 -0500 | [diff] [blame] | 171 | #define CFG_SYS_NAND_ECCPOS { 2, 3, 4, 5, 6, 7, 8, 9, \ |
Ilya Yanok | 2688dac | 2012-11-06 13:06:35 +0000 | [diff] [blame] | 172 | 10, 11, 12, 13, 14, 15, 16, 17, \ |
| 173 | 18, 19, 20, 21, 22, 23, 24, 25, \ |
| 174 | 26, 27, 28, 29, 30, 31, 32, 33, \ |
| 175 | 34, 35, 36, 37, 38, 39, 40, 41, \ |
| 176 | 42, 43, 44, 45, 46, 47, 48, 49, \ |
| 177 | 50, 51, 52, 53, 54, 55, 56, 57, } |
| 178 | |
Tom Rini | b421349 | 2022-11-12 17:36:51 -0500 | [diff] [blame] | 179 | #define CFG_SYS_NAND_ECCSIZE 512 |
| 180 | #define CFG_SYS_NAND_ECCBYTES 14 |
Miquel Raynal | d093536 | 2019-10-03 19:50:03 +0200 | [diff] [blame] | 181 | #endif /* !CONFIG_MTD_RAW_NAND */ |
Ilya Yanok | 2688dac | 2012-11-06 13:06:35 +0000 | [diff] [blame] | 182 | |
Tom Rini | d437b7a | 2013-08-20 08:53:48 -0400 | [diff] [blame] | 183 | /* USB Device Firmware Update support */ |
Mateusz Zalega | cebb8dc | 2014-04-28 21:13:27 +0200 | [diff] [blame] | 184 | #ifndef CONFIG_SPL_BUILD |
Tom Rini | 7d34ed4 | 2013-12-04 09:14:20 -0500 | [diff] [blame] | 185 | #define DFUARGS \ |
Sam Protsenko | 0b4c64a | 2017-12-12 20:07:41 +0200 | [diff] [blame] | 186 | DFU_ALT_INFO_EMMC \ |
Tom Rini | 7d34ed4 | 2013-12-04 09:14:20 -0500 | [diff] [blame] | 187 | DFU_ALT_INFO_MMC \ |
| 188 | DFU_ALT_INFO_RAM \ |
| 189 | DFU_ALT_INFO_NAND |
Mateusz Zalega | cebb8dc | 2014-04-28 21:13:27 +0200 | [diff] [blame] | 190 | #endif |
Tom Rini | d437b7a | 2013-08-20 08:53:48 -0400 | [diff] [blame] | 191 | |
Tom Rini | a33c797 | 2013-02-08 11:20:15 +0000 | [diff] [blame] | 192 | /* |
Steve Kipisz | be9b6f8 | 2013-07-18 15:13:03 -0400 | [diff] [blame] | 193 | * NOR Size = 16 MiB |
| 194 | * Number of Sectors/Blocks = 128 |
| 195 | * Sector Size = 128 KiB |
| 196 | * Word length = 16 bits |
| 197 | * Default layout: |
| 198 | * 0x000000 - 0x07FFFF : U-Boot (512 KiB) |
| 199 | * 0x080000 - 0x09FFFF : First copy of U-Boot Environment (128 KiB) |
| 200 | * 0x0A0000 - 0x0BFFFF : Second copy of U-Boot Environment (128 KiB) |
| 201 | * 0x0C0000 - 0x4BFFFF : Linux Kernel (4 MiB) |
| 202 | * 0x4C0000 - 0xFFFFFF : Userland (11 MiB + 256 KiB) |
| 203 | */ |
| 204 | #if defined(CONFIG_NOR) |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 205 | #define CFG_SYS_FLASH_BASE (0x08000000) |
| 206 | #define CFG_SYS_FLASH_SIZE 0x01000000 |
Steve Kipisz | be9b6f8 | 2013-07-18 15:13:03 -0400 | [diff] [blame] | 207 | #endif /* NOR support */ |
| 208 | |
Chandan Nath | 7d74410 | 2011-10-14 02:58:26 +0000 | [diff] [blame] | 209 | #endif /* ! __CONFIG_AM335X_EVM_H */ |