mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-29 23:53:32 +00:00
[ARM] S3C64XX: Add modem registers and a virtual map
Add the modem registers and a virtual mapping for the modem block. This is is required as there are registers that control the LCD block that need to be saved over suspend as well as interrupt controls. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
parent
1264fa6f8c
commit
5b3d515fcf
3 changed files with 39 additions and 0 deletions
|
@ -52,6 +52,9 @@
|
|||
#define S3C64XX_PA_VIC0 (0x71200000)
|
||||
#define S3C64XX_PA_VIC1 (0x71300000)
|
||||
|
||||
#define S3C64XX_PA_MODEM (0x74108000)
|
||||
#define S3C64XX_VA_MODEM S3C_ADDR(0x00600000)
|
||||
|
||||
/* place VICs close together */
|
||||
#define S3C_VA_VIC0 (S3C_VA_IRQ + 0x00)
|
||||
#define S3C_VA_VIC1 (S3C_VA_IRQ + 0x10000)
|
||||
|
|
|
@ -96,6 +96,11 @@ static struct map_desc s3c_iodesc[] __initdata = {
|
|||
.pfn = __phys_to_pfn(S3C64XX_PA_GPIO),
|
||||
.length = SZ_4K,
|
||||
.type = MT_DEVICE,
|
||||
}, {
|
||||
.virtual = (unsigned long)S3C64XX_VA_MODEM,
|
||||
.pfn = __phys_to_pfn(S3C64XX_PA_MODEM),
|
||||
.length = SZ_4K,
|
||||
.type = MT_DEVICE,
|
||||
},
|
||||
};
|
||||
|
||||
|
|
31
arch/arm/plat-s3c64xx/include/plat/regs-modem.h
Normal file
31
arch/arm/plat-s3c64xx/include/plat/regs-modem.h
Normal file
|
@ -0,0 +1,31 @@
|
|||
/* arch/arm/plat-s3c64xx/include/plat/regs-modem.h
|
||||
*
|
||||
* Copyright 2008 Openmoko, Inc.
|
||||
* Copyright 2008 Simtec Electronics
|
||||
* http://armlinux.simtec.co.uk/
|
||||
* Ben Dooks <ben@simtec.co.uk>
|
||||
*
|
||||
* S3C64XX - modem block registers
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __PLAT_S3C64XX_REGS_MODEM_H
|
||||
#define __PLAT_S3C64XX_REGS_MODEM_H __FILE__
|
||||
|
||||
#define S3C64XX_MODEMREG(x) (S3C64XX_VA_MODEM + (x))
|
||||
|
||||
#define S3C64XX_MODEM_INT2AP S3C64XX_MODEMREG(0x0)
|
||||
#define S3C64XX_MODEM_INT2MODEM S3C64XX_MODEMREG(0x4)
|
||||
#define S3C64XX_MODEM_MIFCON S3C64XX_MODEMREG(0x8)
|
||||
#define S3C64XX_MODEM_MIFPCON S3C64XX_MODEMREG(0xC)
|
||||
#define S3C64XX_MODEM_INTCLR S3C64XX_MODEMREG(0x10)
|
||||
#define S3C64XX_MODEM_DMA_TXADDR S3C64XX_MODEMREG(0x14)
|
||||
#define S3C64XX_MODEM_DMA_RXADDR S3C64XX_MODEMREG(0x18)
|
||||
|
||||
#define MIFPCON_INT2M_LEVEL (1 << 4)
|
||||
#define MIFPCON_LCD_BYPASS (1 << 3)
|
||||
|
||||
#endif /* __PLAT_S3C64XX_REGS_MODEM_H */
|
Loading…
Reference in a new issue