1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 2566c9c16SVipin KUMAR /* 3566c9c16SVipin KUMAR * (C) Copyright 2009 4566c9c16SVipin KUMAR * Vipin Kumar, STMicroelectronics, <vipin.kumar@st.com> 5566c9c16SVipin KUMAR */ 6566c9c16SVipin KUMAR 7566c9c16SVipin KUMAR #ifndef _SPEAR_COMMON_H 8566c9c16SVipin KUMAR #define _SPEAR_COMMON_H 9566c9c16SVipin KUMAR /* 10566c9c16SVipin KUMAR * Common configurations used for both spear3xx as well as spear6xx 11566c9c16SVipin KUMAR */ 12566c9c16SVipin KUMAR 13a187559eSBin Meng /* U-Boot Load Address */ 14f273e5b2SVipin KUMAR 15deb00562SVipin KUMAR /* Ethernet driver configuration */ 16deb00562SVipin KUMAR #define CONFIG_PHY_RESET_DELAY 10000 /* in usec */ 17deb00562SVipin KUMAR 18566c9c16SVipin KUMAR /* USBD driver configuration */ 19b884236eSVipin KUMAR #if defined(CONFIG_SPEAR_USBTTY) 202721551aSVipin KUMAR #define CONFIG_DW_UDC 21566c9c16SVipin KUMAR #define CONFIG_USB_DEVICE 2250726684SVipin KUMAR #define CONFIG_USBD_HS 23566c9c16SVipin KUMAR #define CONFIG_USB_TTY 24566c9c16SVipin KUMAR 25566c9c16SVipin KUMAR #define CONFIG_USBD_PRODUCT_NAME "SPEAr SoC" 26566c9c16SVipin KUMAR #define CONFIG_USBD_MANUFACTURER "ST Microelectronics" 27566c9c16SVipin KUMAR 28b884236eSVipin KUMAR #endif 29b884236eSVipin KUMAR 30566c9c16SVipin KUMAR #define CONFIG_EXTRA_ENV_USBTTY "usbtty=cdc_acm\0" 31566c9c16SVipin KUMAR 32566c9c16SVipin KUMAR /* I2C driver configuration */ 33678398b1SStefan Roese #define CONFIG_SYS_I2C 34f93f589cSAlexey Brodkin #if defined(CONFIG_SPEAR600) 35f93f589cSAlexey Brodkin #define CONFIG_SYS_I2C_BASE 0xD0200000 36f93f589cSAlexey Brodkin #elif defined(CONFIG_SPEAR300) 37f93f589cSAlexey Brodkin #define CONFIG_SYS_I2C_BASE 0xD0180000 38f93f589cSAlexey Brodkin #elif defined(CONFIG_SPEAR310) 39f93f589cSAlexey Brodkin #define CONFIG_SYS_I2C_BASE 0xD0180000 40f93f589cSAlexey Brodkin #elif defined(CONFIG_SPEAR320) 41f93f589cSAlexey Brodkin #define CONFIG_SYS_I2C_BASE 0xD0180000 42f93f589cSAlexey Brodkin #endif 43566c9c16SVipin KUMAR #define CONFIG_SYS_I2C_SPEED 400000 44566c9c16SVipin KUMAR #define CONFIG_SYS_I2C_SLAVE 0x02 45566c9c16SVipin KUMAR 46566c9c16SVipin KUMAR #define CONFIG_I2C_CHIPADDRESS 0x50 47566c9c16SVipin KUMAR 48566c9c16SVipin KUMAR /* Timer, HZ specific defines */ 49566c9c16SVipin KUMAR 50566c9c16SVipin KUMAR /* Flash configuration */ 51566c9c16SVipin KUMAR #if defined(CONFIG_FLASH_PNOR) 529b382b43SAmit Virdi #define CONFIG_SPEAR_EMI 53566c9c16SVipin KUMAR #else 54f3fcf92dSVipin KUMAR #define CONFIG_ST_SMI 55566c9c16SVipin KUMAR #endif 56566c9c16SVipin KUMAR 57f3fcf92dSVipin KUMAR #if defined(CONFIG_ST_SMI) 58566c9c16SVipin KUMAR 59566c9c16SVipin KUMAR #define CONFIG_SYS_MAX_FLASH_BANKS 2 60bc0bdf4cSAmit Virdi #define CONFIG_SYS_FLASH_BASE 0xF8000000 61bc0bdf4cSAmit Virdi #define CONFIG_SYS_CS1_FLASH_BASE 0xF9000000 62bc0bdf4cSAmit Virdi #define CONFIG_SYS_FLASH_BANK_SIZE 0x01000000 63566c9c16SVipin KUMAR #define CONFIG_SYS_FLASH_ADDR_BASE {CONFIG_SYS_FLASH_BASE, \ 64566c9c16SVipin KUMAR CONFIG_SYS_CS1_FLASH_BASE} 65566c9c16SVipin KUMAR #define CONFIG_SYS_MAX_FLASH_SECT 128 66566c9c16SVipin KUMAR 67566c9c16SVipin KUMAR #define CONFIG_SYS_FLASH_ERASE_TOUT (3 * CONFIG_SYS_HZ) 68566c9c16SVipin KUMAR #define CONFIG_SYS_FLASH_WRITE_TOUT (3 * CONFIG_SYS_HZ) 69566c9c16SVipin KUMAR 70566c9c16SVipin KUMAR #endif 71566c9c16SVipin KUMAR 72566c9c16SVipin KUMAR /* 73566c9c16SVipin KUMAR * Serial Configuration (PL011) 74566c9c16SVipin KUMAR * CONFIG_PL01x_PORTS is defined in specific files 75566c9c16SVipin KUMAR */ 76566c9c16SVipin KUMAR #define CONFIG_PL011_CLOCK (48 * 1000 * 1000) 77566c9c16SVipin KUMAR #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, \ 78566c9c16SVipin KUMAR 57600, 115200 } 79566c9c16SVipin KUMAR 80566c9c16SVipin KUMAR #define CONFIG_SYS_LOADS_BAUD_CHANGE 81566c9c16SVipin KUMAR 82566c9c16SVipin KUMAR /* NAND FLASH Configuration */ 831fa943b9SVipin KUMAR #define CONFIG_SYS_NAND_SELF_INIT 841fa943b9SVipin KUMAR #define CONFIG_NAND_FSMC 85566c9c16SVipin KUMAR #define CONFIG_SYS_MAX_NAND_DEVICE 1 86bc912e78SVipin Kumar #define CONFIG_SYS_NAND_ONFI_DETECTION 87566c9c16SVipin KUMAR 88566c9c16SVipin KUMAR /* 89566c9c16SVipin KUMAR * Default Environment Varible definitions 90566c9c16SVipin KUMAR */ 91566c9c16SVipin KUMAR #define CONFIG_ENV_OVERWRITE 92566c9c16SVipin KUMAR 93566c9c16SVipin KUMAR /* 94566c9c16SVipin KUMAR * U-Boot Environment placing definitions. 95566c9c16SVipin KUMAR */ 96566c9c16SVipin KUMAR #if defined(CONFIG_ENV_IS_IN_FLASH) 97f3fcf92dSVipin KUMAR #ifdef CONFIG_ST_SMI 98566c9c16SVipin KUMAR /* 99566c9c16SVipin KUMAR * Environment is in serial NOR flash 100566c9c16SVipin KUMAR */ 101566c9c16SVipin KUMAR #define CONFIG_SYS_MONITOR_LEN 0x00040000 102566c9c16SVipin KUMAR #define CONFIG_ENV_SECT_SIZE 0x00010000 1031b7935cdSVipin KUMAR #define CONFIG_FSMTDBLK "/dev/mtdblock3 " 104566c9c16SVipin KUMAR 105566c9c16SVipin KUMAR #define CONFIG_BOOTCOMMAND "bootm 0xf8050000" 106566c9c16SVipin KUMAR 107566c9c16SVipin KUMAR #elif defined(CONFIG_SPEAR_EMI) 108566c9c16SVipin KUMAR /* 109566c9c16SVipin KUMAR * Environment is in parallel NOR flash 110566c9c16SVipin KUMAR */ 111566c9c16SVipin KUMAR #define CONFIG_SYS_MONITOR_LEN 0x00060000 112566c9c16SVipin KUMAR #define CONFIG_ENV_SECT_SIZE 0x00020000 113566c9c16SVipin KUMAR #define CONFIG_FSMTDBLK "/dev/mtdblock3 " 114566c9c16SVipin KUMAR 115566c9c16SVipin KUMAR #define CONFIG_BOOTCOMMAND "cp.b 0x50080000 0x1600000 " \ 116566c9c16SVipin KUMAR "0x4C0000; bootm 0x1600000" 117566c9c16SVipin KUMAR #endif 118566c9c16SVipin KUMAR 1190296f159SVipin Kumar #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + \ 120566c9c16SVipin KUMAR CONFIG_SYS_MONITOR_LEN) 121566c9c16SVipin KUMAR #elif defined(CONFIG_ENV_IS_IN_NAND) 122566c9c16SVipin KUMAR /* 123566c9c16SVipin KUMAR * Environment is in NAND 124566c9c16SVipin KUMAR */ 125566c9c16SVipin KUMAR 126566c9c16SVipin KUMAR #define CONFIG_ENV_OFFSET 0x60000 127566c9c16SVipin KUMAR #define CONFIG_ENV_RANGE 0x10000 1281b7935cdSVipin KUMAR #define CONFIG_FSMTDBLK "/dev/mtdblock7 " 129566c9c16SVipin KUMAR 130566c9c16SVipin KUMAR #define CONFIG_BOOTCOMMAND "nand read.jffs2 0x1600000 " \ 131566c9c16SVipin KUMAR "0x80000 0x4C0000; " \ 132566c9c16SVipin KUMAR "bootm 0x1600000" 133566c9c16SVipin KUMAR #endif 134566c9c16SVipin KUMAR 1351b7935cdSVipin KUMAR #define CONFIG_NFSBOOTCOMMAND \ 1361b7935cdSVipin KUMAR "bootp; " \ 1371b7935cdSVipin KUMAR "setenv bootargs root=/dev/nfs rw " \ 1381b7935cdSVipin KUMAR "nfsroot=$(serverip):$(rootpath) " \ 1391b7935cdSVipin KUMAR "ip=$(ipaddr):$(serverip):$(gatewayip):" \ 1401b7935cdSVipin KUMAR "$(netmask):$(hostname):$(netdev):off " \ 1411b7935cdSVipin KUMAR "console=ttyAMA0,115200 $(othbootargs);" \ 1421b7935cdSVipin KUMAR "bootm; " 1431b7935cdSVipin KUMAR 1441b7935cdSVipin KUMAR #define CONFIG_RAMBOOTCOMMAND \ 1451b7935cdSVipin KUMAR "setenv bootargs root=/dev/ram rw " \ 1461b7935cdSVipin KUMAR "console=ttyAMA0,115200 $(othbootargs);" \ 1471b7935cdSVipin KUMAR CONFIG_BOOTCOMMAND 1481b7935cdSVipin KUMAR 149566c9c16SVipin KUMAR #define CONFIG_ENV_SIZE 0x02000 1500296f159SVipin Kumar #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE 151566c9c16SVipin KUMAR 152566c9c16SVipin KUMAR /* Miscellaneous configurable options */ 153962d026bSVipin KUMAR #define CONFIG_ARCH_CPU_INIT 154566c9c16SVipin KUMAR #define CONFIG_BOOT_PARAMS_ADDR 0x00000100 1559b382b43SAmit Virdi #define CONFIG_CMDLINE_TAG 1569b382b43SAmit Virdi #define CONFIG_SETUP_MEMORY_TAGS 157566c9c16SVipin KUMAR 158566c9c16SVipin KUMAR #define CONFIG_SYS_MEMTEST_START 0x00800000 159566c9c16SVipin KUMAR #define CONFIG_SYS_MEMTEST_END 0x04000000 160566c9c16SVipin KUMAR #define CONFIG_SYS_MALLOC_LEN (1024*1024) 161566c9c16SVipin KUMAR #define CONFIG_SYS_LOAD_ADDR 0x00800000 162566c9c16SVipin KUMAR 163cc4b5a34SVipin Kumar #define CONFIG_SYS_FLASH_EMPTY_INFO 164cc4b5a34SVipin Kumar 165566c9c16SVipin KUMAR /* Physical Memory Map */ 166566c9c16SVipin KUMAR #define PHYS_SDRAM_1 0x00000000 167566c9c16SVipin KUMAR #define PHYS_SDRAM_1_MAXSIZE 0x40000000 168566c9c16SVipin KUMAR 169a39fcfb2SShiraz Hashim #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 170a39fcfb2SShiraz Hashim #define CONFIG_SYS_INIT_RAM_ADDR 0xD2800000 171a39fcfb2SShiraz Hashim #define CONFIG_SYS_INIT_RAM_SIZE 0x2000 172a39fcfb2SShiraz Hashim 173a39fcfb2SShiraz Hashim #define CONFIG_SYS_INIT_SP_OFFSET \ 174a39fcfb2SShiraz Hashim (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 175a39fcfb2SShiraz Hashim 176a39fcfb2SShiraz Hashim #define CONFIG_SYS_INIT_SP_ADDR \ 177a39fcfb2SShiraz Hashim (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 178a39fcfb2SShiraz Hashim 179566c9c16SVipin KUMAR #endif 180