Skip to content
Snippets Groups Projects
  1. Oct 22, 2021
  2. Sep 08, 2021
  3. Sep 03, 2021
    • Jacky Bai's avatar
      LF-4521-02 soc: imx: Fix section mismatch build warning due to __init · deadc1cd
      Jacky Bai authored
      
      Fix below section mismatch build warning:
      
      WARNING: modpost: vmlinux.o(.text+0x6b20b8): Section mismatch in reference
      from the function imx8_soc_info() to the function .init.text:imx8mq_noc_init()
      The function imx8_soc_info() references
      the function __init imx8mq_noc_init().
      This is often because imx8_soc_info lacks a __init
      annotation or the annotation of imx8mq_noc_init is wrong.
      
      Signed-off-by: default avatarJacky Bai <ping.bai@nxp.com>
      Reviewed-by: default avatarPeng Fan <peng.fan@nxp.com>
      Acked-by: default avatarJason Liu <jason.hui.liu@nxp.com>
      deadc1cd
    • Jacky Bai's avatar
      LF-4521-01 clk: imx: Fix section mismatch build warning due to __init · b786cdd5
      Jacky Bai authored
      
      Fix below section mismatch build warning in imx8mm/mn/mq clock driver:
      
      WARNING: modpost: vmlinux.o(.text+0x667618): Section mismatch in reference
      from the function imx8mm_clocks_probe() to the function .init.text:imx_clk_init_on.isra.0()
      The function imx8mm_clocks_probe() references
      the function __init imx_clk_init_on.isra.0().
      This is often because imx8mm_clocks_probe lacks a __init
      annotation or the annotation of imx_clk_init_on.isra.0 is wrong.
      
      WARNING: modpost: vmlinux.o(.text+0x66a034): Section mismatch in reference
      from the function imx8mn_clocks_probe() to the function .init.text:imx_clk_init_on.isra.0()
      The function imx8mn_clocks_probe() references
      the function __init imx_clk_init_on.isra.0().
      This is often because imx8mn_clocks_probe lacks a __init
      annotation or the annotation of imx_clk_init_on.isra.0 is wrong.
      
      WARNING: modpost: vmlinux.o(.text+0x6713f8): Section mismatch in reference
      from the function imx8mq_clocks_probe() to the function .init.text:imx_clk_init_on.isra.0()
      The function imx8mq_clocks_probe() references
      the function __init imx_clk_init_on.isra.0().
      This is often because imx8mq_clocks_probe lacks a __init
      annotation or the annotation of imx_clk_init_on.isra.0 is wrong.
      
      Signed-off-by: default avatarJacky Bai <ping.bai@nxp.com>
      Reviewed-by: default avatarPeng Fan <peng.fan@nxp.com>
      Acked-by: default avatarJason Liu <jason.hui.liu@nxp.com>
      b786cdd5
    • Jacky Bai's avatar
      LF-4511 arm64: dts: freescale: Correct the cpu supply on imx8mn ddr3l evk board · cf1322f3
      Jacky Bai authored
      
      For i.MX8MN DDR3L EVK board, it uses a 11x11 package that VDD_ARM & VDD_SOC
      is combined together, the 'cpu-supply' should be buck1, so correct it.
      
      Signed-off-by: default avatarJacky Bai <ping.bai@nxp.com>
      Reviewed-by: default avatarYe Li <ye.li@nxp.com>
      Acked-by: default avatarJason Liu <jason.hui.liu@nxp.com>
      cf1322f3
  4. Sep 02, 2021
    • Gaurav Jain's avatar
      LF-4488: arm64: imx_v8_defconfig: enable AF_ALG interface to Kernel crypto. · 294b973f
      Gaurav Jain authored
      
      Enable configs for AF_ALG socket based interface to Kernel cryptography
      CONFIG_CRYPTO_USER_API_HASH
      CONFIG_CRYPTO_USER_API_SKCIPHER
      CONFIG_CRYPTO_USER_API_AEAD
      
      Signed-off-by: default avatarGaurav Jain <gaurav.jain@nxp.com>
      Reviewed-by: default avatarVarun Sethi <v.sethi@nxp.com>
      Reviewed-by: default avatarSilvano Di Ninno <silvano.dininno@nxp.com>
      294b973f
    • Robin Gong's avatar
      LF-4435: dmaengine: imx-sdma: fix kernel dump during MP3 decoding · d751c3d6
      Robin Gong authored
      
      update base_bd_ptr for channel0 after bd0 descriptor allocated again.
      Otherwise, sdma may hang if the stale/wrong bd0 data touched by channel0
      as below:
      
      [  221.334360] imx-sdma 30e10000.dma-controller: Timeout waiting for CH0 ready
      [  221.341333] imx-sdma 30e10000.dma-controller: save context error!
      [  221.347437] PM: dpm_run_callback(): sdma_suspend+0x0/0x160 returns -110
      [  221.354054] PM: Device 30e10000.dma-controller failed to suspend late: error -110
      [  221.361937] PM: late suspend of devices failed
      [  221.370127] ------------[ cut here ]------------
      [  221.374745] lcdif_pixel_clk already disabled
      [  221.379050] WARNING: CPU: 0 PID: 4510 at drivers/clk/clk.c:952 clk_core_disable+0xa4/0xb0
      [  221.387222] Modules linked in: snvs_ui(O) fsl_jr_uio caam_jr caamkeyblob_desc caamhash_desc caamalg_desc crypto_engine rng_core authenc libdes crct10dif_ce imx8_media_dev(C) flexcan can_dev caam secvio error fuse [last unloaded: snvs_ui]
      [  221.408283] CPU: 0 PID: 4510 Comm: rtc_wakeup.sh Tainted: G         C O      5.10.52-lts-5.10.y+g5788c4507376 #1
      [  221.418451] Hardware name: NXP i.MX8MPlus EVK board (DT)
      [  221.423761] pstate: 40000085 (nZcv daIf -PAN -UAO -TCO BTYPE=--)
      [  221.429764] pc : clk_core_disable+0xa4/0xb0
      [  221.433943] lr : clk_core_disable+0xa4/0xb0
      [  221.438122] sp : ffff800012fdb820
      [  221.441433] x29: ffff800012fdb820 x28: 0000000000000000
      [  221.446743] x27: 0000000000000008 x26: ffff800011621f60
      [  221.452053] x25: ffff0000c4b7f000 x24: ffff80001128d138
      [  221.457364] x23: 0000000000000038 x22: ffff0000c18fea00
      [  221.462674] x21: ffff800011d0ba70 x20: ffff0000c1873a00
      [  221.467984] x19: ffff0000c1873a00 x18: 0000000000000030
      [  221.473294] x17: 0000000000000000 x16: 0000000000000000
      [  221.478604] x15: ffff0000c48d12b8 x14: ffffffffffffffff
      [  221.483913] x13: ffff800011b51780 x12: 000000000000095a
      [  221.489223] x11: 000000000000031e x10: ffff800011ba9780
      [  221.494534] x9 : 00000000fffff000 x8 : ffff800011b51780
      [  221.499844] x7 : ffff800011ba9780 x6 : 0000000000000000
      [  221.505154] x5 : ffff00017f3ee900 x4 : 0000000000000000
      [  221.510464] x3 : 0000000000000027 x2 : 0000000000000023
      [  221.515774] x1 : f7f28654584c0c00 x0 : 0000000000000000
      [  221.521085] Call trace:
      [  221.523529]  clk_core_disable+0xa4/0xb0
      [  221.527363]  clk_disable+0x34/0x50
      [  221.530764]  lcdifv3_set_mode+0x40/0x2f0
      [  221.534685]  lcdifv3_crtc_atomic_enable+0x88/0xcc
      [  221.539387]  drm_atomic_helper_commit_modeset_enables+0x200/0x250
      [  221.545478]  lcdifv3_drm_atomic_commit_tail+0x30/0x70
      [  221.550526]  commit_tail+0xa0/0x180
      [  221.554012]  drm_atomic_helper_commit+0x160/0x390
      [  221.558714]  drm_atomic_commit+0x4c/0x60
      [  221.562633]  drm_atomic_helper_commit_duplicated_state+0xf0/0x10c
      [  221.568723]  drm_atomic_helper_resume+0x94/0x170
      [  221.573338]  drm_mode_config_helper_resume+0x24/0x90
      [  221.578299]  imx_drm_resume+0x14/0x20
      [  221.581959]  platform_pm_resume+0x30/0x70
      [  221.585968]  dpm_run_callback.constprop.0+0x3c/0xe4
      [  221.590842]  device_resume+0x88/0x180
      [  221.594501]  dpm_resume+0xe8/0x220
      [  221.597900]  dpm_resume_end+0x18/0x30
      [  221.601562]  suspend_devices_and_enter+0x1a4/0x5a0
      [  221.606349]  pm_suspend+0x2e0/0x34c
      [  221.609835]  state_store+0x8c/0x110
      [  221.613323]  kobj_attr_store+0x1c/0x30
      [  221.617070]  sysfs_kf_write+0x48/0x60
      [  221.620730]  kernfs_fop_write_iter+0x118/0x1ac
      [  221.625171]  new_sync_write+0xe8/0x180
      [  221.628917]  vfs_write+0x244/0x2a4
      [  221.632316]  ksys_write+0x6c/0x100
      [  221.635714]  __arm64_sys_write+0x20/0x30
      [  221.639636]  el0_svc_common.constprop.0+0x78/0x1a0
      [  221.644423]  do_el0_svc+0x24/0x90
      [  221.647737]  el0_svc+0x14/0x20
      [  221.650789]  el0_sync_handler+0x1a4/0x1b0
      [  221.654796]  el0_sync+0x180/0x1c0
      [  221.658107] ---[ end trace c48b0b0e987f7565 ]---
      [  221.662752] ------------[ cut here ]------------
      
      Signed-off-by: default avatarRobin Gong <yibin.gong@nxp.com>
      Reviewed-by: default avatarShengjiu Wang <shengjiu.wang@nxp.com>
      Acked-by: default avatarJason Liu <jason.hui.liu@nxp.com>
      d751c3d6
    • Kuldeep Singh's avatar
      LF-4255 spi: spi-nxp-fspi: Add quirk to disable DTR support · 7ead3860
      Kuldeep Singh authored
      
      Not all platform currently supports octal DTR mode. This causes flash
      probe failure and therefore, provide an option of quirk
      NXP_FSPI_QUIRK_DISABLE_DTR for platforms not supporting DTR.
      
      Signed-off-by: default avatarKuldeep Singh <kuldeep.singh@nxp.com>
      7ead3860
    • Alice Guo's avatar
      LF-4523 nvmem: imx8ulp: fix the wrong position of the reserved 48 words · 6f72fd5e
      Alice Guo authored
      
      According to the FSB words list, the reserved 48 words are ahead of the
      bank 5.
      
      Reviewed-by: default avatarPeng Fan <peng.fan@nxp.com>
      Signed-off-by: default avatarAlice Guo <alice.guo@nxp.com>
      Acked-by: default avatarJason Liu <jason.hui.liu@nxp.com>
      6f72fd5e
  5. Aug 31, 2021
  6. Aug 30, 2021
    • Hemant Agrawal's avatar
      dts: add LS1046A VSP shared examples · 9d1a301a
      Hemant Agrawal authored
      
      1. fsl-ls1046a-rdb-usdpaa-shared-mac10.dts  - MAC10 as shared port - all
      other ports to DPDK
      
      2. fsl-ls1046a-rdb-shared-mac9-only.dts  - MAC9 as shared port - all
      other ports to LINUX KERNEL
      
      Signed-off-by: default avatarHemant Agrawal <hemant.agrawal@nxp.com>
      9d1a301a
    • Hemant Agrawal's avatar
      dtb: align LS1046A usdpaa-shared file with usdpaa file · a24faf01
      Hemant Agrawal authored
      
      it was missing buffer pool initialization and dma-coherent property
      
      Signed-off-by: default avatarHemant Agrawal <hemant.agrawal@nxp.com>
      a24faf01
    • Nipun Gupta's avatar
      sdk: arm64: dts: reduce usdpaa memory to 4K for LS1046/43 · f9d7708c
      Nipun Gupta authored
      
      This patch reducing the USDPAA reseved memory to 4K.
      In case USDPAA is to be used, 256MB needs to be reserved in the DTS file.
      
      Signed-off-by: default avatarNipun Gupta <nipun.gupta@nxp.com>
      f9d7708c
    • Li Jun's avatar
      LF-4496 arm64: dts: imx8mp-evk: disable u1 and u2 for usb typec port · 5585cf9b
      Li Jun authored
      
      USB device mode u1 acception is enabled by default, this is
      good for power saving if there is no data transfer, if device
      side wants to start transfer while at u1, it can issue link
      change command to wakeup from u1 and transit to u0.
      
      Unfortunately on imx8mp/mq, we found a problem on this wakeup
      from u1, sometimes we need a very long time to transit to u0
      after issue link change command, and the link change path shows
      the actual link change histry is u1->u2->u0, the right link
      change path should be u1->recovery->u0, this issue is still
      under check with Synopsys.
      
      Before the upstream patch commit b624b325
      ("usb: dwc3: gadget: Fix START_TRANSFER link state check")
      merged, dwc3 driver did not check the actual link state for
      u1 and u2, a variable is used to record link state but never been
      set to u1 or u2, so we did not issue wakeup command before
      data transfer even the actual link state is at u1, the internal
      hardware should be able to handle this situation and transit
      to u0, so even a long time is required, we could not observe
      this because there is no error log, or function break on the whole.
      now with the fix commit pulled in, we start to check the real
      link state before every data transfer and issue a wakeup command
      if it is not at u0, if the wakeup can not complete in a polling
      of register read 20000 times, dwc3 driver will throw a warninng
      to user and continue data transfer anyway, so this underlying
      issue is exposed by this console log.
      
      This wakeup timeout issue also brings a side effect, as the
      20000 times register polling is in a spinlock, which will impact
      other module iterrupt handling, considering this, we disable the
      u1 and u2 acception for device mode as a temporary solution before
      this issued is resovled.
      
      Reviewed-by: default avatarHaibo Chen <haibo.chen@nxp.com>
      Signed-off-by: default avatarLi Jun <jun.li@nxp.com>
      Acked-by: default avatarJason Liu <jason.hui.liu@nxp.com>
      5585cf9b
  7. Aug 27, 2021
    • Shengjiu Wang's avatar
      LF-4484: remoteproc: imx-dsp-rproc: Avoid power on device after probe · c397722e
      Shengjiu Wang authored
      
      With multiple power domain case, don't need to use flag
      DL_FLAG_RPM_ACTIVE when device linking, otherwise the power
      is always enabled after probe.
      
      With DSP's case, the power may increase about 20% for whole system
      when DSP is enabled wrongly.
      
      Fixes: d2634e10 ("LF-4209-1: remoteproc: imx_dsp_rproc: add remoteproc driver for dsp")
      Signed-off-by: default avatarShengjiu Wang <shengjiu.wang@nxp.com>
      Reviewed-by: default avatarPeng Zhang <peng.zhang_8@nxp.com>
      Acked-by: default avatarJason Liu <jason.hui.liu@nxp.com>
      c397722e
    • Richard Zhu's avatar
      LF-4336-2 PCI: imx: to solve the compatible issue do perst properly · d46e3cd9
      Richard Zhu authored
      
      PCIe r4.0 sec 6.6.1, Conventional Reset.
      The set of rules addresses requirements placed on the system:
      To allow components to perform internal initialization, system
      software must wait a specified minimum period following the
      end of a Conventional Reset before it is permitted to issue
      Configuration Request to the device immediately below that
      Port.
      - With a Downstream Port that does not support Link speeds greater than
        5.0 GT/s, software must wait a minimum of 100 ms before sending a
        Configuration Request to the device immediately below that Port.
      - With a Downstream Port that supports Link speeds greater than
        5.0 GT/s, software must wait a minimum of 100 ms after Link training
        completes before sending a Configuration Request to the device
        immediately below that Port.
      
      Unfortunately, ther is a compatible link down issue when NEC Corporation
      uPD720200 USB 3.0 Host Controller (rev 04) is used on i.MX7D SDB board.
      When add the 100ms delay just at the end of the reset.
      
      To level up the compatibility and align with the SPEC, add the 100ms
      wait after the end of the PERST# toggle and link is up to fix the link
      down compatible issue when NEC uPD720200 is used on i.MX7D SDB board.
      
      And refer to PCIe r4.0 sec 6.6.1, A component must enter the LTSSM
      Detect state within 20 ms of the end of Fundamental Reset.
      
      To level up the compatibility of i.MX8MP PCIe to support one PLEXTOR
      NVME SSD device. Add one 20ms delay at the end of the PERST# toggle and
      before the start of the link training for i.MX8MP PCIe.
      
      Signed-off-by: default avatarRichard Zhu <hongxing.zhu@nxp.com>
      Reviewed-by: default avatarJun Li <jun.li@nxp.com>
      Acked-by: default avatarJason Liu <jason.hui.liu@nxp.com>
      d46e3cd9
    • Richard Zhu's avatar
      LF-4336-1 Revert "LF-4081 PCI: imx: wait specified minimum period following the end of a reset" · 07822eb2
      Richard Zhu authored
      
      PCIe r4.0 sec 6.6.1, Conventional Reset.
      The set of rules addresses requirements placed on the system:
      To allow components to perform internal initialization, system
      software must wait a specified minimum period following the
      end of a Conventional Reset before it is permitted to issue
      Configuration Request to the device immediately below that
      Port.
      - With a Downstream Port that does not support Link speeds greater than
        5.0 GT/s, software must wait a minimum of 100 ms before sending a
        Configuration Request to the device immediately below that Port.
      - With a Downstream Port that supports Link speeds greater than
        5.0 GT/s, software must wait a minimum of 100 ms after Link training
        completes before sending a Configuration Request to the device
        immediately below that Port.
      
      Unfortunately, ther is a compatible link down issue when NEC Corporation
      uPD720200 USB 3.0 Host Controller (rev 04) is used on i.MX7D SDB board.
      When add the 100ms delay just at the end of the reset.
      
      To level up the compatibility and align with the SPEC, add the 100ms
      wait after the end of the PERST# toggle and link is up.
      
      So, revert the commit 079f7245 ("LF-4081 PCI: imx: wait specified
      minimum period following the end of a reset") firstly.
      
      Signed-off-by: default avatarRichard Zhu <hongxing.zhu@nxp.com>
      Reviewed-by: default avatarJun Li <jun.li@nxp.com>
      Acked-by: default avatarJason Liu <jason.hui.liu@nxp.com>
      07822eb2
  8. Aug 24, 2021
  9. Aug 23, 2021
    • Liu Ying's avatar
      LF-4322 drm/imx: dcnano: Avoid double modeset · 6f752c18
      Liu Ying authored
      
      When running the below system suspend/resume test case on
      i.MX8ulp EVK platform with the RM68200 MIPI DSI panel enabled,
      DCNANO display controller power usage count and pixel clock enable
      count would be unbalanced when the DRM connector's DPMS property
      is changed from off to on after system resumes, if the DPMS property
      is off before system suspends.  The root cause is that the
      crtc_helper_funcs->mode_set_nofb() is called twice during the
      procedure without crtc disablement, one at system resume stage and
      one for DPMS on operation.  That means the pm_runtime_get_sync()
      would be called twice at that function and pixel clock would be
      enabled twice as well.  This patch introduces a flag to indicate
      if the modeset is done or not to avoid the doulbe modeset so that
      the reference counts are balanced.
      
      while true; do modetest -M imx-dcnano -w 34:DPMS:3; done &
      while true; do /unit_tests/SRTC/rtcwakeup.out -s 2 -m mem; done
      
      Fixes: ce68244e ("MLK-25531-2 drm/imx: Add dcnano drm support")
      Cc: Sandor Yu <Sandor.yu@nxp.com>
      Reviewed-by: default avatarSandor Yu <Sandor.yu@nxp.com>
      Signed-off-by: default avatarLiu Ying <victor.liu@nxp.com>
      Acked-by: default avatarJason Liu <jason.hui.liu@nxp.com>
      6f752c18
    • Liu Ying's avatar
      LF-4321 drm/bridge: nwl-dsi: Avoid double modeset · 755ee35f
      Liu Ying authored
      
      When running the below system suspend/resume test case on
      i.MX8ulp EVK platform with RM68200 MIPI DSI panel enabled,
      panel register access would fail when the DRM connector's
      DPMS property is changed from off to on after system resumes,
      if the DPMS property is off before system suspends.
      The root cause is that the bridge_funcs->mode_set() is called
      twice during the procedure without bridge disablement, one at
      system resume stage and one for DPMS on operation.  That means
      the MIPI DPHY is not powered down during the procedure and
      initialized/powered on twice.  As the PHY core driver takes
      reference count for the power on operation, the second power
      on operation doesn't take effect, hence the DPHY stays at
      the initialization status.  This patch introduces a flag to
      indicate if the modeset is done or not to avoid the doulbe
      modeset so that the DPHY will be active when the panel registers
      are accessed.
      
      while true; do modetest -M imx-dcnano -w 34:DPMS:3; done &
      while true; do /unit_tests/SRTC/rtcwakeup.out -s 2 -m mem; done
      
      Fixes: 120ffd6b ("MLK-25574-4 drm/bridge: nwl-dsi: Get MIPI DSI controller and PHY ready in ->mode_set()")
      Cc: Sandor Yu <Sandor.yu@nxp.com>
      Reported-by: default avatarZhang Bo <bo.zhang@nxp.com>
      Reviewed-by: default avatarSandor Yu <Sandor.yu@nxp.com>
      Signed-off-by: default avatarLiu Ying <victor.liu@nxp.com>
      Acked-by: default avatarJason Liu <jason.hui.liu@nxp.com>
      755ee35f
  10. Aug 20, 2021
  11. Aug 18, 2021
  12. Aug 13, 2021
  13. Aug 12, 2021
Loading