1ea385723SMasahiro Yamada /* 2ea385723SMasahiro Yamada * (C) Copyright 2011 3ea385723SMasahiro Yamada * Marvell Semiconductor <www.marvell.com> 4ea385723SMasahiro Yamada * Written-by: Lei Wen <leiwen@marvell.com> 5ea385723SMasahiro Yamada * 6ea385723SMasahiro Yamada * SPDX-License-Identifier: GPL-2.0+ 7ea385723SMasahiro Yamada */ 8ea385723SMasahiro Yamada 9ea385723SMasahiro Yamada /* 10ea385723SMasahiro Yamada * This file should be included in board config header file. 11ea385723SMasahiro Yamada * 12ea385723SMasahiro Yamada * It supports common definitions for Kirkwood platform 13ea385723SMasahiro Yamada */ 14ea385723SMasahiro Yamada 15ea385723SMasahiro Yamada #ifndef _KW_CONFIG_H 16ea385723SMasahiro Yamada #define _KW_CONFIG_H 17ea385723SMasahiro Yamada 18ea385723SMasahiro Yamada #if defined (CONFIG_KW88F6281) 19ea385723SMasahiro Yamada #include <asm/arch/kw88f6281.h> 20ea385723SMasahiro Yamada #elif defined (CONFIG_KW88F6192) 21ea385723SMasahiro Yamada #include <asm/arch/kw88f6192.h> 22ea385723SMasahiro Yamada #else 23ea385723SMasahiro Yamada #error "SOC Name not defined" 24ea385723SMasahiro Yamada #endif /* CONFIG_KW88F6281 */ 25ea385723SMasahiro Yamada 26ea385723SMasahiro Yamada #include <asm/arch/soc.h> 27ea385723SMasahiro Yamada #define CONFIG_KIRKWOOD_EGIGA_INIT /* Enable GbePort0/1 for kernel */ 28ea385723SMasahiro Yamada #define CONFIG_KIRKWOOD_RGMII_PAD_1V8 /* Set RGMII Pad voltage to 1.8V */ 29ea385723SMasahiro Yamada #define CONFIG_KIRKWOOD_PCIE_INIT /* Enable PCIE Port0 for kernel */ 30ea385723SMasahiro Yamada 31ea385723SMasahiro Yamada /* 32ea385723SMasahiro Yamada * By default kwbimage.cfg from board specific folder is used 33ea385723SMasahiro Yamada * If for some board, different configuration file need to be used, 34ea385723SMasahiro Yamada * CONFIG_SYS_KWD_CONFIG should be defined in board specific header file 35ea385723SMasahiro Yamada */ 36ea385723SMasahiro Yamada #ifndef CONFIG_SYS_KWD_CONFIG 37ea385723SMasahiro Yamada #define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage.cfg 38ea385723SMasahiro Yamada #endif /* CONFIG_SYS_KWD_CONFIG */ 39ea385723SMasahiro Yamada 40ea385723SMasahiro Yamada /* Kirkwood has 2k of Security SRAM, use it for SP */ 41ea385723SMasahiro Yamada #define CONFIG_SYS_INIT_SP_ADDR 0xC8012000 42ea385723SMasahiro Yamada #define CONFIG_NR_DRAM_BANKS_MAX 2 43ea385723SMasahiro Yamada 44dd82242bSPaul Kocialkowski #define CONFIG_I2C_MVTWSI_BASE0 KW_TWSI_BASE 45ea385723SMasahiro Yamada #define MV_UART_CONSOLE_BASE KW_UART0_BASE 46ea385723SMasahiro Yamada #define MV_SATA_BASE KW_SATA_BASE 47ea385723SMasahiro Yamada #define MV_SATA_PORT0_OFFSET KW_SATA_PORT0_OFFSET 48ea385723SMasahiro Yamada #define MV_SATA_PORT1_OFFSET KW_SATA_PORT1_OFFSET 49ea385723SMasahiro Yamada 50ea385723SMasahiro Yamada /* 51ea385723SMasahiro Yamada * NAND configuration 52ea385723SMasahiro Yamada */ 53ea385723SMasahiro Yamada #ifdef CONFIG_CMD_NAND 54ea385723SMasahiro Yamada #define CONFIG_NAND_KIRKWOOD 55ea385723SMasahiro Yamada #define CONFIG_SYS_NAND_BASE 0xD8000000 /* MV_DEFADR_NANDF */ 56ea385723SMasahiro Yamada #define NAND_ALLOW_ERASE_ALL 1 57ea385723SMasahiro Yamada #endif 58ea385723SMasahiro Yamada 59ea385723SMasahiro Yamada /* 60ea385723SMasahiro Yamada * SPI Flash configuration 61ea385723SMasahiro Yamada */ 62ea385723SMasahiro Yamada #ifdef CONFIG_CMD_SF 63ea385723SMasahiro Yamada #define CONFIG_HARD_SPI 1 64ea385723SMasahiro Yamada #ifndef CONFIG_ENV_SPI_BUS 65ea385723SMasahiro Yamada # define CONFIG_ENV_SPI_BUS 0 66ea385723SMasahiro Yamada #endif 67ea385723SMasahiro Yamada #ifndef CONFIG_ENV_SPI_CS 68ea385723SMasahiro Yamada # define CONFIG_ENV_SPI_CS 0 69ea385723SMasahiro Yamada #endif 70ea385723SMasahiro Yamada #ifndef CONFIG_ENV_SPI_MAX_HZ 71ea385723SMasahiro Yamada # define CONFIG_ENV_SPI_MAX_HZ 50000000 72ea385723SMasahiro Yamada #endif 73ea385723SMasahiro Yamada #endif 74ea385723SMasahiro Yamada 75ea385723SMasahiro Yamada /* 76ea385723SMasahiro Yamada * Ethernet Driver configuration 77ea385723SMasahiro Yamada */ 78ea385723SMasahiro Yamada #ifdef CONFIG_CMD_NET 79ea385723SMasahiro Yamada #define CONFIG_NETCONSOLE /* include NetConsole support */ 80ea385723SMasahiro Yamada #define CONFIG_MII /* expose smi ove miiphy interface */ 81ea385723SMasahiro Yamada #define CONFIG_MVGBE /* Enable Marvell Gbe Controller Driver */ 82ea385723SMasahiro Yamada #define CONFIG_SYS_FAULT_ECHO_LINK_DOWN /* detect link using phy */ 83ea385723SMasahiro Yamada #define CONFIG_ENV_OVERWRITE /* ethaddr can be reprogrammed */ 84ea385723SMasahiro Yamada #define CONFIG_RESET_PHY_R /* use reset_phy() to init mv8831116 PHY */ 85ea385723SMasahiro Yamada #endif /* CONFIG_CMD_NET */ 86ea385723SMasahiro Yamada 87ea385723SMasahiro Yamada /* 88ea385723SMasahiro Yamada * USB/EHCI 89ea385723SMasahiro Yamada */ 90ea385723SMasahiro Yamada #ifdef CONFIG_CMD_USB 91ea385723SMasahiro Yamada #define CONFIG_EHCI_IS_TDI 92ea385723SMasahiro Yamada #endif /* CONFIG_CMD_USB */ 93ea385723SMasahiro Yamada 94ea385723SMasahiro Yamada /* 95ea385723SMasahiro Yamada * IDE Support on SATA ports 96ea385723SMasahiro Yamada */ 97*fc843a02SSimon Glass #ifdef CONFIG_IDE 98ea385723SMasahiro Yamada #define __io 99ea385723SMasahiro Yamada #define CONFIG_MVSATA_IDE 100ea385723SMasahiro Yamada #define CONFIG_IDE_PREINIT 101ea385723SMasahiro Yamada #define CONFIG_MVSATA_IDE_USE_PORT1 102ea385723SMasahiro Yamada /* Needs byte-swapping for ATA data register */ 103ea385723SMasahiro Yamada #define CONFIG_IDE_SWAP_IO 104ea385723SMasahiro Yamada /* Data, registers and alternate blocks are at the same offset */ 105ea385723SMasahiro Yamada #define CONFIG_SYS_ATA_DATA_OFFSET (0x0100) 106ea385723SMasahiro Yamada #define CONFIG_SYS_ATA_REG_OFFSET (0x0100) 107ea385723SMasahiro Yamada #define CONFIG_SYS_ATA_ALT_OFFSET (0x0100) 108ea385723SMasahiro Yamada /* Each 8-bit ATA register is aligned to a 4-bytes address */ 109ea385723SMasahiro Yamada #define CONFIG_SYS_ATA_STRIDE 4 110ea385723SMasahiro Yamada /* Controller supports 48-bits LBA addressing */ 111ea385723SMasahiro Yamada #define CONFIG_LBA48 112*fc843a02SSimon Glass /* CONFIG_IDE requires some #defines for ATA registers */ 113ea385723SMasahiro Yamada #define CONFIG_SYS_IDE_MAXBUS 2 114ea385723SMasahiro Yamada #define CONFIG_SYS_IDE_MAXDEVICE 2 115ea385723SMasahiro Yamada /* ATA registers base is at SATA controller base */ 116ea385723SMasahiro Yamada #define CONFIG_SYS_ATA_BASE_ADDR MV_SATA_BASE 117*fc843a02SSimon Glass #endif /* CONFIG_IDE */ 118ea385723SMasahiro Yamada 119ea385723SMasahiro Yamada /* 120ea385723SMasahiro Yamada * I2C related stuff 121ea385723SMasahiro Yamada */ 122ea385723SMasahiro Yamada #ifdef CONFIG_CMD_I2C 123ea385723SMasahiro Yamada #ifndef CONFIG_SYS_I2C_SOFT 124ea385723SMasahiro Yamada #define CONFIG_SYS_I2C 125ea385723SMasahiro Yamada #define CONFIG_SYS_I2C_MVTWSI 126ea385723SMasahiro Yamada #endif 127ea385723SMasahiro Yamada #define CONFIG_SYS_I2C_SLAVE 0x0 128ea385723SMasahiro Yamada #define CONFIG_SYS_I2C_SPEED 100000 129ea385723SMasahiro Yamada #endif 130ea385723SMasahiro Yamada 1312fbc18feSStefan Roese /* Use common timer */ 1322fbc18feSStefan Roese #define CONFIG_SYS_TIMER_COUNTS_DOWN 1332fbc18feSStefan Roese #define CONFIG_SYS_TIMER_COUNTER (MVEBU_TIMER_BASE + 0x14) 1342fbc18feSStefan Roese #define CONFIG_SYS_TIMER_RATE CONFIG_SYS_TCLK 1352fbc18feSStefan Roese 136ea385723SMasahiro Yamada #endif /* _KW_CONFIG_H */ 137