This series moves the CONFIG_SYS_CACHELINE_SIZE. First, in nearly all cases we are mirroring the values used by the Linux Kernel here. Also, so long as (and in this case, it is true) we implement flushes in hunks that are no larger than the smallest implementation (and given that we mirror the Linux Kernel, again we are fine) it is OK to align higher. The biggest changes here are that we always use 64 bytes for CPU_V7 even if for example the underlying core is only 32 bytes (this mirrors Linux). Second, we say ARM64 uses 64 bytes not 128 (as found in the Linux Kernel) as we do not need multi-platform support (to this degree) and only the Cavium ThunderX 88xx series has a use for such large alignment. Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Marek Vasut <marex@denx.de> Cc: Stefano Babic <sbabic@denx.de> Cc: Prafulla Wadaskar <prafulla@marvell.com> Cc: Luka Perkov <luka.perkov@sartura.hr> Cc: Stefan Roese <sr@denx.de> Cc: Nagendra T S <nagendra@mistralsolutions.com> Cc: Vaibhav Hiremath <hvaibhav@ti.com> Acked-by: Lokesh Vutla <lokeshvutla@ti.com> Cc: Steve Rae <steve.rae@raedomain.com> Cc: Igor Grinberg <grinberg@compulab.co.il> Cc: Nikita Kiryanov <nikita@compulab.co.il> Cc: Stefan Agner <stefan.agner@toradex.com> Acked-by: Heiko Schocher <hs@denx.de> Cc: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Cc: Peter Griffin <peter.griffin@linaro.org> Acked-by: Paul Kocialkowski <contact@paulk.fr> Cc: Anatolij Gustschin <agust@denx.de> Acked-by: "Pali Rohár" <pali.rohar@gmail.com> Cc: Adam Ford <aford173@gmail.com> Cc: Steve Sakoman <sakoman@gmail.com> Cc: Grazvydas Ignotas <notasas@gmail.com> Cc: Nishanth Menon <nm@ti.com> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Robert Baldyga <r.baldyga@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Thomas Weber <weber@corscience.de> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: David Feng <fenghua@phytium.com.cn> Cc: Alison Wang <b18965@freescale.com> Cc: Michal Simek <michal.simek@xilinx.com> Cc: Simon Glass <sjg@chromium.org> Cc: York Sun <york.sun@nxp.com> Cc: Shengzhou Liu <Shengzhou.Liu@nxp.com> Cc: Mingkai Hu <mingkai.hu@nxp.com> Cc: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com> Cc: Aneesh Bansal <aneesh.bansal@freescale.com> Cc: Saksham Jain <saksham.jain@nxp.com> Cc: Qianyu Gong <qianyu.gong@nxp.com> Cc: Wang Dongsheng <dongsheng.wang@nxp.com> Cc: Alex Porosanu <alexandru.porosanu@freescale.com> Cc: Hongbo Zhang <hongbo.zhang@nxp.com> Cc: tang yuantian <Yuantian.Tang@freescale.com> Cc: Rajesh Bhagat <rajesh.bhagat@nxp.com> Cc: Josh Wu <josh.wu@atmel.com> Cc: Bo Shen <voice.shen@atmel.com> Cc: Viresh Kumar <viresh.kumar@linaro.org> Cc: Hannes Schmelzer <oe5hpm@oevsv.at> Cc: Thomas Chou <thomas@wytron.com.tw> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Sam Protsenko <semen.protsenko@linaro.org> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Christophe Ricard <christophe-h.ricard@st.com> Cc: Anand Moon <linux.amoon@gmail.com> Cc: Beniamino Galvani <b.galvani@gmail.com> Cc: Carlo Caione <carlo@endlessm.com> Cc: huang lin <hl@rock-chips.com> Cc: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Cc: Xu Ziyuan <xzy.xu@rock-chips.com> Cc: "jk.kernel@gmail.com" <jk.kernel@gmail.com> Cc: "Ariel D'Alessandro" <ariel@vanguardiasur.com.ar> Cc: Kever Yang <kever.yang@rock-chips.com> Cc: Samuel Egli <samuel.egli@siemens.com> Cc: Chin Liang See <clsee@altera.com> Cc: Dinh Nguyen <dinguyen@opensource.altera.com> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Ian Campbell <ijc@hellion.org.uk> Cc: Siarhei Siamashka <siarhei.siamashka@gmail.com> Cc: Boris Brezillon <boris.brezillon@free-electrons.com> Cc: Andre Przywara <andre.przywara@arm.com> Cc: Bernhard Nortmann <bernhard.nortmann@web.de> Cc: Wolfgang Denk <wd@denx.de> Cc: Ben Whitten <ben.whitten@gmail.com> Cc: Tom Warren <twarren@nvidia.com> Cc: Alexander Graf <agraf@suse.de> Cc: Sekhar Nori <nsekhar@ti.com> Cc: Vitaly Andrianov <vitalya@ti.com> Cc: "Andrew F. Davis" <afd@ti.com> Cc: Murali Karicheri <m-karicheri2@ti.com> Cc: Carlos Hernandez <ceh@ti.com> Cc: Ladislav Michl <ladis@linux-mips.org> Cc: Ash Charles <ashcharles@gmail.com> Cc: Mugunthan V N <mugunthanvnm@ti.com> Cc: Daniel Allred <d-allred@ti.com> Cc: Gong Qianyu <Qianyu.Gong@freescale.com> Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Chin Liang See <clsee@altera.com> Tested-by: Stephen Warren <swarren@nvidia.com> Acked-by: Paul Kocialkowski <contact@paulk.fr>
140 lines
3.8 KiB
C
140 lines
3.8 KiB
C
/*
|
|
* (C) Copyright 2011
|
|
* Marvell Semiconductor <www.marvell.com>
|
|
* Written-by: Lei Wen <leiwen@marvell.com>
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
/*
|
|
* This file should be included in board config header file.
|
|
*
|
|
* It supports common definitions for Kirkwood platform
|
|
*/
|
|
|
|
#ifndef _KW_CONFIG_H
|
|
#define _KW_CONFIG_H
|
|
|
|
#if defined (CONFIG_KW88F6281)
|
|
#include <asm/arch/kw88f6281.h>
|
|
#elif defined (CONFIG_KW88F6192)
|
|
#include <asm/arch/kw88f6192.h>
|
|
#else
|
|
#error "SOC Name not defined"
|
|
#endif /* CONFIG_KW88F6281 */
|
|
|
|
#include <asm/arch/soc.h>
|
|
#define CONFIG_MD5 /* get_random_hex on krikwood needs MD5 support */
|
|
#define CONFIG_KIRKWOOD_EGIGA_INIT /* Enable GbePort0/1 for kernel */
|
|
#define CONFIG_KIRKWOOD_RGMII_PAD_1V8 /* Set RGMII Pad voltage to 1.8V */
|
|
#define CONFIG_KIRKWOOD_PCIE_INIT /* Enable PCIE Port0 for kernel */
|
|
|
|
/*
|
|
* By default kwbimage.cfg from board specific folder is used
|
|
* If for some board, different configuration file need to be used,
|
|
* CONFIG_SYS_KWD_CONFIG should be defined in board specific header file
|
|
*/
|
|
#ifndef CONFIG_SYS_KWD_CONFIG
|
|
#define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage.cfg
|
|
#endif /* CONFIG_SYS_KWD_CONFIG */
|
|
|
|
/* Kirkwood has 2k of Security SRAM, use it for SP */
|
|
#define CONFIG_SYS_INIT_SP_ADDR 0xC8012000
|
|
#define CONFIG_NR_DRAM_BANKS_MAX 2
|
|
|
|
#define CONFIG_I2C_MVTWSI_BASE0 KW_TWSI_BASE
|
|
#define MV_UART_CONSOLE_BASE KW_UART0_BASE
|
|
#define MV_SATA_BASE KW_SATA_BASE
|
|
#define MV_SATA_PORT0_OFFSET KW_SATA_PORT0_OFFSET
|
|
#define MV_SATA_PORT1_OFFSET KW_SATA_PORT1_OFFSET
|
|
|
|
/*
|
|
* NAND configuration
|
|
*/
|
|
#ifdef CONFIG_CMD_NAND
|
|
#define CONFIG_NAND_KIRKWOOD
|
|
#define CONFIG_SYS_NAND_BASE 0xD8000000 /* MV_DEFADR_NANDF */
|
|
#define NAND_ALLOW_ERASE_ALL 1
|
|
#endif
|
|
|
|
/*
|
|
* SPI Flash configuration
|
|
*/
|
|
#ifdef CONFIG_CMD_SF
|
|
#define CONFIG_HARD_SPI 1
|
|
#define CONFIG_KIRKWOOD_SPI 1
|
|
#ifndef CONFIG_ENV_SPI_BUS
|
|
# define CONFIG_ENV_SPI_BUS 0
|
|
#endif
|
|
#ifndef CONFIG_ENV_SPI_CS
|
|
# define CONFIG_ENV_SPI_CS 0
|
|
#endif
|
|
#ifndef CONFIG_ENV_SPI_MAX_HZ
|
|
# define CONFIG_ENV_SPI_MAX_HZ 50000000
|
|
#endif
|
|
#endif
|
|
|
|
/*
|
|
* Ethernet Driver configuration
|
|
*/
|
|
#ifdef CONFIG_CMD_NET
|
|
#define CONFIG_NETCONSOLE /* include NetConsole support */
|
|
#define CONFIG_MII /* expose smi ove miiphy interface */
|
|
#define CONFIG_MVGBE /* Enable Marvell Gbe Controller Driver */
|
|
#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN /* detect link using phy */
|
|
#define CONFIG_ENV_OVERWRITE /* ethaddr can be reprogrammed */
|
|
#define CONFIG_RESET_PHY_R /* use reset_phy() to init mv8831116 PHY */
|
|
#endif /* CONFIG_CMD_NET */
|
|
|
|
/*
|
|
* USB/EHCI
|
|
*/
|
|
#ifdef CONFIG_CMD_USB
|
|
#define CONFIG_USB_EHCI_MARVELL
|
|
#define CONFIG_EHCI_IS_TDI
|
|
#endif /* CONFIG_CMD_USB */
|
|
|
|
/*
|
|
* IDE Support on SATA ports
|
|
*/
|
|
#ifdef CONFIG_CMD_IDE
|
|
#define __io
|
|
#define CONFIG_MVSATA_IDE
|
|
#define CONFIG_IDE_PREINIT
|
|
#define CONFIG_MVSATA_IDE_USE_PORT1
|
|
/* Needs byte-swapping for ATA data register */
|
|
#define CONFIG_IDE_SWAP_IO
|
|
/* Data, registers and alternate blocks are at the same offset */
|
|
#define CONFIG_SYS_ATA_DATA_OFFSET (0x0100)
|
|
#define CONFIG_SYS_ATA_REG_OFFSET (0x0100)
|
|
#define CONFIG_SYS_ATA_ALT_OFFSET (0x0100)
|
|
/* Each 8-bit ATA register is aligned to a 4-bytes address */
|
|
#define CONFIG_SYS_ATA_STRIDE 4
|
|
/* Controller supports 48-bits LBA addressing */
|
|
#define CONFIG_LBA48
|
|
/* CONFIG_CMD_IDE requires some #defines for ATA registers */
|
|
#define CONFIG_SYS_IDE_MAXBUS 2
|
|
#define CONFIG_SYS_IDE_MAXDEVICE 2
|
|
/* ATA registers base is at SATA controller base */
|
|
#define CONFIG_SYS_ATA_BASE_ADDR MV_SATA_BASE
|
|
#endif /* CONFIG_CMD_IDE */
|
|
|
|
/*
|
|
* I2C related stuff
|
|
*/
|
|
#ifdef CONFIG_CMD_I2C
|
|
#ifndef CONFIG_SYS_I2C_SOFT
|
|
#define CONFIG_SYS_I2C
|
|
#define CONFIG_SYS_I2C_MVTWSI
|
|
#endif
|
|
#define CONFIG_SYS_I2C_SLAVE 0x0
|
|
#define CONFIG_SYS_I2C_SPEED 100000
|
|
#endif
|
|
|
|
/* Use common timer */
|
|
#define CONFIG_SYS_TIMER_COUNTS_DOWN
|
|
#define CONFIG_SYS_TIMER_COUNTER (MVEBU_TIMER_BASE + 0x14)
|
|
#define CONFIG_SYS_TIMER_RATE CONFIG_SYS_TCLK
|
|
|
|
#endif /* _KW_CONFIG_H */
|