Skip to content

Commit

Permalink
radio-2708 support
Browse files Browse the repository at this point in the history
Adds a configure option to enable new memory mapping for radio 2708
(ebi0/2.22.27.08) the code is for both the Dream/Sapphire

Will also require the use of the New SPL:
HBOOT-1.33.0013 on the sapphire
HBOOT-1.33.0013d on the dream

Memory map based of sapphire froyo update:
http://android.git.kernel.org/?p=kernel/msm.git;a=commitdiff;h=15ad4bf696a4cba00892ce72b6790951e47c6fe7

(but transformed to work with the existing DS kernel)

For new memory map set the new CONFIG_MSM_AMSS_RADIO2708_MEMMAP
And leave CONFIG_MSM_AMSS_SUPPORT_256MB_EBI1 unset
  • Loading branch information
ezterry committed Nov 6, 2010
1 parent a394c05 commit 961127e
Show file tree
Hide file tree
Showing 7 changed files with 92 additions and 0 deletions.
4 changes: 4 additions & 0 deletions arch/arm/mach-msm/Kconfig
Expand Up @@ -71,6 +71,10 @@ config MSM_AMSS_SUPPORT_256MB_EBI1
default n
bool "AMSS that support unified 128MB and 256MB EBI1"

config MSM_AMSS_RADIO2708_MEMMAP
default n
bool "Dream/Sapphire 2.22.27.08 Memory Map support"

config MSM_DEBUG_UART
int
default 1 if MSM_DEBUG_UART1
Expand Down
6 changes: 6 additions & 0 deletions arch/arm/mach-msm/Makefile.boot
Expand Up @@ -3,10 +3,16 @@ zreladdr-y := 0x19208000
params_phys-y := 0x19200100
initrd_phys-y := 0x19A00000
else
ifeq ($(CONFIG_MSM_AMSS_RADIO2708_MEMMAP),y)
zreladdr-y := 0x02008000
params_phys-y := 0x02000100
initrd_phys-y := 0x02800000
else
zreladdr-y := 0x10008000
params_phys-y := 0x10000100
initrd_phys-y := 0x10800000
endif
endif

# for now, override for QSD8x50
zreladdr-$(CONFIG_ARCH_QSD8X50) := 0x20008000
Expand Down
4 changes: 4 additions & 0 deletions arch/arm/mach-msm/board-sapphire.c
Expand Up @@ -1441,8 +1441,12 @@ MACHINE_START(SAPPHIRE, "sapphire")
#endif
#if defined(CONFIG_MSM_AMSS_SUPPORT_256MB_EBI1)
.boot_params = 0x19200100,
#else
#if defined(CONFIG_MSM_AMSS_RADIO2708_MEMMAP)
.boot_params = 0x02000100,
#else
.boot_params = 0x10000100,
#endif
#endif
.fixup = sapphire_fixup,
.map_io = sapphire_map_io,
Expand Down
35 changes: 35 additions & 0 deletions arch/arm/mach-msm/board-sapphire.h
Expand Up @@ -66,6 +66,39 @@
#define SMI32_MSM_PMEM_CAMERA_SIZE 0x01000000

#else

#if defined(CONFIG_MSM_AMSS_RADIO2708_MEMMAP)

/* New radio 2708 Memory Map */

#define MSM_EBI_BASE 0x10000000

#define SMI64_MSM_PMEM_MDP_BASE 0x15900000
#define SMI64_MSM_PMEM_MDP_SIZE 0x00800000

#define SMI64_MSM_PMEM_ADSP_BASE 0x16100000
#define SMI64_MSM_PMEM_ADSP_SIZE 0x00800000

#define SMI64_MSM_PMEM_CAMERA_BASE 0x15400000
#define SMI64_MSM_PMEM_CAMERA_SIZE 0x00500000

#define SMI64_MSM_FB_BASE 0x00700000
#define SMI64_MSM_FB_SIZE 0x00100000

#define SMI64_MSM_RAM_CONSOLE_BASE 0x169E0000
#define SMI64_MSM_RAM_CONSOLE_SIZE 128 * SZ_1K

#define SMI64_MSM_PMEM_GPU1_SIZE 0x00800000
#define SMI64_MSM_PMEM_GPU1_BASE (0x169E0000 + (128 * SZ_1K))

#define SMI64_MSM_LINUX_BASE 0x02000000
#define SMI64_MSM_LINUX_SIZE 0x02000000

