omap_gpmc: Take omap_mpu_state* in omap_gpmc_init
Take a pointer to the omap mpu state struct in omap_gpmc_init. Some details of GPMC behaviour depend on the OMAP version we are a part of. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> [Riku Voipio: Fixes and restructuring patchset] Signed-off-by: Riku Voipio <riku.voipio@iki.fi> [Peter Maydell: More fixes and cleanups for upstream submission] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
		
							parent
							
								
									de8af7fe01
								
							
						
					
					
						commit
						b5325c2739
					
				@ -118,7 +118,8 @@ void omap_sdrc_reset(struct omap_sdrc_s *s);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* OMAP2 general purpose memory controller */
 | 
					/* OMAP2 general purpose memory controller */
 | 
				
			||||||
struct omap_gpmc_s;
 | 
					struct omap_gpmc_s;
 | 
				
			||||||
struct omap_gpmc_s *omap_gpmc_init(target_phys_addr_t base, qemu_irq irq);
 | 
					struct omap_gpmc_s *omap_gpmc_init(struct omap_mpu_state_s *mpu,
 | 
				
			||||||
 | 
					                                   target_phys_addr_t base, qemu_irq irq);
 | 
				
			||||||
void omap_gpmc_reset(struct omap_gpmc_s *s);
 | 
					void omap_gpmc_reset(struct omap_gpmc_s *s);
 | 
				
			||||||
void omap_gpmc_attach(struct omap_gpmc_s *s, int cs, MemoryRegion *iomem);
 | 
					void omap_gpmc_attach(struct omap_gpmc_s *s, int cs, MemoryRegion *iomem);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2402,7 +2402,7 @@ struct omap_mpu_state_s *omap2420_mpu_init(unsigned long sdram_size,
 | 
				
			|||||||
    sysbus_mmio_map(busdev, 4, omap_l4_region_base(ta, 5));
 | 
					    sysbus_mmio_map(busdev, 4, omap_l4_region_base(ta, 5));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    s->sdrc = omap_sdrc_init(0x68009000);
 | 
					    s->sdrc = omap_sdrc_init(0x68009000);
 | 
				
			||||||
    s->gpmc = omap_gpmc_init(0x6800a000, s->irq[0][OMAP_INT_24XX_GPMC_IRQ]);
 | 
					    s->gpmc = omap_gpmc_init(s, 0x6800a000, s->irq[0][OMAP_INT_24XX_GPMC_IRQ]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dinfo = drive_get(IF_SD, 0, 0);
 | 
					    dinfo = drive_get(IF_SD, 0, 0);
 | 
				
			||||||
    if (!dinfo) {
 | 
					    if (!dinfo) {
 | 
				
			||||||
 | 
				
			|||||||
@ -399,7 +399,8 @@ static const MemoryRegionOps omap_gpmc_ops = {
 | 
				
			|||||||
    .endianness = DEVICE_NATIVE_ENDIAN,
 | 
					    .endianness = DEVICE_NATIVE_ENDIAN,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct omap_gpmc_s *omap_gpmc_init(target_phys_addr_t base, qemu_irq irq)
 | 
					struct omap_gpmc_s *omap_gpmc_init(struct omap_mpu_state_s *mpu,
 | 
				
			||||||
 | 
					                                   target_phys_addr_t base, qemu_irq irq)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    struct omap_gpmc_s *s = (struct omap_gpmc_s *)
 | 
					    struct omap_gpmc_s *s = (struct omap_gpmc_s *)
 | 
				
			||||||
            g_malloc0(sizeof(struct omap_gpmc_s));
 | 
					            g_malloc0(sizeof(struct omap_gpmc_s));
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user