1. 09 Dec, 2020 4 commits
    • Arnd Bergmann's avatar
      Merge tag 'omap-for-v5.11/genpd-rest-signed' of... · 7fbee7e3
      Arnd Bergmann authored
      Merge tag 'omap-for-v5.11/genpd-rest-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/omap-genpd
      
      Remaining genpd changes for omaps for v5.11
      
      This series contains the remaining genpd changes for omap4/5,
      and dra7 to add the power domain and reset control data to
      omap-prm driver. We also update several devices to probe without
      platform data to get us closer to booting omap4/5, and dra7
      without platform data.
      
      There is also a build fix for the earlier am437x series that
      I should have applied into a separate branch on top of the
      am437x breaking commit. It ended here as I was originally
      planning to send out a single pull request for all the genpd
      changes, but then decided to break it down to smaller chunks.
      It's all really a larger single git branch though, so this
      should be OK and I really did not want to start reorganizing
      the branch after testing it and having it sit in Linux next.
      
      The changes done here are:
      
      - Clock driver needs idlest check dropped for IVA for omap4
        and dra7
      
      - Add remaining power domain and reset control data to
        omap-prm driver for omap4/5 and dra7
      
      - Add device tree data for remaining power domains and
        reset control for omap4/5 and dra7 dts files
      
      - Update dss, dsp, iva and gpmc dts files to use genpd
        and to drop the remaining platform data
      
      - Update dss for omap5 to use genpd
      
      - Update dra7 iva to to use genpd and to drop the remaining
        platform data
      
      * tag 'omap-for-v5.11/genpd-rest-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: OMAP2+: Fix am4 only build after genpd changes
        ARM: dts: Configure power domain for omap5 dss
        ARM: dts: omap5: add remaining PRM instances
        soc: ti: omap-prm: omap5: add genpd support for remaining PRM instances
        ARM: OMAP2+: Drop legacy platform data for dra7 gpmc
        ARM: dts: Configure interconnect target module for dra7 iva
        ARM: dts: dra7: add remaining PRM instances
        soc: ti: omap-prm: dra7: add genpd support for remaining PRM instances
        clk: ti: dra7: Drop idlest polling from IVA clkctrl clocks
        ARM: OMAP2+: Drop legacy platform data for omap4 gpmc
        ARM: OMAP2+: Drop legacy platform data for omap4 iva
        ARM: dts: Configure power domain for omap4 dsp
        ARM: dts: Configure power domain for omap4 dss
        ARM: dts: omap4: add remaining PRM instances
        soc: ti: omap-prm: omap4: add genpd support for remaining PRM instances
        clk: ti: omap4: Drop idlest polling from IVA clkctrl clocks
      
      Link: https://lore.kernel.org/r/pull-1606806458-694517@atomide.com-4Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      7fbee7e3
    • Arnd Bergmann's avatar
      Merge tag 'omap-for-v5.11/genpd-am437x-signed' of... · eb672def
      Arnd Bergmann authored
      Merge tag 'omap-for-v5.11/genpd-am437x-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/omap-genpd
      
      Update am473x to boot without platform data
      
      Similar to am335x, we can now update am437x dts files to boot
      with genpd and simple-pm-bus, and drop the related platform data.
      
      To do that, we need to do the following changes for am437x:
      
      - Update the clock driver to keep the l3_main clock always on for
        suspend and resume to work
      
      - Add power domain and reset controller data to omap-prm driver
      
      - Configure interconnect clocks for system timers as those are
        now managed separately by the drivers/clocksource drivers
      
      - Update control module, wkup_m3, emif, ocmcram, mpuss and l3_noc
        for device tree data and drop the legacy platform data
      
      - Update the interconnect instances to boot with gendp and
        simple-pm-bus
      
      - Drop the remaining platform data for am437x
      
      * tag 'omap-for-v5.11/genpd-am437x-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: OMAP2+: Drop legacy remaining legacy platform data for am4
        ARM: dts: Use simple-pm-bus for genpd for am4 l3
        ARM: dts: Move am4 l3 noc to a separate node
        ARM: dts: Use simple-pm-bus for genpd for am4 l4_per
        ARM: dts: Use simple-pm-bus for genpd for am4 l4_fast
        ARM: dts: Use simple-pm-bus for genpd for am4 l4_wkup
        ARM: OMAP2+: Drop legacy platform data for am4 mpuss
        ARM: OMAP2+: Drop legacy platform data for am4 ocmcram
        ARM: OMAP2+: Drop legacy platform data for am4 emif
        ARM: OMAP2+: Drop legacy platform data for am4 wkup_m3
        ARM: dts: Configure interconnect target module for am4 wkup_m3
        ARM: dts: Configure RTC powerdomain for am4
        ARM: OMAP2+: Drop legacy platform data for am4 control module
        ARM: dts: Configure also interconnect clocks for am4 system timer
        ARM: dts: am43xx: add remaining PRM instances
        soc: ti: omap-prm: am4: add genpd support for remaining PRM instances
        clk: ti: am437x: Keep am4 l3 main clock always on for genpd
      
      Link: https://lore.kernel.org/r/pull-1606806458-694517@atomide.com-3Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      eb672def
    • Arnd Bergmann's avatar
      Merge tag 'omap-for-v5.11/genpd-am335x-signed' of... · 07dd966d
      Arnd Bergmann authored
      Merge tag 'omap-for-v5.11/genpd-am335x-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/omap-genpd
      
      Update am335x to boot without platform data
      
      With the driver updates done for genpd support, we can now update
      am335x dts files to boot with genpd and simple-pm-bus, and drop
      the related platform data.
      
      To do that, we need to do the following changes for am335x:
      
      - Add the remaining power domain and reset controller instances
      
      - Configure interconnect clocks for system timers as those are
        now managed separately by the drivers/clocksource drivers
      
      - Update control module, RTC, gpmc, debugss, emif, ocmcram,
        instr, and mpuss for device tree data and drop the legacy
        platform data
      
      - Update the interconnect instances to boot with gendp and
        simple-pm-bus
      
      - Drop the remaining platform data for am335x
      
      - Add kconfig option for OMAP_HWMOD to build it only for the
        SoCs that need it
      
      * tag 'omap-for-v5.11/genpd-am335x-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: OMAP2+: Build hwmod related code as needed
        ARM: OMAP2+: Drop legacy remaining legacy platform data for am3
        ARM: dts: Use simple-pm-bus for genpd for am3 l3
        ARM: dts: Use simple-pm-bus for genpd for am3 l4_per
        ARM: dts: Use simple-pm-bus for genpd for am3 l4_fast
        ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
        ARM: OMAP2+: Drop legacy platform data for am3 mpuss
        ARM: OMAP2+: Drop legacy platform data for am3 instr
        ARM: OMAP2+: Drop legacy platform data for am3 ocmcram
        ARM: OMAP2+: Drop legacy platform data for am3 emif
        ARM: OMAP2+: Drop legacy platform data for am3 debugss
        ARM: OMAP2+: Drop legacy platform data for am3 and am4 gpmc
        ARM: OMAP2+: Drop legacy platform data for am3 wkup_m3
        ARM: dts: Configure interconnect target module for am3 wkup_m3
        ARM: dts: Configure RTC powerdomain for am3
        ARM: OMAP2+: Drop legacy platform data for am3 control module
        ARM: dts: Configure also interconnect clocks for am4 system timer
        ARM: dts: am33xx: add remaining PRM instances
      
      Link: https://lore.kernel.org/r/pull-1606806458-694517@atomide.com-2Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      07dd966d
    • Arnd Bergmann's avatar
      Merge tag 'omap-for-v5.11/genpd-drivers-signed' of... · 80c25006
      Arnd Bergmann authored
      Merge tag 'omap-for-v5.11/genpd-drivers-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/omap-genpd
      
      Driver changes for omaps for genpd for v5.11 merge window
      
      This series of changes allows booting am335x with genpd and
      device tree data without the legacy platform data. Also at
      least am437x can be booted with gendp with power domain and
      dts data. The SoC specific dts changes will be a separate
      pull request.
      
      We need the following driver changes merged before the dts
      changes can be done:
      
      - platform code needs a few improvments to probe l4_wkup first
        for clocks, and to bail out when there is no platform data
      
      - ti-sysc driver needs a non-urgent fix for asserting rstctrl
        reset only after disabling the clocks, to probe modules with
        no known control registers, and added quirk handling for gpmc
        devices
      
      - omap-prm driver needs a non-urgent fix for reset status bit,
        support added for pm_clk, and then we add the rest of am335x
        power domain data
      
      - clock driver for am335x needs to keep l3_main clock enabled
        with genpd for suspend and resume to work
      
      - wkup_m3 remoteproc driver needs support added for reset
        control if available instead of the legacy pdata callbacks
      
      - pm33xx driver needs PM runtime support added for genpd
      
      The am335x specific driver changes for the clock, wkup_m3,
      pm33xx and remoteproc drivers are quite trivial and have not
      caused merge conflicts in Linux next. I did not get acks for
      these changes except from Santosh but had already pushed out
      the branch already at that point. So I've added the related
      driver maintainers to Cc.
      
      * tag 'omap-for-v5.11/genpd-drivers-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        remoteproc/wkup_m3: Use reset control driver if available
        soc: ti: pm33xx: Enable basic PM runtime support for genpd
        soc: ti: omap-prm: am3: add genpd support for remaining PRM instances
        soc: ti: omap-prm: Add pm_clk for genpd
        clk: ti: am33xx: Keep am3 l3 main clock always on for genpd
        bus: ti-sysc: Implement GPMC debug quirk to drop platform data
        bus: ti-sysc: Support modules without control registers
        ARM: OMAP2+: Probe PRCM first to probe l4_wkup with simple-pm-bus
        ARM: OMAP2+: Check for inited flag
        bus: ti-sysc: Assert reset only after disabling clocks
        soc: ti: omap-prm: Do not check rstst bit on deassert if already deasserted
        bus: ti-sysc: Fix bogus resetdone warning on enable for cpsw
        bus: ti-sysc: Fix reset status check for modules with quirks
        ARM: OMAP2+: Fix missing select PM_GENERIC_DOMAINS_OF
        ARM: OMAP2+: Fix location for select PM_GENERIC_DOMAINS
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      80c25006
  2. 27 Nov, 2020 1 commit
    • Tony Lindgren's avatar
      ARM: OMAP2+: Fix am4 only build after genpd changes · b62168e5
      Tony Lindgren authored
      With commit df6c2ec8 ("ARM: OMAP2+: Drop legacy remaining legacy
      platform data for am4") we moved am4 to boot with simple-pm-bus using
      genpd and devicetree based data. But I forgot to test am4 only build
      that still has few references to the old platform data left, and cause
      undefined reference errors with omap_hwmod_set_postsetup_state and
      omap_hwmod_for_each. We can just drop the related calls for am4 now,
      and also drop the references to unused struct wkup_m3_platform_data.
      Reported-by: default avatarNishanth Menon <nm@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      b62168e5
  3. 19 Nov, 2020 15 commits
  4. 16 Nov, 2020 20 commits