1. 02 Nov, 2019 1 commit
    • Olof Johansson's avatar
      Merge tag 'imx-fixes-5.4-2' of... · 70a7274a
      Olof Johansson authored
      Merge tag 'imx-fixes-5.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes
      
      i.MX fixes for 5.4, 2nd round:
       - Get SNVS power key back to work for imx6-logicpd board. It was
         accidentally disabled by commit 770856f0 ("ARM: dts: imx6qdl:
         Enable SNVS power key according to board design").
       - Fix sparse warnings in IMX GPC driver by making the initializers
         in imx_gpc_domains C99 format.
       - Fix an interrupt storm coming from accelerometer on imx6qdl-sabreauto
         board. This is seen with upstream version U-Boot where pinctrl is not
         configured for the device.
       - Fix sdma device compatible string for i.MX8MM and i.MX8MN SoC.
       - Fix compatible of PCA9547 i2c-mux on LS1028A QDS board to get the
         device probed correctly.
      
      * tag 'imx-fixes-5.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
        arm64: dts: imx8mn: fix compatible string for sdma
        arm64: dts: imx8mm: fix compatible string for sdma
        ARM: dts: imx6-logicpd: Re-enable SNVS power key
        soc: imx: gpc: fix initialiser format
        ARM: dts: imx6qdl-sabreauto: Fix storm of accelerometer interrupts
        arm64: dts: ls1028a: fix a compatible issue
      
      Link: https://lore.kernel.org/r/20191029110334.GA20928@dragonSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      70a7274a
  2. 28 Oct, 2019 5 commits
  3. 26 Oct, 2019 2 commits
    • Ben Dooks's avatar
      soc: imx: gpc: fix initialiser format · 96ed1044
      Ben Dooks authored
      Make the initialiers in imx_gpc_domains C99 format to fix the
      following sparse warnings:
      
      drivers/soc/imx/gpc.c:252:30: warning: obsolete array initializer, use C99 syntax
      drivers/soc/imx/gpc.c:258:29: warning: obsolete array initializer, use C99 syntax
      drivers/soc/imx/gpc.c:269:34: warning: obsolete array initializer, use C99 syntax
      drivers/soc/imx/gpc.c:278:30: warning: obsolete array initializer, use C99 syntax
      Signed-off-by: default avatarBen Dooks <ben.dooks@codethink.co.uk>
      Reviewed-by: default avatarLucas Stach <l.stach@pengutronix.de>
      Fixes: b0682d48 ("soc: imx: gpc: use GPC_PGC_DOMAIN_* indexes")
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      96ed1044
    • Fabio Estevam's avatar
      ARM: dts: imx6qdl-sabreauto: Fix storm of accelerometer interrupts · 7e5d0bf6
      Fabio Estevam authored
      Since commit a211b8c5 ("ARM: dts: imx6qdl-sabreauto: Add sensors")
      a storm of accelerometer interrupts is seen:
      
      [  114.211283] irq 260: nobody cared (try booting with the "irqpoll" option)
      [  114.218108] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.3.4 #1
      [  114.223960] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
      [  114.230531] [<c0112858>] (unwind_backtrace) from [<c010cdc8>] (show_stack+0x10/0x14)
      [  114.238301] [<c010cdc8>] (show_stack) from [<c0c1aa1c>] (dump_stack+0xd8/0x110)
      [  114.245644] [<c0c1aa1c>] (dump_stack) from [<c0193594>] (__report_bad_irq+0x30/0xc0)
      [  114.253417] [<c0193594>] (__report_bad_irq) from [<c01933ac>] (note_interrupt+0x108/0x298)
      [  114.261707] [<c01933ac>] (note_interrupt) from [<c018ffe4>] (handle_irq_event_percpu+0x70/0x80)
      [  114.270433] [<c018ffe4>] (handle_irq_event_percpu) from [<c019002c>] (handle_irq_event+0x38/0x5c)
      [  114.279326] [<c019002c>] (handle_irq_event) from [<c019438c>] (handle_level_irq+0xc8/0x154)
      [  114.287701] [<c019438c>] (handle_level_irq) from [<c018eda0>] (generic_handle_irq+0x20/0x34)
      [  114.296166] [<c018eda0>] (generic_handle_irq) from [<c0534214>] (mxc_gpio_irq_handler+0x30/0xf0)
      [  114.304975] [<c0534214>] (mxc_gpio_irq_handler) from [<c0534334>] (mx3_gpio_irq_handler+0x60/0xb0)
      [  114.313955] [<c0534334>] (mx3_gpio_irq_handler) from [<c018eda0>] (generic_handle_irq+0x20/0x34)
      [  114.322762] [<c018eda0>] (generic_handle_irq) from [<c018f3ac>] (__handle_domain_irq+0x64/0xe0)
      [  114.331485] [<c018f3ac>] (__handle_domain_irq) from [<c05215a8>] (gic_handle_irq+0x4c/0xa8)
      [  114.339862] [<c05215a8>] (gic_handle_irq) from [<c0101a70>] (__irq_svc+0x70/0x98)
      [  114.347361] Exception stack(0xc1301ec0 to 0xc1301f08)
      [  114.352435] 1ec0: 00000001 00000006 00000000 c130c340 00000001 c130f688 9785636d c13ea2e8
      [  114.360635] 1ee0: 9784907d 0000001a eaf99d78 0000001a 00000000 c1301f10 c0182b00 c0878de4
      [  114.368830] 1f00: 20000013 ffffffff
      [  114.372349] [<c0101a70>] (__irq_svc) from [<c0878de4>] (cpuidle_enter_state+0x168/0x5f4)
      [  114.380464] [<c0878de4>] (cpuidle_enter_state) from [<c08792ac>] (cpuidle_enter+0x28/0x38)
      [  114.388751] [<c08792ac>] (cpuidle_enter) from [<c015ef9c>] (do_idle+0x224/0x2a8)
      [  114.396168] [<c015ef9c>] (do_idle) from [<c015f3b8>] (cpu_startup_entry+0x18/0x20)
      [  114.403765] [<c015f3b8>] (cpu_startup_entry) from [<c1200e54>] (start_kernel+0x43c/0x500)
      [  114.411958] handlers:
      [  114.414302] [<a01028b8>] irq_default_primary_handler threaded [<fd7a3b08>] mma8452_interrupt
      [  114.422974] Disabling IRQ #260
      
                 CPU0       CPU1
      ....
      260:     100001          0  gpio-mxc  31 Level     mma8451
      
      The MMA8451 interrupt triggers as low level, so the GPIO6_IO31 pin
      needs to activate its pull up, otherwise it will stay always at low level
      generating multiple interrupts.
      
      The current device tree does not configure the IOMUX for this pin, so
      it uses whathever comes configured from the bootloader.
      
      The IOMUXC_SW_PAD_CTL_PAD_EIM_BCLK register value comes as 0x8000 from
      the bootloader, which has PKE bit cleared, hence disabling the
      pull-up.
      
      Instead of relying on a previous configuration from the bootloader,
      configure the GPIO6_IO31 pin with pull-up enabled in order to fix
      this problem.
      
      Fixes: a211b8c5 ("ARM: dts: imx6qdl-sabreauto: Add sensors")
      Signed-off-by: default avatarFabio Estevam <festevam@gmail.com>
      Reviewed-By: default avatarLeonard Crestez <leonard.crestez@nxp.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      7e5d0bf6
  4. 25 Oct, 2019 2 commits
  5. 24 Oct, 2019 6 commits
  6. 23 Oct, 2019 3 commits
  7. 22 Oct, 2019 1 commit
    • Kishon Vijay Abraham I's avatar
      reset: Fix memory leak in reset_control_array_put() · 532f9cd6
      Kishon Vijay Abraham I authored
      Memory allocated for 'struct reset_control_array' in
      of_reset_control_array_get() is never freed in
      reset_control_array_put() resulting in kmemleak showing
      the following backtrace.
      
        backtrace:
          [<00000000c5f17595>] __kmalloc+0x1b0/0x2b0
          [<00000000bd499e13>] of_reset_control_array_get+0xa4/0x180
          [<000000004cc02754>] 0xffff800008c669e4
          [<0000000050a83b24>] platform_drv_probe+0x50/0xa0
          [<00000000d3a0b0bc>] really_probe+0x108/0x348
          [<000000005aa458ac>] driver_probe_device+0x58/0x100
          [<000000008853626c>] device_driver_attach+0x6c/0x90
          [<0000000085308d19>] __driver_attach+0x84/0xc8
          [<00000000080d35f2>] bus_for_each_dev+0x74/0xc8
          [<00000000dd7f015b>] driver_attach+0x20/0x28
          [<00000000923ba6e6>] bus_add_driver+0x148/0x1f0
          [<0000000061473b66>] driver_register+0x60/0x110
          [<00000000c5bec167>] __platform_driver_register+0x40/0x48
          [<000000007c764b4f>] 0xffff800008c6c020
          [<0000000047ec2e8c>] do_one_initcall+0x5c/0x1b0
          [<0000000093d4b50d>] do_init_module+0x54/0x1d0
      
      Fixes: 17c82e20 ("reset: Add APIs to manage array of resets")
      Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      532f9cd6
  8. 21 Oct, 2019 7 commits
  9. 18 Oct, 2019 5 commits
    • Stefan Wahren's avatar
      ARM: dts: bcm2837-rpi-cm3: Avoid leds-gpio probing issue · 626c45d2
      Stefan Wahren authored
      bcm2835-rpi.dtsi defines the behavior of the ACT LED, which is available
      on all Raspberry Pi boards. But there is no driver for this particual
      GPIO on CM3 in mainline yet, so this node was left incomplete without
      the actual GPIO definition. Since commit 025bf377 ("gpio: Fix return
      value mismatch of function gpiod_get_from_of_node()") this causing probe
      issues of the leds-gpio driver for users of the CM3 dtsi file.
      
        leds-gpio: probe of leds failed with error -2
      
      Until we have the necessary GPIO driver hide the ACT node for CM3
      to avoid this.
      Reported-by: default avatarFredrik Yhlen <fredrik.yhlen@endian.se>
      Signed-off-by: default avatarStefan Wahren <wahrenst@gmx.net>
      Fixes: a54fe8a6 ("ARM: dts: add Raspberry Pi Compute Module 3 and IO board")
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      626c45d2
    • Tony Lindgren's avatar
      Merge branch 'watchdog-fix' into fixes · 6aed5a0e
      Tony Lindgren authored
      6aed5a0e
    • Tony Lindgren's avatar
      bus: ti-sysc: Fix watchdog quirk handling · c7d8669f
      Tony Lindgren authored
      I noticed that when probed with ti-sysc, watchdog can trigger on am3, am4
      and dra7 causing a device reset.
      
      Turns out I made several mistakes implementing the watchdog quirk handling:
      
      1. We must do both writes to spr register
      
      2. We must also call the reset quirk on disable
      
      3. On am3 and am4 we need to also set swsup quirk flag
      
      I probably only tested this earlier with watchdog service running when the
      watchdog never gets disabled.
      
      Fixes: 4e23be47 ("bus: ti-sysc: Add support for module specific reset quirks")
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      c7d8669f
    • Suman Anna's avatar
      ARM: OMAP2+: Add pdata for OMAP3 ISP IOMMU · 0af3e1a4
      Suman Anna authored
      The OMAP3 ISP IOMMU does not have any reset lines, so it didn't
      need any pdata previously. The OMAP IOMMU driver now requires the
      platform data ops for device_enable/idle on all the IOMMU devices
      after commit db8918f6 ("iommu/omap: streamline enable/disable
      through runtime pm callbacks") to enable/disable the clocks properly
      and maintain the reference count and the omap_hwmod state machine.
      So, add these callbacks through iommu pdata quirks for the OMAP3
      ISP IOMMU.
      Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      0af3e1a4
    • Suman Anna's avatar
      ARM: OMAP2+: Plug in device_enable/idle ops for IOMMUs · 19feeee5
      Suman Anna authored
      The OMAP IOMMU driver requires the device_enable/idle platform
      data ops on all the IOMMU devices to be able to enable and disable
      the clocks after commit db8918f6 ("iommu/omap: streamline
      enable/disable through runtime pm callbacks"). Plug in these
      pdata ops for all the existing IOMMUs through pdata quirks to
      maintain functionality.
      Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      19feeee5
  10. 17 Oct, 2019 2 commits
  11. 16 Oct, 2019 1 commit
  12. 15 Oct, 2019 1 commit
  13. 14 Oct, 2019 4 commits