diff mbox series

bus: mhi: host: Add firehose support for Foxconn SDX24/SDX55/SDX65

Message ID 20240709015818.110384-1-slark_xiao@163.com (mailing list archive)
State Not Applicable
Headers show
Series bus: mhi: host: Add firehose support for Foxconn SDX24/SDX55/SDX65 | expand

Commit Message

Slark Xiao July 9, 2024, 1:58 a.m. UTC
Since we implement the FIREHOSE channel support in foxconn mhi
channels, that means each product which use this channel config
would support FIREHOSE. But according to the trigger_edl feature,
we need to enable it by adding '.edl_trigger = true' in device
info struct.
Also, we update all edl image path from 'qcom' to 'fox' in case of
conflicting with other vendors.

Signed-off-by: Slark Xiao <slark_xiao@163.com>
---
 drivers/bus/mhi/host/pci_generic.c | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

Comments

Dmitry Baryshkov July 13, 2024, 3:09 p.m. UTC | #1
On Tue, Jul 09, 2024 at 09:58:18AM GMT, Slark Xiao wrote:
> Since we implement the FIREHOSE channel support in foxconn mhi
> channels, that means each product which use this channel config
> would support FIREHOSE. But according to the trigger_edl feature,
> we need to enable it by adding '.edl_trigger = true' in device
> info struct.
> Also, we update all edl image path from 'qcom' to 'fox' in case of
> conflicting with other vendors.

Separate patches please. Also don't use "we", just an imerative style:
do this and that.

> 
> Signed-off-by: Slark Xiao <slark_xiao@163.com>
> ---
>  drivers/bus/mhi/host/pci_generic.c | 20 ++++++++++++++------
>  1 file changed, 14 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
> index 14a11880bcea..440609b81e57 100644
> --- a/drivers/bus/mhi/host/pci_generic.c
> +++ b/drivers/bus/mhi/host/pci_generic.c
> @@ -433,8 +433,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",

qcom/sdx55m/foxconn/prog_firehose_sdx55.mbn

> +	.edl_trigger = true,
>  	.config = &modem_foxconn_sdx55_config,
>  	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>  	.dma_data_width = 32,
> @@ -444,8 +444,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",

Is it the same file as the one mentioned in the previous chunk or is it
different?

If they are different, then, please,

qcom/sdx55m/foxconn/t99w175/prog_firehose_sdx55.mbn


