1. 03 10月, 2015 1 次提交
    • S
      ARM: tegra: expand all SPL sizes to be consistent · 930c514d
      Stephen Warren 提交于
      The size allocation for SPL is increased in all cases to match the
      already-expanded value used on Tegra124. This is both for general
      consistency, and because the seaboard build trips over the limit already
      when using one of the ARM compilers packaged with 14.04. For the record,
      when building Seaboard:
      
      arm-linux-gnueabi- SPL is too big by 0x36 bytes
      arm-linux-gnueabihf- SPL fits by 0x2a bytes
      arm-none-eabi- SPL fits by 0xa bytes
      
      (Those figures are from builds with the expanded SPL size allocation,
      relative to the non-expanded SPL size limit; they're better by about
      6 bytes in the more constrained build.)
      
      Fixes: ba521994 ("tegra124: Expand SPL space by 8KB")
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      930c514d
  2. 14 5月, 2015 1 次提交
    • S
      ARM: tegra: CONFIG_{SYS_, }LOAD{_, }ADDR rationalization · 48cfca24
      Stephen Warren 提交于
      As best I can tell, CONFIG_SYS_LOAD_ADDR and CONFIG_LOADADDR/$loadaddr
      serve essentially the same purpose. Roughly, if a command takes a load
      address, then CONFIG_SYS_LOAD_ADDR or $loadaddr (or both) are the default
      if the command-line does not specify the address. Different U-Boot
      commands are inconsistent re: which of the two default values they use.
      As such, set the two to the same value, and move the logic that does this
       into tegra-common-post.h so it's not duplicated. A number of other non-
      Tegra boards do this too.
      
      The values chosen for these macros are no longer consistent with anything
      in MEM_LAYOUT_ENV_SETTINGS. Regain consistency by setting $kernel_addr_r
      to CONFIG_LOADADDR. Older scripts tend to use $loadaddr for the default
      kernel load address, whereas newer scripts and features tend to use
      $kernel_addr_r, along with other variables for other purposes such as
      DTBs and initrds. Hence, it's logical they should share the same value.
      
      I had originally thought to make the $kernel_addr_r and CONFIG_LOADADDR
      have different values. This would guarantee no interference if a script
      used the two variables for different purposes. However, that scenario is
      unlikely given the semantic meaning associated with the two variables.
      The lowest available value is 0x90200000; see comments for
      MEM_LAYOUT_ENV_SETTINGS in tegra30-common-post.h for details. However,
      that value would be problematic for a script that loaded a raw zImage to
      $loadaddr, since it's more than 128MB beyond the start of SDRAM, which
      would interfere with the kernel's CONFIG_AUTO_ZRELADDR. So, let's not do
      that.
      
      The only potential fallout I could foresee from this patch is if someone
      has a script that loads the kernel to $loadaddr, but some other file
      (DTB, initrd) to a hard-coded address that the new value of $loadaddr
      interferes with. This seems unlikely. A user should not do that; they
      should either hard-code all load addresses, or use U-Boot-supplied
      variables for all load addresses. Equally, any fallout due to this change
      is trivial to fix; simply modify the load addresses in that script.
      
      Cc: Paul Walmsley <pwalmsley@nvidia.com>
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Reviewed-by: NPaul Walmsley <pwalmsley@nvidia.com>
      Reviewed-by: Simon Glass
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      48cfca24
  3. 12 12月, 2014 1 次提交
    • S
      dm: i2c: tegra: Convert to driver model · b0e6ef46
      Simon Glass 提交于
      This converts all Tegra boards over to use driver model for I2C. The driver
      is adjusted to use driver model and the following obsolete CONFIGs are
      removed:
      
         - CONFIG_SYS_I2C_INIT_BOARD
         - CONFIG_I2C_MULTI_BUS
         - CONFIG_SYS_MAX_I2C_BUS
         - CONFIG_SYS_I2C_SPEED
         - CONFIG_SYS_I2C
      
      This has been tested on:
      - trimslice (no I2C)
      - beaver
      - Jetson-TK1
      
      It has not been tested on Tegra 114 as I don't have that board.
      Acked-by: NHeiko Schocher <hs@denx.de>
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      b0e6ef46
  4. 06 3月, 2014 3 次提交
  5. 19 12月, 2013 1 次提交
  6. 20 8月, 2013 1 次提交
  7. 24 7月, 2013 1 次提交
  8. 12 7月, 2013 1 次提交
  9. 29 5月, 2013 1 次提交
  10. 15 3月, 2013 2 次提交
  11. 14 3月, 2013 1 次提交
    • S
      ARM: tegra: enable some CPU errata workarounds · c44bb3a3
      Stephen Warren 提交于
      Tegra20 has a Cortex A9 r1p1, and Tegra30 has a Cortex A9 r2p9. As such,
      some CPU errata exist, and must be worked around.
      
      These must be worked around in the bootloader, since in general, the
      kernel (especially a multi-platform kernel) needs to support being
      launched in non-secure mode (normal world), and hence may not be able
      to write to the CP15 register to enable these workarounds.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      c44bb3a3
  12. 17 1月, 2013 2 次提交