exynos4210: Add EHCI support
Add EHCI USB host controller to exynos4210. Signed-off-by: Liming Wang <walimisdev@gmail.com> Signed-off-by: Andreas Färber <andreas.faerber@web.de> Reviewed-by: Igor Mitsyanko <i.mitsyanko@samsung.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
		
							parent
							
								
									aee7499a59
								
							
						
					
					
						commit
						358d615b69
					
				@ -27,6 +27,7 @@
 | 
				
			|||||||
#include "arm-misc.h"
 | 
					#include "arm-misc.h"
 | 
				
			||||||
#include "loader.h"
 | 
					#include "loader.h"
 | 
				
			||||||
#include "exynos4210.h"
 | 
					#include "exynos4210.h"
 | 
				
			||||||
 | 
					#include "usb/hcd-ehci.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define EXYNOS4210_CHIPID_ADDR         0x10000000
 | 
					#define EXYNOS4210_CHIPID_ADDR         0x10000000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -72,6 +73,9 @@
 | 
				
			|||||||
/* Display controllers (FIMD) */
 | 
					/* Display controllers (FIMD) */
 | 
				
			||||||
#define EXYNOS4210_FIMD0_BASE_ADDR          0x11C00000
 | 
					#define EXYNOS4210_FIMD0_BASE_ADDR          0x11C00000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* EHCI */
 | 
				
			||||||
 | 
					#define EXYNOS4210_EHCI_BASE_ADDR           0x12580000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static uint8_t chipid_and_omr[] = { 0x11, 0x02, 0x21, 0x43,
 | 
					static uint8_t chipid_and_omr[] = { 0x11, 0x02, 0x21, 0x43,
 | 
				
			||||||
                                    0x09, 0x00, 0x00, 0x00 };
 | 
					                                    0x09, 0x00, 0x00, 0x00 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -338,5 +342,8 @@ Exynos4210State *exynos4210_init(MemoryRegion *system_mem,
 | 
				
			|||||||
            s->irq_table[exynos4210_get_irq(11, 2)],
 | 
					            s->irq_table[exynos4210_get_irq(11, 2)],
 | 
				
			||||||
            NULL);
 | 
					            NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    sysbus_create_simple(TYPE_EXYNOS4210_EHCI, EXYNOS4210_EHCI_BASE_ADDR,
 | 
				
			||||||
 | 
					            s->irq_table[exynos4210_get_irq(28, 3)]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return s;
 | 
					    return s;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -140,7 +140,7 @@ combiner_grp_to_gic_id[64-EXYNOS4210_MAX_EXT_COMBINER_OUT_IRQ][8] = {
 | 
				
			|||||||
            EXT_GIC_ID_I2C4, EXT_GIC_ID_I2C5, EXT_GIC_ID_I2C6,
 | 
					            EXT_GIC_ID_I2C4, EXT_GIC_ID_I2C5, EXT_GIC_ID_I2C6,
 | 
				
			||||||
            EXT_GIC_ID_I2C7 },
 | 
					            EXT_GIC_ID_I2C7 },
 | 
				
			||||||
    /* int combiner group 28 */
 | 
					    /* int combiner group 28 */
 | 
				
			||||||
    { EXT_GIC_ID_SPI0, EXT_GIC_ID_SPI1, EXT_GIC_ID_SPI2 },
 | 
					    { EXT_GIC_ID_SPI0, EXT_GIC_ID_SPI1, EXT_GIC_ID_SPI2 , EXT_GIC_ID_USB_HOST},
 | 
				
			||||||
    /* int combiner group 29 */
 | 
					    /* int combiner group 29 */
 | 
				
			||||||
    { EXT_GIC_ID_HSMMC0, EXT_GIC_ID_HSMMC1, EXT_GIC_ID_HSMMC2,
 | 
					    { EXT_GIC_ID_HSMMC0, EXT_GIC_ID_HSMMC1, EXT_GIC_ID_HSMMC2,
 | 
				
			||||||
     EXT_GIC_ID_HSMMC3, EXT_GIC_ID_SDMMC },
 | 
					     EXT_GIC_ID_HSMMC3, EXT_GIC_ID_SDMMC },
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user