The AMD CS5536's USB controllers are located at device 0F, functions 4
and 5. They're not found if only function 0 is checked. So if a device exists at all, try all its functions. usb_controller_initialize() will silently skip all device classes != 0C03. (changed to continue to use 32bit accesses -pg) Signed-off-by: Jens Rottmann <JRottmann@LiPPERTEmbedded.de> Acked-by: Patrick Georgi <patrick.georgi@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5774 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
		
				
					committed by
					
						
						Patrick Georgi
					
				
			
			
				
	
			
			
			
						parent
						
							3cf287dab0
						
					
				
				
					commit
					4e1ac83bb6
				
			@@ -126,7 +126,7 @@ usb_initialize (void)
 | 
				
			|||||||
	 */
 | 
						 */
 | 
				
			||||||
	for (bus = 0; bus < 256; bus++)
 | 
						for (bus = 0; bus < 256; bus++)
 | 
				
			||||||
		for (dev = 0; dev < 32; dev++)
 | 
							for (dev = 0; dev < 32; dev++)
 | 
				
			||||||
			if (pci_read_config32 (PCI_DEV(bus, dev, 0), 8) >> 16 == 0x0c03)
 | 
								if (pci_read_config32 (PCI_DEV(bus, dev, 0), 8) >> 16 != 0xffff)
 | 
				
			||||||
				for (func = 7; func >= 0 ; func--)
 | 
									for (func = 7; func >= 0 ; func--)
 | 
				
			||||||
					usb_controller_initialize (bus, dev, func);
 | 
										usb_controller_initialize (bus, dev, func);
 | 
				
			||||||
	usb_poll();
 | 
						usb_poll();
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user