1. 23 3月, 2013 1 次提交
    • S
      ARM: msm: Rework timer binding to be more general · eebdb0c1
      Stephen Boyd 提交于
      The msm timer binding I wrote is bad. First off, the clock
      frequency in the binding for the dgt is wrong. Software divides
      down the input rate by 4 to achieve the rate listed in the
      binding. We also treat each individual timer as a separate
      hardware component, when in reality there is one timer block
      (that may be duplicated per cpu) with multiple timers within it.
      Depending on the version of the hardware there can be one or two
      general purpose timers, status and divider control registers, and
      an entirely different register layout.
      
      In the next patch we'll need to know about the different register
      layouts so that we can properly check the status register after
      clearing the count. The current binding makes this complicated
      because the general purpose timer's reg property doesn't indicate
      where that status register is, and in fact it is beyond the size
      of the reg property.
      
      Clean all this up by just having one node for the timer hardware,
      and describe all the interrupts and clock frequencies supported
      while having one reg property that covers the entire timer
      register region. We'll use the compatible field in the future to
      determine different register layouts and if we should read the
      status registers, etc.
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NDavid Brown <davidb@codeaurora.org>
      eebdb0c1
  2. 07 3月, 2013 1 次提交
    • J
      ARM: 7666/1: decompressor: add -mno-single-pic-base for building the decompressor · b8083f86
      Jonathan Austin 提交于
      Before jumping to (position independent) C-code from the decompressor's
      assembler world we set-up the C environment. This setup currently does not
      set r9, which for arm-none-uclinux-uclibceabi toolchains is by default
      expected to be the PIC offset base register (IE should point to the
      beginning of the GOT).
      
      Currently, therefore, in order to build working kernels that use the
      decompressor it is necessary to use an arm-linux-gnueabi toolchain, or
      similar. uClinux toolchains cause a prefetch abort to occur at the beginning
      of the decompress_kernel function.
      
      This patch allows uClinux toolchains to build bootable zImages by forcing
      the -mno-single-pic-base option, which ensures that the location of the GOT
      is re-derived each time it is required, and r9 becomes free for use as a
      general purpose register.
      
      This has a small (4% in instruction terms) advantage over the alternative of
      setting r9 to point to the GOT before calling into the C-world.
      Signed-off-by: NJonathan Austin <jonathan.austin@arm.com>
      Acked-by: NNicolas Pitre <nico@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      b8083f86
  3. 01 3月, 2013 38 次提交