]>
Commit | Line | Data |
---|---|---|
744d9859 SG |
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 | * | |
1a459660 | 12 | * SPDX-License-Identifier: GPL-2.0+ |
744d9859 SG |
13 | */ |
14 | ||
15 | #ifndef _U_BOOT_SANDBOX_H_ | |
16 | #define _U_BOOT_SANDBOX_H_ | |
17 | ||
18 | /* board/.../... */ | |
19 | int board_init(void); | |
744d9859 | 20 | |
ab4e07eb | 21 | /* start.c */ |
70db4212 | 22 | int sandbox_early_getopt_check(void); |
ab4e07eb SG |
23 | int sandbox_main_loop_init(void); |
24 | ||
b88eb329 SG |
25 | int cleanup_before_linux(void); |
26 | ||
7d95f2a3 SG |
27 | /* drivers/video/sandbox_sdl.c */ |
28 | int sandbox_lcd_sdl_early_init(void); | |
29 | ||
9569c406 SG |
30 | /** |
31 | * pci_map_physmem() - map a PCI device into memory | |
32 | * | |
33 | * This is used on sandbox to map a device into memory so that it can be | |
34 | * used with normal memory access. After this call, some part of the device's | |
35 | * internal structure becomes visible. | |
36 | * | |
37 | * This function is normally called from sandbox's map_sysmem() automatically. | |
38 | * | |
39 | * @paddr: Physical memory address, normally corresponding to a PCI BAR | |
40 | * @lenp: On entry, the size of the area to map, On exit it is updated | |
41 | * to the size actually mapped, which may be less if the device | |
42 | * has less space | |
43 | * @devp: Returns the device which mapped into this space | |
44 | * @ptrp: Returns a pointer to the mapped address. The device's space | |
45 | * can be accessed as @lenp bytes starting here | |
46 | * @return 0 if OK, -ve on error | |
47 | */ | |
48 | int pci_map_physmem(phys_addr_t paddr, unsigned long *lenp, | |
49 | struct udevice **devp, void **ptrp); | |
50 | ||
51 | /** | |
52 | * pci_unmap_physmem() - undo a memory mapping | |
53 | * | |
54 | * This must be called after pci_map_physmem() to undo the mapping. | |
55 | * | |
56 | * @paddr: Physical memory address, as passed to pci_map_physmem() | |
57 | * @len: Size of area mapped, as returned by pci_map_physmem() | |
58 | * @dev: Device to unmap, as returned by pci_map_physmem() | |
59 | * @return 0 if OK, -ve on error | |
60 | */ | |
61 | int pci_unmap_physmem(const void *addr, unsigned long len, | |
62 | struct udevice *dev); | |
63 | ||
64 | /** | |
65 | * sandbox_set_enable_pci_map() - Enable / disable PCI address mapping | |
66 | * | |
67 | * Since address mapping involves calling every driver, provide a way to | |
68 | * enable and disable this. It can be handled automatically by the emulator | |
69 | * uclass, which knows if any emulators are currently active. | |
70 | * | |
71 | * If this is disabled, pci_map_physmem() will not be called from | |
72 | * map_sysmem(). | |
73 | * | |
74 | * @enable: 0 to disable, 1 to enable | |
75 | */ | |
76 | void sandbox_set_enable_pci_map(int enable); | |
77 | ||
b45122fd SG |
78 | /** |
79 | * sandbox_read_fdt_from_file() - Read a device tree from a file | |
80 | * | |
81 | * Read a device tree file from a host file and set it up for use as the | |
82 | * control FDT. | |
83 | */ | |
84 | int sandbox_read_fdt_from_file(void); | |
85 | ||
5010d98f SG |
86 | /* Exit sandbox (quit U-Boot) */ |
87 | void sandbox_exit(void); | |
88 | ||
744d9859 | 89 | #endif /* _U_BOOT_SANDBOX_H_ */ |