1. 11 6月, 2019 28 次提交
  2. 07 6月, 2019 1 次提交
  3. 06 6月, 2019 11 次提交
    • E
      spl: at91: add support for SPL_AT91_MCK_BYPASS · 0be07872
      Eugen Hristev 提交于
      By default the configuration of the PMC is to have an external crystal
      connected that requires driving on both XIN and XOUT pins.
      The bypass configuration means that only XIN will be used, the SoC will not
      do any driving, and the XIN needs to be provided with a proper signal.
      This is the MOSCXTBY bit in the PMC main clock generator register.
      The SPL needs to properly initialize the PMC registers before switching
      to external clock signal and raising the clock to the cruise speed.
      
      Also created Kconfig for this specific configuration.
      By default this is disabled.
      Signed-off-by: NEugen Hristev <eugen.hristev@microchip.com>
      0be07872
    • T
      ARM: tegra: Mark built-in Ethernet as default on Jetson TX2 · 879a3bc1
      Thierry Reding 提交于
      Add an "ethernet" alias that points to the default network interface,
      which is the built-in EQoS on Jetson TX2.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      879a3bc1
    • T
      ARM: tegra: Rename pcie-controller to pcie · 1e669b48
      Thierry Reding 提交于
      Recent versions of DTC have checks for PCI host bridge device tree nodes
      that are named something other than "pci" or "pcie". Fix all occurrences
      of such nodes for Tegra boards to avoid potential warnings from DTC.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      1e669b48
    • T
      ARM: tegra: Enable position independent build for 64-bit · 74a50ac2
      Thierry Reding 提交于
      Note that U-Boot is always chainloaded from cboot starting with L4T
      release 28. cboot always loads U-Boot to a fixed address, so making
      the builds position independent isn't strictly necessary. However,
      position independent builds can be convenient because if U-Boot is
      ever loaded to an address different from its link address, it will
      still be able to boot.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      74a50ac2
    • T
      ARM: tegra: Import cbootargs value from cboot DTB · b5717664
      Thierry Reding 提交于
      Read the boot arguments passed by cboot via the /chosen/bootargs
      property and store it in the cbootargs environment variable.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      b5717664
    • T
      ARM: tegra: Implement cboot_get_ethaddr() · 34e12e03
      Thierry Reding 提交于
      This function will attempt to look up an Ethernet address in the DTB
      that was passed in from cboot. It does so by first trying to locate the
      default Ethernet device for the board (identified by the "ethernet"
      alias) and if found, reads the "local-mac-address" property. If the
      "ethernet" alias does not exist, or if it points to a device tree node
      that doesn't exist, or if the device tree node that it points to does
      not have a "local-mac-address" property or if the value is invalid, it
      will fall back to the legacy mechanism of looking for the MAC address
      stored in the "nvidia,ethernet-mac" or "nvidia,ether-mac" properties of
      the "/chosen" node.
      
      The MAC address is then written to the default Ethernet device for the
      board (again identified by the "ethernet" alias) in U-Boot's control
      DTB. This allows the device driver for that device to read the MAC
      address from the standard location in device tree.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      34e12e03
    • T
      ARM: tegra: Implement cboot_save_boot_params() in C · ce353bab
      Thierry Reding 提交于
      This is easier to deal with and works just as well for this simple
      function.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      ce353bab
    • T
      ARM: tegra: Unify Tegra186 builds · a0dbc131
      Thierry Reding 提交于
      Tegra186 build are currently dealt with in very special ways, which is
      because Tegra186 is fundamentally different in many respects. It is no
      longer necessary to do many of the low-level programming because early
      boot firmware will already have taken care of it.
      
      Unfortunately, separating Tegra186 builds from the rest in this way
      makes it difficult to share code with prior generations of Tegra. With
      all of the low-level programming code behind Kconfig guards, the build
      for Tegra186 can again be unified.
      
      As a side-effect, and partial reason for this change, other Tegra SoC
      generations can now make use of the code that deals with taking over a
      boot from earlier bootloaders. This used to be nvtboot, but has been
      replaced by cboot nowadays. Rename the files and functions related to
      this to avoid confusion. The implemented protocols are unchanged.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      a0dbc131
    • T
      ARM: tegra: Workaround UDC boot issues only if necessary · 836a56e7
      Thierry Reding 提交于
      Resetting the USB device controller on boot is only necessary if the SoC
      actually has a UDC controller and U-Boot enables support for it. All the
      Tegra boards support UDC via the ChipIdea UDC driver, so make the UDC on
      boot workaround depend on the ChipIdea UDC driver.
      
      This prevents a crash on Tegra186 which does not have the ChipIdea UDC.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      836a56e7
    • T
      ARM: tegra: Support TZ-only access to PMC · f9ec2ec8
      Thierry Reding 提交于
      Some devices may restrict access to the PMC to TrustZone software only.
      Non-TZ software can detect this and use SMC calls to the firmware that
      runs in the TrustZone to perform accesses to PMC registers.
      
      Note that this also fixes reset_cpu() and the enterrcm command on
      Tegra186 where they were previously trying to access the PMC at a wrong
      physical address.
      
      Based on work by Kalyani Chidambaram <kalyanic@nvidia.com> and Tom
      Warren <twarren@nvidia.com>.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      f9ec2ec8
    • T
      ARM: tegra: Fix save_boot_params() prototype · 8f60d18f
      Thierry Reding 提交于
      The save_boot_params() function takes as its first four arguments the
      first four registers. On 32-bit ARM these are r0, r1, r2 and r3, all of
      which are 32 bits wide. However, on 64-bit ARM thene registers are x0,
      x1, x2 and x3, all of which are 64 bits wide. In order to allow reusing
      the save_boot_params() implementation on 64-bit ARM, change it to take
      unsigned long parameters rather than the fixed size 32-bit integers.
      This ensures that the correct values are passed.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      8f60d18f