|
@@ -49,12 +49,23 @@ static struct map_desc u8500_common_io_desc[] __initdata = {
|
|
|
__IO_DEV_DESC(U8500_CLKRST5_BASE, SZ_4K),
|
|
|
__IO_DEV_DESC(U8500_CLKRST6_BASE, SZ_4K),
|
|
|
|
|
|
- __IO_DEV_DESC(U8500_PRCMU_BASE, SZ_4K),
|
|
|
__IO_DEV_DESC(U8500_GPIO0_BASE, SZ_4K),
|
|
|
__IO_DEV_DESC(U8500_GPIO1_BASE, SZ_4K),
|
|
|
__IO_DEV_DESC(U8500_GPIO2_BASE, SZ_4K),
|
|
|
__IO_DEV_DESC(U8500_GPIO3_BASE, SZ_4K),
|
|
|
+};
|
|
|
+
|
|
|
+/* U8500 IO map specific description */
|
|
|
+static struct map_desc u8500_io_desc[] __initdata = {
|
|
|
+ __IO_DEV_DESC(U8500_PRCMU_BASE, SZ_4K),
|
|
|
__IO_DEV_DESC(U8500_PRCMU_TCDM_BASE, SZ_4K),
|
|
|
+
|
|
|
+};
|
|
|
+
|
|
|
+/* U9540 IO map specific description */
|
|
|
+static struct map_desc u9540_io_desc[] __initdata = {
|
|
|
+ __IO_DEV_DESC(U8500_PRCMU_BASE, SZ_4K + SZ_8K),
|
|
|
+ __IO_DEV_DESC(U8500_PRCMU_TCDM_BASE, SZ_4K + SZ_8K),
|
|
|
};
|
|
|
|
|
|
void __init u8500_map_io(void)
|
|
@@ -68,6 +79,11 @@ void __init u8500_map_io(void)
|
|
|
|
|
|
iotable_init(u8500_common_io_desc, ARRAY_SIZE(u8500_common_io_desc));
|
|
|
|
|
|
+ if (cpu_is_u9540())
|
|
|
+ iotable_init(u9540_io_desc, ARRAY_SIZE(u9540_io_desc));
|
|
|
+ else
|
|
|
+ iotable_init(u8500_io_desc, ARRAY_SIZE(u8500_io_desc));
|
|
|
+
|
|
|
_PRCMU_BASE = __io_address(U8500_PRCMU_BASE);
|
|
|
}
|
|
|
|