> +	.edl_trigger = true,
>  	.config = &modem_foxconn_sdx55_config,
>  	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>  	.dma_data_width = 32,
> @@ -455,8 +455,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
> +	.edl_trigger = true,
>  	.config = &modem_foxconn_sdx55_config,
>  	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>  	.dma_data_width = 32,
> @@ -466,6 +466,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_dw5930e_info = {
>  
>  static const struct mhi_pci_dev_info mhi_foxconn_t99w368_info = {
>  	.name = "foxconn-t99w368",
> +	.edl = "fox/sdx65m/prog_firehose_lite.elf",
> +	.edl_trigger = true,
>  	.config = &modem_foxconn_sdx55_config,
>  	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>  	.dma_data_width = 32,
> @@ -475,6 +477,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w368_info = {
>  
>  static const struct mhi_pci_dev_info mhi_foxconn_t99w373_info = {
>  	.name = "foxconn-t99w373",
> +	.edl = "fox/sdx65m/prog_firehose_lite.elf",
> +	.edl_trigger = true,
>  	.config = &modem_foxconn_sdx55_config,
>  	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>  	.dma_data_width = 32,
> @@ -484,6 +488,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w373_info = {
>  
>  static const struct mhi_pci_dev_info mhi_foxconn_t99w510_info = {
>  	.name = "foxconn-t99w510",
> +	.edl = "fox/sdx24m/prog_firehose_sdx24.mbn",
> +	.edl_trigger = true,
>  	.config = &modem_foxconn_sdx55_config,
>  	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>  	.dma_data_width = 32,
> @@ -493,6 +499,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w510_info = {
>  
>  static const struct mhi_pci_dev_info mhi_foxconn_dw5932e_info = {
>  	.name = "foxconn-dw5932e",
> +	.edl = "fox/sdx65m/prog_firehose_lite.elf",
> +	.edl_trigger = true,
>  	.config = &modem_foxconn_sdx55_config,
>  	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>  	.dma_data_width = 32,
> -- 
> 2.25.1
>
Slark Xiao July 15, 2024, 5:46 a.m. UTC | #2
At 2024-07-13 23:09:47, "Dmitry Baryshkov" <dmitry.baryshkov@linaro.org> wrote:
>On Tue, Jul 09, 2024 at 09:58:18AM GMT, Slark Xiao wrote:
>> Since we implement the FIREHOSE channel support in foxconn mhi
>> channels, that means each product which use this channel config
>> would support FIREHOSE. But according to the trigger_edl feature,
>> we need to enable it by adding '.edl_trigger = true' in device
>> info struct.
>> Also, we update all edl image path from 'qcom' to 'fox' in case of
>> conflicting with other vendors.
>
>Separate patches please. Also don't use "we", just an imerative style:
>do this and that.
>

Do you mean use 2 patches (1 for enabling trigger edl and 1 for 
modifying path)? Though these changes are aimed to make
firehose download successfully.

>> 
>> Signed-off-by: Slark Xiao <slark_xiao@163.com>
>> ---
>>  drivers/bus/mhi/host/pci_generic.c | 20 ++++++++++++++------
>>  1 file changed, 14 insertions(+), 6 deletions(-)
>> 
>> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
>> index 14a11880bcea..440609b81e57 100644
>> --- a/drivers/bus/mhi/host/pci_generic.c
>> +++ b/drivers/bus/mhi/host/pci_generic.c
>> @@ -433,8 +433,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
>
>qcom/sdx55m/foxconn/prog_firehose_sdx55.mbn

what's your opinion?Mani

>
>> +	.edl_trigger = true,
>>  	.config = &modem_foxconn_sdx55_config,
>>  	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>>  	.dma_data_width = 32,
>> @@ -444,8 +444,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
>
>Is it the same file as the one mentioned in the previous chunk or is it
>different?
>

They are same for same chip, though we have some variants.

>If they are different, then, please,
>
>qcom/sdx55m/foxconn/t99w175/prog_firehose_sdx55.mbn
>
>
>> +	.edl_trigger = true,
>>  	.config = &modem_foxconn_sdx55_config,
>>  	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>>  	.dma_data_width = 32,
>> @@ -455,8 +455,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
>> +	.edl_trigger = true,
>>  	.config = &modem_foxconn_sdx55_config,
>>  	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>>  	.dma_data_width = 32,
>> @@ -466,6 +466,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_dw5930e_info = {
>>  
>>  static const struct mhi_pci_dev_info mhi_foxconn_t99w368_info = {
>>  	.name = "foxconn-t99w368",
>> +	.edl = "fox/sdx65m/prog_firehose_lite.elf",
>> +	.edl_trigger = true,
>>  	.config = &modem_foxconn_sdx55_config,
>>  	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>>  	.dma_data_width = 32,
>> @@ -475,6 +477,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w368_info = {
>>  
>>  static const struct mhi_pci_dev_info mhi_foxconn_t99w373_info = {
>>  	.name = "foxconn-t99w373",
>> +	.edl = "fox/sdx65m/prog_firehose_lite.elf",
>> +	.edl_trigger = true,
>>  	.config = &modem_foxconn_sdx55_config,
>>  	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>>  	.dma_data_width = 32,
>> @@ -484,6 +488,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w373_info = {
>>  
>>  static const struct mhi_pci_dev_info mhi_foxconn_t99w510_info = {
>>  	.name = "foxconn-t99w510",
>> +	.edl = "fox/sdx24m/prog_firehose_sdx24.mbn",
>> +	.edl_trigger = true,
>>  	.config = &modem_foxconn_sdx55_config,
>>  	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>>  	.dma_data_width = 32,
>> @@ -493,6 +499,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w510_info = {
>>  
>>  static const struct mhi_pci_dev_info mhi_foxconn_dw5932e_info = {
>>  	.name = "foxconn-dw5932e",
>> +	.edl = "fox/sdx65m/prog_firehose_lite.elf",
>> +	.edl_trigger = true,
>>  	.config = &modem_foxconn_sdx55_config,
>>  	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>>  	.dma_data_width = 32,
>> -- 
>> 2.25.1
>> 
>
>-- 
>With best wishes
>Dmitry
Dmitry Baryshkov July 15, 2024, 6:16 a.m. UTC | #3
On Mon, 15 Jul 2024 at 08:46, Slark Xiao <slark_xiao@163.com> wrote:
>
>
> At 2024-07-13 23:09:47, "Dmitry Baryshkov" <dmitry.baryshkov@linaro.org> wrote:
> >On Tue, Jul 09, 2024 at 09:58:18AM GMT, Slark Xiao wrote:
> >> Since we implement the FIREHOSE channel support in foxconn mhi
> >> channels, that means each product which use this channel config
> >> would support FIREHOSE. But according to the trigger_edl feature,
> >> we need to enable it by adding '.edl_trigger = true' in device
> >> info struct.
> >> Also, we update all edl image path from 'qcom' to 'fox' in case of
> >> conflicting with other vendors.
> >
> >Separate patches please. Also don't use "we", just an imerative style:
> >do this and that.
> >
>
> Do you mean use 2 patches (1 for enabling trigger edl and 1 for
> modifying path)? Though these changes are aimed to make
> firehose download successfully.

Yes. "Do this. Also do that" is usually a sign that the patch should be split.

>
> >>
> >> Signed-off-by: Slark Xiao <slark_xiao@163.com>
> >> ---
> >>  drivers/bus/mhi/host/pci_generic.c | 20 ++++++++++++++------
> >>  1 file changed, 14 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
> >> index 14a11880bcea..440609b81e57 100644
> >> --- a/drivers/bus/mhi/host/pci_generic.c
> >> +++ b/drivers/bus/mhi/host/pci_generic.c
> >> @@ -433,8 +433,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
> >
> >qcom/sdx55m/foxconn/prog_firehose_sdx55.mbn
>
> what's your opinion?Mani
>
> >
> >> +    .edl_trigger = true,
> >>      .config = &modem_foxconn_sdx55_config,
> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> >>      .dma_data_width = 32,
> >> @@ -444,8 +444,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
> >
> >Is it the same file as the one mentioned in the previous chunk or is it
> >different?
> >
>
> They are same for same chip, though we have some variants.

Please excuse me, I can't fully understand. So are the files the same or not?

There is a simple mental experiment regarding the file names: you
should be able to have a single host rootfs, which supports working
with all of your modems at the same time, without modifications.
So if modem A and modem B might use file foo.bar and the file is the
same for all SDX55 modems, it's fine to have it in qcom/sdx55m/ or in
qcom/sdx55m/foxconn. If it is different depending on the end-device,
it should go to the qcom/sdx55m/foxconn/devname/ .

>
> >If they are different, then, please,
> >
> >qcom/sdx55m/foxconn/t99w175/prog_firehose_sdx55.mbn
> >
> >
> >> +    .edl_trigger = true,
> >>      .config = &modem_foxconn_sdx55_config,
> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> >>      .dma_data_width = 32,
> >> @@ -455,8 +455,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
> >> +    .edl_trigger = true,
> >>      .config = &modem_foxconn_sdx55_config,
> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> >>      .dma_data_width = 32,
> >> @@ -466,6 +466,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_dw5930e_info = {
> >>
> >>  static const struct mhi_pci_dev_info mhi_foxconn_t99w368_info = {
> >>      .name = "foxconn-t99w368",
> >> +    .edl = "fox/sdx65m/prog_firehose_lite.elf",
> >> +    .edl_trigger = true,
> >>      .config = &modem_foxconn_sdx55_config,
> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> >>      .dma_data_width = 32,
> >> @@ -475,6 +477,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w368_info = {
> >>
> >>  static const struct mhi_pci_dev_info mhi_foxconn_t99w373_info = {
> >>      .name = "foxconn-t99w373",
> >> +    .edl = "fox/sdx65m/prog_firehose_lite.elf",
> >> +    .edl_trigger = true,
> >>      .config = &modem_foxconn_sdx55_config,
> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> >>      .dma_data_width = 32,
> >> @@ -484,6 +488,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w373_info = {
> >>
> >>  static const struct mhi_pci_dev_info mhi_foxconn_t99w510_info = {
> >>      .name = "foxconn-t99w510",
> >> +    .edl = "fox/sdx24m/prog_firehose_sdx24.mbn",
> >> +    .edl_trigger = true,
> >>      .config = &modem_foxconn_sdx55_config,
> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> >>      .dma_data_width = 32,
> >> @@ -493,6 +499,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w510_info = {
> >>
> >>  static const struct mhi_pci_dev_info mhi_foxconn_dw5932e_info = {
> >>      .name = "foxconn-dw5932e",
> >> +    .edl = "fox/sdx65m/prog_firehose_lite.elf",
> >> +    .edl_trigger = true,
> >>      .config = &modem_foxconn_sdx55_config,
> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> >>      .dma_data_width = 32,
> >> --
> >> 2.25.1
> >>
> >
> >--
> >With best wishes
> >Dmitry
Slark Xiao July 15, 2024, 6:27 a.m. UTC | #4
At 2024-07-15 14:16:57, "Dmitry Baryshkov" <dmitry.baryshkov@linaro.org> wrote:
>On Mon, 15 Jul 2024 at 08:46, Slark Xiao <slark_xiao@163.com> wrote:
>>
>>
>> At 2024-07-13 23:09:47, "Dmitry Baryshkov" <dmitry.baryshkov@linaro.org> wrote:
>> >On Tue, Jul 09, 2024 at 09:58:18AM GMT, Slark Xiao wrote:
>> >> Since we implement the FIREHOSE channel support in foxconn mhi
>> >> channels, that means each product which use this channel config
>> >> would support FIREHOSE. But according to the trigger_edl feature,
>> >> we need to enable it by adding '.edl_trigger = true' in device
>> >> info struct.
>> >> Also, we update all edl image path from 'qcom' to 'fox' in case of
>> >> conflicting with other vendors.
>> >
>> >Separate patches please. Also don't use "we", just an imerative style:
>> >do this and that.
>> >
>>
>> Do you mean use 2 patches (1 for enabling trigger edl and 1 for
>> modifying path)? Though these changes are aimed to make
>> firehose download successfully.
>
>Yes. "Do this. Also do that" is usually a sign that the patch should be split.

Will do a update in next version.

>
>>
>> >>
>> >> Signed-off-by: Slark Xiao <slark_xiao@163.com>
>> >> ---
>> >>  drivers/bus/mhi/host/pci_generic.c | 20 ++++++++++++++------
>> >>  1 file changed, 14 insertions(+), 6 deletions(-)
>> >>
>> >> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
>> >> index 14a11880bcea..440609b81e57 100644
>> >> --- a/drivers/bus/mhi/host/pci_generic.c
>> >> +++ b/drivers/bus/mhi/host/pci_generic.c
>> >> @@ -433,8 +433,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
>> >
>> >qcom/sdx55m/foxconn/prog_firehose_sdx55.mbn
>>
>> what's your opinion?Mani
>>
>> >
>> >> +    .edl_trigger = true,
>> >>      .config = &modem_foxconn_sdx55_config,
>> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>> >>      .dma_data_width = 32,
>> >> @@ -444,8 +444,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
>> >
>> >Is it the same file as the one mentioned in the previous chunk or is it
>> >different?
>> >
>>
>> They are same for same chip, though we have some variants.
>
>Please excuse me, I can't fully understand. So are the files the same or not?
>
>There is a simple mental experiment regarding the file names: you
>should be able to have a single host rootfs, which supports working
>with all of your modems at the same time, without modifications.
>So if modem A and modem B might use file foo.bar and the file is the
>same for all SDX55 modems, it's fine to have it in qcom/sdx55m/ or in
>qcom/sdx55m/foxconn. If it is different depending on the end-device,
>it should go to the qcom/sdx55m/foxconn/devname/ .
>
For all Foxconn devices designed based on same chip, they can use same
edl file. This EDL file is a common image of whole FIREHOSE image package
of difference variants. The difference of Foxconn SDX55 modem A and
Foxconn SDX55 modem B is APPS image and Modem image. The EDL
image is a file for putting device into EDL mode.
So I prefer to use "qcom/sdx55m/foxconn" since Foxconn's device are 
different with other vendors which provide sdx55 devices as well.

>>
>> >If they are different, then, please,
>> >
>> >qcom/sdx55m/foxconn/t99w175/prog_firehose_sdx55.mbn
>> >
>> >
>> >> +    .edl_trigger = true,
>> >>      .config = &modem_foxconn_sdx55_config,
>> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>> >>      .dma_data_width = 32,
>> >> @@ -455,8 +455,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
>> >> +    .edl_trigger = true,
>> >>      .config = &modem_foxconn_sdx55_config,
>> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>> >>      .dma_data_width = 32,
>> >> @@ -466,6 +466,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_dw5930e_info = {
>> >>
>> >>  static const struct mhi_pci_dev_info mhi_foxconn_t99w368_info = {
>> >>      .name = "foxconn-t99w368",
>> >> +    .edl = "fox/sdx65m/prog_firehose_lite.elf",
>> >> +    .edl_trigger = true,
>> >>      .config = &modem_foxconn_sdx55_config,
>> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>> >>      .dma_data_width = 32,
>> >> @@ -475,6 +477,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w368_info = {
>> >>
>> >>  static const struct mhi_pci_dev_info mhi_foxconn_t99w373_info = {
>> >>      .name = "foxconn-t99w373",
>> >> +    .edl = "fox/sdx65m/prog_firehose_lite.elf",
>> >> +    .edl_trigger = true,
>> >>      .config = &modem_foxconn_sdx55_config,
>> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>> >>      .dma_data_width = 32,
>> >> @@ -484,6 +488,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w373_info = {
>> >>
>> >>  static const struct mhi_pci_dev_info mhi_foxconn_t99w510_info = {
>> >>      .name = "foxconn-t99w510",
>> >> +    .edl = "fox/sdx24m/prog_firehose_sdx24.mbn",
>> >> +    .edl_trigger = true,
>> >>      .config = &modem_foxconn_sdx55_config,
>> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>> >>      .dma_data_width = 32,
>> >> @@ -493,6 +499,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w510_info = {
>> >>
>> >>  static const struct mhi_pci_dev_info mhi_foxconn_dw5932e_info = {
>> >>      .name = "foxconn-dw5932e",
>> >> +    .edl = "fox/sdx65m/prog_firehose_lite.elf",
>> >> +    .edl_trigger = true,
>> >>      .config = &modem_foxconn_sdx55_config,
>> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>> >>      .dma_data_width = 32,
>> >> --
>> >> 2.25.1
>> >>
>> >
>> >--
>> >With best wishes
>> >Dmitry
>
>
>
>-- 
>With best wishes
>Dmitry
Dmitry Baryshkov July 15, 2024, 10:43 a.m. UTC | #5
On Mon, 15 Jul 2024 at 09:27, Slark Xiao <slark_xiao@163.com> wrote:
>
>
> At 2024-07-15 14:16:57, "Dmitry Baryshkov" <dmitry.baryshkov@linaro.org> wrote:
> >On Mon, 15 Jul 2024 at 08:46, Slark Xiao <slark_xiao@163.com> wrote:
> >>
> >>
> >> At 2024-07-13 23:09:47, "Dmitry Baryshkov" <dmitry.baryshkov@linaro.org> wrote:
> >> >On Tue, Jul 09, 2024 at 09:58:18AM GMT, Slark Xiao wrote:
> >> >> Since we implement the FIREHOSE channel support in foxconn mhi
> >> >> channels, that means each product which use this channel config
> >> >> would support FIREHOSE. But according to the trigger_edl feature,
> >> >> we need to enable it by adding '.edl_trigger = true' in device
> >> >> info struct.
> >> >> Also, we update all edl image path from 'qcom' to 'fox' in case of
> >> >> conflicting with other vendors.
> >> >
> >> >Separate patches please. Also don't use "we", just an imerative style:
> >> >do this and that.
> >> >
> >>
> >> Do you mean use 2 patches (1 for enabling trigger edl and 1 for
> >> modifying path)? Though these changes are aimed to make
> >> firehose download successfully.
> >
> >Yes. "Do this. Also do that" is usually a sign that the patch should be split.
>
> Will do a update in next version.
>
> >
> >>
> >> >>
> >> >> Signed-off-by: Slark Xiao <slark_xiao@163.com>
> >> >> ---
> >> >>  drivers/bus/mhi/host/pci_generic.c | 20 ++++++++++++++------
> >> >>  1 file changed, 14 insertions(+), 6 deletions(-)
> >> >>
> >> >> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
> >> >> index 14a11880bcea..440609b81e57 100644
> >> >> --- a/drivers/bus/mhi/host/pci_generic.c
> >> >> +++ b/drivers/bus/mhi/host/pci_generic.c
> >> >> @@ -433,8 +433,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
> >> >
> >> >qcom/sdx55m/foxconn/prog_firehose_sdx55.mbn
> >>
> >> what's your opinion?Mani
> >>
> >> >
> >> >> +    .edl_trigger = true,
> >> >>      .config = &modem_foxconn_sdx55_config,
> >> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> >> >>      .dma_data_width = 32,
> >> >> @@ -444,8 +444,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
> >> >
> >> >Is it the same file as the one mentioned in the previous chunk or is it
> >> >different?
> >> >
> >>
> >> They are same for same chip, though we have some variants.
> >
> >Please excuse me, I can't fully understand. So are the files the same or not?
> >
> >There is a simple mental experiment regarding the file names: you
> >should be able to have a single host rootfs, which supports working
> >with all of your modems at the same time, without modifications.
> >So if modem A and modem B might use file foo.bar and the file is the
> >same for all SDX55 modems, it's fine to have it in qcom/sdx55m/ or in
> >qcom/sdx55m/foxconn. If it is different depending on the end-device,
> >it should go to the qcom/sdx55m/foxconn/devname/ .
> >
> For all Foxconn devices designed based on same chip, they can use same
> edl file. This EDL file is a common image of whole FIREHOSE image package
> of difference variants. The difference of Foxconn SDX55 modem A and
> Foxconn SDX55 modem B is APPS image and Modem image. The EDL
> image is a file for putting device into EDL mode.
> So I prefer to use "qcom/sdx55m/foxconn" since Foxconn's device are
> different with other vendors which provide sdx55 devices as well.

If it's common, sounds good to me.

>
> >>
> >> >If they are different, then, please,
> >> >
> >> >qcom/sdx55m/foxconn/t99w175/prog_firehose_sdx55.mbn
> >> >
> >> >
> >> >> +    .edl_trigger = true,
> >> >>      .config = &modem_foxconn_sdx55_config,
> >> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> >> >>      .dma_data_width = 32,
> >> >> @@ -455,8 +455,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
> >> >> +    .edl_trigger = true,
> >> >>      .config = &modem_foxconn_sdx55_config,
> >> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> >> >>      .dma_data_width = 32,
> >> >> @@ -466,6 +466,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_dw5930e_info = {
> >> >>
> >> >>  static const struct mhi_pci_dev_info mhi_foxconn_t99w368_info = {
> >> >>      .name = "foxconn-t99w368",
> >> >> +    .edl = "fox/sdx65m/prog_firehose_lite.elf",
> >> >> +    .edl_trigger = true,
> >> >>      .config = &modem_foxconn_sdx55_config,
> >> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> >> >>      .dma_data_width = 32,
> >> >> @@ -475,6 +477,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w368_info = {
> >> >>
> >> >>  static const struct mhi_pci_dev_info mhi_foxconn_t99w373_info = {
> >> >>      .name = "foxconn-t99w373",
> >> >> +    .edl = "fox/sdx65m/prog_firehose_lite.elf",
> >> >> +    .edl_trigger = true,
> >> >>      .config = &modem_foxconn_sdx55_config,
> >> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> >> >>      .dma_data_width = 32,
> >> >> @@ -484,6 +488,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w373_info = {
> >> >>
> >> >>  static const struct mhi_pci_dev_info mhi_foxconn_t99w510_info = {
> >> >>      .name = "foxconn-t99w510",
> >> >> +    .edl = "fox/sdx24m/prog_firehose_sdx24.mbn",
> >> >> +    .edl_trigger = true,
> >> >>      .config = &modem_foxconn_sdx55_config,
> >> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> >> >>      .dma_data_width = 32,
> >> >> @@ -493,6 +499,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w510_info = {
> >> >>
> >> >>  static const struct mhi_pci_dev_info mhi_foxconn_dw5932e_info = {
> >> >>      .name = "foxconn-dw5932e",
> >> >> +    .edl = "fox/sdx65m/prog_firehose_lite.elf",
> >> >> +    .edl_trigger = true,
> >> >>      .config = &modem_foxconn_sdx55_config,
> >> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> >> >>      .dma_data_width = 32,
> >> >> --
> >> >> 2.25.1
> >> >>
> >> >
> >> >--
> >> >With best wishes
> >> >Dmitry
> >
> >
> >
> >--
> >With best wishes
> >Dmitry
Slark Xiao July 24, 2024, 11:14 a.m. UTC | #6
At 2024-07-15 14:27:07, "Slark Xiao" <slark_xiao@163.com> wrote:
>
>At 2024-07-15 14:16:57, "Dmitry Baryshkov" <dmitry.baryshkov@linaro.org> wrote:
>>On Mon, 15 Jul 2024 at 08:46, Slark Xiao <slark_xiao@163.com> wrote:
>>>
>>>
>>> At 2024-07-13 23:09:47, "Dmitry Baryshkov" <dmitry.baryshkov@linaro.org> wrote:
>>> >On Tue, Jul 09, 2024 at 09:58:18AM GMT, Slark Xiao wrote:
>>> >> Since we implement the FIREHOSE channel support in foxconn mhi
>>> >> channels, that means each product which use this channel config
>>> >> would support FIREHOSE. But according to the trigger_edl feature,
>>> >> we need to enable it by adding '.edl_trigger = true' in device
>>> >> info struct.
>>> >> Also, we update all edl image path from 'qcom' to 'fox' in case of
>>> >> conflicting with other vendors.
>>> >
>>> >Separate patches please. Also don't use "we", just an imerative style:
>>> >do this and that.
>>> >
>>>
>>> Do you mean use 2 patches (1 for enabling trigger edl and 1 for
>>> modifying path)? Though these changes are aimed to make
>>> firehose download successfully.
>>
>>Yes. "Do this. Also do that" is usually a sign that the patch should be split.
>
>Will do a update in next version.
>
>>
>>>
>>> >>
>>> >> Signed-off-by: Slark Xiao <slark_xiao@163.com>
>>> >> ---
>>> >>  drivers/bus/mhi/host/pci_generic.c | 20 ++++++++++++++------
>>> >>  1 file changed, 14 insertions(+), 6 deletions(-)
>>> >>
>>> >> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
>>> >> index 14a11880bcea..440609b81e57 100644
>>> >> --- a/drivers/bus/mhi/host/pci_generic.c
>>> >> +++ b/drivers/bus/mhi/host/pci_generic.c
>>> >> @@ -433,8 +433,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
>>> >
>>> >qcom/sdx55m/foxconn/prog_firehose_sdx55.mbn
>>>
>>> what's your opinion?Mani

This format mismatch with Foxconn SDX72 edl path"fox/sdx72m/edl.mbn".
I think we should align with that changes we just committed.
What's your opinion, Mani?

>>>
>>> >
>>> >> +    .edl_trigger = true,
>>> >>      .config = &modem_foxconn_sdx55_config,
>>> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>>> >>      .dma_data_width = 32,
>>> >> @@ -444,8 +444,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
>>> >
>>> >Is it the same file as the one mentioned in the previous chunk or is it
>>> >different?
>>> >
>>>
>>> They are same for same chip, though we have some variants.
>>
>>Please excuse me, I can't fully understand. So are the files the same or not?
>>
>>There is a simple mental experiment regarding the file names: you
>>should be able to have a single host rootfs, which supports working
>>with all of your modems at the same time, without modifications.
>>So if modem A and modem B might use file foo.bar and the file is the
>>same for all SDX55 modems, it's fine to have it in qcom/sdx55m/ or in
>>qcom/sdx55m/foxconn. If it is different depending on the end-device,
>>it should go to the qcom/sdx55m/foxconn/devname/ .
>>
>For all Foxconn devices designed based on same chip, they can use same
>edl file. This EDL file is a common image of whole FIREHOSE image package
>of difference variants. The difference of Foxconn SDX55 modem A and
>Foxconn SDX55 modem B is APPS image and Modem image. The EDL
>image is a file for putting device into EDL mode.
>So I prefer to use "qcom/sdx55m/foxconn" since Foxconn's device are 
>different with other vendors which provide sdx55 devices as well.
>
>>>
>>> >If they are different, then, please,
>>> >
>>> >qcom/sdx55m/foxconn/t99w175/prog_firehose_sdx55.mbn
>>> >
>>> >
>>> >> +    .edl_trigger = true,
>>> >>      .config = &modem_foxconn_sdx55_config,
>>> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>>> >>      .dma_data_width = 32,
>>> >> @@ -455,8 +455,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
>>> >> +    .edl_trigger = true,
>>> >>      .config = &modem_foxconn_sdx55_config,
>>> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>>> >>      .dma_data_width = 32,
>>> >> @@ -466,6 +466,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_dw5930e_info = {
>>> >>
>>> >>  static const struct mhi_pci_dev_info mhi_foxconn_t99w368_info = {
>>> >>      .name = "foxconn-t99w368",
>>> >> +    .edl = "fox/sdx65m/prog_firehose_lite.elf",
>>> >> +    .edl_trigger = true,
>>> >>      .config = &modem_foxconn_sdx55_config,
>>> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>>> >>      .dma_data_width = 32,
>>> >> @@ -475,6 +477,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w368_info = {
>>> >>
>>> >>  static const struct mhi_pci_dev_info mhi_foxconn_t99w373_info = {
>>> >>      .name = "foxconn-t99w373",
>>> >> +    .edl = "fox/sdx65m/prog_firehose_lite.elf",
>>> >> +    .edl_trigger = true,
>>> >>      .config = &modem_foxconn_sdx55_config,
>>> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>>> >>      .dma_data_width = 32,
>>> >> @@ -484,6 +488,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w373_info = {
>>> >>
>>> >>  static const struct mhi_pci_dev_info mhi_foxconn_t99w510_info = {
>>> >>      .name = "foxconn-t99w510",
>>> >> +    .edl = "fox/sdx24m/prog_firehose_sdx24.mbn",
>>> >> +    .edl_trigger = true,
>>> >>      .config = &modem_foxconn_sdx55_config,
>>> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>>> >>      .dma_data_width = 32,
>>> >> @@ -493,6 +499,8 @@ static const struct mhi_pci_dev_info mhi_foxconn_t99w510_info = {
>>> >>
>>> >>  static const struct mhi_pci_dev_info mhi_foxconn_dw5932e_info = {
>>> >>      .name = "foxconn-dw5932e",
>>> >> +    .edl = "fox/sdx65m/prog_firehose_lite.elf",
>>> >> +    .edl_trigger = true,
>>> >>      .config = &modem_foxconn_sdx55_config,
>>> >>      .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
>>> >>      .dma_data_width = 32,
>>> >> --
>>> >> 2.25.1
>>> >>
>>> >
>>> >--
>>> >With best wishes
>>> >Dmitry
>>
>>
>>
>>-- 
>>With best wishes
>>Dmitry
Manivannan Sadhasivam July 24, 2024, 1:28 p.m. UTC | #7
On Wed, Jul 24, 2024 at 07:14:40PM +0800, Slark Xiao wrote:
> 
> At 2024-07-15 14:27:07, "Slark Xiao" <slark_xiao@163.com> wrote:
> >
> >At 2024-07-15 14:16:57, "Dmitry Baryshkov" <dmitry.baryshkov@linaro.org> wrote:
> >>On Mon, 15 Jul 2024 at 08:46, Slark Xiao <slark_xiao@163.com> wrote:
> >>>
> >>>
> >>> At 2024-07-13 23:09:47, "Dmitry Baryshkov" <dmitry.baryshkov@linaro.org> wrote:
> >>> >On Tue, Jul 09, 2024 at 09:58:18AM GMT, Slark Xiao wrote:
> >>> >> Since we implement the FIREHOSE channel support in foxconn mhi
> >>> >> channels, that means each product which use this channel config
> >>> >> would support FIREHOSE. But according to the trigger_edl feature,
> >>> >> we need to enable it by adding '.edl_trigger = true' in device
> >>> >> info struct.
> >>> >> Also, we update all edl image path from 'qcom' to 'fox' in case of
> >>> >> conflicting with other vendors.
> >>> >
> >>> >Separate patches please. Also don't use "we", just an imerative style:
> >>> >do this and that.
> >>> >
> >>>
> >>> Do you mean use 2 patches (1 for enabling trigger edl and 1 for
> >>> modifying path)? Though these changes are aimed to make
> >>> firehose download successfully.
> >>
> >>Yes. "Do this. Also do that" is usually a sign that the patch should be split.
> >
> >Will do a update in next version.
> >
> >>
> >>>
> >>> >>
> >>> >> Signed-off-by: Slark Xiao <slark_xiao@163.com>
> >>> >> ---
> >>> >>  drivers/bus/mhi/host/pci_generic.c | 20 ++++++++++++++------
> >>> >>  1 file changed, 14 insertions(+), 6 deletions(-)
> >>> >>
> >>> >> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
> >>> >> index 14a11880bcea..440609b81e57 100644
> >>> >> --- a/drivers/bus/mhi/host/pci_generic.c
> >>> >> +++ b/drivers/bus/mhi/host/pci_generic.c
> >>> >> @@ -433,8 +433,8 @@ 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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
> >>> >
> >>> >qcom/sdx55m/foxconn/prog_firehose_sdx55.mbn
> >>>
> >>> what's your opinion?Mani
> 
> This format mismatch with Foxconn SDX72 edl path"fox/sdx72m/edl.mbn".
> I think we should align with that changes we just committed.
> What's your opinion, Mani?
> 

This really sneaked through. I shouldn't have allowed this path. We should bite
the bullet and use a standard path for all modems as Dmitry suggested. So the
path will become:

"qcom/<chip>/<vendor>/" where chip is 'sdx72m' and vendor is 'foxconn'.

If you need to use product specific firmware, then

"qcom/<chip>/<vendor>/<product>"

Since the firmware itself is not upstreamed to linux-firmware, changing the path
is not a big deal.

- Mani
diff mbox series

Patch

diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
index 14a11880bcea..440609b81e57 100644
--- a/drivers/bus/mhi/host/pci_generic.c
+++ b/drivers/bus/mhi/host/pci_generic.c
@@ -433,8 +433,8 @@  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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
+	.edl_trigger = true,
 	.config = &modem_foxconn_sdx55_config,
 	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
 	.dma_data_width = 32,
@@ -444,8 +444,8 @@  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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
+	.edl_trigger = true,
 	.config = &modem_foxconn_sdx55_config,
 	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
 	.dma_data_width = 32,
@@ -455,8 +455,8 @@  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 = "fox/sdx55m/prog_firehose_sdx55.mbn",
+	.edl_trigger = true,
 	.config = &modem_foxconn_sdx55_config,
 	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
 	.dma_data_width = 32,
@@ -466,6 +466,8 @@  static const struct mhi_pci_dev_info mhi_foxconn_dw5930e_info = {
 
 static const struct mhi_pci_dev_info mhi_foxconn_t99w368_info = {
 	.name = "foxconn-t99w368",
+	.edl = "fox/sdx65m/prog_firehose_lite.elf",
+	.edl_trigger = true,
 	.config = &modem_foxconn_sdx55_config,
 	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
 	.dma_data_width = 32,
@@ -475,6 +477,8 @@  static const struct mhi_pci_dev_info mhi_foxconn_t99w368_info = {
 
 static const struct mhi_pci_dev_info mhi_foxconn_t99w373_info = {
 	.name = "foxconn-t99w373",
+	.edl = "fox/sdx65m/prog_firehose_lite.elf",
+	.edl_trigger = true,
 	.config = &modem_foxconn_sdx55_config,
 	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
 	.dma_data_width = 32,
@@ -484,6 +488,8 @@  static const struct mhi_pci_dev_info mhi_foxconn_t99w373_info = {
 
 static const struct mhi_pci_dev_info mhi_foxconn_t99w510_info = {
 	.name = "foxconn-t99w510",
+	.edl = "fox/sdx24m/prog_firehose_sdx24.mbn",
+	.edl_trigger = true,
 	.config = &modem_foxconn_sdx55_config,
 	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
 	.dma_data_width = 32,
@@ -493,6 +499,8 @@  static const struct mhi_pci_dev_info mhi_foxconn_t99w510_info = {
 
 static const struct mhi_pci_dev_info mhi_foxconn_dw5932e_info = {
 	.name = "foxconn-dw5932e",
+	.edl = "fox/sdx65m/prog_firehose_lite.elf",
+	.edl_trigger = true,
 	.config = &modem_foxconn_sdx55_config,
 	.bar_num = MHI_PCI_DEFAULT_BAR_NUM,
 	.dma_data_width = 32,