1. 15 Jul, 2020 27 commits
  2. 13 Jul, 2020 5 commits
  3. 23 Jun, 2020 8 commits
    • Thierry Reding's avatar
      arm64: tegra: Rename sdhci nodes to mmc · 67bb17f6
      Thierry Reding authored
      The new json-schema based validation tools require SD/MMC controller
      nodes to be named mmc. Rename all references to them.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      67bb17f6
    • Thierry Reding's avatar
      arm64: tegra: Add unit-address to memory node · 772a6a7b
      Thierry Reding authored
      The memory node requires a unit-address. For some boards the bootloader,
      which is usually locked down, uses a hard-coded name for the memory node
      without a unit-address, so we can't fix it on those boards.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      772a6a7b
    • Thierry Reding's avatar
      arm64: tegra: Fixup I/O and PLL supply names for HDMI/DP · e8931a27
      Thierry Reding authored
      The I/O and PLL supplies used for HDMI/DP have alternative names. Use
      the names that are given in the hardware documentation for consistency.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      e8931a27
    • Thierry Reding's avatar
      arm64: tegra: Remove parent clock from display controllers · 352092b0
      Thierry Reding authored
      The display controller's parent clock depends on the output that's
      consuming data from the display controller, so it needs to be specified
      as the parent of the corresponding output. The device tree bindings do
      specify this, so just correct the existing device trees that get this
      wrong.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      352092b0
    • Thierry Reding's avatar
      arm64: tegra: Add interrupt-names for host1x · 052d3f65
      Thierry Reding authored
      Interrupt names are used to distinguish between the syncpoint and
      general host1x interrupts. Make sure they are available in the DT so
      that drivers can use them if necessary.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      052d3f65
    • Thierry Reding's avatar
      arm64: tegra: Add Tegra132 compatible string for host1x · 01a9d523
      Thierry Reding authored
      While the host1x controller found on Tegra132 is the same as on Tegra124
      it is good practice to also list a SoC-specific compatible string so any
      SoC-specific quirks can be implemented in drivers if necessary.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      01a9d523
    • Thierry Reding's avatar
      arm64: tegra: Add interrupt for Tegra194 memory controller · 8613b4c8
      Thierry Reding authored
      This interrupt can be used for the operating system to be interrupted
      when certain events occur.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      8613b4c8
    • Thierry Reding's avatar
      arm64: tegra: Describe interconnect paths on Tegra194 · d5237c7c
      Thierry Reding authored
      On Tegra194, all clients of the memory subsystem can generally address
      40 bits of system memory. However, bit 39 has special meaning and will
      cause the memory controller to reorder sectors for block-linear buffer
      formats. This is primarily useful for graphics-related devices.
      
      Use of bit 39 must be controlled on a case-by-case basis. Buffers that
      are used with bit 39 set by one device may be used with bit 39 cleared
      by other devices.
      
      Care must be taken to allocate buffers at addresses that do not require
      bit 39 to be set. This is normally not an issue for system memory since
      there are no Tegra-based systems with enough RAM to exhaust the 39-bit
      physical address space. However, when a device is behind an IOMMU, such
      as the ARM SMMU on Tegra194, the IOMMUs input address space can cause
      IOVA allocations to happen in this region. This is for example the case
      when an operating system implements a top-down allocation policy for IO
      virtual addresses.
      
      To account for this, describe the path that memory accesses take through
      the system. Memory clients will send requests to the memory controller,
      which forwards bits [38:0] of the address either to the external memory
      controller or the SMMU, depending on the stream ID of the access. A good
      way to describe this is using the interconnects bindings, see:
      
          Documentation/devicetree/bindings/interconnect/interconnect.txt
      
      The standard "dma-mem" path is used to describe the path towards system
      memory via the memory controller. A dma-ranges property in the memory
      controller's device tree node limits the range of DMA addresses that the
      memory clients can use to bits [38:0], ensuring that bit 39 is not used.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      ---
      Changes in v4:
      - add additional entries for interconnect-names to match interconnects
      - add EMC as destination for interconnect paths
      
      Changes in v3:
      - add missing interconnect properties for VIC
      
      Changes in v2:
      - use memory client IDs instead of stream IDs (Mikko Perttunen)
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      d5237c7c