Merge "target: apq8084: Add support for baseband detection and device tree"
diff --git a/target/apq8084/init.c b/target/apq8084/init.c
index 1e03001..da3ca04 100644
--- a/target/apq8084/init.c
+++ b/target/apq8084/init.c
@@ -83,7 +83,7 @@
keys_post_event(KEY_VOLUMEUP, 1);
}
-static target_mmc_mci_init()
+static void target_mmc_mci_init()
{
uint32_t base_addr;
uint8_t slot;
@@ -142,7 +142,8 @@
* Set drive strength & pull ctrl for
* emmc
*/
- set_sdc_power_ctrl();
+ /*Uncomment during bringup after the pull up values are finalized*/
+ //set_sdc_power_ctrl();
target_mmc_mci_init();
@@ -175,6 +176,34 @@
/* Detect the modem type */
void target_baseband_detect(struct board_data *board)
{
+ uint32_t platform;
+ uint32_t platform_subtype;
+
+ platform = board->platform;
+ platform_subtype = board->platform_subtype;
+
+ /*
+ * Look for platform subtype if present, else
+ * check for platform type to decide on the
+ * baseband type
+ */
+ switch(platform_subtype) {
+ case HW_PLATFORM_SUBTYPE_UNKNOWN:
+ break;
+
+ default:
+ dprintf(CRITICAL, "Platform Subtype : %u is not supported\n",platform_subtype);
+ ASSERT(0);
+ };
+
+ switch(platform) {
+ case APQ8084:
+ board->baseband = BASEBAND_APQ;
+ break;
+ default:
+ dprintf(CRITICAL, "Platform type: %u is not supported\n",platform);
+ ASSERT(0);
+ }
}
unsigned target_baseband()
diff --git a/target/apq8084/meminfo.c b/target/apq8084/meminfo.c
index ed57e32..745657b 100644
--- a/target/apq8084/meminfo.c
+++ b/target/apq8084/meminfo.c
@@ -41,6 +41,39 @@
*/
uint32_t target_dev_tree_mem(void *fdt, uint32_t memory_node_offset)
{
+ struct smem_ram_ptable ram_ptable;
+ unsigned int i;
+ int ret = 0;
+
+ /* Make sure RAM partition table is initialized */
+ ASSERT(smem_ram_ptable_init(&ram_ptable));
+
+ /* Calculating the size of the mem_info_ptr */
+ for (i = 0 ; i < ram_ptable.len; i++)
+ {
+ if((ram_ptable.parts[i].category == SDRAM) &&
+ (ram_ptable.parts[i].type == SYS_MEMORY))
+ {
+
+ /* Pass along all other usable memory regions to Linux */
+ ret = dev_tree_add_mem_info(fdt,
+ memory_node_offset,
+ ram_ptable.parts[i].start,
+ ram_ptable.parts[i].size);
+
+ if (ret)
+ {
+ dprintf(CRITICAL, "Failed to add secondary banks memory addresses\n"
+);
+ goto target_dev_tree_mem_err;
+ }
+
+ }
+ }
+
+target_dev_tree_mem_err:
+
+ return ret;
}
void *target_get_scratch_address(void)
diff --git a/target/apq8084/rules.mk b/target/apq8084/rules.mk
index 777cf39..aa2abf1 100644
--- a/target/apq8084/rules.mk
+++ b/target/apq8084/rules.mk
@@ -7,14 +7,11 @@
MEMBASE := 0x0F900000 # SDRAM
MEMSIZE := 0x00100000 # 1MB
-BASE_ADDR := 0x00000
+BASE_ADDR := 0x0000000
-TAGS_ADDR := BASE_ADDR+0x00000100
-KERNEL_ADDR := BASE_ADDR+0x00008000
-RAMDISK_ADDR := BASE_ADDR+0x01000000
-SCRATCH_ADDR := 0xFF00000
+SCRATCH_ADDR := 0xFF00000
-DEFINES += DISPLAY_SPLASH_SCREEN=1
+DEFINES += DISPLAY_SPLASH_SCREEN=0
DEFINES += DISPLAY_TYPE_MIPI=1
DEFINES += DISPLAY_TYPE_DSI6G=1