1. 24 Jun, 2021 2 commits
    • Olof Johansson's avatar
      Merge tag 'ixp4xx-arm-soc-v5.14' of... · 95ef7152
      Olof Johansson authored
      Merge tag 'ixp4xx-arm-soc-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into arm/soc
      
      This is a major chunk of IXP4xx modernization:
      
      - Fist we move some registers around to make room for
        the predetermined PCI I/O space.
      
      - Then we add some Kconfig options to make it possible
        to use the old PCI driver in parallell with the new
        shiny one.
      
      - Then we add the new PCI driver and some bindings for
        it.
      
      - On top of this we add an (ages old) patch from Arnd
        that centralize the CPU/SoC detection in drivers/soc
        and make the header a standard Linux header to avoid
        the <mach/*> business in drivers.
      
      - Then we split out and modernize some platform data
        headers for pata, and hwrandom, and top it up with
        DT bindings and support for hwrandom.
      
      * tag 'ixp4xx-arm-soc-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
        ixp4xx: fix spelling mistake in Kconfig "Devce" -> "Device"
        hw_random: ixp4xx: Add OF support
        hw_random: ixp4xx: Add DT bindings
        hw_random: ixp4xx: Turn into a module
        hw_random: ixp4xx: Use SPDX license tag
        hw_random: ixp4xx: enable compile-testing
        pata: ixp4xx: split platform data to its own header
        soc: ixp4xx: move cpu detection to linux/soc/ixp4xx/cpu.h
        PCI: ixp4xx: Add a new driver for IXP4xx
        PCI: ixp4xx: Add device tree bindings for IXP4xx
        ARM/ixp4xx: Make NEED_MACH_IO_H optional
        ARM/ixp4xx: Move the virtual IObases
      
      Link: https://lore.kernel.org/r/CACRpkdbw6HSpp7k6q1FYGmtafLmdAu8bFnpHQOdfBDYYsdLbkw@mail.gmail.comSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      95ef7152
    • Olof Johansson's avatar
      Merge tag 'omap-for-v5.14/fixes-not-urgent-signed' of... · 6b4670af
      Olof Johansson authored
      Merge tag 'omap-for-v5.14/fixes-not-urgent-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc
      
      Non-urgent fixes for omaps for v5.14 merge window
      
      Warn and block suspend for am335x unless the PM related modules and
      firmware are loaded and warn otherwise. Otherwise we easily end up
      with a suspended system with nothing capable of waking it up.
      
      We also drop a duplicated prototype for am33xx_init_early().
      
      * tag 'omap-for-v5.14/fixes-not-urgent-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: OMAP2+: Block suspend for am3 and am4 if PM is not configured
        ARM: OMAP2+: remove duplicated prototype
        ARM: dts: dra7: Fix duplicate USB4 target module node
        ARM: OMAP1: ams-delta: remove unused function ams_delta_camera_power
        bus: ti-sysc: Fix flakey idling of uarts and stop using swsup_sidle_act
        bus: ti-sysc: Fix am335x resume hang for usb otg module
        ARM: OMAP2+: Fix build warning when mmc_omap is not built
        ARM: OMAP1: isp1301-omap: Add missing gpiod_add_lookup_table function
        ARM: OMAP1: Fix use of possibly uninitialized irq variable
        bus: ti-sysc: Fix missing quirk flags for sata
      
      Link: https://lore.kernel.org/r/pull-1624002812-396117@atomide.comSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      6b4670af
  2. 17 Jun, 2021 9 commits
  3. 16 Jun, 2021 3 commits
    • Linus Walleij's avatar
      PCI: ixp4xx: Add device tree bindings for IXP4xx · ace5219f
      Linus Walleij authored
      This adds device tree bindings for the Intel IXP4xx
      PCI controller which can be used as both host and
      option.
      
      Cc: devicetree@vger.kernel.org
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Imre Kaloz <kaloz@openwrt.org>
      Cc: Krzysztof Halasa <khalasa@piap.pl>
      Cc: Zoltan HERPAI <wigyori@uid0.hu>
      Cc: Raylynn Knight <rayknight@me.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      ace5219f
    • Linus Walleij's avatar
      ARM/ixp4xx: Make NEED_MACH_IO_H optional · d5d9f7ac
      Linus Walleij authored
      In order to create a proper PCI driver for the IXP4xx
      we need to make the old PCI driver and its reliance
      on <mach/io.h> optional.
      
      Create a new Kconfig symbol for the legacy PCI driver
      IXP4XX_PCI_LEGACY and only activate NEED_MACH_IO_H
      for this driver.
      
      A few files need to be adjusted to explicitly include
      the <mach/hardware.h> and <mach/cpu.h> headers that
      they previously obtained implicitly using <linux/io.h>
      that would include <mach/io.h> and in turn include
      these two headers.
      
      This breaks our reliance on the old PCI and indirect
      PCI support so we can reimplement a proper purely
      DT-based driver in the PCI subsystem.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Imre Kaloz <kaloz@openwrt.org>
      Cc: Krzysztof Halasa <khalasa@piap.pl>
      Cc: Zoltan HERPAI <wigyori@uid0.hu>
      Cc: Raylynn Knight <rayknight@me.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      d5d9f7ac
    • Linus Walleij's avatar
      ARM/ixp4xx: Move the virtual IObases · 713ce38d
      Linus Walleij authored
      UART1, UART2 and the expansion bus config registers
      are the only registers mapped in a fixed location
      when using device tree.
      
      For device tree we also want to get rid of the custom
      <mach/io.h> for IXP4xx. So we need to undefine
      CONFIG_NEED_MACH_IO_H. Doing that activates the fixed
      mapping of the PCI IO space to PCI_IO_VIRT_BASE which
      is hardcoded to 0xFEE00000 and this would collide with
      the old fixed mappings.
      
      Move the fixed virtual IO base address from 0xFEF00000
      to 0xFEC00000 in order to avoid the collision.
      
      For the OF-only boot path let's even cut the reliance
      on <mach/io.h> and just hardcode the one single virtbase
      we need apart from the UART, which is hardcoded in
      Kconfig.debug.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Imre Kaloz <kaloz@openwrt.org>
      Cc: Krzysztof Halasa <khalasa@piap.pl>
      Cc: Zoltan HERPAI <wigyori@uid0.hu>
      Cc: Raylynn Knight <rayknight@me.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      713ce38d
  4. 15 Jun, 2021 4 commits
  5. 12 Jun, 2021 5 commits
  6. 11 Jun, 2021 4 commits
  7. 02 Jun, 2021 4 commits
    • Yang Yingliang's avatar
      soc/tegra: fuse: Don't return -ENOMEM when allocate lookups failed · 854d128b
      Yang Yingliang authored
      fuse->base can not be unmapped if allocate lookups failed in
      tegra_init_fuse(), because it is an early_initcall, the driver
      will be loaded anyway and fuse->base will be accessed by other
      functions later, so remove the return -ENOMEM after allocating
      lookups failed to make less confusing.
      Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
      [treding@nvidia.com: drop error message, out-of-memory is noisy anyway]
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      854d128b
    • Dmitry Osipenko's avatar
      soc/tegra: regulators: Support core domain state syncing · 029f7e24
      Dmitry Osipenko authored
      The core voltage shall not drop until state of core domain is synced,
      i.e. all device drivers that use core domain are loaded and ready.
      
      Support core domain state syncing. The core domain driver invokes the
      core-regulator voltage syncing once the state of domain is synced, at
      this point the core voltage is allowed to go lower than the level left
      after bootloader.
      
      Tested-by: Peter Geis <pgwipeout@gmail.com> # Ouya T30
      Tested-by: Paul Fertser <fercerpav@gmail.com> # PAZ00 T20
      Tested-by: Nicolas Chauvet <kwizart@gmail.com> # PAZ00 T20 and TK1 T124
      Tested-by: Matt Merhar <mattmerhar@protonmail.com> # Ouya T30
      Reviewed-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      029f7e24
    • Dmitry Osipenko's avatar
      soc/tegra: pmc: Add driver state syncing · 41bafa69
      Dmitry Osipenko authored
      Add driver state syncing that is invoked once all PMC consumers are
      attached and ready. The consumers are the power domain clients.
      The synchronization callback is invoked once all client drivers are
      probed, the driver core handles this for us. This callback informs
      PMC driver that all voltage votes are initialized by each PD client
      and it's safe to begin voltage scaling of the core power domain.
      Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Reviewed-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      [treding@nvidia.com: squash DT backwards-compatibility patch]
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      41bafa69
    • Dmitry Osipenko's avatar
      soc/tegra: pmc: Add core power domain · f880ee9e
      Dmitry Osipenko authored
      NVIDIA Tegra SoCs have multiple power domains, each domain corresponds
      to an external SoC power rail. Core power domain covers vast majority of
      hardware blocks within a Tegra SoC. The voltage of a power domain should
      be set to a level which satisfies all devices within the power domain.
      Add support for the core power domain which controls voltage state of the
      domain. This allows us to support system-wide DVFS on Tegra20-210 SoCs.
      The PMC powergate domains now are sub-domains of the core domain, this
      requires device-tree updating, older DTBs are unaffected and will continue
      to work as before.
      
      Tested-by: Peter Geis <pgwipeout@gmail.com> # Ouya T30
      Tested-by: Paul Fertser <fercerpav@gmail.com> # PAZ00 T20
      Tested-by: Nicolas Chauvet <kwizart@gmail.com> # PAZ00 T20 and TK1 T124
      Tested-by: Matt Merhar <mattmerhar@protonmail.com> # Ouya T30
      Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Reviewed-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      [treding@nvidia.com: squash lockdep class removal patch]
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      f880ee9e
  8. 01 Jun, 2021 6 commits
  9. 27 May, 2021 2 commits
  10. 26 May, 2021 1 commit