how to enable spi dma mode on 8155

For 8155

pls follow below steps to enable spi dma mode:

1. change the qnx_ap/boards/core/dalconfig/sa8155_adp/sa8155_adp_common/config/spi_props_8996.xml

<device id=DALDEVICEID_SPI_DEV_1>
     <props name="SPI_ENABLED" type=DALPROP_ATTR_TYPE_UINT32>              1   </props>
-        <props name="SW_ENABLE_BAM" type=DALPROP_ATTR_TYPE_UINT32>            0    </props>
+		 <props name="SW_ENABLE_BAM" type=DALPROP_ATTR_TYPE_UINT32>            1    </props>
         <props name="SW_USE_POLLING_MODE" type=DALPROP_ATTR_TYPE_UINT32>      0    </props>
         <props name="SLAVE_MODE_ENABLE" type=DALPROP_ATTR_TYPE_UINT32>        0    </props>
         <props name="SLAVE_DIRECT_WIRED" type=DALPROP_ATTR_TYPE_UINT32>        0    </props>
 
     /* board specific settings Dirana primary MHz */
     <props name="slave1 name" type=DALPROP_ATTR_TYPE_STRING_PTR>spiqup1_slave1_name</props>
     <props name="slave1 mode" type=DALPROP_ATTR_TYPE_UINT32>0x2608</props>
     <props name="slave1 clock" type=DALPROP_ATTR_TYPE_UINT32>5000000</props>
 
         <props name="CLOCK_MASTER_NAME" type=DALPROP_ATTR_TYPE_STRING_PTR>scc_qupv3_wrap0_master_clock_name</props>
         <props name="CLOCK_CORE_NAME" type=DALPROP_ATTR_TYPE_STRING_PTR>scc_qupv3_wrap0_core_clock_name</props>
         <props name="CLOCK_GSI_NAME" type=DALPROP_ATTR_TYPE_STRING_PTR>scc_qupv3_wrap0_gsi_sequencer_clock_name</props>
         <props name="CLOCK_SE_NAME" type=DALPROP_ATTR_TYPE_STRING_PTR>scc_qupv3_wrap0_serial_engine_2_clock_name</props>
 
         <props name="CHIP_BLOCK_OFFSET" type=DALPROP_ATTR_TYPE_UINT32>             0    </props>
         <props name="QUP_BLOCK_SIZE" type=DALPROP_ATTR_TYPE_UINT32>             0x2000  </props>
         <props name="CHIP_PERIPH_SS_BASE" type=DALPROP_ATTR_TYPE_UINT32>        0x2688000 </props>
         <props name="QUP_QGIC_IRQ" type=DALPROP_ATTR_TYPE_UINT32>                476  </props>
         <props name="QUP_BASE_FREQ_KHZ" type=DALPROP_ATTR_TYPE_UINT32>            100000  </props>
   </device>

2. change the QUPAC_Access.c, download the corresponding TZ code accroding to the meta, and enter trustzone_images/core/settings/buses/qup_accesscontrol/qupv3/config/855/QUPAC_Access.c(Note: Talos=6150, Hana=855, Poipu=1000, Makena=Makena)
modify the QUP SE mode in const QUPv3_se_security_permissions_type qupv3_perms_auto[] 

struct & const QUPv3_se_security_permissions_type ssc_qupv3_perms_auto[] struct
- { QUPV3_SSC_SE2, QUPV3_PROTOCOL_SPI,     QUPV3_MODE_FIFO, AC_HLOS,  TRUE, TRUE, FALSE }, 
+ { QUPV3_SSC_SE2, QUPV3_PROTOCOL_SPI,     QUPV3_MODE_CPU_DMA, AC_HLOS,  TRUE, TRUE, FALSE }, 

compiler the tz
cd trustzone_images/build/ms

 python build_all.py -b TZ.XF.5.0 CHIPSET=sm8150 config=build_config_deploy.xml --recompile

flash the devcfg

cd trustzone_images/build/ms/bin/YAQAANAA/

 fastboot flash devcfg devcfg_auto.mbn

3. change the qnx_ap/target/hypervisor/host/qcpe_config/8155/QCPE_config.xml.tmpl

