u-boot-sandbox.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /*
  2. * Copyright (c) 2011 The Chromium OS Authors.
  3. *
  4. * (C) Copyright 2002
  5. * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
  6. * Marius Groeger <mgroeger@sysgo.de>
  7. *
  8. * (C) Copyright 2002
  9. * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
  10. * Alex Zuepke <azu@sysgo.de>
  11. *
  12. * SPDX-License-Identifier: GPL-2.0+
  13. */
  14. #ifndef _U_BOOT_SANDBOX_H_
  15. #define _U_BOOT_SANDBOX_H_
  16. /* board/.../... */
  17. int board_init(void);
  18. /* start.c */
  19. int sandbox_early_getopt_check(void);
  20. int sandbox_main_loop_init(void);
  21. int cleanup_before_linux(void);
  22. /* drivers/video/sandbox_sdl.c */
  23. int sandbox_lcd_sdl_early_init(void);
  24. /**
  25. * pci_map_physmem() - map a PCI device into memory
  26. *
  27. * This is used on sandbox to map a device into memory so that it can be
  28. * used with normal memory access. After this call, some part of the device's
  29. * internal structure becomes visible.
  30. *
  31. * This function is normally called from sandbox's map_sysmem() automatically.
  32. *
  33. * @paddr: Physical memory address, normally corresponding to a PCI BAR
  34. * @lenp: On entry, the size of the area to map, On exit it is updated
  35. * to the size actually mapped, which may be less if the device
  36. * has less space
  37. * @devp: Returns the device which mapped into this space
  38. * @ptrp: Returns a pointer to the mapped address. The device's space
  39. * can be accessed as @lenp bytes starting here
  40. * @return 0 if OK, -ve on error
  41. */
  42. int pci_map_physmem(phys_addr_t paddr, unsigned long *lenp,
  43. struct udevice **devp, void **ptrp);
  44. /**
  45. * pci_unmap_physmem() - undo a memory mapping
  46. *
  47. * This must be called after pci_map_physmem() to undo the mapping.
  48. *
  49. * @paddr: Physical memory address, as passed to pci_map_physmem()
  50. * @len: Size of area mapped, as returned by pci_map_physmem()
  51. * @dev: Device to unmap, as returned by pci_map_physmem()
  52. * @return 0 if OK, -ve on error
  53. */
  54. int pci_unmap_physmem(const void *addr, unsigned long len,
  55. struct udevice *dev);
  56. /**
  57. * sandbox_set_enable_pci_map() - Enable / disable PCI address mapping
  58. *
  59. * Since address mapping involves calling every driver, provide a way to
  60. * enable and disable this. It can be handled automatically by the emulator
  61. * uclass, which knows if any emulators are currently active.
  62. *
  63. * If this is disabled, pci_map_physmem() will not be called from
  64. * map_sysmem().
  65. *
  66. * @enable: 0 to disable, 1 to enable
  67. */
  68. void sandbox_set_enable_pci_map(int enable);
  69. /**
  70. * sandbox_read_fdt_from_file() - Read a device tree from a file
  71. *
  72. * Read a device tree file from a host file and set it up for use as the
  73. * control FDT.
  74. */
  75. int sandbox_read_fdt_from_file(void);
  76. /* Exit sandbox (quit U-Boot) */
  77. void sandbox_exit(void);
  78. #endif /* _U_BOOT_SANDBOX_H_ */