Skip to content
Snippets Groups Projects
  1. Feb 11, 2022
  2. Sep 30, 2021
  3. Sep 24, 2021
  4. May 14, 2021
  5. May 11, 2021
  6. May 07, 2021
  7. May 06, 2021
  8. Apr 29, 2021
    • Robert Chiras's avatar
      MLK-25444: arch: arm64: dts: imx8dxl: Fix lcdif nodes · 7f41e923
      Robert Chiras authored
      
      When booting with lcdif dtb file, the pca6416_3 interrupt controller
      keeps sending interrupts that are not handled by anyone. Apparently this
      was caused by the removal of some pinctrls unrelated to LCDIF, when
      removing the pinctrl for IMX8DXL_SPI3_CS0_ADMA_ACM_MCLK_OUT1.
      In order to fix this, add those pinctrls back, so that only the
      definition for IMX8DXL_SPI3_CS0_ADMA_ACM_MCLK_OUT1 is overwritten.
      Also, remove the disabling of lpspi3, since that node doesn't have any
      conflict with LCDIF.
      
      Fixes: 6024c8cb ("arch: arm64: dts: im8dxl: add lcdif dts file")
      Signed-off-by: default avatarRobert Chiras <robert.chiras@nxp.com>
      Reviewed-by: default avatarLaurentiu Palcu <laurentiu.palcu@oss.nxp.com>
      7f41e923
  9. Apr 15, 2021
  10. Apr 14, 2021
    • Peng Fan's avatar
      clk: imx: add mux ops for i.MX8M composite clk · 6dfcf49c
      Peng Fan authored
      
      The CORE/BUS root slice has following design, simplied graph:
      The difference is core not have pre_div block.
      A composite core/bus clk has 8 inputs for mux to select, saying clk[0-7].
      
      It support target(smart) interface and normal interface. Target interface
      is exported for programmer easy to configure ccm root. Normal interface
      is also exported, but we not use it in our driver, because it will
      introduce more complexity compared with target interface.
      
      The normal interface simplified as below:
                  SEL_A  GA
                  +--+  +-+
                  |  +->+ +------+
      CLK[0-7]--->+  |  +-+      |
             |    |  |      +----v---+    +----+
             |    +--+      |pre_diva+---->    |  +---------+
             |              +--------+    |mux +--+post_div |
             |    +--+      |pre_divb+--->+    |  +---------+
             |    |  |      +----^---+    +----+
             +--->+  |  +-+      |
                  |  +->+ +------+
                  +--+  +-+
                  SEL_B  GB
      
      The mux in the upper pic is not the target interface MUX, target
      interface MUX is hiding SEL_A and SEL_B. When you choose clk[0-7],
      you are actually writing SEL_A or SEL_B depends on the internal
      counter which will also control the internal "mux".
      
      The target interface simplified as below which is used by Linux Kernel:
      CLK[0-7]--->MUX-->Gate-->pre_div-->post_div
      
      A requirement of the Target Interface's software is that the
      target clock source is active, it means when setting SEL_A, the
      current input clk to SEL_A must be active, same to SEL_B.
      
      We touch target interface, but hardware logic actually also need
      configure normal interface.
      
      There will be system hang, when doing the following steps:
      The initial state:
        SEL_A/SEL_B are both sourcing from clk0, the internal counter
        choose SEL_A.
      1. switch mux from clk0 to clk1
         The hardware logic will choose SEL_B and configure SEL_B to clk1.
         SEL_A no changed.
      2. gate off clk0
         Disable clk0, then the input to SEL_A is off.
      3. swtich from clk1 to clk2
         The hardware logic will choose SEL_A and configure SEL_A to clk2,
         however the current SEL_A input clk0 is off, the system hang.
      
      The solution to fix the issue is in step 1, write twice to
      target interface MUX, it will make SEL_A/SEL_B both sources
      from clk1, then no need to care about the state of clk0. And
      finally system performs well.
      
      Signed-off-by: default avatarPeng Fan <peng.fan@nxp.com>
      Reviewed-by: default avatarDong Aisheng <aisheng.dong@nxp.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      Signed-off-by: default avatarJacky Bai <ping.bai@nxp.com>
      6dfcf49c
    • Guoniu.zhou's avatar
      LF-3623: media: imx8: isi: fix Can't match soc version · b686cecd
      Guoniu.zhou authored
      
      ISI core driver depend on soc version info but driver provided the info
      is not ready when ISI core driver probe, so return -EPROBE_DEFER replaced
      with -EINVAL.
      
      Signed-off-by: default avatarGuoniu.zhou <guoniu.zhou@nxp.com>
      Reviewed-by: default avatarRobby Cai <robby.cai@nxp.com>
      b686cecd
  11. Apr 13, 2021
  12. Apr 02, 2021
  13. Mar 30, 2021
  14. Mar 29, 2021
  15. Mar 26, 2021
  16. Mar 25, 2021
  17. Mar 12, 2021
  18. Mar 10, 2021
    • Robby Cai's avatar
      MLK-25335 dma: pxp: fix kernel dump for pxp device · 65430960
      Robby Cai authored
      
      dma API(s) can't use NULL device because of following patch:
      
      d7e02a93 dma-mapping: remove leftover NULL device support
      
      this patch uses pxp_dev instead of NULL device to resolve kernel dump.
      
      [  445.484900] 8<--- cut here ---
      [  445.488002] Unable to handle kernel NULL pointer dereference at virtual address 0000015c
      [  445.512965] pgd = 2afadd37
      [  445.515707] [0000015c] *pgd=00000000
      [  445.521436] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
      [  445.526776] Modules linked in: 8021q mx6s_capture ov5640_camera_v2
      [  445.532993] CPU: 0 PID: 2117 Comm: vqueue:src Not tainted 5.4.70-2.3.0+g4f2631b022d8 #1
      [  445.541006] Hardware name: Freescale i.MX6 Ultralite (Device Tree)
      [  445.547214] PC is at pxp_device_ioctl+0xc64/0xe80
      [  445.551933] LR is at pxp_buffer_object_lookup+0x30/0x38
      [  445.557169] pc : [<80550e20>]    lr : [<8054fd00>]    psr: 60000013
      [  445.563446] sp : 93bffea8  ip : 908a03ac  fp : 76957ff8
      [  445.568681] r10: 00000036  r9 : 93bfe000  r8 : 93b04540
      [  445.573917] r7 : 939d78c0  r6 : 80085007  r5 : 939d77c0  r4 : 00000000
      [  445.580454] r3 : 00000001  r2 : 00000000  r1 : 00000002  r0 : 939d77c0
      [  445.586993] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
      [  445.594140] Control: 10c5387d  Table: 93bd806a  DAC: 00000051
      [  445.599904] Process vqueue:src (pid: 2117, stack limit = 0xcf85841b)
      [  445.606270] Stack: (0x93bffea8 to 0x93c00000)
      [  445.610645] fea0:                   73800000 8020a840 93ab8800 81304f08 739bc000 93ab8800
      [  445.618841] fec0: 93b8f840 739bc000 93b0fa80 8020eddc 93ab8800 00000002 00000001 00100c00
      [  445.627037] fee0: 00000000 93bffee8 00000000 81304f08 00000008 741d7ff4 926428d0 80085007
      [  445.635234] ff00: 741d7ff4 93b04540 93bfe000 00000036 76957ff8 80256c3c 93ab8800 0000010a
      [  445.643430] ff20: 00000106 00000000 00000000 93b8f840 00000001 80210c20 000001e7 00000000
      [  445.651626] ff40: 0009a100 93b8f848 93bfff54 0001c200 93bfff7c 00000001 93b04540 0000000b
      [  445.659822] ff60: 00000001 00004000 93adc200 81304f08 93b04541 0000000b 80085007 741d7ff4
      [  445.668019] ff80: 93b04540 93bfe000 00000036 8025716c 75742980 743caee0 01a152e0 00000036
      [  445.676214] ffa0: 80101204 80101000 75742980 743caee0 0000000b 80085007 741d7ff4 743cb004
      [  445.684410] ffc0: 75742980 743caee0 01a152e0 00000036 00000002 741d8064 741d81d4 76957ff8
      [  445.692605] ffe0: 743caf40 741d7fd4 743b88d1 76d2cfe8 80000030 0000000b 00000000 00000000
      [  445.700820] [<80550e20>] (pxp_device_ioctl) from [<80256c3c>] (do_vfs_ioctl+0x404/0x900)
      [  445.708936] [<80256c3c>] (do_vfs_ioctl) from [<8025716c>] (ksys_ioctl+0x34/0x60)
      [  445.716355] [<8025716c>] (ksys_ioctl) from [<80101000>] (ret_fast_syscall+0x0/0x54)
      [  445.724023] Exception stack(0x93bfffa8 to 0x93bffff0)
      [  445.729091] ffa0:                   75742980 743caee0 0000000b 80085007 741d7ff4 743cb004
      [  445.737287] ffc0: 75742980 743caee0 01a152e0 00000036 00000002 741d8064 741d81d4 76957ff8
      [  445.745477] ffe0: 743caf40 741d7fd4 743b88d1 76d2cfe8
      [  445.750550] Code: e595100c e3a00000 e12fff34 eafffd39 (e594315c)
      [  445.773509] ---[ end trace a4bb9353c99e0cef ]---
      
      Signed-off-by: default avatarRobby Cai <robby.cai@nxp.com>
      Reviewed-by: default avatarG.n. Zhou <guoniu.zhou@nxp.com>
      65430960
    • Robby Cai's avatar
      MLK-25337 ARM64: dts: imx8mp: fix build break for dtbs · aa26d4f3
      Robby Cai authored
      
      The commit af20fa80 introduced a break when cherry-pick from mainline.
      
      make[3]: *** No rule to make target 'arch/arm64/boot/dts/freescale/imx8mp-evk-iqaudio-dacplus.dtb', needed by '__build'.  Stop.
      make[3]: *** Waiting for unfinished jobs....
        DTC     arch/arm64/boot/dts/freescale/imx8mp-evk-dual-basler.dtb
      make[2]: *** [../scripts/Makefile.build:500: arch/arm64/boot/dts/freescale] Error 2
      make[1]: *** [/home/nxa14866/ProjectA/linux-imx_bk/Makefile:1269: dtbs] Error 2
      make[1]: Leaving directory '/home/nxa14866/ProjectA/linux-imx_bk/build_v8'
      make: *** [Makefile:179: sub-make] Error 2
      
      The patch removed build for imx8mp-evk-iqaudio-dacplus.dtb because it's not in this branch.
      
      Signed-off-by: default avatarRobby Cai <robby.cai@nxp.com>
      aa26d4f3
    • Richard Zhu's avatar
      LF-3103 phy: freescale: pcie: fix the imx8mp evk ep rc link degrade issue · fd8e0e42
      Richard Zhu authored
      
      Refine commit 17db82300f80 ("MLK-25089 phy: freescale: pcie: fix the
      imx8mp evk ep rc link speed issue")
      Fine tune the PHY parameters, let the PCIe link up to GEN3 between two
      i.MX865 EVK boards in the i.MX EP RC validation system.
      
      Since this fine tuned is only specified for EVK boards. Add the command
      parameter to specify it when do the EP RC tests between two i.MX8MP EVK
      boards. Use the "pcie_phy_tuned=yes" to enable the PHY fine-tune.
      
      Signed-off-by: default avatarRichard Zhu <hongxing.zhu@nxp.com>
      Reviewed-by: default avatarPeter Chen <peter.chen@nxp.com>
      (cherry picked from commit 2ab5581a1448bf24a37f8082ffe725a54ce09b5e)
      fd8e0e42
Loading