1. 04 Mar, 2020 28 commits
    • Suman Anna's avatar
      ARM: dts: AM33xx-l4: Update PRUSS interconnect target-module node · ce5ca149
      Suman Anna authored
      The PRU-ICSS present on some AM33xx SoCs has a very unique SYSC
      register. The IP also uses a hard-reset line, and requires this
      PRCM reset to be deasserted to be able to access any registers.
      Update the existing PRUSS interconnect target-module with all
      the required properties.
      
      The PRUSS device itself shall be added as a child node to this
      interconnect node in the future. PRU-ICSS is not supported on
      AM3351/AM3352/AM3354 SoCs though in the AM33xx family, so the
      target module node should be disabled in derivative board files
      that use any of these SoCs.
      Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
      Reviewed-by: default avatarRoger Quadros <rogerq@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      ce5ca149
    • Tony Lindgren's avatar
    • Tony Lindgren's avatar
      ARM: OMAP2+: Drop legacy platform data for am437x DSS · c760f610
      Tony Lindgren authored
      We can now probe devices with ti-sysc interconnect driver and dts
      data. Let's drop the related platform data and custom ti,hwmods
      dts property.
      
      As we're just dropping data, and the early platform data init
      is based on the custom ti,hwmods property, we want to drop both
      the platform data and ti,hwmods property in a single patch.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Keerthy <j-keerthy@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      c760f610
    • Tony Lindgren's avatar
      ARM: OMAP2+: Drop legacy platform data for dra7 DSS · 6fa1a986
      Tony Lindgren authored
      We can now probe devices with ti-sysc interconnect driver and dts
      data. Let's drop the related platform data and custom ti,hwmods
      dts property.
      
      As we're just dropping data, and the early platform data init
      is based on the custom ti,hwmods property, we want to drop both
      the platform data and ti,hwmods property in a single patch.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      6fa1a986
    • Tony Lindgren's avatar
      ARM: OMAP2+: Drop legacy platform data for omap5 DSS · 19da9c0e
      Tony Lindgren authored
      We can now probe devices with ti-sysc interconnect driver and dts
      data. Let's drop the related platform data and custom ti,hwmods
      dts property.
      
      As we're just dropping data, and the early platform data init
      is based on the custom ti,hwmods property, we want to drop both
      the platform data and ti,hwmods property in a single patch.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      19da9c0e
    • Tony Lindgren's avatar
      ARM: OMAP2+: Drop legacy platform data for omap4 dss · a2ebc75f
      Tony Lindgren authored
      We can now probe devices with ti-sysc interconnect driver and dts
      data. Let's drop the related platform data and custom ti,hwmods
      dts property.
      
      As we're just dropping data, and the early platform data init
      is based on the custom ti,hwmods property, we want to drop both
      the platform data and ti,hwmods property in a single patch.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      a2ebc75f
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for am437x rfbi · 11ef2bfc
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Keerthy <j-keerthy@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      11ef2bfc
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for am437x dispc · 9fd8a854
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module, but keep the legacy "ti,hwmods" peroperty until the child
      devices are probing with ti-sysc interconnect driver.
      
      Note that we also fix a harmless typo for the node name, it's
      dispc@400, not dispc@4000.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Keerthy <j-keerthy@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      9fd8a854
    • Tony Lindgren's avatar
      ARM: dts: Move am437x dss to the interconnect target module in l4 · 3b6ff6bb
      Tony Lindgren authored
      On am437x, the display subsystem (DSS) is on l4. We already have
      the interconnect target module for it, so let's just move dss
      there.
      
      To do that, we need to adjust the module addresses for the ranges,
      and use the ranges already added earlier based on reading the l4
      interconnect instance AP registers.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Keerthy <j-keerthy@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      3b6ff6bb
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for dra7 hdmi · c4f4728b
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      c4f4728b
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for dra7 dispc · 9a95196c
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module, but keep the legacy "ti,hwmods" peroperty until the child
      devices are probing with ti-sysc interconnect driver.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      9a95196c
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for dra7 dss · a50371f2
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module, but keep the legacy "ti,hwmods" peroperty until the child
      devices are probing with ti-sysc interconnect driver.
      
      Initially let's just update the top level dss node to probe with ti-sysc
      interconnect target module driver. The child nodes are still children
      of dispc, only the node indentation changes for them now along with
      using the reg range provided by top level dss.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      a50371f2
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap5 hdmi · 671ab615
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      671ab615
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap5 dsi2 · 98e1a6a8
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      98e1a6a8
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap5 dsi1 · 5a507162
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      5a507162
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap5 rfbi · b9a4e149
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      b9a4e149
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap5 dispc · 2472a4e0
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module, but keep the legacy "ti,hwmods" peroperty until the child
      devices are probing with ti-sysc interconnect driver.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      2472a4e0
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap5 dss · 715a5a97
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module, but keep the legacy "ti,hwmods" peroperty until the child
      devices are probing with ti-sysc interconnect driver.
      
      Initially let's just update the top level dss node to probe with ti-sysc
      interconnect target module driver. The child nodes are still children
      of dispc, only the node indentation changes for them now along with
      using the reg range provided by top level dss.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      715a5a97
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap4 hdmi · 8f661563
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Note that we must disable smart idle modes for HDMI audio like we've
      done with the legacy platform data. And HDMI needs both hdmi clock
      and dss clock to operate.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      8f661563
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap4 dsi2 · dc7578e9
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      dc7578e9
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap4 dsi1 · 0b98d518
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      0b98d518
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap4 venc · 663de788
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      We must now also configure sys_clk for reset to complete, the top
      level module only keeps optional clocks enabled for it's own reset.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      663de788
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap4 rfbi · 3a97c4b9
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      We must now also configure sys_clk for reset to complete, the top
      level module only keeps optional clocks enabled for it's own reset.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      3a97c4b9
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap4 dispc · 4c8d1c8d
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module, but keep the legacy "ti,hwmods" peroperty until the child
      devices are probing with ti-sysc interconnect driver.
      
      We must now also configure sys_clk for reset to complete, the top
      level module only keeps optional clocks enabled for it's own reset.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      4c8d1c8d
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap4 dss · 63b34416
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module, but keep the legacy "ti,hwmods" peroperty until the child
      devices are probing with ti-sysc interconnect driver.
      
      The display subsystem (DSS) is in a 16MB interconnect target module
      mapped to l4 and l3 buses. We are only using the l3 port as recommended
      by the TRM. So there is no need to configure l4 ranges like we've done
      for l4 ABE instance for example.
      
      Initially let's just update the top level dss node to probe with ti-sysc
      interconnect target module driver. The child nodes are still children
      of dispc, only the node indentation changes for them now along with
      using the reg range provided by top level dss.
      
      Let's also add add a note about using only the l3 access without l4
      as noted in the TRM.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      63b34416
    • Suman Anna's avatar
      bus: ti-sysc: Add support for PRUSS SYSC type · b2745d92
      Suman Anna authored
      The PRU-ICSS present on AM33xx/AM43xx/AM57xx has a very unique
      SYSCFG register. The register follows the OMAP4-style SYSC_TYPE3
      for Master Standby and Slave Idle, but also has two additional
      unique fields - STANDBY_INIT and SUB_MWAIT. The STANDBY_INIT is
      a control bit that is used to initiate a Standby sequence (when
      set) and trigger a MStandby request to the SoC's PRCM module. This
      same bit is also used to enable the OCP master ports (when cleared)
      to allow the PRU cores to access any peripherals or memory beyond
      the PRU subsystem. The SUB_MWAIT is a ready status field for the
      external access.
      
      Add support for this SYSC type. The STANDBY_INIT has to be set
      during suspend, without which it results in a hang in the resume
      sequence on AM33xx/AM43xx boards and requires a board reset to
      come out of the hang. Any PRU applications requiring external
      access are supposed to clear the STANDBY_INIT bit. Note that
      the PRUSS context is lost during a suspend sequence because the
      PRUSS module is reset and/or disabled.
      Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      [tony@atomide.com: updated quirk define number and to use -ENODEV]
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      b2745d92
    • Roger Quadros's avatar
      dt-bindings: bus: ti-sysc: Add support for PRUSS SYSC type · 4d0dd380
      Roger Quadros authored
      The PRUSS module has a SYSCFG which is unique. The SYSCFG
      has two additional unique fields called STANDBY_INIT and
      SUB_MWAIT in addition to regular IDLE_MODE and STANDBY_MODE
      fields. Add the bindings for this new sysc type.
      
      Cc: Rob Herring <robh+dt@kernel.org>
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      4d0dd380
    • Tony Lindgren's avatar
      bus: ti-sysc: Detect EDMA and set quirk flags for tptc · 25bfaaa7
      Tony Lindgren authored
      In order to probe EDMA with ti-sysc interconnect target module and with
      device tree data, we need to properly detect EDMA and set the flags for
      SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_MSTANDBY for tptc.
      
      We have these flags currently set for am4 and dra7, but not for am335x.
      Let's set them for all the SoCs as the tptc module should behave the
      same for all of them. It's likely that am335x was never tested to idle
      EDMA tptc.
      
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      25bfaaa7
  2. 03 Mar, 2020 2 commits
  3. 27 Feb, 2020 3 commits
  4. 26 Feb, 2020 7 commits
    • Tony Lindgren's avatar
      bus: ti-sysc: Implement display subsystem reset quirk · 7324a7a0
      Tony Lindgren authored
      The display subsystem (DSS) needs the child outputs disabled for reset.
      In order to prepare to probe DSS without legacy platform data, let's
      implement sysc_pre_reset_quirk_dss() similar to what we have for the
      platform data with omap_dss_reset().
      
      Note that we cannot directly use the old omap_dss_reset() without
      platform data callbacks and updating omap_dss_reset() to understand
      struct device. And we will be dropping omap_dss_reset() anyways when
      all the SoCs are probing with device tree, so let's not mess with the
      legacy code at all.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      7324a7a0
    • Tony Lindgren's avatar
      bus: ti-sysc: Detect display subsystem related devices · 77dfece2
      Tony Lindgren authored
      In order to prepare probing display subsystem (DSS) with ti-sysc
      interconnect target module driver and device tree data, let's
      detect DSS related modules.
      
      We need to also add reset quirk handling for DSS, but until that's
      done, let's just enable the optional clock quirks for DSS and
      omap4 HDMI. The rest is just naming of modules if CONFIG_DEBUG
      is set.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      77dfece2
    • Tony Lindgren's avatar
      bus: ti-sysc: Handle module unlock quirk needed for some RTC · e8639e1c
      Tony Lindgren authored
      The RTC modules on am3 and am4 need quirk handling to unlock and lock
      them for reset so let's add the quirk handling based on what we already
      have for legacy platform data. In later patches we will simply drop the
      RTC related platform data and the old quirk handling.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      e8639e1c
    • Tony Lindgren's avatar
      bus: ti-sysc: Implement SoC revision handling · feaa8bae
      Tony Lindgren authored
      We need to know SoC type and features for cases where the same SoC
      may be installed in various versions on the same board and would need
      a separate dts file otherwise for the different variants.
      
      For example, am3703 is pin compatible with omap3630, but has sgx and
      iva accelerators disabled. We must not try to access the sgx or iva
      module registers on am3703, and need to set the unavailable devices
      disabled early.
      
      Let's also detect omap3430 as that is needed for display subsystem
      (DSS) reset later on, and GP vs EMU or HS devices. Further SoC
      specific disabled device detection can be added as needed, such as
      dra71x vs dra76x rtc and usb4.
      
      Cc: Adam Ford <aford173@gmail.com>
      Cc: André Hentschel <nerv@dawncrow.de>
      Cc: H. Nikolaus Schaller <hns@goldelico.com>
      Cc: Keerthy <j-keerthy@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      feaa8bae
    • Tony Lindgren's avatar
      bus: ti-sysc: Don't warn about legacy property for nested ti-sysc devices · 7320fd32
      Tony Lindgren authored
      In some cases we can have nested ti-sysc instances that may still use the
      legacy "ti,hwmods" property. Let's not warn if that's the case.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      7320fd32
    • Tony Lindgren's avatar
      bus: ti-sysc: Consider non-existing registers too when matching quirks · 590e15c7
      Tony Lindgren authored
      We are currently setting -1 for non-existing sysconfig related registers
      for quirks, but setting -ENODEV elsewhere. And for matching the quirks,
      we're now just ignoring the non-existing registers. This will cause issues
      with misdetecting DSS registers as the hardware revision numbers can have
      duplicates.
      
      To avoid this, let's standardize on using -ENODEV also for the quirks
      instead of -1. That way we can always just test for a match without adding
      any more complicated logic.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      590e15c7
    • Tony Lindgren's avatar
      bus: ti-sysc: Improve reset to work with modules with no sysconfig · ab4d309d
      Tony Lindgren authored
      At least display susbsystem (DSS) has modules with no sysconfig registers
      and rely on custom function for module reset handling. Let's make reset
      work with that too.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      ab4d309d