#define SMI64_MSM_LINUX2_BASE MSM_EBI_BASE
#define SMI64_MSM_LINUX2_SIZE 0x05400000

#else /* Not CONFIG_MSM_AMSS_RADIO2708_MEMMAP */

/* AMSS supports only 128MB EBI1. */
#define MSM_EBI_BASE 0x10000000

Expand Down Expand Up @@ -93,6 +126,8 @@
#define SMI64_MSM_PMEM_GPU1_SIZE 0x800000
#define SMI64_MSM_PMEM_GPU1_BASE 0x16500000

#endif /*End if defined CONFIG_MSM_AMSS_RADIO2708_MEMMAP */

#define SMI32_MSM_LINUX_BASE MSM_EBI_BASE
#define SMI32_MSM_LINUX_SIZE 0x5400000

Expand Down
4 changes: 4 additions & 0 deletions arch/arm/mach-msm/board-trout.c
Expand Up @@ -928,8 +928,12 @@ MACHINE_START(TROUT, "trout")
#endif
#if defined(CONFIG_MSM_AMSS_SUPPORT_256MB_EBI1)
.boot_params = 0x19200100,
#else
#if defined(CONFIG_MSM_AMSS_RADIO2708_MEMMAP)
.boot_params = 0x02000100,
#else
.boot_params = 0x10000100,
#endif
#endif
.fixup = trout_fixup,
.map_io = trout_map_io,
Expand Down
35 changes: 35 additions & 0 deletions arch/arm/mach-msm/board-trout.h
Expand Up @@ -59,6 +59,39 @@

#else

#if defined(CONFIG_MSM_AMSS_RADIO2708_MEMMAP)

/* New radio 2708 Memory Map */

#define MSM_EBI_BASE 0x10000000
#define MSM_EBI_SIZE 0x07100000

#define SMI64_MSM_PMEM_MDP_BASE 0x15900000
#define SMI64_MSM_PMEM_MDP_SIZE 0x00800000

#define SMI64_MSM_PMEM_ADSP_BASE 0x16100000
#define SMI64_MSM_PMEM_ADSP_SIZE 0x00800000

#define SMI64_MSM_PMEM_CAMERA_BASE 0x15400000
#define SMI64_MSM_PMEM_CAMERA_SIZE 0x00500000

#define SMI64_MSM_FB_BASE 0x00700000
#define SMI64_MSM_FB_SIZE 0x00100000

#define SMI64_MSM_RAM_CONSOLE_BASE 0x169E0000
#define SMI64_MSM_RAM_CONSOLE_SIZE 128 * SZ_1K

#define SMI64_MSM_PMEM_GPU1_SIZE 0x00800000
#define SMI64_MSM_PMEM_GPU1_BASE (0x169E0000 + (128 * SZ_1K))

#define SMI64_MSM_LINUX_BASE 0x02000000
#define SMI64_MSM_LINUX_SIZE 0x02000000

#define SMI64_MSM_LINUX2_BASE MSM_EBI_BASE
#define SMI64_MSM_LINUX2_SIZE 0x05400000

#else /* Not CONFIG_MSM_AMSS_RADIO2708_MEMMAP */

/* AMSS supports only 128MB EBI1. */
#define MSM_EBI_BASE 0x10000000
#define MSM_EBI_SIZE 0x06E00000
Expand Down Expand Up @@ -87,6 +120,8 @@
#define SMI64_MSM_RAM_CONSOLE_BASE 0x007A0000
#define SMI64_MSM_RAM_CONSOLE_SIZE 128 * SZ_1K

#endif /*End if defined CONFIG_MSM_AMSS_RADIO2708_MEMMAP */

#define SMI32_MSM_LINUX_BASE MSM_EBI_BASE
#define SMI32_MSM_LINUX_SIZE 0x5400000

Expand Down
4 changes: 4 additions & 0 deletions arch/arm/mach-msm/include/mach/memory.h
Expand Up @@ -22,8 +22,12 @@
#elif defined(CONFIG_MSM_AMSS_SUPPORT_256MB_EBI1)
#define PHYS_OFFSET UL(0x19200000)
#else
#if defined(CONFIG_MSM_AMSS_RADIO2708_MEMMAP)
#define PHYS_OFFSET UL(0x02000000)
#else
#define PHYS_OFFSET UL(0x10000000)
#endif
#endif

#define HAS_ARCH_IO_REMAP_PFN_RANGE

Expand Down

0 comments on commit 961127e

Please sign in to comment.