xref: /openbmc/qemu/hw/ppc/e500.h (revision a36848ff)
1e6eaabebSScott Wood #ifndef PPCE500_H
2e6eaabebSScott Wood #define PPCE500_H
3e6eaabebSScott Wood 
492238367SMarkus Armbruster #include "hw/boards.h"
592238367SMarkus Armbruster 
6e6eaabebSScott Wood typedef struct PPCE500Params {
7492ec48dSAlexander Graf     int pci_first_slot;
8492ec48dSAlexander Graf     int pci_nr_slots;
9e6eaabebSScott Wood 
10e6eaabebSScott Wood     /* required -- must at least add toplevel board compatible */
11e6eaabebSScott Wood     void (*fixup_devtree)(struct PPCE500Params *params, void *fdt);
12f5fba9d2SScott Wood 
13f5fba9d2SScott Wood     int mpic_version;
14b88e77f4SAlexander Graf     bool has_mpc8xxx_gpio;
15f7087343SAlexander Graf     bool has_platform_bus;
16f7087343SAlexander Graf     hwaddr platform_bus_base;
17f7087343SAlexander Graf     hwaddr platform_bus_size;
18f7087343SAlexander Graf     int platform_bus_first_irq;
19f7087343SAlexander Graf     int platform_bus_num_irqs;
202eaaac1fSAlexander Graf     hwaddr ccsrbar_base;
212eaaac1fSAlexander Graf     hwaddr pci_pio_base;
22cb3778a0SAlexander Graf     hwaddr pci_mmio_base;
23cb3778a0SAlexander Graf     hwaddr pci_mmio_bus_base;
242eaaac1fSAlexander Graf     hwaddr spin_base;
25e6eaabebSScott Wood } PPCE500Params;
26e6eaabebSScott Wood 
273ef96221SMarcel Apfelbaum void ppce500_init(MachineState *machine, PPCE500Params *params);
28e6eaabebSScott Wood 
29*a36848ffSAaron Larson hwaddr booke206_page_size_to_tlb(uint64_t size);
30*a36848ffSAaron Larson 
31e6eaabebSScott Wood #endif
32