1da4105dfSLothar Felten /* 2da4105dfSLothar Felten * pengwyn.h 3da4105dfSLothar Felten * 4da4105dfSLothar Felten * Copyright (C) 2013 Lothar Felten <lothar.felten@gmail.com> 5da4105dfSLothar Felten * 6da4105dfSLothar Felten * based on am335x_evm.h, Copyright (C) 2011 Texas Instruments Inc. 7da4105dfSLothar Felten * 8da4105dfSLothar Felten * SPDX-License-Identifier: GPL-2.0+ 9da4105dfSLothar Felten */ 10da4105dfSLothar Felten 11da4105dfSLothar Felten #ifndef __CONFIG_PENGWYN_H 12da4105dfSLothar Felten #define __CONFIG_PENGWYN_H 13da4105dfSLothar Felten 14da4105dfSLothar Felten #define CONFIG_SERIAL1 15da4105dfSLothar Felten #define CONFIG_CONS_INDEX 1 16da4105dfSLothar Felten 17da4105dfSLothar Felten #include <configs/ti_am335x_common.h> 18da4105dfSLothar Felten 19da4105dfSLothar Felten /* Clock Defines */ 20da4105dfSLothar Felten #define V_OSCK 24000000 21da4105dfSLothar Felten #define V_SCLK V_OSCK 22da4105dfSLothar Felten 23da4105dfSLothar Felten /* set env size */ 24da4105dfSLothar Felten #define CONFIG_ENV_SIZE 0x4000 25da4105dfSLothar Felten 26da4105dfSLothar Felten #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG 27da4105dfSLothar Felten 28da4105dfSLothar Felten #ifndef CONFIG_SPL_BUILD 29da4105dfSLothar Felten #define CONFIG_EXTRA_ENV_SETTINGS \ 30da4105dfSLothar Felten "loadaddr=0x80200000\0" \ 31da4105dfSLothar Felten "fdtaddr=0x80F80000\0" \ 32da4105dfSLothar Felten "bootpart=0:2\0" \ 33da4105dfSLothar Felten "bootdir=/boot\0" \ 34da4105dfSLothar Felten "bootfile=zImage\0" \ 35da4105dfSLothar Felten "fdtfile=am335x-pengwyn.dtb\0" \ 36da4105dfSLothar Felten "console=ttyO0,115200n8\0" \ 37da4105dfSLothar Felten "optargs=\0" \ 38da4105dfSLothar Felten "mmcdev=0\0" \ 39da4105dfSLothar Felten "mmcroot=/dev/mmcblk0p2 ro\0" \ 40da4105dfSLothar Felten "mmcrootfstype=ext4 rootwait\0" \ 41da4105dfSLothar Felten "rootpath=/export/rootfs\0" \ 42da4105dfSLothar Felten "nfsopts=nolock\0" \ 43da4105dfSLothar Felten "static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}" \ 44da4105dfSLothar Felten "::off\0" \ 45da4105dfSLothar Felten "mmcargs=setenv bootargs console=${console} " \ 46da4105dfSLothar Felten "${optargs} " \ 47da4105dfSLothar Felten "root=${mmcroot} " \ 48da4105dfSLothar Felten "rootfstype=${mmcrootfstype}\0" \ 49da4105dfSLothar Felten "netargs=setenv bootargs console=${console} " \ 50da4105dfSLothar Felten "${optargs} " \ 51da4105dfSLothar Felten "root=/dev/nfs " \ 52da4105dfSLothar Felten "nfsroot=${serverip}:${rootpath},${nfsopts} rw " \ 53da4105dfSLothar Felten "ip=dhcp\0" \ 54da4105dfSLothar Felten "bootenv=uEnv.txt\0" \ 55da4105dfSLothar Felten "loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \ 56da4105dfSLothar Felten "importbootenv=echo Importing environment from mmc ...; " \ 57da4105dfSLothar Felten "env import -t $loadaddr $filesize\0" \ 58da4105dfSLothar Felten "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ 59da4105dfSLothar Felten "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ 60da4105dfSLothar Felten "mmcloados=run mmcargs; " \ 61da4105dfSLothar Felten "bootz ${loadaddr} - ${fdtaddr};\0" \ 62da4105dfSLothar Felten "mmcboot=mmc dev ${mmcdev}; " \ 63da4105dfSLothar Felten "if mmc rescan; then " \ 64da4105dfSLothar Felten "echo SD/MMC found on device ${mmcdev};" \ 65da4105dfSLothar Felten "if run loadbootenv; then " \ 66da4105dfSLothar Felten "echo Loaded environment from ${bootenv};" \ 67da4105dfSLothar Felten "run importbootenv;" \ 68da4105dfSLothar Felten "fi;" \ 69da4105dfSLothar Felten "if test -n $uenvcmd; then " \ 70da4105dfSLothar Felten "echo Running uenvcmd ...;" \ 71da4105dfSLothar Felten "run uenvcmd;" \ 72da4105dfSLothar Felten "fi;" \ 73da4105dfSLothar Felten "if run loadimage; then " \ 74da4105dfSLothar Felten "run loadfdt;" \ 75da4105dfSLothar Felten "run mmcloados;" \ 76da4105dfSLothar Felten "fi;" \ 77da4105dfSLothar Felten "fi;\0" \ 78da4105dfSLothar Felten "netboot=echo Booting from network ...; " \ 79da4105dfSLothar Felten "setenv autoload no; " \ 80da4105dfSLothar Felten "dhcp; " \ 81da4105dfSLothar Felten "tftp ${loadaddr} ${bootfile}; " \ 82da4105dfSLothar Felten "tftp ${fdtaddr} ${fdtfile}; " \ 83da4105dfSLothar Felten "run netargs; " \ 84da4105dfSLothar Felten "bootz ${loadaddr} - ${fdtaddr}\0" \ 85da4105dfSLothar Felten "mtdids=" MTDIDS_DEFAULT "\0" \ 86da4105dfSLothar Felten "mtdparts=" MTDPARTS_DEFAULT "\0" \ 87da4105dfSLothar Felten "nandargs=setenv bootargs console=${console} " \ 88da4105dfSLothar Felten "${optargs} " \ 89da4105dfSLothar Felten "root=${nandroot} " \ 90da4105dfSLothar Felten "rootfstype=${nandrootfstype}\0" \ 91da4105dfSLothar Felten "nandroot=ubi0:rootfs rw ubi.mtd=7,2048\0" \ 92da4105dfSLothar Felten "nandrootfstype=ubifs rootwait=1\0" \ 93da4105dfSLothar Felten "nandboot=echo Booting from nand ...; " \ 94da4105dfSLothar Felten "run nandargs; " \ 95da4105dfSLothar Felten "nand read ${fdtaddr} u-boot-spl-os; " \ 96da4105dfSLothar Felten "nand read ${loadaddr} kernel; " \ 97da4105dfSLothar Felten "bootz ${loadaddr} - ${fdtaddr}\0" 98da4105dfSLothar Felten #endif 99da4105dfSLothar Felten 100da4105dfSLothar Felten #define CONFIG_BOOTCOMMAND \ 101da4105dfSLothar Felten "run mmcboot;" \ 102da4105dfSLothar Felten "run nandboot;" 103da4105dfSLothar Felten 104*1cc0a9f4SRobert P. J. Day /* NS16550 Configuration: primary UART via FTDI */ 105da4105dfSLothar Felten #define CONFIG_SYS_NS16550_COM1 0x44e09000 106da4105dfSLothar Felten 107da4105dfSLothar Felten /* I2C Configuration */ 108da4105dfSLothar Felten #define CONFIG_SYS_I2C_SPEED 100000 109da4105dfSLothar Felten #define CONFIG_ENV_EEPROM_IS_ON_I2C 110da4105dfSLothar Felten #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 111da4105dfSLothar Felten #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2 112da4105dfSLothar Felten 113da4105dfSLothar Felten /* SPL */ 114da4105dfSLothar Felten 115da4105dfSLothar Felten /* NAND support */ 1165ea667eaSVincent BENOIT 1175ea667eaSVincent BENOIT /* NAND Configuration. */ 118da4105dfSLothar Felten #define CONFIG_SYS_NAND_5_ADDR_CYCLE 119da4105dfSLothar Felten #define CONFIG_SYS_NAND_PAGE_COUNT (CONFIG_SYS_NAND_BLOCK_SIZE / \ 120da4105dfSLothar Felten CONFIG_SYS_NAND_PAGE_SIZE) 1215ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_PAGE_SIZE 4096 1225ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_OOBSIZE 224 1235ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_ONFI_DETECTION 1245ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_BLOCK_SIZE (128*4096) 125da4105dfSLothar Felten #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS 1265ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_ECCPOS { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,\ 1275ea667eaSVincent BENOIT 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,\ 1285ea667eaSVincent BENOIT 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,\ 1295ea667eaSVincent BENOIT 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,\ 1305ea667eaSVincent BENOIT 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,\ 1315ea667eaSVincent BENOIT 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,\ 1325ea667eaSVincent BENOIT 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,\ 1335ea667eaSVincent BENOIT 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,\ 1345ea667eaSVincent BENOIT 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,\ 1355ea667eaSVincent BENOIT 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,\ 1365ea667eaSVincent BENOIT 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,\ 1375ea667eaSVincent BENOIT 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209} 1385ea667eaSVincent BENOIT 139da4105dfSLothar Felten #define CONFIG_SYS_NAND_ECCSIZE 512 1405ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_ECCBYTES 26 1415ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_ECCSTEPS 8 1425ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * \ 1435ea667eaSVincent BENOIT CONFIG_SYS_NAND_ECCSTEPS) 1445ea667eaSVincent BENOIT #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH16_CODE_HW 1455ea667eaSVincent BENOIT /* END NAND Configuration. */ 1465ea667eaSVincent BENOIT 147da4105dfSLothar Felten #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE 1485ea667eaSVincent BENOIT /* #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 */ 1495ea667eaSVincent BENOIT #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x200000 1505ea667eaSVincent BENOIT 151da4105dfSLothar Felten #define MTDIDS_DEFAULT "nand0=omap2-nand.0" 1525ea667eaSVincent BENOIT /* Size must be a multiple of Nand erase size (524288 b) */ 1535ea667eaSVincent BENOIT #define MTDPARTS_DEFAULT "mtdparts=omap2-nand.0:512k(SPL)," \ 1545ea667eaSVincent BENOIT "512k(SPL.backup1)," \ 1555ea667eaSVincent BENOIT "512k(SPL.backup2)," \ 1565ea667eaSVincent BENOIT "512k(SPL.backup3),1536k(u-boot)," \ 1575ea667eaSVincent BENOIT "512k(u-boot-spl-os)," \ 1585ea667eaSVincent BENOIT "512k(u-boot-env),5m(kernel),-(rootfs)" 159da4105dfSLothar Felten #define CONFIG_ENV_OFFSET 0x260000 /* environment starts here */ 160da4105dfSLothar Felten #define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */ 161434f2cfcSpekon gupta /* NAND: SPL falcon mode configs */ 162434f2cfcSpekon gupta #ifdef CONFIG_SPL_OS_BOOT 163434f2cfcSpekon gupta #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000 164434f2cfcSpekon gupta #endif 165da4105dfSLothar Felten 166da4105dfSLothar Felten /* 167da4105dfSLothar Felten * USB configuration. We enable MUSB support, both for host and for 168da4105dfSLothar Felten * gadget. We set USB0 as peripheral and USB1 as host, based on the 169da4105dfSLothar Felten * board schematic and physical port wired to each. Then for host we 170da4105dfSLothar Felten * add mass storage support. 171da4105dfSLothar Felten */ 172da4105dfSLothar Felten #define CONFIG_USB_MUSB_DSPS 17395de1e2fSPaul Kocialkowski #define CONFIG_USB_MUSB_PIO_ONLY 17495de1e2fSPaul Kocialkowski #define CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT 175da4105dfSLothar Felten #define CONFIG_AM335X_USB0 176da4105dfSLothar Felten #define CONFIG_AM335X_USB0_MODE MUSB_PERIPHERAL 177da4105dfSLothar Felten #define CONFIG_AM335X_USB1 178da4105dfSLothar Felten #define CONFIG_AM335X_USB1_MODE MUSB_HOST 179da4105dfSLothar Felten 180da4105dfSLothar Felten #if defined(CONFIG_SPL_BUILD) 181da4105dfSLothar Felten /* disable host part of MUSB in SPL */ 182da4105dfSLothar Felten /* Disable CPSW SPL support so we fit within the 101KiB limit. */ 183da4105dfSLothar Felten #endif 184da4105dfSLothar Felten 1855ea667eaSVincent BENOIT /* CPSW ethernet */ 1865ea667eaSVincent BENOIT #define CONFIG_NET_MULTI 1875ea667eaSVincent BENOIT 188da4105dfSLothar Felten /* Network */ 189da4105dfSLothar Felten #define CONFIG_PHY_RESET 1 190da4105dfSLothar Felten #define CONFIG_PHY_NATSEMI 1915ea667eaSVincent BENOIT #define CONFIG_PHY_REALTEK 192da4105dfSLothar Felten 193da4105dfSLothar Felten /* CPSW support */ 194da4105dfSLothar Felten 195da4105dfSLothar Felten #endif /* ! __CONFIG_PENGWYN_H */ 196