head-vt8500.S 810 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. * linux/arch/arm/boot/compressed/head-vt8500.S
  3. *
  4. * Copyright (C) 2010 Alexey Charkov <alchark@gmail.com>
  5. *
  6. * VIA VT8500 specific tweaks. This is merged into head.S by the linker.
  7. *
  8. */
  9. #include <linux/linkage.h>
  10. #include <asm/mach-types.h>
  11. .section ".start", "ax"
  12. __VT8500_start:
  13. @ Compare the SCC ID register against a list of known values
  14. ldr r1, .SCCID
  15. ldr r3, [r1]
  16. @ VT8500 override
  17. ldr r4, .VT8500SCC
  18. cmp r3, r4
  19. ldreq r7, .ID_BV07
  20. beq .Lendvt8500
  21. @ WM8505 override
  22. ldr r4, .WM8505SCC
  23. cmp r3, r4
  24. ldreq r7, .ID_8505
  25. beq .Lendvt8500
  26. @ Otherwise, leave the bootloader's machine id untouched
  27. .SCCID:
  28. .word 0xd8120000
  29. .VT8500SCC:
  30. .word 0x34000102
  31. .WM8505SCC:
  32. .word 0x34260103
  33. .ID_BV07:
  34. .word MACH_TYPE_BV07
  35. .ID_8505:
  36. .word MACH_TYPE_WM8505_7IN_NETBOOK
  37. .Lendvt8500: