5/28/2012

Sample code changes to configure EBI2 data lines for UART2DM emmc boot supported on MSM7x27a,MSM7x30 and MSM8x25

How to configure the uart2dm to pin EBI2_A_D_7, EBI2_A_D_6 pin.




Gpios 19,20,21 and 108 configured for SDC controller.

So we can't use the same gpios for UART2DM.




Instead,we can configure UART2DM on EBI2 [9:6] data lines by setting the "emmc_boot" bit of TMUX_EBI2 to 1.

When you write the "emmc_boot" to 1, EBI2 functionality will be lost and EBI2 data lines will be used only for UART2DM functionality.

If you are using NAND boot EBI2 lines are used for NAND support, so you can not configure for UART2 DM on EBI2 port.


If your are using EMMC boot, than you can configure for UART2 DM on EBI2 port.



Register Description :- TMUX_EBI2

The EBI-2 pads can be used for a variety of test and debug modes.


The TMUX_EBI2 register, in conjunction with the TMUX_JTAG register and the MODE pins, control the EBI-2 multiplexing.




Type: Write/Read

Clock: CC_TLMM_CLK

Reset State: 0x00




Bits




4 emmc_boot Set this bit to have concurrent usage of


eMMC boot,uart2dm,ETM,aux jtag.

Note that you will also have to set the
corresponding bits for ETM and Aux jtag
like in normal usage apart from setting this
bit.

3 gp_pdm_sel selects
gp_pdm0 on GPIO[96] and
gp_pdm1 on EBI2_CS2.

2:0 RESERVED Reserved



Sample code changes required from modem side to configure TMUX_EBI2 register to set emmc_boot.
File path :- modem_proc\dal\drivers\tlmm_src\DALTLMMBoot.c

Funtion name :- TLMM_INIT() end of the funtion add the one line code to set emmc_boot bit.

HAL_tlmm_SetPort(HAL_TLMM_EMMC_BOOT_EN,0x01,0x01);




File path :- modem_proc\dal\drivers\tlmm_src\ DALTLMM.c

Funtion name :- TLMM_INIT() end of the funtion add the one line code to set emmc_boot bit.

HAL_tlmm_SetPort(HAL_TLMM_EMMC_BOOT_EN,0x01,0x01);




APPS Side UART Kernel flags modified as follows:



This CONFIG is not set

CONFIG_SERIAL_MSM_CLOCK_CONTROL





Remove the following CONFIGs

-CONFIG_SERIAL_MSM=y
-CONFIG_SERIAL_MSM_CONSOLE=y
-CONFIG_MMC_MSM_SDC3_SUPPORT=y
-CONFIG_MMC_MSM_SDC3_8_BIT_SUPPORT=y



The above mentioned CONFIG need to be added for specific product config file for example :- msm7627a-perf_defconfig.

+CONFIG_SERIAL_HSL=Y
+CONFIG_SERIAL_MSM_HSL_CONSOLE=Y




Add the below line to device\qcom\msm7627a\boardconfig.Mk

BOARD_KERNEL_CMDLINE := console = ttyHSL0, 115200,n8 andriodboot.hardware=qcom

No comments:

Post a Comment