1. 29 Apr, 2019 4 commits
    • Olof Johansson's avatar
      Merge tag 'samsung-soc-5.2' of... · e5a0be94
      Olof Johansson authored
      Merge tag 'samsung-soc-5.2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/soc
      
      Samsung mach/soc changes for v5.2
      
      1. Cleanup in mach code.
      2. Add necessary fixes for Suspend to RAM on Exynos5422 boards (tested
         with Odroid XU3/XU4/HC1 family).  Finally this brings a working S2R
         on these Odroid boards (still other drivers might have some issues
         but mach code seems to be finished).
      3. Require MCPM for Exynos542x boards because otherwise not all of cores
         will come online.
      4. GPIO regulator cleanup on S3C6410 Craig.
      
      * tag 'samsung-soc-5.2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
        ARM: s3c64xx: Tidy up handling of regulator GPIO lookups
        ARM: exynos: Set MCPM as mandatory for Exynos542x/5800 SoCs
        ARM: exynos: Fix infinite loops on CPU powerup failure
        ARM: exynos: Fix a leaked reference by adding missing of_node_put
        ARM: exynos: Fix undefined instruction during Exynos5422 resume
        ARM: exynos: Add CPU state management for Exynos542x under secure firmware
        ARM: exynos: Add Exynos SMC values for secure memory write
        ARM: exynos: Move Exynos542x CPU state reset to pm_prepare()
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      e5a0be94
    • Olof Johansson's avatar
      Merge tag 'omap-for-v5.2/ti-sysc-signed' of... · e6398613
      Olof Johansson authored
      Merge tag 'omap-for-v5.2/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc
      
      Driver changes for ti-sysc for v5.2 merge window
      
      This series of changes for ti-sysc interconnect target module driver
      gets us to the point where we can actually drop legacy platform data
      for many devices in favor of device tree data.
      
      To do this, we improve ti-sysc driver not to rely on platform data
      callbacks to manage module clocks, and handle more quirks needed for
      some devices. Also few minor fixes are needed, but were considered
      not needed to be sent separately as they only show up with this series.
      
      Then we drop several thousands of lines of legacy platform data for
      omap4, omap5, dra7, am335x and am437x. We drop platform data for mmc,
      i2c, gpio and uart devices to start with as those are typically
      easily tested on all devices. In case of unexpected issues, we can just
      add back the legacy platform data for a single device type if needed.
      
      Finally we add initial support for enabling and disabling some devices
      without legacy platform data callbacks. I was planning on sending the
      dropping of legacy platform data as a separate series, but already
      applied Roger's patch on top and pushed it out.
      
      Note that this series depends on related SoC and is based on those.
      
      * tag 'omap-for-v5.2/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (33 commits)
        bus: ti-sysc: Add generic enable/disable functions
        ARM: OMAP2+: Drop mcspi platform data for omap4
        ARM: OMAP2+: Drop uart platform data for dra7
        ARM: OMAP2+: Drop gpio platform data for dra7
        ARM: OMAP2+: Drop i2c platform data for dra7
        ARM: OMAP2+: Drop mmc platform data for dra7
        ARM: OMAP2+: Drop uart platform data for omap5
        ARM: OMAP2+: Drop gpio platform data for omap5
        ARM: OMAP2+: Drop i2c platform data for omap5
        ARM: OMAP2+: Drop mmc platform data for omap5
        ARM: OMAP2+: Drop uart platform data for am33xx and am43xx
        ARM: OMAP2+: Drop gpio platform data for am33xx and am43xx
        ARM: OMAP2+: Drop i2c platform data for am33xx and am43xx
        ARM: OMAP2+: Drop mmc platform data for am330x and am43xx
        ARM: OMAP2+: Drop uart platform data for omap4
        ARM: OMAP2+: Drop gpio platform data for omap4
        ARM: OMAP2+: Drop i2c platform data for omap4
        ARM: OMAP2+: Drop mmc platform data for omap4
        Documentation: bus: ti-sysc: fix spelling mistakes "multipe" and "interconnet"
        bus: ti-sysc: Detect DMIC for debugging
        ...
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      e6398613
    • Olof Johansson's avatar
      Merge tag 'omap-for-v5.2/soc-signed' of... · 29104e01
      Olof Johansson authored
      Merge tag 'omap-for-v5.2/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc
      
      SoC changes for omap variants for v5.2 merge window
      
      This series of changes mostly consists of ti-sysc interconnect driver
      related preparation work. With these changes and the related ti-sysc
      driver changes, we can start dropping legacy omap_hwmod_*data.c platform
      data for many devices.
      
      There are also two am335x and am437x related PM changes for secure
      devices that have ROM handling some parts and needs EFUSE power domain
      active.
      
      * tag 'omap-for-v5.2/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: OMAP2+: pm33xx-core: Do not Turn OFF CEFUSE as PPA may be using it
        ARM: OMAP2+: Wakeupgen: AM43xx HS devices should save context like non-HS
        ARM: OMAP2+: Handle reset quirks for dynamically allocated modules
        ARM: OMAP2+: Remove hwmod .rev data and use local SoC checks instead
        ARM: OMAP2+: Allocate struct omap_hwmod based on dts data
        ARM: OMAP2+: Define _HWMOD_STATE_DEFAULT and use it
        ARM: OMAP2+: Prepare class allocation for dynamically allocated modules
        ARM: OMAP2+: Make interconnect target module allocation functions static
        ARM: OMAP2+: Fix potentially uninitialized return value for _setup_reset()
        ARM: dts: Fix dcan clkctrl clock for am3
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      29104e01
    • Ludovic Barre's avatar
      ARM: stm32: add AMBA support for stm32 family · 56c6eed1
      Ludovic Barre authored
      This patch enables AMBA support for stm32 family.
      stm32 family embeds different amba pl180 variants.
      Signed-off-by: default avatarLudovic Barre <ludovic.barre@st.com>
      Signed-off-by: default avatarAlexandre Torgue <alexandre.torgue@st.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      56c6eed1
  2. 14 Apr, 2019 1 commit
  3. 10 Apr, 2019 1 commit
  4. 09 Apr, 2019 4 commits
  5. 08 Apr, 2019 17 commits
  6. 05 Apr, 2019 4 commits
  7. 03 Apr, 2019 6 commits
    • Tony Lindgren's avatar
      bus: ti-sysc: Add quirk handling for external optional functional clock · a54275f4
      Tony Lindgren authored
      We cannot access mcpdm registers at all unless there is an optional pdmclk
      configured. As this is currently only needed for mcpdm, let's check for
      mcpdm in sysc_get_clocks(). If it turns out to be needed for other modules
      too, we can add more flags to the quirks table for this.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      a54275f4
    • Tony Lindgren's avatar
      bus: ti-sysc: Add support for early quirks based on register address · 42b9c5c9
      Tony Lindgren authored
      At least mcpdm needs an optional external clock enabled to function and
      this clock typically comes from the PMIC. We can detect mcpdm based on
      the interconnect target module address and set a quirk flag early.
      
      To do this, let's initialize the clocks a bit later and add a new
      function for sysc_init_early_quirks(). Note that we cannot yet enable
      the early quirks for mcpdm until the optional external clocks are
      handled in the in the following patch.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      42b9c5c9
    • Tony Lindgren's avatar
      bus: ti-sysc: Move rstctrl reset to happen later · b11c1ea1
      Tony Lindgren authored
      We can do the rsstctrl a bit later, but need to deassert rstctrl reset
      before the clocks are enabled if asserted. Let's only init restctrl
      in sysc_init_resets() and do the reset later on just before we enable
      the device clocks.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      b11c1ea1
    • Tony Lindgren's avatar
      bus: ti-sysc: Manage clocks for the interconnect target module in all cases · 93de83a2
      Tony Lindgren authored
      We are currently not managing interconnect target module clocks in the
      for legacy platform data based case. This causes a problem for using the
      platform data based functions when dropping the platform data for the
      interconnect target module configuration.
      
      To avoid a situation where we need to populate the main and optional
      clocks also for the platform data based functions, let's just manage the
      clocks directly in ti-sysc driver. This means that until the interconnect
      target module confugration platform data is dropped our use count for
      clk_enable() will be 2 instead of 1.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      93de83a2
    • Tony Lindgren's avatar
      bus: ti-sysc: Allocate mdata as needed and do platform data based init later · a3e92e7b
      Tony Lindgren authored
      The platform data based init functions typically reset the interconnect
      target module configure the registers. As we may need the interconnect
      target module specific quirks configured based on the revision register,
      we want to move the platform data based init to happen later.
      
      Let's allocate mdata as needed so it's available for sysc_legacy_init()
      that we call with module clocks enabled from sysc_init_module().
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      a3e92e7b
    • Tony Lindgren's avatar
      bus: ti-sysc: Enable all clocks directly during init to read revision · 1a5cd7c2
      Tony Lindgren authored
      The first thing we want to do is just read the module revision register to
      be able to configure the module specific quirks and configure the module
      registers.
      
      As the interconnect target module may not yet be properly configured and
      may need a reset first, we don't want to use pm_runtime_get() at this
      point.
      
      To read the revision register, let's just enable the all the clocks for
      the interconnect target module during init even if the optional clocks
      are not needed. That way we can read the revision register to configure
      the quirks needed for PM runtime.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      1a5cd7c2
  8. 01 Apr, 2019 3 commits