1. 04 5月, 2015 4 次提交
  2. 19 4月, 2015 1 次提交
  3. 15 4月, 2015 1 次提交
  4. 10 3月, 2015 1 次提交
  5. 21 2月, 2015 2 次提交
    • S
      sunxi: Machine id hack to prevent loading buggy sunxi-3.4 kernels · 77ef1369
      Siarhei Siamashka 提交于
      Right now U-Boot supports the CONFIG_OLD_SUNXI_KERNEL_COMPAT option,
      which makes it go out of its way in limiting the selection of PLL clock
      frequencies and PMIC voltages in order not to upset outdated buggy
      sunxi-3.4 kernel releases. And if the CONFIG_OLD_SUNXI_KERNEL_COMPAT
      option is not set, then booting such old kernels exhibits various
      failures at runtime. This is very user unfriendly, and there were
      already several incidents when people wasted their time being hit
      by these runtime failures and trying to debug them.
      
      The right solution is not to add hacks and workarounds to the mainline
      U-Boot, but to fix these bugs in the sunxi-3.4 kernel. And in fact,
      the updated sunxi-3.4 kernels already exist. Still we need to follow
      the 'Principle of Least Surprise' and U-Boot needs to ensure that
      the old buggy kernels are not getting happily booted when the
      CONFIG_OLD_SUNXI_KERNEL_COMPAT option is not set. And this patch
      addresses this particular issue.
      
      This patch makes U-Boot store the 'compatibility revision' number in
      the top 4 bits of the machine id and pass it to the kernel. The old
      buggy kernels will fail to load with a very much googlable error
      message on the serial console (the "r1 = 0x100010bb" part of it):
      
        "Error: unrecognized/unsupported machine ID (r1 = 0x100010bb)"
      
      This error message can be documented in the linux-sunxi wiki with
      proper explanations about how to resolve this situation and where
      to get the necessary bugfixes for the sunxi-3.4 kernel.
      
      The fixed sunxi-3.4 kernels implement a revision compatibility check
      and clear the top 4 bits of the machine id if everything is alright.
      By accepting the machine id with the bits 31:28 set to 1, the sunxi-3.4
      kernel effectively certifies that it has the PLL5 clock speed and
      AXP209 DCDC3 voltage fixes applied.
      
      It is still possible to set the CONFIG_OLD_SUNXI_KERNEL_COMPAT option
      in U-Boot if the user desires to use an outdated unpatched sunxi-3.4
      kernel.
      Signed-off-by: NSiarhei Siamashka <siarhei.siamashka@gmail.com>
      Acked-by: NIan Campbell <ijc@hellion.org.uk>
      Acked-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      77ef1369
    • H
      sunxi: Set the /chosen/stdout-path fdt property for sunxi boards · f3133962
      Hans de Goede 提交于
      While discussing with some people how to get the Linux kernel to do the
      right thing wrt sending output to both the serial console and the
      hdmi out / lcd screen when booting on ARM devices, Grant Likely pointed out
      that there already is a solution for this.
      
      All we need to do is set the /chosen/stdout-path fdt property, and if no
      console= arguments were specified on the kernel commandline the kernel
      will honor this and add this device as a console (next to the primary
      video output on hdmi).
      
      And u-boot already has support for setting this, all we need to do is
      define OF_STDOUT_PATH and then everything will just work ootb, without
      people needing to meddle with adding console= arguments in extlinux.conf .
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Acked-by: NIan Campbell <ijc@hellion.org.uk>
      Reviewed-by: NTom Rini <trini@ti.com>
      f3133962
  6. 20 2月, 2015 1 次提交
  7. 17 2月, 2015 3 次提交
  8. 13 2月, 2015 3 次提交
  9. 12 2月, 2015 1 次提交
  10. 02 2月, 2015 1 次提交
  11. 23 1月, 2015 1 次提交
  12. 22 1月, 2015 1 次提交
  13. 21 1月, 2015 1 次提交
    • H
      sunxi: Restore lowlevel_init usage · b56f6e2b
      Hans de Goede 提交于
      2 recent sunxi changes have removed the usage of lowlevel_init by moving some
      code around and then setting CONFIG_SKIP_LOWLEVEL_INIT.
      This is problematic for 2 reasons:
      
      1) It does not just stop s_init from being called, it also stops
      cpu_init_cp15 from getting called, which is undesirable.
      
      2) We want u-boot.bin to be usable standalone, without SPL, some people e.g.
      use an upstream u-boot.bin together with Allwinner's boot0 loader. So
      u-boot.bin must (re)initialize the gpios, timer, etc.
      
      This commit restores the lowlevel_init / s_init usage, while keeping the
      changes to no longer use the global-data (gd) struct in the SPL.
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      b56f6e2b
  14. 17 1月, 2015 1 次提交
  15. 14 1月, 2015 6 次提交
  16. 25 11月, 2014 3 次提交
  17. 05 11月, 2014 3 次提交
  18. 24 10月, 2014 6 次提交