<context_bank id="10" valid="TRUE" nestedToCB="68" dma_domain="VM_DMA1" type="NESTED" secure="FALSE">
     <sid id="SID_MASK_QUP0_VM_RESERVED_0" owner="HOST" />
     <sid id="SID_MASK_QUP1_VM_RESERVED_0" owner="HOST" />
     <sid id="SID_MASK_QUP2_VM_RESERVED_0" owner="HOST" />
+            <sid id="SID_MASK_QUP0_SE" owner="HOST"/>
+            <sid id="SID_MASK_QUP1_SE" owner="HOST"/>
+            <sid id="SID_MASK_QUP2_SE" owner="HOST"/>
+            <sid id="SID_MASK_SSC_QUP_SE" owner="HOST" />
     <!-- The following shall be removed once QUP Virtualization SMRs are fully integrated. -->
     <sid id="SID_MASK_QUP0_AUDIO" owner="HOST" />
     <sid id="SID_MASK_QUP1_AUDIO" owner="HOST" />
    <sid id="SID_MASK_QUP2_AUDIO" owner="HOST" />
   </context_bank>
 
  <context_bank id="57" valid="TRUE" nestedToCB=S2_CB_NUM dma_domain=PVM_DOMAIN type="NESTED" secure="FALSE">
    <sid id="SID_MASK_QUP0_VM_RESERVED_1" owner=PVM_VMID />
    <!-- The following shall be removed once QUP Virtualization SMRs are fully integrated. -->
    <!-- <sid id="SID_MASK_QUP0_SE" owner=PVM_VMID /> -->
  </context_bank>
  <context_bank id="58" valid="TRUE" nestedToCB=S2_CB_NUM dma_domain=PVM_DOMAIN type="NESTED" secure="FALSE">
    <sid id="SID_MASK_QUP1_VM_RESERVED_1" owner=PVM_VMID />
   <!-- The following shall be removed once QUP Virtualization SMRs are fully integrated. -->
    <!-- <sid id="SID_MASK_QUP1_SE" owner=PVM_VMID /> -->
  </context_bank>
  <context_bank id="59" valid="TRUE" nestedToCB=S2_CB_NUM dma_domain=PVM_DOMAIN type="NESTED" secure="FALSE">
    <sid id="SID_MASK_QUP2_VM_RESERVED_1" owner=PVM_VMID />
    <!-- The following shall be removed once QUP Virtualization SMRs are fully integrated. -->
    <!-- <sid id="SID_MASK_QUP2_SE" owner=PVM_VMID /> -->
  </context_bank>
  <context_bank id="60" valid="TRUE" nestedToCB=S2_CB_NUM dma_domain=PVM_DOMAIN type="NESTED" secure="FALSE">
    <sid id="SID_MASK_SSC_QUP_VM_RESERVED_1" owner=PVM_VMID />
    <!-- The following shall be removed once QUP Virtualization SMRs are fully integrated. -->
    <!-- <sid id="SID_MASK_SSC_QUP_SE" owner=PVM_VMID /> -->
  </context_bank>

4. change the qnx_ap/AMSS/platform/hwdrivers/smmu_target_config/src/smmu_config_8150v2.c

/* {
    0,                          //device entry
    TRUE,                       //Deffered create
    0xFFFF,                     //context bank id
    "HLOS_WLAN",                //remark
    0xFFFF,                     //context bank number
    {0x80010640},               //SID {0} attached to context bank
    0xFFFF,                     //irq number
    SMMU_HLOS_VMID,             //HLOS access allowed
    0,                          //context bank info
    0,                          //enable PF
    0,                          //set PF length
    0,                          //TTRB0 for dump parser
    0,                          //TTRB1 for dump parser
}, */
            {
    0,                          //device entry
    TRUE,                       //Deffered create
    0xFFFF,                     //context bank id
    "HLOS_QUP_SE",                //remark
    0xFFFF,                     //context bank number
   {0x800000C3,0x80000603,
     0x800007A3,0x800004E3},               //SID {0} attached to context bank
    0xFFFF,                     //irq number
    SMMU_HLOS_VMID,             //HLOS access allowed
    0,                          //context bank info
    0,                          //enable PF
    0,                          //set PF length
},

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值