2018-05-06 21:58:06 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
2009-06-20 09:01:53 +00:00
|
|
|
/*
|
|
|
|
* (C) Copyright 2009
|
|
|
|
* Marvell Semiconductor <www.marvell.com>
|
|
|
|
* Written-by: Prafulla Wadaskar <prafulla@marvell.com>
|
|
|
|
*
|
|
|
|
* Header file for the Marvell's Feroceon CPU core.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _ASM_ARCH_KIRKWOOD_H
|
|
|
|
#define _ASM_ARCH_KIRKWOOD_H
|
|
|
|
|
|
|
|
#if defined (CONFIG_FEROCEON_88FR131) || defined (CONFIG_SHEEVA_88SV131)
|
|
|
|
|
|
|
|
/* SOC specific definations */
|
|
|
|
#define INTREG_BASE 0xd0000000
|
|
|
|
#define KW_REGISTER(x) (KW_REGS_PHY_BASE + x)
|
|
|
|
#define KW_OFFSET_REG (INTREG_BASE + 0x20080)
|
|
|
|
|
|
|
|
/* undocumented registers */
|
|
|
|
#define KW_REG_UNDOC_0x1470 (KW_REGISTER(0x1470))
|
|
|
|
#define KW_REG_UNDOC_0x1478 (KW_REGISTER(0x1478))
|
|
|
|
|
2014-10-22 10:13:13 +00:00
|
|
|
#define MVEBU_SDRAM_BASE (KW_REGISTER(0x1500))
|
2009-07-16 07:59:10 +00:00
|
|
|
#define KW_TWSI_BASE (KW_REGISTER(0x11000))
|
2009-06-20 09:01:53 +00:00
|
|
|
#define KW_UART0_BASE (KW_REGISTER(0x12000))
|
2009-07-06 10:20:47 +00:00
|
|
|
#define KW_UART1_BASE (KW_REGISTER(0x12100))
|
2009-06-20 09:01:53 +00:00
|
|
|
#define KW_MPP_BASE (KW_REGISTER(0x10000))
|
2014-10-22 10:13:11 +00:00
|
|
|
#define MVEBU_GPIO0_BASE (KW_REGISTER(0x10100))
|
|
|
|
#define MVEBU_GPIO1_BASE (KW_REGISTER(0x10140))
|
2011-08-04 15:56:16 +00:00
|
|
|
#define KW_RTC_BASE (KW_REGISTER(0x10300))
|
2009-06-20 09:01:53 +00:00
|
|
|
#define KW_NANDF_BASE (KW_REGISTER(0x10418))
|
2014-10-22 10:13:12 +00:00
|
|
|
#define MVEBU_SPI_BASE (KW_REGISTER(0x10600))
|
2019-03-13 07:47:01 +00:00
|
|
|
#define MVEBU_CPU_WIN_BASE (KW_REGISTER(0x20000))
|
2009-06-20 09:01:53 +00:00
|
|
|
#define KW_CPU_REG_BASE (KW_REGISTER(0x20100))
|
2014-10-22 10:13:08 +00:00
|
|
|
#define MVEBU_TIMER_BASE (KW_REGISTER(0x20300))
|
2009-06-20 09:01:53 +00:00
|
|
|
#define KW_REG_PCIE_BASE (KW_REGISTER(0x40000))
|
2009-06-29 15:25:54 +00:00
|
|
|
#define KW_USB20_BASE (KW_REGISTER(0x50000))
|
2009-06-20 09:01:53 +00:00
|
|
|
#define KW_EGIGA0_BASE (KW_REGISTER(0x72000))
|
|
|
|
#define KW_EGIGA1_BASE (KW_REGISTER(0x76000))
|
2010-08-07 11:59:44 +00:00
|
|
|
#define KW_SATA_BASE (KW_REGISTER(0x80000))
|
2014-07-25 19:07:30 +00:00
|
|
|
#define KW_SDIO_BASE (KW_REGISTER(0x90000))
|
2010-08-07 11:59:44 +00:00
|
|
|
|
|
|
|
/* Kirkwood Sata controller has two ports */
|
|
|
|
#define KW_SATA_PORT0_OFFSET 0x2000
|
|
|
|
#define KW_SATA_PORT1_OFFSET 0x4000
|
2009-06-20 09:01:53 +00:00
|
|
|
|
2010-07-12 20:24:29 +00:00
|
|
|
/* Kirkwood GbE controller has two ports */
|
|
|
|
#define MAX_MVGBE_DEVS 2
|
|
|
|
#define MVGBE0_BASE KW_EGIGA0_BASE
|
|
|
|
#define MVGBE1_BASE KW_EGIGA1_BASE
|
2010-07-12 20:24:28 +00:00
|
|
|
|
2012-01-15 22:08:39 +00:00
|
|
|
/* Kirkwood USB Host controller */
|
|
|
|
#define MVUSB0_BASE KW_USB20_BASE
|
|
|
|
#define MVUSB0_CPU_ATTR_DRAM_CS0 KWCPU_ATTR_DRAM_CS0
|
|
|
|
#define MVUSB0_CPU_ATTR_DRAM_CS1 KWCPU_ATTR_DRAM_CS1
|
|
|
|
#define MVUSB0_CPU_ATTR_DRAM_CS2 KWCPU_ATTR_DRAM_CS2
|
|
|
|
#define MVUSB0_CPU_ATTR_DRAM_CS3 KWCPU_ATTR_DRAM_CS3
|
|
|
|
|
|
|
|
/* Kirkwood CPU memory windows */
|
|
|
|
#define MVCPU_WIN_CTRL_DATA KWCPU_WIN_CTRL_DATA
|
|
|
|
#define MVCPU_WIN_ENABLE KWCPU_WIN_ENABLE
|
|
|
|
#define MVCPU_WIN_DISABLE KWCPU_WIN_DISABLE
|
|
|
|
|
2022-12-04 15:13:42 +00:00
|
|
|
#define CFG_SAR_REG (KW_MPP_BASE + 0x0030)
|
2022-08-17 19:37:49 +00:00
|
|
|
|
2009-06-20 09:01:53 +00:00
|
|
|
#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 */
|
|
|
|
#endif /* CONFIG_FEROCEON_88FR131 */
|
|
|
|
#endif /* _ASM_ARCH_KIRKWOOD_H */
|