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