Re:Re: Re: [PATCH v2 1/2] bus: mhi: host: pci_generic: Update the file path for Foxconn SDX55/SDX72

From: Slark Xiao
Date: Fri Jul 26 2024 - 01:56:31 EST



At 2024-07-26 13:00:51, "Manivannan Sadhasivam" <manivannan.sadhasivam@xxxxxxxxxx> wrote:
>On Thu, Jul 25, 2024 at 04:56:03PM +0800, Slark Xiao wrote:
>>
>> At 2024-07-25 11:59:54, "Manivannan Sadhasivam" <manivannan.sadhasivam@xxxxxxxxxx> wrote:
>> >On Thu, Jul 25, 2024 at 10:29:40AM +0800, Slark Xiao wrote:
>> >> To separate the images of Foxconn from other vendors, adding a
>> >> new foxconn subfolder under qcom/<platform> for edl image path.
>> >> And delete the fw patch since it's useless for Foxconn devices.
>> >>
>> >> Fixes: bf30a75e6e00 ("bus: mhi: host: Add support for Foxconn SDX72 modems")
>> >> Signed-off-by: Slark Xiao <slark_xiao@xxxxxxx>
>> >> ---
>> >> v2: change the folder path architecture
>> >> ---
>> >> drivers/bus/mhi/host/pci_generic.c | 13 +++++--------
>> >> 1 file changed, 5 insertions(+), 8 deletions(-)
>> >>
>> >> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
>> >> index 14a11880bcea..f159a9dd53e7 100644
>> >> --- a/drivers/bus/mhi/host/pci_generic.c
>> >> +++ b/drivers/bus/mhi/host/pci_generic.c
>> >> @@ -433,8 +433,7 @@ static const struct mhi_controller_config modem_foxconn_sdx72_config = {
>> >>
>> >> static const struct mhi_pci_dev_info mhi_foxconn_sdx55_info = {
>> >> .name = "foxconn-sdx55",
>> >> - .fw = "qcom/sdx55m/sbl1.mbn",
>> >> - .edl = "qcom/sdx55m/edl.mbn",
>> >> + .edl = "qcom/sdx55m/foxconn/prog_firehose_sdx55.mbn",
>> >
>> >I think you misunderstood what I suggested in earlier revision. You should add
>> >the Foxconn specific fw only if it is different from the qcom one. Is it really
>> >different for all these modems? Otherwise, what is the point of adding them?
>> >
>> >- Mani
>>
>> >
>> Hi Mani,
>> Yes, all programer files are different with default. We add a sign step for each image
>> file. That means other vendor's edl image(including Qualcomm) can't be applied for
>> Foxconn devices.
>>
>
>Gotcha. Please include this info in the commit message as people may wonder what
>the difference between yours and qcom.

>
If possible, pelase help me add it into my commit message.


>Unrelated question to this patch: Once the EDL is programmed, what are the
>images that the user has to flash using Firehose protocol? Is that the full SDK
>or just SBL/APPS image?
>

>If so, what is the size of the images?


This depends on a raw file, let's take SDX65 as an example. The file 
rawprogram_nand_p4K_b256K.xml contains below items:
.....
<erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="640" start_sector="0"/>
<program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="xbl.elf.enc" label="sbl" last_sector="639" num_partition_sectors="640" physical_partition_number="0" start_sector="0"/>
.....
<erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="27456" start_sector="16512"/>
  <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="NON-HLOS.ubi.enc" label="modem" last_sector="43967" num_partition_sectors="27456" physical_partition_number="0" start_sector="16512"/>
...


This file contains 2 part, "erase" and "program".
erase will tell the tool to erase the partition from sector x to y.
And "program" will tell the tool to flash the file into that partion which start from sector m to n.


So the logical is, full SDK or just one or some partitions are flashed depends on this raw file.
Normally, full SDK is the main scenario. And the size is about 150MB to 200MB.
Thanks.

>
>- Mani
>
>> >> .config = &modem_foxconn_sdx55_config,
>> >> .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>> >> .dma_data_width = 32,
>> >> @@ -444,8 +443,7 @@ static const struct mhi_pci_dev_info mhi_foxconn_sdx55_info = {
>> >>
>> >> static const struct mhi_pci_dev_info mhi_foxconn_t99w175_info = {
>> >> .name = "foxconn-t99w175",
>> >> - .fw = "qcom/sdx55m/sbl1.mbn",
>> >> - .edl = "qcom/sdx55m/edl.mbn",
>> >> + .edl = "qcom/sdx55m/foxconn/prog_firehose_sdx55.mbn",
>> >> .config = &modem_foxconn_sdx55_config,
>> >> .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>> >> .dma_data_width = 32,
>> >> @@ -455,8 +453,7 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w175_info = {
>> >>
>> >> static const struct mhi_pci_dev_info mhi_foxconn_dw5930e_info = {
>> >> .name = "foxconn-dw5930e",
>> >> - .fw = "qcom/sdx55m/sbl1.mbn",
>> >> - .edl = "qcom/sdx55m/edl.mbn",
>> >> + .edl = "qcom/sdx55m/foxconn/prog_firehose_sdx55.mbn",
>> >> .config = &modem_foxconn_sdx55_config,
>> >> .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>> >> .dma_data_width = 32,
>> >> @@ -502,7 +499,7 @@ static const struct mhi_pci_dev_info mhi_foxconn_dw5932e_info = {
>> >>
>> >> static const struct mhi_pci_dev_info mhi_foxconn_t99w515_info = {
>> >> .name = "foxconn-t99w515",
>> >> - .edl = "fox/sdx72m/edl.mbn",
>> >> + .edl = "qcom/sdx72m/foxconn/edl.mbn",
>> >> .edl_trigger = true,
>> >> .config = &modem_foxconn_sdx72_config,
>> >> .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>> >> @@ -513,7 +510,7 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w515_info = {
>> >>
>> >> static const struct mhi_pci_dev_info mhi_foxconn_dw5934e_info = {
>> >> .name = "foxconn-dw5934e",
>> >> - .edl = "fox/sdx72m/edl.mbn",
>> >> + .edl = "qcom/sdx72m/foxconn/edl.mbn",
>> >> .edl_trigger = true,
>> >> .config = &modem_foxconn_sdx72_config,
>> >> .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>> >> --
>> >> 2.25.1
>> >>
>> >
>> >--
>> >மணிவண்ணன் சதாசிவம்
>
>--
>மணிவண்ணன் சதாசிவம்