1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /*
- * 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 */
|