OMAP: Remove OMAP_IO_ADDRESS, use OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS instead
Search and replace OMAP_IO_ADDRESS with OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS, and convert omap_read/write into a functions instead of a macros. Also rename OMAP_MPUIO_VBASE to OMAP1_MPUIO_VBASE. In the long run, most code should use ioremap + __raw_read/write instead. Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
@ -54,15 +54,23 @@
|
||||
* ----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifdef __ASSEMBLER__
|
||||
#define IOMEM(x) (x)
|
||||
#else
|
||||
#define IOMEM(x) ((void __force __iomem *)(x))
|
||||
#endif
|
||||
|
||||
#define OMAP1_IO_OFFSET 0x01000000 /* Virtual IO = 0xfefb0000 */
|
||||
#define OMAP1_IO_ADDRESS(pa) IOMEM((pa) - OMAP1_IO_OFFSET)
|
||||
|
||||
#define OMAP2_IO_OFFSET 0x90000000
|
||||
#define OMAP2_IO_ADDRESS(pa) IOMEM((pa) + OMAP2_IO_OFFSET) /* L3 and L4 */
|
||||
|
||||
#if defined(CONFIG_ARCH_OMAP1)
|
||||
|
||||
#define IO_PHYS 0xFFFB0000
|
||||
#define IO_OFFSET 0x01000000 /* Virtual IO = 0xfefb0000 */
|
||||
#define IO_SIZE 0x40000
|
||||
#define IO_VIRT (IO_PHYS - IO_OFFSET)
|
||||
#define __IO_ADDRESS(pa) ((pa) - IO_OFFSET)
|
||||
#define __OMAP1_IO_ADDRESS(pa) ((pa) - IO_OFFSET)
|
||||
#define io_v2p(va) ((va) + IO_OFFSET)
|
||||
#define IO_VIRT (IO_PHYS - OMAP1_IO_OFFSET)
|
||||
|
||||
#elif defined(CONFIG_ARCH_OMAP2)
|
||||
|
||||
@ -87,11 +95,6 @@
|
||||
#define OMAP243X_SMS_VIRT 0xFC000000
|
||||
#define OMAP243X_SMS_SIZE SZ_1M
|
||||
|
||||
#define IO_OFFSET 0x90000000
|
||||
#define __IO_ADDRESS(pa) ((pa) + IO_OFFSET) /* Works for L3 and L4 */
|
||||
#define __OMAP2_IO_ADDRESS(pa) ((pa) + IO_OFFSET) /* Works for L3 and L4 */
|
||||
#define io_v2p(va) ((va) - IO_OFFSET) /* Works for L3 and L4 */
|
||||
|
||||
/* DSP */
|
||||
#define DSP_MEM_24XX_PHYS OMAP2420_DSP_MEM_BASE /* 0x58000000 */
|
||||
#define DSP_MEM_24XX_VIRT 0xe0000000
|
||||
@ -143,12 +146,6 @@
|
||||
#define OMAP343X_SDRC_VIRT 0xFD000000
|
||||
#define OMAP343X_SDRC_SIZE SZ_1M
|
||||
|
||||
|
||||
#define IO_OFFSET 0x90000000
|
||||
#define __IO_ADDRESS(pa) ((pa) + IO_OFFSET)/* Works for L3 and L4 */
|
||||
#define __OMAP2_IO_ADDRESS(pa) ((pa) + IO_OFFSET)/* Works for L3 and L4 */
|
||||
#define io_v2p(va) ((va) - IO_OFFSET)/* Works for L3 and L4 */
|
||||
|
||||
/* DSP */
|
||||
#define DSP_MEM_34XX_PHYS OMAP34XX_DSP_MEM_BASE /* 0x58000000 */
|
||||
#define DSP_MEM_34XX_VIRT 0xe0000000
|
||||
@ -188,39 +185,20 @@
|
||||
#define OMAP44XX_GPMC_VIRT 0xe0000000
|
||||
#define OMAP44XX_GPMC_SIZE SZ_1M
|
||||
|
||||
|
||||
#define IO_OFFSET 0x90000000
|
||||
#define __IO_ADDRESS(pa) ((pa) + IO_OFFSET)/* Works for L3 and L4 */
|
||||
#define __OMAP2_IO_ADDRESS(pa) ((pa) + IO_OFFSET)/* Works for L3 and L4 */
|
||||
#define io_v2p(va) ((va) - IO_OFFSET)/* Works for L3 and L4 */
|
||||
|
||||
#endif
|
||||
|
||||
#define IO_ADDRESS(pa) IOMEM(__IO_ADDRESS(pa))
|
||||
#define OMAP1_IO_ADDRESS(pa) IOMEM(__OMAP1_IO_ADDRESS(pa))
|
||||
#define OMAP2_IO_ADDRESS(pa) IOMEM(__OMAP2_IO_ADDRESS(pa))
|
||||
|
||||
#ifdef __ASSEMBLER__
|
||||
#define IOMEM(x) (x)
|
||||
#else
|
||||
#define IOMEM(x) ((void __force __iomem *)(x))
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
/*
|
||||
* Functions to access the OMAP IO region
|
||||
*
|
||||
* NOTE: - Use omap_read/write[bwl] for physical register addresses
|
||||
* - Use __raw_read/write[bwl]() for virtual register addresses
|
||||
* - Use IO_ADDRESS(phys_addr) to convert registers to virtual addresses
|
||||
* - DO NOT use hardcoded virtual addresses to allow changing the
|
||||
* IO address space again if needed
|
||||
* NOTE: Please use ioremap + __raw_read/write where possible instead of these
|
||||
*/
|
||||
#define omap_readb(a) __raw_readb(IO_ADDRESS(a))
|
||||
#define omap_readw(a) __raw_readw(IO_ADDRESS(a))
|
||||
#define omap_readl(a) __raw_readl(IO_ADDRESS(a))
|
||||
|
||||
#define omap_writeb(v,a) __raw_writeb(v, IO_ADDRESS(a))
|
||||
#define omap_writew(v,a) __raw_writew(v, IO_ADDRESS(a))
|
||||
#define omap_writel(v,a) __raw_writel(v, IO_ADDRESS(a))
|
||||
extern u8 omap_readb(u32 pa);
|
||||
extern u16 omap_readw(u32 pa);
|
||||
extern u32 omap_readl(u32 pa);
|
||||
extern void omap_writeb(u8 v, u32 pa);
|
||||
extern void omap_writew(u16 v, u32 pa);
|
||||
extern void omap_writel(u32 v, u32 pa);
|
||||
|
||||
struct omap_sdrc_params;
|
||||
|
||||
|
Reference in New Issue
Block a user