69 lines
1.7 KiB
C
69 lines
1.7 KiB
C
|
/*
|
||
|
* Copyright 2008 Freescale Semiconductor, Inc. All Rights Reserved.
|
||
|
* Copyright 2008 Embedded Alley Solutions, Inc All Rights Reserved.
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
* The code contained herein is licensed under the GNU General Public
|
||
|
* License. You may obtain a copy of the GNU General Public License
|
||
|
* Version 2 or later at the following locations:
|
||
|
*
|
||
|
* http://www.opensource.org/licenses/gpl-license.html
|
||
|
* http://www.gnu.org/copyleft/gpl.html
|
||
|
*/
|
||
|
#ifndef __ASM_PLAT_PLATFORM_H
|
||
|
#define __ASM_PLAT_PLATFORM_H
|
||
|
|
||
|
#ifndef __ASSEMBLER__
|
||
|
#include <linux/io.h>
|
||
|
#endif
|
||
|
#include <asm/sizes.h>
|
||
|
|
||
|
/* Virtual address where registers are mapped */
|
||
|
#define STMP3XXX_REGS_PHBASE 0x80000000
|
||
|
#ifdef __ASSEMBLER__
|
||
|
#define STMP3XXX_REGS_BASE 0xF0000000
|
||
|
#else
|
||
|
#define STMP3XXX_REGS_BASE (void __iomem *)0xF0000000
|
||
|
#endif
|
||
|
#define STMP3XXX_REGS_SIZE SZ_1M
|
||
|
|
||
|
/* Virtual address where OCRAM is mapped */
|
||
|
#define STMP3XXX_OCRAM_PHBASE 0x00000000
|
||
|
#ifdef __ASSEMBLER__
|
||
|
#define STMP3XXX_OCRAM_BASE 0xf1000000
|
||
|
#else
|
||
|
#define STMP3XXX_OCRAM_BASE (void __iomem *)0xf1000000
|
||
|
#endif
|
||
|
#define STMP3XXX_OCRAM_SIZE (32 * SZ_1K)
|
||
|
|
||
|
#ifdef CONFIG_ARCH_STMP37XX
|
||
|
#define IRQ_PRIORITY_REG_RD HW_ICOLL_PRIORITYn_RD
|
||
|
#define IRQ_PRIORITY_REG_WR HW_ICOLL_PRIORITYn_WR
|
||
|
#endif
|
||
|
|
||
|
#ifdef CONFIG_ARCH_STMP378X
|
||
|
#define IRQ_PRIORITY_REG_RD HW_ICOLL_INTERRUPTn_RD
|
||
|
#define IRQ_PRIORITY_REG_WR HW_ICOLL_INTERRUPTn_WR
|
||
|
#endif
|
||
|
|
||
|
#define HW_STMP3XXX_SET 0x04
|
||
|
#define HW_STMP3XXX_CLR 0x08
|
||
|
#define HW_STMP3XXX_TOG 0x0c
|
||
|
|
||
|
#ifndef __ASSEMBLER__
|
||
|
static inline void stmp3xxx_clearl(u32 v, void __iomem *r)
|
||
|
{
|
||
|
__raw_writel(v, r + HW_STMP3XXX_CLR);
|
||
|
}
|
||
|
|
||
|
static inline void stmp3xxx_setl(u32 v, void __iomem *r)
|
||
|
{
|
||
|
__raw_writel(v, r + HW_STMP3XXX_SET);
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#define BF(value, field) (((value) << BP_##field) & BM_##field)
|
||
|
|
||
|
#endif /* __ASM_ARCH_PLATFORM_H */
|